[llvm-commits] Commit 61847 broke bootstrap

Evan Cheng evan.cheng at apple.com
Sat Jan 10 11:05:13 PST 2009


Please file a bug report with steps to reproduce it. Thanks.

Evan

On Jan 10, 2009, at 9:49 AM, Duncan Sands wrote:

> Hi Evan, llvm-gcc bootstrap is currently broken on x86-64 linux.
> I bisected it down to this commit:
>
> ------------------------------------------------------------------------
> r61847 | evancheng | 2009-01-07 03:08:57 +0100 (Wed, 07 Jan 2009) |  
> 10 lines
>
> The coalescer does not coalesce a virtual register to a physical  
> register if any of the physical register's sub-register live  
> intervals overlaps with the virtual register. This is overly  
> conservative. It prevents a extract_subreg from being coalesced away:
>
> v1024 = EDI  // not killed
>      =
>      = EDI
>
> One possible solution is for the coalescer to examine the sub- 
> register live intervals in the same manner as the physical register.  
> Another possibility is to examine defs and uses (when needed) of sub- 
> registers. Both solutions are too expensive. For now, look for  
> "shortvirtual intervals" and scan instructions to look for conflict  
> instead.
>
> This is a small win on x86-64. e.g. It shaves 403.gcc by ~80  
> instructions.
>
> ------------------------------------------------------------------------
>
> It breaks during stage 2, i.e. something was miscompiled during  
> stage 1,
> which means I don't have a testcase, sorry.
>
> Ciao,
>
> Duncan.




More information about the llvm-commits mailing list