[PATCH] D30744: Improve machine schedulers for in-order processors
Javed Absar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 8 09:21:19 PST 2017
javed.absar created this revision.
This patch enables schedulers for in-order processors to specify instructions that
cannot be issued with any other instructions.
Schedulers for such sub-targets can now attach ‘let SingleIssue = 1; // single issue ‘
to any general sched class or individual instruction. The scheduler then does not
allow those instructions to be issued in same cycle with any other instruction.
In this way, the scheduler models more accurately the real pipeline behavior.
Some partial out-of-order processors may also benefit from this.
https://reviews.llvm.org/D30744
Files:
include/llvm/CodeGen/TargetSchedule.h
include/llvm/MC/MCSchedule.h
include/llvm/Target/TargetSchedule.td
lib/CodeGen/MachineScheduler.cpp
lib/CodeGen/TargetSchedule.cpp
lib/Target/ARM/ARMScheduleR52.td
test/CodeGen/ARM/single-issue-r52.mir
utils/TableGen/SubtargetEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30744.91028.patch
Type: text/x-patch
Size: 10469 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170308/bf7e3e37/attachment.bin>
More information about the llvm-commits
mailing list