[llvm] r189990 - mi-sched: Load clustering is a bit to expensive to enable unconditionally.
Andrew Trick
atrick at apple.com
Wed Sep 4 14:00:08 PDT 2013
Author: atrick
Date: Wed Sep 4 16:00:08 2013
New Revision: 189990
URL: http://llvm.org/viewvc/llvm-project?rev=189990&view=rev
Log:
mi-sched: Load clustering is a bit to expensive to enable unconditionally.
Modified:
llvm/trunk/include/llvm/Target/TargetInstrInfo.h
llvm/trunk/lib/CodeGen/MachineScheduler.cpp
Modified: llvm/trunk/include/llvm/Target/TargetInstrInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetInstrInfo.h?rev=189990&r1=189989&r2=189990&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetInstrInfo.h (original)
+++ llvm/trunk/include/llvm/Target/TargetInstrInfo.h Wed Sep 4 16:00:08 2013
@@ -615,6 +615,8 @@ public:
return false;
}
+ virtual bool enableClusterLoads() const { return false; }
+
virtual bool shouldClusterLoads(MachineInstr *FirstLdSt,
MachineInstr *SecondLdSt,
unsigned NumLoads) const {
Modified: llvm/trunk/lib/CodeGen/MachineScheduler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineScheduler.cpp?rev=189990&r1=189989&r2=189990&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineScheduler.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineScheduler.cpp Wed Sep 4 16:00:08 2013
@@ -2753,7 +2753,7 @@ static ScheduleDAGInstrs *createConvergi
// data and pass it to later mutations. Have a single mutation that gathers
// the interesting nodes in one pass.
DAG->addMutation(new CopyConstrain(DAG->TII, DAG->TRI));
- if (EnableLoadCluster)
+ if (EnableLoadCluster && DAG->TII->enableClusterLoads())
DAG->addMutation(new LoadClusterMutation(DAG->TII, DAG->TRI));
if (EnableMacroFusion)
DAG->addMutation(new MacroFusion(DAG->TII));
More information about the llvm-commits
mailing list