[LLVMdev] undefs in phis

David Greene dag at cray.com
Mon Feb 2 12:12:01 PST 2009


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 safe to coalesce the 2 registers?

Not quite.  The original code is:

%v1177 = undef
%v1645 =  ...
loop:
%v1176 = %v1645
...
  = %v1176
  = %v1177
%v1645 = op ...
%v1177 = %v1176
jmp loop

We can't coalesce %v1177 and %v1176 legally.  But we do.

                                              -Dave



More information about the llvm-dev mailing list