Displaying 14 results from an estimated 14 matches similar to: "[LLVMdev] undefs in phis"
2009 Jan 30
2
[LLVMdev] undefs in phis
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 =
2009 Jan 30
0
[LLVMdev] undefs in phis
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 =
2009 Jan 30
0
[LLVMdev] undefs in phis
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
2009 Jan 30
2
[LLVMdev] undefs in phis
On Friday 30 January 2009 01:41, Evan Cheng wrote:
> >> 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.
Ah, I see.
2009 Feb 02
0
[LLVMdev] undefs in phis
On Friday 30 January 2009 16:54, Evan Cheng wrote:
> I don't have the whole context to understand why you think this is a
> bug. An implicit_def doesn't actually define any value. So we don't
> care if a live interval overlaps live ranges defined by an implicit_def.
It's a bug because the coalerscer does illegal coaescing.
Our last episode left us here:
bb134:
2696
2009 Jan 30
2
[LLVMdev] undefs in phis
On Jan 30, 2009, at 1:52 PM, David Greene wrote:
> On Friday 30 January 2009 15:10, David Greene wrote:
>
>> This still looks correct. The coalescer then says:
>>
>> 4360 %reg1177<def> = FsMOVAPSrr %reg1176<kill> ; srcLine 0
>> Inspecting %reg1176,0 = [2702,4362:0) 0 at 2702-(4362) and
>> %reg1177,0 =
>>
2009 Feb 02
2
[LLVMdev] undefs in phis
On Feb 2, 2009, at 10:08 AM, David Greene wrote:
> On Friday 30 January 2009 16:54, Evan Cheng wrote:
>
>> I don't have the whole context to understand why you think this is a
>> bug. An implicit_def doesn't actually define any value. So we don't
>> care if a live interval overlaps live ranges defined by an
>> implicit_def.
>
> It's a bug
2009 Jan 30
0
[LLVMdev] undefs in phis
On Friday 30 January 2009 15:10, David Greene wrote:
> This still looks correct. The coalescer then says:
>
> 4360 %reg1177<def> = FsMOVAPSrr %reg1176<kill> ; srcLine 0
> Inspecting %reg1176,0 = [2702,4362:0) 0 at 2702-(4362) and %reg1177,0 =
> [2700,3712:0)[3768,3878:0)[4362,4372:0) 0 at 4362-(3878):
> Joined. Result = %reg1177,0 = [2700,4372:0) 0 at
2009 Feb 06
2
[LLVMdev] undefs in phis
On Monday 02 February 2009 23:55, Evan Cheng wrote:
> >> Think about what will happen the 2nd iteration. %v1177 will have
> >> the value of
> >> %v1645 which is wrong. This is because %v1176 in bb74 will be
> >> replaced with
> >> %v1177. That's incorrect.
> >
> > Ok, right. The trick to fixing is to make sure the valno of the def of
2009 Feb 06
0
[LLVMdev] undefs in phis
On Feb 5, 2009, at 5:30 PM, David Greene wrote:
> On Monday 02 February 2009 23:55, Evan Cheng wrote:
>
>>>> Think about what will happen the 2nd iteration. %v1177 will have
>>>> the value of
>>>> %v1645 which is wrong. This is because %v1176 in bb74 will be
>>>> replaced with
>>>> %v1177. That's incorrect.
>>>
2009 Feb 03
0
[LLVMdev] undefs in phis
On Feb 2, 2009, at 3:54 PM, Evan Cheng wrote:
>
> On Feb 2, 2009, at 1:05 PM, David Greene wrote:
>
>> On Monday 02 February 2009 14:29, Evan Cheng wrote:
>>> On Feb 2, 2009, at 12:12 PM, David Greene wrote:
>>>> On Monday 02 February 2009 13:14, Evan Cheng wrote:
>>>>> I am sorry I don't really follow it. Is this what you are
2009 Feb 02
2
[LLVMdev] undefs in phis
On Feb 2, 2009, at 1:05 PM, David Greene wrote:
> On Monday 02 February 2009 14:29, Evan Cheng wrote:
>> On Feb 2, 2009, at 12:12 PM, David Greene wrote:
>>> On Monday 02 February 2009 13:14, Evan Cheng wrote:
>>>> I am sorry I don't really follow it. Is this what you are
>>>> describing?
>>>>
>>>> %v1177 = undef
2009 Feb 02
0
[LLVMdev] undefs in phis
On Monday 02 February 2009 14:29, Evan Cheng wrote:
> On Feb 2, 2009, at 12:12 PM, David Greene wrote:
> > On Monday 02 February 2009 13:14, Evan Cheng wrote:
> >> I am sorry I don't really follow it. Is this what you are describing?
> >>
> >> %v1177 = undef
> >> ...
> >> loop:
> >> ...
> >> %v1176 = op ...
> >>
2009 Feb 02
2
[LLVMdev] undefs in phis
On Feb 2, 2009, at 12:12 PM, David Greene wrote:
> On Monday 02 February 2009 13:14, Evan Cheng wrote:
>
>> I am sorry I don't really follow it. Is this what you are describing?
>>
>> %v1177 = undef
>> ...
>> loop:
>> ...
>> %v1176 = op ...
>> = %v1177
>> %v1177 = %v1176
>> jmp loop
>>
>> Why is not