[PATCH] D90844: [TableGen][SchedModels] Fix read/write variant substitution #2
Eugene Leviant via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 27 09:00:54 PST 2020
evgeny777 updated this revision to Diff 308072.
evgeny777 added a comment.
@dmgreen After some studying I came up with different approach: if we get rid of artifical 'AnyCPU' (zero) processor index and explicitly create one `PredTransition` per processor, we can use much simpler algorithm for variant expansion. Besides fixing read variant compilation issues this also fixes few other things:
- forwarding for sched classes with write variant (see test case)
- per-operand latency calculation when sched class (w/o InstRWs) has write variant for one operand and plain write for other operand (seems to be not present anywhere now, but may be used in future), e.g
SchedAlias<WriteMAC64Lo, WriteMAC64LoVariant>;
SchedAlias<WriteMAC64Hi, Write_1cyc_ALU>;
Otherwise changes to ARM/AArch64/X86 subtargets look reasonable
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90844/new/
https://reviews.llvm.org/D90844
Files:
llvm/lib/Target/ARM/ARMScheduleA57.td
llvm/test/CodeGen/ARM/cortex-a57-misched-mla.mir
llvm/utils/TableGen/CodeGenSchedule.cpp
llvm/utils/TableGen/CodeGenSchedule.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90844.308072.patch
Type: text/x-patch
Size: 11527 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201127/f0896358/attachment.bin>
More information about the llvm-commits
mailing list