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.

llvm-svn: 36652
diff --git a/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp b/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
index 561b71d..67ccbc8 100644
--- a/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
+++ b/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
@@ -34,7 +34,7 @@
 
 namespace {
   struct VISIBILITY_HIDDEN BreakCriticalEdges : public FunctionPass {
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     BreakCriticalEdges() : FunctionPass((intptr_t)&ID) {}
 
     virtual bool runOnFunction(Function &F);
@@ -50,7 +50,7 @@
     }
   };
 
-  const int BreakCriticalEdges::ID = 0;
+  const char BreakCriticalEdges::ID = 0;
   RegisterPass<BreakCriticalEdges> X("break-crit-edges",
                                     "Break critical edges in CFG");
 }
diff --git a/llvm/lib/Transforms/Utils/LCSSA.cpp b/llvm/lib/Transforms/Utils/LCSSA.cpp
index e46e35b..86f6da0 100644
--- a/llvm/lib/Transforms/Utils/LCSSA.cpp
+++ b/llvm/lib/Transforms/Utils/LCSSA.cpp
@@ -47,7 +47,7 @@
 
 namespace {
   struct VISIBILITY_HIDDEN LCSSA : public FunctionPass {
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     LCSSA() : FunctionPass((intptr_t)&ID) {}
 
     // Cached analysis information for the current function.
@@ -84,7 +84,7 @@
     }
   };
   
-  const int LCSSA::ID = 0;
+  const char LCSSA::ID = 0;
   RegisterPass<LCSSA> X("lcssa", "Loop-Closed SSA Form Pass");
 }
 
diff --git a/llvm/lib/Transforms/Utils/LoopSimplify.cpp b/llvm/lib/Transforms/Utils/LoopSimplify.cpp
index cea0bca..c0227e1 100644
--- a/llvm/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/llvm/lib/Transforms/Utils/LoopSimplify.cpp
@@ -54,7 +54,7 @@
 
 namespace {
   struct VISIBILITY_HIDDEN LoopSimplify : public FunctionPass {
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     LoopSimplify() : FunctionPass((intptr_t)&ID) {}
 
     // AA - If we have an alias analysis object to update, this is it, otherwise
@@ -92,7 +92,7 @@
                                          std::vector<BasicBlock*> &PredBlocks);
   };
 
-  const int LoopSimplify::ID = 0;
+  const char LoopSimplify::ID = 0;
   RegisterPass<LoopSimplify>
   X("loopsimplify", "Canonicalize natural loops", true);
 }
diff --git a/llvm/lib/Transforms/Utils/LowerAllocations.cpp b/llvm/lib/Transforms/Utils/LowerAllocations.cpp
index 0ecc775..2d0258e 100644
--- a/llvm/lib/Transforms/Utils/LowerAllocations.cpp
+++ b/llvm/lib/Transforms/Utils/LowerAllocations.cpp
@@ -36,7 +36,7 @@
     Constant *FreeFunc;     // Initialized by doInitialization
     bool LowerMallocArgToInteger;
   public:
-    static const int ID; // Pass ID, replacement for typeid
+    static const char ID; // Pass ID, replacement for typeid
     LowerAllocations(bool LowerToInt = false)
       : BasicBlockPass((intptr_t)&ID), MallocFunc(0), FreeFunc(0), 
         LowerMallocArgToInteger(LowerToInt) {}
@@ -68,7 +68,7 @@
     bool runOnBasicBlock(BasicBlock &BB);
   };
 
-  const int LowerAllocations::ID = 0;
+  const char LowerAllocations::ID = 0;
   RegisterPass<LowerAllocations>
   X("lowerallocs", "Lower allocations from instructions to calls");
 }
diff --git a/llvm/lib/Transforms/Utils/LowerInvoke.cpp b/llvm/lib/Transforms/Utils/LowerInvoke.cpp
index 3f8d06f..7c6070e 100644
--- a/llvm/lib/Transforms/Utils/LowerInvoke.cpp
+++ b/llvm/lib/Transforms/Utils/LowerInvoke.cpp
@@ -75,7 +75,7 @@
     const TargetLowering *TLI;
     
   public:
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     LowerInvoke(const TargetLowering *tli = NULL) : FunctionPass((intptr_t)&ID),
       TLI(tli) { }
     bool doInitialization(Module &M);
