30class NVPTXAssignValidGlobalNames :
public ModulePass {
33 NVPTXAssignValidGlobalNames() : ModulePass(ID) {}
35 bool runOnModule(
Module &M)
override;
39char NVPTXAssignValidGlobalNames::ID = 0;
42 "Assign valid PTX names to globals",
false,
false)
44bool NVPTXAssignValidGlobalNames::runOnModule(
Module &M) {
47 if (GV.hasLocalLinkage()) {
52 GV.setName(NVPTX::getValidPTXIdentifier(GV.getName()));
58 if (
F.hasLocalLinkage())
65 return new NVPTXAssignValidGlobalNames();
Module.h This file contains the declarations for the Module class.
Machine Check Debug Module
#define INITIALIZE_PASS(passName, arg, name, cfg, analysis)
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
A Module instance is used to store all the information related to an LLVM module.
std::string getValidPTXIdentifier(StringRef Name)
This is an optimization pass for GlobalISel generic memory operations.
ModulePass * createNVPTXAssignValidGlobalNamesPass()