[Patch] [ThumbV8] Fix assertion fails due to inconsistent CPSR liveness of IT blocks
Weiming Zhao
weimingz at codeaurora.org
Mon Jan 13 10:53:42 PST 2014
Hi Andrew,
Thanks for review.
Committed revision 199127
Weiming
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation
From: Andrew Trick [mailto:atrick at apple.com]
Sent: Friday, January 10, 2014 11:53 PM
To: weimingz at codeaurora.org
Cc: llvm commits
Subject: Re: [Patch] [ThumbV8] Fix assertion fails due to inconsistent CPSR
liveness of IT blocks
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>
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/20140113/6f02ef15/attachment.html>
More information about the llvm-commits
mailing list