[Patch] [Thumbv8] Prevent bundling inst that sets CPSR

Weiming Zhao weimingz at codeaurora.org
Wed Jan 22 10:51:10 PST 2014


Ping?

 

Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation

 

From: Weiming Zhao [mailto:weimingz at codeaurora.org] 
Sent: Friday, January 03, 2014 12:21 PM
To: llvm-commits at cs.uiuc.edu
Subject: [Patch] [Thumbv8] Prevent bundling inst that sets CPSR

 

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/20140122/a9d16979/attachment.html>


More information about the llvm-commits mailing list