Message ID | 4CBDA649.7040503@gnu.org |
---|---|
State | New |
Headers | show |
On Tue, Oct 19, 2010 at 04:08:09PM +0200, Paolo Bonzini wrote: > On 10/19/2010 03:28 PM, Jack Howarth wrote: > > > > On x86_64-apple-darwin10, this causes the regression of... > > > > FAIL: gcc.c-torture/execute/arith-rand-ll.c compilation, -Os (internal compiler error) > > UNRESOLVED: gcc.c-torture/execute/arith-rand-ll.c execution, -Os > > > > at -m32. > > Thanks, consider this squashed in: Paolo, I can confirm that this fixes the issue on x86_64-apple-darwin10. Jack > > Index: gcc/df-scan.c > =================================================================== > --- gcc/df-scan.c (revision 163855) > +++ gcc/df-scan.c (working copy) > @@ -2841,7 +2864,8 @@ df_ref_record (enum df_ref_class cl, > /* If this is a multiword hardreg, we create some extra > datastructures that will enable us to easily build REG_DEAD > and REG_UNUSED notes. */ > - if ((endregno != regno + 1) && insn_info) > + if (collection_rec > + && (endregno != regno + 1) && insn_info) > { > /* Sets to a subreg of a multiword register are partial. > Sets to a non-subreg of a multiword register are not. */ > > Paolo
Index: gcc/df-scan.c =================================================================== --- gcc/df-scan.c (revision 163855) +++ gcc/df-scan.c (working copy) @@ -2841,7 +2864,8 @@ df_ref_record (enum df_ref_class cl, /* If this is a multiword hardreg, we create some extra datastructures that will enable us to easily build REG_DEAD and REG_UNUSED notes. */ - if ((endregno != regno + 1) && insn_info) + if (collection_rec + && (endregno != regno + 1) && insn_info) { /* Sets to a subreg of a multiword register are partial. Sets to a non-subreg of a multiword register are not. */