[LLVMdev] undefs in phis
Evan Cheng
evan.cheng at apple.com
Thu Jan 29 23:41:21 PST 2009
On Jan 29, 2009, at 5:29 PM, David Greene wrote:
> On Thursday 29 January 2009 18:04, Eli Friedman wrote:
>> On Thu, Jan 29, 2009 at 2:47 PM, David Greene <dag at cray.com> wrote:
>>> After phi elimination we have:
>>>
>>> bb134:
>>> %reg1645 = 1.0
>>>
>>> bb74:
>>> %reg1176 = MOVAPS %reg1645
>>> %reg1177 = MOVAPS %reg1646
>>> [...]
>>>
>>> bb108:
>>> %reg1645 = <expr>
>>> %reg1646 = %reg1176
>>
>> I find it a little strange that the IMPLICIT_DEF disappears. Besides
>> that, it looks okay up to here.
>
> I just verified that it does disappear.
It's intentional. We don't want a live interval defined by an
implicit_def. It unnecessarily increases register pressure.
Evan
>
>
>>> Should llvm be able to handle situations like
>>> this or is the result undefined?
>>
>> LLVM should be able to handle the IL in question, I think. Using
>> undef in the way the given IL is using it is looks legitimate.
>
> Ok, that's good to know. I'll continue tracking this one down.
>
> -Dave
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list