Displaying 5 results from an estimated 5 matches for "reg1646".
Did you mean:
reg1645
2009 Jan 29
2
[LLVMdev] undefs in phis
...(%reg1459:bb134, %reg1176:bb108)
[...]
bb108:
%reg1253 = <expr>
So far so good, though the IMPLICIT_DEF is worrisome. I'm guessing that's
what causes problems later.
After phi elimination we have:
bb134:
%reg1645 = 1.0
bb74:
%reg1176 = MOVAPS %reg1645
%reg1177 = MOVAPS %reg1646
[...]
bb108:
%reg1645 = <expr>
%reg1646 = %reg1176
Again, this is all good except that %reg1646 is not defined on the first entry
to bb74. This is actually consistent with the original code which is:
x = 1.0
do
if (x == 1.0) {
[...use x...]
else {
[...use x and y...]
}...
2009 Jan 30
2
[LLVMdev] undefs in phis
...09 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.
> > Should llvm be able t...
2009 Jan 30
0
[LLVMdev] undefs in phis
...ote:
>> 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...
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 looks okay up to here.
> Should llvm be able to handle situations like
> this or is the result undefined?
LLVM should be able t...
2009 Jan 30
2
[LLVMdev] undefs in phis
..., though. Here's what happens. Let's look at
this code, annotated with live range indices:
bb134:
2696 %reg1645<def> = FsMOVAPSrr %reg1458<kill> ; srcLine 0
bb74:
2700 %reg1176<def> = FsMOVAPSrr %reg1645<kill> ; srcLine 0
2704 %reg1177<def> = FsMOVAPSrr %reg1646<kill> ; srcLine 0 *** u before d
2708 %reg1178<def> = FsMOVAPSrr %reg1647<kill> ; srcLine 0 *** u before d
2712 TEST64rr %reg1173, %reg1173, %EFLAGS<imp-def> ; srcLine 30
2716 JLE mbb<file test.f90, bb90,0x3c37ed0>, %EFLAGS<imp-use,kill> ; srcLine 0
bb108:...