1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00

[MergedLoadStoreMotion] Move pass enabling option to PassManagerBuilder

llvm-svn: 217538
This commit is contained in:
Gerolf Hoflehner 2014-09-10 19:55:29 +00:00
parent 1c48a79f5f
commit 655f10bc36
2 changed files with 8 additions and 7 deletions

View File

@ -70,6 +70,10 @@ static cl::opt<bool> UseCFLAA("use-cfl-aa",
cl::init(false), cl::Hidden,
cl::desc("Enable the new, experimental CFL alias analysis"));
static cl::opt<bool>
EnableMLSM("mlsm", cl::desc("Enable motion of merged load and store"),
cl::init(true));
PassManagerBuilder::PassManagerBuilder() {
OptLevel = 2;
SizeLevel = 0;
@ -228,7 +232,8 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) {
addExtensionsToPM(EP_LoopOptimizerEnd, MPM);
if (OptLevel > 1) {
MPM.add(createMergedLoadStoreMotionPass()); // Merge load/stores in diamond
if (EnableMLSM)
MPM.add(createMergedLoadStoreMotionPass()); // Merge ld/st in diamonds
MPM.add(createGVNPass(DisableGVNLoadPRE)); // Remove redundancies
}
MPM.add(createMemCpyOptPass()); // Remove memcpy / form memset
@ -388,7 +393,8 @@ void PassManagerBuilder::addLTOOptimizationPasses(PassManagerBase &PM) {
PM.add(createGlobalsModRefPass()); // IP alias analysis.
PM.add(createLICMPass()); // Hoist loop invariants.
PM.add(createMergedLoadStoreMotionPass()); // Merge load/stores in diamonds
if (EnableMLSM)
PM.add(createMergedLoadStoreMotionPass()); // Merge ld/st in diamonds.
PM.add(createGVNPass(DisableGVNLoadPRE)); // Remove redundancies.
PM.add(createMemCpyOptPass()); // Remove dead memcpys.

View File

@ -97,9 +97,6 @@ using namespace llvm;
//===----------------------------------------------------------------------===//
// MergedLoadStoreMotion Pass
//===----------------------------------------------------------------------===//
static cl::opt<bool>
EnableMLSM("mlsm", cl::desc("Enable motion of merged load and store"),
cl::init(true));
namespace {
class MergedLoadStoreMotion : public FunctionPass {
@ -611,8 +608,6 @@ bool MergedLoadStoreMotion::runOnFunction(Function &F) {
AA = &getAnalysis<AliasAnalysis>();
bool Changed = false;
if (!EnableMLSM)
return false;
DEBUG(dbgs() << "Instruction Merger\n");
// Merge unconditional branches, allowing PRE to catch more