mi-sched: Load clustering is a bit to expensive to enable unconditionally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189990 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick 2013-09-04 21:00:08 +00:00
parent 00b5fa4c28
commit d1d0d37a19
2 changed files with 3 additions and 1 deletions

View File

@ -615,6 +615,8 @@ public:
return false; return false;
} }
virtual bool enableClusterLoads() const { return false; }
virtual bool shouldClusterLoads(MachineInstr *FirstLdSt, virtual bool shouldClusterLoads(MachineInstr *FirstLdSt,
MachineInstr *SecondLdSt, MachineInstr *SecondLdSt,
unsigned NumLoads) const { unsigned NumLoads) const {

View File

@ -2753,7 +2753,7 @@ static ScheduleDAGInstrs *createConvergingSched(MachineSchedContext *C) {
// data and pass it to later mutations. Have a single mutation that gathers // data and pass it to later mutations. Have a single mutation that gathers
// the interesting nodes in one pass. // the interesting nodes in one pass.
DAG->addMutation(new CopyConstrain(DAG->TII, DAG->TRI)); DAG->addMutation(new CopyConstrain(DAG->TII, DAG->TRI));
if (EnableLoadCluster) if (EnableLoadCluster && DAG->TII->enableClusterLoads())
DAG->addMutation(new LoadClusterMutation(DAG->TII, DAG->TRI)); DAG->addMutation(new LoadClusterMutation(DAG->TII, DAG->TRI));
if (EnableMacroFusion) if (EnableMacroFusion)
DAG->addMutation(new MacroFusion(DAG->TII)); DAG->addMutation(new MacroFusion(DAG->TII));