Updates include:
- More accurate ALU pipeline latencies.
- Forwarding between the ALU, Integer MAC, and Integer Div pipes.
- Proper Vector Load/Store latencies with hazards.
- Single vs. double precision FP and Vector latencies and hazards.
Paths
| Differential D3769
[ARM64] Increases the Sched Model accuracy for Cortex-A53. ClosedPublic Authored by cestes on May 14 2014, 12:13 PM.
Details
Summary Updates include:
Diff Detail Event Timelinecestes updated this object. Comment Actions Hi Dave, I'll leave Andy to take a look at the schedulery bits, but I spotted a couple of more general things:
cestes edited edge metadata. Comment ActionsExplicitly checking Opcodes in the helper function(s) for shifting/extending. This revision is now accepted and ready to land.May 15 2014, 9:20 PM Comment Actions Accidentally committed the patchset without the recommended revisions from Tim. Will submit with a subsequent patchset that adds these revisions and also resolves http://llvm.org/bugs/show_bug.cgi?id=19761.
Revision Contents
Diff 9398 lib/Target/ARM64/ARM64InstrFormats.td
lib/Target/ARM64/ARM64InstrInfo.h
lib/Target/ARM64/ARM64InstrInfo.cpp
lib/Target/ARM64/ARM64SchedA53.td
lib/Target/ARM64/ARM64SchedCyclone.td
lib/Target/ARM64/ARM64Schedule.td
test/CodeGen/ARM64/misched-basic-A53.ll
test/CodeGen/ARM64/misched-forwarding-A53.ll
|
I think it would be good to be explicit about the instructions you intend to support here and make default llvm_unreachable.
The code will be longer, but if nothing else it means that anyone changing those instructions and grepping the source for significant locations will find this function.