[PATCH] D15667: [MachineScheduler] Handle regmasks and allow calls to be rescheduled.
Jonas Paulsson via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 12 05:05:48 PDT 2016
jonpa updated this revision to Diff 53384.
jonpa added a comment.
Herald added a subscriber: MatzeB.
Changed the isSchedBoundary() function per request so that TII is used for calls handling.
Changes in clearCallsInDefsForReg() per suggestions to simply erase all previous calls before adding the current one.
New method addCallDeps(), to implement deps for reserved registers. I was not sure if all calls are guaranteed to have a regmask operand - in that case this method could have been eliminated and handled in addRegMaskDeps().
-misched=shuffle passes on X86.
Regarding the current discussion of compile time: this patch will make dags bigger, and potentially slower. Perhaps this should be checked?
With the test-suite on X86 (with default scheduler), I got:
Results
-------
IMPROVED : 251
REGRESSED : 234
http://reviews.llvm.org/D15667
Files:
include/llvm/CodeGen/ScheduleDAGInstrs.h
lib/CodeGen/MachineScheduler.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15667.53384.patch
Type: text/x-patch
Size: 9111 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160412/fbeab332/attachment.bin>
More information about the llvm-commits
mailing list