diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-02-28 05:34:05 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-02-28 05:34:05 +0000 |
commit | b29d7d25423bc91a06a8a16aee3ff0ea96980706 (patch) | |
tree | c56862b5ea1e4c999e8da48020334cc73ad83341 | |
parent | e12b73816b50bbe2cc54b8005d86c95413b4f465 (diff) |
Revert r97245 which seems to be causing performance problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97366 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/StandardPasses.h | 2 | ||||
-rw-r--r-- | include/llvm/Transforms/Scalar.h | 3 | ||||
-rw-r--r-- | lib/Transforms/Scalar/GVN.cpp | 11 |
3 files changed, 7 insertions, 9 deletions
diff --git a/include/llvm/Support/StandardPasses.h b/include/llvm/Support/StandardPasses.h index b402e980a4..f233c18de3 100644 --- a/include/llvm/Support/StandardPasses.h +++ b/include/llvm/Support/StandardPasses.h @@ -138,7 +138,7 @@ namespace llvm { PM->add(createLoopUnrollPass()); // Unroll small loops PM->add(createInstructionCombiningPass()); // Clean up after the unroller if (OptimizationLevel > 1) - PM->add(createGVNPass(OptimizationLevel > 2)); // Remove redundancies + PM->add(createGVNPass()); // Remove redundancies PM->add(createMemCpyOptPass()); // Remove memcpy / form memset PM->add(createSCCPPass()); // Constant prop with SCCP diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index 4e6be4605a..6893badfc2 100644 --- a/include/llvm/Transforms/Scalar.h +++ b/include/llvm/Transforms/Scalar.h @@ -263,8 +263,7 @@ extern const PassInfo *const LCSSAID; // GVN - This pass performs global value numbering and redundant load // elimination cotemporaneously. // -FunctionPass *createGVNPass(bool EnableFullLoadPRE = true, - bool NoLoads = false); +FunctionPass *createGVNPass(bool NoLoads = false); //===----------------------------------------------------------------------===// // diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp index c9a66fe6ec..f7470c3c19 100644 --- a/lib/Transforms/Scalar/GVN.cpp +++ b/lib/Transforms/Scalar/GVN.cpp @@ -60,6 +60,7 @@ STATISTIC(NumPRELoad, "Number of loads PRE'd"); static cl::opt<bool> EnablePRE("enable-pre", cl::init(true), cl::Hidden); static cl::opt<bool> EnableLoadPRE("enable-load-pre", cl::init(true)); +static cl::opt<bool> EnableFullLoadPRE("enable-full-load-pre", cl::init(false)); //===----------------------------------------------------------------------===// // ValueTable Class @@ -661,12 +662,10 @@ namespace { bool runOnFunction(Function &F); public: static char ID; // Pass identification, replacement for typeid - explicit GVN(bool fullloadpre = true, bool noloads = false) - : FunctionPass(&ID), EnableFullLoadPRE(fullloadpre), - NoLoads(noloads), MD(0) { } + explicit GVN(bool noloads = false) + : FunctionPass(&ID), NoLoads(noloads), MD(0) { } private: - bool EnableFullLoadPRE; bool NoLoads; MemoryDependenceAnalysis *MD; DominatorTree *DT; @@ -711,8 +710,8 @@ namespace { } // createGVNPass - The public interface to this file... -FunctionPass *llvm::createGVNPass(bool EnableFullLoadPRE, bool NoLoads) { - return new GVN(EnableFullLoadPRE, NoLoads); +FunctionPass *llvm::createGVNPass(bool NoLoads) { + return new GVN(NoLoads); } static RegisterPass<GVN> X("gvn", |