Rename class Evaluate to Evaluator and put it in an anonymous namespace.
authorNick Lewycky <nicholas@mxc.ca>
Mon, 20 Feb 2012 03:25:59 +0000 (03:25 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Mon, 20 Feb 2012 03:25:59 +0000 (03:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150947 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/GlobalOpt.cpp

index ed68101362b822c7b84088d65a2579b300305e89..d197a3c87ad5597b8d3c0d113ea9f3440fcee5c3 100644 (file)
@@ -2253,18 +2253,20 @@ static void CommitValueTo(Constant *Val, Constant *Addr) {
   GV->setInitializer(EvaluateStoreInto(GV->getInitializer(), Val, CE, 2));
 }
 
-/// Evaluate - This class evaluates LLVM IR, producing the Constant representing
-/// each SSA instruction.  Changes to global variables are stored in a mapping
-/// that can be iterated over after the evaluation is complete.  Once an
-/// evaluation call fails, the evaluation object should not be reused.
-class Evaluate {
+namespace {
+
+/// Evaluator - This class evaluates LLVM IR, producing the Constant
+/// representing each SSA instruction.  Changes to global variables are stored
+/// in a mapping that can be iterated over after the evaluation is complete.
+/// Once an evaluation call fails, the evaluation object should not be reused.
+class Evaluator {
 public:
-  Evaluate(const TargetData *TD, const TargetLibraryInfo *TLI)
+  Evaluator(const TargetData *TD, const TargetLibraryInfo *TLI)
     : TD(TD), TLI(TLI) {
     ValueStack.push_back(new DenseMap<Value*, Constant*>);
   }
 
-  ~Evaluate() {
+  ~Evaluator() {
     DeleteContainerPointers(ValueStack);
     while (!AllocaTmps.empty()) {
       GlobalVariable *Tmp = AllocaTmps.back();
@@ -2344,10 +2346,12 @@ private:
   const TargetLibraryInfo *TLI;
 };
 
+}  // anonymous namespace
+
 /// ComputeLoadResult - Return the value that would be computed by a load from
 /// P after the stores reflected by 'memory' have been performed.  If we can't
 /// decide, return null.
-Constant *Evaluate::ComputeLoadResult(Constant *P) {
+Constant *Evaluator::ComputeLoadResult(Constant *P) {
   // If this memory location has been recently stored, use the stored value: it
   // is the most up-to-date.
   DenseMap<Constant*, Constant*>::const_iterator I = MutatedMemory.find(P);
@@ -2375,7 +2379,8 @@ Constant *Evaluate::ComputeLoadResult(Constant *P) {
 /// EvaluateBlock - Evaluate all instructions in block BB, returning true if
 /// successful, false if we can't evaluate it.  NewBB returns the next BB that
 /// control flows into, or null upon return.
-bool Evaluate::EvaluateBlock(BasicBlock::iterator CurInst, BasicBlock *&NextBB){
+bool Evaluator::EvaluateBlock(BasicBlock::iterator CurInst,
+                              BasicBlock *&NextBB) {
   // This is the main evaluation loop.
   while (1) {
     Constant *InstResult = 0;
@@ -2604,8 +2609,8 @@ bool Evaluate::EvaluateBlock(BasicBlock::iterator CurInst, BasicBlock *&NextBB){
 /// EvaluateFunction - Evaluate a call to function F, returning true if
 /// successful, false if we can't evaluate it.  ActualArgs contains the formal
 /// arguments for the function.
-bool Evaluate::EvaluateFunction(Function *F, Constant *&RetVal,
-                                const SmallVectorImpl<Constant*> &ActualArgs) {
+bool Evaluator::EvaluateFunction(Function *F, Constant *&RetVal,
+                                 const SmallVectorImpl<Constant*> &ActualArgs) {
   // Check to see if this function is already executing (recursion).  If so,
   // bail out.  TODO: we might want to accept limited recursion.
   if (std::find(CallStack.begin(), CallStack.end(), F) != CallStack.end())
@@ -2668,7 +2673,7 @@ bool Evaluate::EvaluateFunction(Function *F, Constant *&RetVal,
 static bool EvaluateStaticConstructor(Function *F, const TargetData *TD,
                                       const TargetLibraryInfo *TLI) {
   // Call the function.
-  Evaluate Eval(TD, TLI);
+  Evaluator Eval(TD, TLI);
   Constant *RetValDummy;
   bool EvalSuccess = Eval.EvaluateFunction(F, RetValDummy,
                                            SmallVector<Constant*, 0>());