[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