Message ID | alpine.LNX.2.00.1306181159050.22313@zhemvz.fhfr.qr |
---|---|
State | New |
Headers | show |
> That suggests > > Index: gcc/expr.c > =================================================================== > --- gcc/expr.c (revision 200164) > +++ gcc/expr.c (working copy) > @@ -9353,7 +9353,7 @@ expand_expr_real_1 (tree exp, rtx target > /* Variables inherited from containing functions should have > been lowered by this point. */ > context = decl_function_context (exp); > - gcc_assert (!context > + gcc_assert (SCOPE_FILE_SCOPE_P (context) > || context == current_function_decl > || TREE_STATIC (exp) > || DECL_EXTERNAL (exp) > > might fix it. Just confirmed with the small build. It does. Running the large build now. Please check in. -Andi
> Just confirmed with the small build. It does. Running the large build > now. Large build worked too. > > Please check in.
On Tue, Jun 18, 2013 at 08:04:15PM +0200, Andi Kleen wrote: > > Just confirmed with the small build. It does. Running the large build > > now. > > Large build worked too. Also it seems to be drastically faster. I haven't done a proper measurement run, but the initial run was 58% faster than 4.8, using 42% less peak RSS. -Andi
On Tue, 18 Jun 2013, Andi Kleen wrote: > On Tue, Jun 18, 2013 at 08:04:15PM +0200, Andi Kleen wrote: > > > Just confirmed with the small build. It does. Running the large build > > > now. > > > > Large build worked too. > > Also it seems to be drastically faster. I haven't done a proper > measurement run, but the initial run was 58% faster than 4.8, > using 42% less peak RSS. That was the intent. As a side-effect it should also behave correctly and not have weird effects on dwarf2out.c expectations. Richard.
Index: gcc/expr.c =================================================================== --- gcc/expr.c (revision 200164) +++ gcc/expr.c (working copy) @@ -9353,7 +9353,7 @@ expand_expr_real_1 (tree exp, rtx target /* Variables inherited from containing functions should have been lowered by this point. */ context = decl_function_context (exp); - gcc_assert (!context + gcc_assert (SCOPE_FILE_SCOPE_P (context) || context == current_function_decl || TREE_STATIC (exp) || DECL_EXTERNAL (exp)