[Patch] [ThumbV8] Fix assertion fails due to inconsistent CPSR liveness of IT blocks

Andrew Trick atrick at apple.com
Fri Jan 10 23:52:32 PST 2014


On Jan 3, 2014, at 12:08 PM, Weiming Zhao <weimingz at codeaurora.org> wrote:

> Hi,
>  
> Attached patch fixes assertion fails due to inconsistent CPSR liveness of IT blocks.
> See bug http://llvm.org/bugs/show_bug.cgi?id=18369
>  
> The issue is caused when Post-RA scheduler reorders a bundle instruction (IT block) and a vseleq. However, it only flips the CPSR liveness of the bundle instruction, leaves the instructions inside the bundle unchanged, which causes inconstancy.
>  
> This inconsistency causes Thumb2SizeReduction.cpp::ReduceMBB() crash because CPSR is expected to be LIVE for VSELEQD.
>  
> There is a FIXME in Thumb2SizeReduction.cpp that tries to fixup such inconsistency, but it seems incomplete. This patch augments the fixup. Please help to review it.
>  
> Thanks,
> Weiming
>  

Hi Weiming,

Your fix seems safe to me.

-Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140110/a4c280d2/attachment.html>


More information about the llvm-commits mailing list