[Patch] [Thumbv8] Prevent bundling inst that sets CPSR
Weiming Zhao
weimingz at codeaurora.org
Fri Jan 3 12:21:02 PST 2014
Hi,
Currently, for thumbv8, an extra pass "Thumb2SizeReduction" is run before
IfConv.
However, Thumb2SizeReduction may set CPSR for converted instrs (e.g. mul ->
muls) and such instrs may get bundled later on in IfConv pass, which causes
some illegal instructions. See http://llvm.org/bugs/show_bug.cgi?id=18370
This patch adds checks for the eligibility of IT blocks: if an instruction
already sets CPSR, then don't bundle it. Please help to review it.
Thanks,
Weiming
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140103/6e9d4d0d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-thumbv8-Prevent-bundle-inst-that-sets-CPSR.patch
Type: application/octet-stream
Size: 3423 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140103/6e9d4d0d/attachment.obj>
More information about the llvm-commits
mailing list