[llvm-commits] [llvm] r106333 - in /llvm/trunk: lib/CodeGen/LiveIntervalAnalysis.cpp test/CodeGen/Thumb2/crash.ll
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Jun 18 15:47:34 PDT 2010
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?
More information about the llvm-commits
mailing list