[PATCH][x86] Mark TEST8ri_NOREX hasSideEffects=0

Akira Hatanaka ahatanak at gmail.com
Mon Jul 7 15:07:13 PDT 2014

This patch marks the pattern-less pseudo-instruction TEST8ri_NOEREX as
hasSIdeEffects=0 and adds a case clause for it in
X86InstrInfo::shouldScheduleAdjacent to enable macro-fusion.

The original intent of this patch was to fix a bug where a testb
instruction was scheduled apart from the je instruction that reads its
result (this bug can be reproduced with r192750). It seems that this bug no
longer occurs after the node ordering of selection DAG nodes was fixed, so
I wasn't able to come up with the a test case.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140707/62b05276/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test8rinorex1.patch
Type: application/octet-stream
Size: 1217 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140707/62b05276/attachment.obj>

More information about the llvm-commits mailing list