forked from OSchip/llvm-project
Add a simple target-independent heuristic to allow targets with no
instruction itinerary data to back-schedule loads. llvm-svn: 61070
This commit is contained in:
parent
c4a4c5f02d
commit
8f782bbb28
|
@ -225,6 +225,12 @@ void ScheduleDAGInstrs::ComputeLatency(SUnit *SU) {
|
||||||
// all nodes flagged together into this SUnit.
|
// all nodes flagged together into this SUnit.
|
||||||
SU->Latency =
|
SU->Latency =
|
||||||
InstrItins.getLatency(SU->getInstr()->getDesc().getSchedClass());
|
InstrItins.getLatency(SU->getInstr()->getDesc().getSchedClass());
|
||||||
|
|
||||||
|
// Simplistic target-independent heuristic: assume that loads take
|
||||||
|
// extra time.
|
||||||
|
if (InstrItins.isEmpty())
|
||||||
|
if (SU->getInstr()->getDesc().mayLoad())
|
||||||
|
SU->Latency += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScheduleDAGInstrs::dumpNode(const SUnit *SU) const {
|
void ScheduleDAGInstrs::dumpNode(const SUnit *SU) const {
|
||||||
|
|
Loading…
Reference in New Issue