Add option to createGVNPass to disable PRE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85609 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2009-10-30 20:12:24 +00:00
parent 3efabd316f
commit 2f192c256c
2 changed files with 4 additions and 3 deletions

View File

@ -271,7 +271,7 @@ extern const PassInfo *const LCSSAID;
// GVN - This pass performs global value numbering and redundant load
// elimination cotemporaneously.
//
FunctionPass *createGVNPass();
FunctionPass *createGVNPass(bool NoPRE = false);
//===----------------------------------------------------------------------===//
//

View File

@ -669,9 +669,10 @@ namespace {
bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
GVN() : FunctionPass(&ID) { }
GVN(bool nopre = false) : FunctionPass(&ID), NoPRE(nopre) { }
private:
bool NoPRE;
MemoryDependenceAnalysis *MD;
DominatorTree *DT;
@ -710,7 +711,7 @@ namespace {
}
// createGVNPass - The public interface to this file...
FunctionPass *llvm::createGVNPass() { return new GVN(); }
FunctionPass *llvm::createGVNPass(bool NoPRE) { return new GVN(NoPRE); }
static RegisterPass<GVN> X("gvn",
"Global Value Numbering");