[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