From 3e15bf33e024b9df9e89351a165acfdb1dde51ed Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Wed, 2 May 2007 21:39:20 +0000 Subject: Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/opt/AnalysisWrappers.cpp | 8 ++++---- tools/opt/GraphPrinters.cpp | 4 ++-- tools/opt/PrintSCC.cpp | 8 ++++---- tools/opt/opt.cpp | 12 ++++++------ 4 files changed, 16 insertions(+), 16 deletions(-) (limited to 'tools/opt') diff --git a/tools/opt/AnalysisWrappers.cpp b/tools/opt/AnalysisWrappers.cpp index a13695daef..439c5a27ba 100644 --- a/tools/opt/AnalysisWrappers.cpp +++ b/tools/opt/AnalysisWrappers.cpp @@ -30,7 +30,7 @@ namespace { /// useful when looking for standard library functions we should constant fold /// or handle in alias analyses. struct ExternalFunctionsPassedConstants : public ModulePass { - static const int ID; // Pass ID, replacement for typeid + static const char ID; // Pass ID, replacement for typeid ExternalFunctionsPassedConstants() : ModulePass((intptr_t)&ID) {} virtual bool runOnModule(Module &M) { for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) @@ -63,12 +63,12 @@ namespace { } }; - const int ExternalFunctionsPassedConstants::ID = 0; + const char ExternalFunctionsPassedConstants::ID = 0; RegisterPass P1("externalfnconstants", "Print external fn callsites passed constants"); struct CallGraphPrinter : public ModulePass { - static const int ID; // Pass ID, replacement for typeid + static const char ID; // Pass ID, replacement for typeid CallGraphPrinter() : ModulePass((intptr_t)&ID) {} virtual void getAnalysisUsage(AnalysisUsage &AU) const { @@ -82,7 +82,7 @@ namespace { } }; - const int CallGraphPrinter::ID = 0; + const char CallGraphPrinter::ID = 0; RegisterPass P2("callgraph", "Print a call graph"); } diff --git a/tools/opt/GraphPrinters.cpp b/tools/opt/GraphPrinters.cpp index cb0b6643ae..9b41ebc899 100644 --- a/tools/opt/GraphPrinters.cpp +++ b/tools/opt/GraphPrinters.cpp @@ -60,7 +60,7 @@ namespace llvm { namespace { struct CallGraphPrinter : public ModulePass { - static const int ID; // Pass ID, replacement for typeid + static const char ID; // Pass ID, replacement for typeid CallGraphPrinter() : ModulePass((intptr_t)&ID) {} virtual bool runOnModule(Module &M) { @@ -77,7 +77,7 @@ namespace { } }; - const int CallGraphPrinter::ID = 0; + const char CallGraphPrinter::ID = 0; RegisterPass P2("print-callgraph", "Print Call Graph to 'dot' file"); } diff --git a/tools/opt/PrintSCC.cpp b/tools/opt/PrintSCC.cpp index 689307ca66..bf3078f672 100644 --- a/tools/opt/PrintSCC.cpp +++ b/tools/opt/PrintSCC.cpp @@ -35,7 +35,7 @@ using namespace llvm; namespace { struct CFGSCC : public FunctionPass { - static const int ID; // Pass identification, replacement for typeid + static const char ID; // Pass identification, replacement for typeid CFGSCC() : FunctionPass((intptr_t)&ID) {} bool runOnFunction(Function& func); @@ -47,7 +47,7 @@ namespace { }; struct CallGraphSCC : public ModulePass { - static const int ID; // Pass identification, replacement for typeid + static const char ID; // Pass identification, replacement for typeid CallGraphSCC() : ModulePass((intptr_t)&ID) {} // run - Print out SCCs in the call graph for the specified module. @@ -62,11 +62,11 @@ namespace { } }; - const int CFGSCC::ID = 0; + const char CFGSCC::ID = 0; RegisterPass Y("cfgscc", "Print SCCs of each function CFG"); - const int CallGraphSCC::ID = 0; + const char CallGraphSCC::ID = 0; RegisterPass Z("callscc", "Print SCCs of the Call Graph"); } diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 680bb5f49f..3df54f200b 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -98,7 +98,7 @@ AnalyzeOnly("analyze", cl::desc("Only perform analysis, no optimization")); namespace { struct ModulePassPrinter : public ModulePass { - static const int ID; + static const char ID; const PassInfo *PassToPrint; ModulePassPrinter(const PassInfo *PI) : ModulePass((intptr_t)&ID), PassToPrint(PI) {} @@ -121,10 +121,10 @@ struct ModulePassPrinter : public ModulePass { } }; -const int ModulePassPrinter::ID = 0; +const char ModulePassPrinter::ID = 0; struct FunctionPassPrinter : public FunctionPass { const PassInfo *PassToPrint; - static const int ID; + static const char ID; FunctionPassPrinter(const PassInfo *PI) : FunctionPass((intptr_t)&ID), PassToPrint(PI) {} @@ -146,10 +146,10 @@ struct FunctionPassPrinter : public FunctionPass { } }; -const int FunctionPassPrinter::ID = 0; +const char FunctionPassPrinter::ID = 0; struct BasicBlockPassPrinter : public BasicBlockPass { const PassInfo *PassToPrint; - static const int ID; + static const char ID; BasicBlockPassPrinter(const PassInfo *PI) : BasicBlockPass((intptr_t)&ID), PassToPrint(PI) {} @@ -172,7 +172,7 @@ struct BasicBlockPassPrinter : public BasicBlockPass { } }; -const int BasicBlockPassPrinter::ID = 0; +const char BasicBlockPassPrinter::ID = 0; inline void addPass(PassManager &PM, Pass *P) { // Add the pass to the pass manager... PM.add(P); -- cgit v1.2.3