[llvm-dev] InstrItin and SchedWriteRes

Pedro Lopes via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 26 05:18:36 PDT 2018


Hi,

>From what I can understand from analyzing several *.td files, there are two
ways of specifying scheduling information for a specific target, either
using SchedWriteRes and InstrItinClass/Data.

Specifically looking at ARMScheduleA9.td, I can find both representations
and a comment (in the beggining of the file):

// This section contains legacy support for itineraries. This is
// required until SD and PostRA schedulers are replaced by MachineScheduler.

This poses several question as to:
1) which representation gives the better cost estimation?
2) AFAIK, MachineScheduler can also take advantage from InstrItineraries
with the ScoreboardHazardRecognizer for better cost estimation and
scheduling.

What is the reasoning for having scheduling information distributed in two
distinct representations? Is it the lack of micro-architectural details or
was it a design decision?

Another question is if one could opt, which representation should me used
to represent scheduling information for new targets?

Best Regards,
Tiago
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180326/15bee404/attachment.html>


More information about the llvm-dev mailing list