[llvm-dev] DFAPacketizer, Scheduling and LoadLatency
Rail Shafigulin via llvm-dev
llvm-dev at lists.llvm.org
Tue Nov 17 10:26:44 PST 2015
> In particular, the LoadLatency is used in defaultDefLatency:
>
> /// Return the default expected latency for a def based on it's opcode.
> unsigned TargetInstrInfo::defaultDefLatency(
> const MCSchedModel &SchedModel, const MachineInstr *DefMI) const {
> if (DefMI->isTransient())
> return 0;
> if (DefMI->mayLoad())
> return SchedModel.LoadLatency;
> if (isHighLatencyDef(DefMI->getOpcode()))
> return SchedModel.HighLatency;
> return 1;
> }
>
>
> -Krzysztof
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by The Linux Foundation
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
I tried setting
let mayLoad = 1 {
class InstrLD .... {
}
}
But that didn't seem to work. When I looked at the debug output the latency
for the load instruction was set to 1.
However when I changed load itinerary description in the schedule to
def MyTargetItineraries :
..............
InstrItinData<LD, [InstrStage<2, [BranchSlot, NonBranchSlot], 1>]>,
..............
That seem to produce correct latency in the debug output.
Do you know what could be the problem? Am I missing something? To give you
a full disclosure, I'm using LLVM 3.5 and at the moment I can't switch to
the latest version.
Any help is appreciated.
--
R
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151117/52d47324/attachment.html>
More information about the llvm-dev
mailing list