[llvm-commits] [llvm] r106333 - in /llvm/trunk: lib/CodeGen/LiveIntervalAnalysis.cpp test/CodeGen/Thumb2/crash.ll
Evan Cheng
evan.cheng at apple.com
Fri Jun 18 15:48:41 PDT 2010
On Jun 18, 2010, at 3:47 PM, Jakob Stoklund Olesen wrote:
>
> On Jun 18, 2010, at 3:40 PM, Evan Cheng wrote:
>
>>
>> On Jun 18, 2010, at 3:29 PM, Jakob Stoklund Olesen wrote:
>>
>>> Author: stoklund
>>> Date: Fri Jun 18 17:29:44 2010
>>> New Revision: 106333
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=106333&view=rev
>>> Log:
>>> TwoAddressInstructionPass::CoalesceExtSubRegs can insert INSERT_SUBREG
>>> instructions, but it doesn't really understand live ranges, so the first
>>> INSERT_SUBREG uses an implicitly defined register.
>>>
>>> Fix it in LiveVariableAnalysis by adding the <undef> flag.
>>
>> Is this correct? Two-address pass is run even when livevariableanalysis is not.
>
> Uack. You are right.
>
> It is really hard for 2-addr to determine the beginning of the live range where an <undef> is required. It is similar to the problem of updating kill flags which it also gets wrong.
>
> We could disable CoalesceExtSubRegs when LiveVariables in not present?
Yes, that should work.
Evan
More information about the llvm-commits
mailing list