@@ -99,7 +99,7 @@
     bool insertExpensiveEHSupport(Function &F);
   };
 
-  const int LowerInvoke::ID = 0;
+  const char LowerInvoke::ID = 0;
   RegisterPass<LowerInvoke>
   X("lowerinvoke", "Lower invoke and unwind, for unwindless code generators");
 }
diff --git a/llvm/lib/Transforms/Utils/LowerSelect.cpp b/llvm/lib/Transforms/Utils/LowerSelect.cpp
index fda26c9..2a65fe79 100644
--- a/llvm/lib/Transforms/Utils/LowerSelect.cpp
+++ b/llvm/lib/Transforms/Utils/LowerSelect.cpp
@@ -33,7 +33,7 @@
   class VISIBILITY_HIDDEN LowerSelect : public FunctionPass {
     bool OnlyFP;   // Only lower FP select instructions?
   public:
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     LowerSelect(bool onlyfp = false) : FunctionPass((intptr_t)&ID), 
       OnlyFP(onlyfp) {}
 
@@ -50,7 +50,7 @@
     bool runOnFunction(Function &F);
   };
 
-  const int LowerSelect::ID = 0;
+  const char LowerSelect::ID = 0;
   RegisterPass<LowerSelect>
   X("lowerselect", "Lower select instructions to branches");
 }
diff --git a/llvm/lib/Transforms/Utils/LowerSwitch.cpp b/llvm/lib/Transforms/Utils/LowerSwitch.cpp
index 482ada9..6a6833f 100644
--- a/llvm/lib/Transforms/Utils/LowerSwitch.cpp
+++ b/llvm/lib/Transforms/Utils/LowerSwitch.cpp
@@ -30,7 +30,7 @@
   /// modifies the CFG!
   class VISIBILITY_HIDDEN LowerSwitch : public FunctionPass {
   public:
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     LowerSwitch() : FunctionPass((intptr_t) &ID) {} 
 
     virtual bool runOnFunction(Function &F);
@@ -78,7 +78,7 @@
     }
   };
 
-  const int LowerSwitch::ID = 0;
+  const char LowerSwitch::ID = 0;
   RegisterPass<LowerSwitch>
   X("lowerswitch", "Lower SwitchInst's to branches");
 }
diff --git a/llvm/lib/Transforms/Utils/Mem2Reg.cpp b/llvm/lib/Transforms/Utils/Mem2Reg.cpp
index 37bc318..16fd07b 100644
--- a/llvm/lib/Transforms/Utils/Mem2Reg.cpp
+++ b/llvm/lib/Transforms/Utils/Mem2Reg.cpp
@@ -27,7 +27,7 @@
 
 namespace {
   struct VISIBILITY_HIDDEN PromotePass : public FunctionPass {
-    static const int ID; // Pass identifcation, replacement for typeid
+    static const char ID; // Pass identifcation, replacement for typeid
     PromotePass() : FunctionPass((intptr_t)&ID) {}
 
     // runOnFunction - To run this pass, first we calculate the alloca
@@ -50,7 +50,7 @@
     }
   };
 
-  const int PromotePass::ID = 0;
+  const char PromotePass::ID = 0;
   RegisterPass<PromotePass> X("mem2reg", "Promote Memory to Register");
 }  // end of anonymous namespace
 
diff --git a/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
index f7dd113..aef64b4 100644
--- a/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
+++ b/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
@@ -22,7 +22,7 @@
 #include "llvm/Type.h"
 using namespace llvm;
 
-const int UnifyFunctionExitNodes::ID = 0;
+const char UnifyFunctionExitNodes::ID = 0;
 static RegisterPass<UnifyFunctionExitNodes>
 X("mergereturn", "Unify function exit nodes");