[llvm-commits] [llvm] r150947 - /llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
Nick Lewycky
nicholas at mxc.ca
Sun Feb 19 19:25:59 PST 2012
Author: nicholas
Date: Sun Feb 19 21:25:59 2012
New Revision: 150947
URL: http://llvm.org/viewvc/llvm-project?rev=150947&view=rev
Log:
Rename class Evaluate to Evaluator and put it in an anonymous namespace.
Modified:
llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
Modified: llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp?rev=150947&r1=150946&r2=150947&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp Sun Feb 19 21:25:59 2012
@@ -2253,18 +2253,20 @@
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 @@
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 @@
/// 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 @@
/// 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 @@
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>());
More information about the llvm-commits
mailing list