diff mbox

Updated no_reorder patchkit

Message ID 5422D24C.9070704@suse.cz
State New
Headers show

Commit Message

Martin Liška Sept. 24, 2014, 2:16 p.m. UTC
On 09/16/2014 05:15 AM, Andi Kleen wrote:
> This version addresses earlier comments and has an updated testsuite
> (still no LTO tests however). The assembler statements also
> no stay in order with ordered statements.
>
> It doesn't disable sorting of paritions with ordered symbols. I think
> that's an existing bug and is best addressed separately.
>
> Passed LTO boot strap and test on x86_64-linux, plus build
> of a large project that needs LTO order.
>
> -Andi
>

Hello.

I've just merged trunk to my branch and observed regression connected to this patchset:

../../../libcilkrts/runtime/config/x86/os-unix-sysdep.c:114:5: internal compiler error: tree check: expected tree_list, have var_decl in get_attribute_name, at attribs.c:679
      if (__builtin_cpu_supports("sse"))
      ^
0xc757a4 tree_check_failed(tree_node const*, char const*, int, char const*, ...)
	../../gcc/tree.c:9167
0x566a35 tree_check
	../../gcc/tree.h:2967
0x566a35 get_attribute_name(tree_node const*)
	../../gcc/attribs.c:679
0xc788b5 private_lookup_attribute(char const*, unsigned long, tree_node*)
	../../gcc/tree.c:5753
0xcd0468 lookup_attribute
	../../gcc/tree.h:3773
0xcd0468 varpool_node::add(tree_node*)
	../../gcc/varpool.c:452
0xced982 fold_builtin_cpu
	../../gcc/config/i386/i386.c:32480
0x6826ef fold_builtin_call_array(unsigned int, tree_node*, tree_node*, int, tree_node**)
	../../gcc/builtins.c:10565
0x59ec54 build_function_call_vec(unsigned int, vec<unsigned int, va_heap, vl_ptr>, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*, va_gc, vl_embed>*)
	../../gcc/c/c-typeck.c:2958
0x5c659e c_parser_postfix_expression_after_primary
	../../gcc/c/c-parser.c:7770
0x5b97bb c_parser_postfix_expression
	../../gcc/c/c-parser.c:7590
0x5bbe6a c_parser_unary_expression
	../../gcc/c/c-parser.c:6517
0x5c1ff6 c_parser_cast_expression
	../../gcc/c/c-parser.c:6355
0x5c2235 c_parser_binary_expression
	../../gcc/c/c-parser.c:6170
0x5c2de5 c_parser_conditional_expression
	../../gcc/c/c-parser.c:5946
0x5c3420 c_parser_expr_no_commas
	../../gcc/c/c-parser.c:5864
0x5c3ae6 c_parser_expression
	../../gcc/c/c-parser.c:7897
0x5c45a9 c_parser_expression_conv
	../../gcc/c/c-parser.c:7930
0x5c4622 c_parser_condition
	../../gcc/c/c-parser.c:5050
0x5c46b7 c_parser_paren_condition
	../../gcc/c/c-parser.c:5069


There's missing DECL_ATTRIBUTES in varpool.c in lookup_attribute call.

Ready for trunk?

Martin

Comments

Jan Hubicka Sept. 24, 2014, 2:17 p.m. UTC | #1
> There's missing DECL_ATTRIBUTES in varpool.c in lookup_attribute call.
> 
> Ready for trunk?
OK,
thanks
Honza
> 
> Martin

> diff --git a/gcc/varpool.c b/gcc/varpool.c
> index 8001c93..3761f14 100644
> --- a/gcc/varpool.c
> +++ b/gcc/varpool.c
> @@ -449,7 +449,7 @@ varpool_node::add (tree decl)
>    symtab->call_varpool_insertion_hooks (node);
>    if (node->externally_visible_p ())
>      node->externally_visible = true;
> -  if (lookup_attribute ("no_reorder", decl))
> +  if (lookup_attribute ("no_reorder", DECL_ATTRIBUTES (decl)))
>      node->no_reorder = 1;
>  }
>
Jakub Jelinek Sept. 24, 2014, 2:20 p.m. UTC | #2
On Wed, Sep 24, 2014 at 04:16:44PM +0200, Martin Liška wrote:
> On 09/16/2014 05:15 AM, Andi Kleen wrote:
> >This version addresses earlier comments and has an updated testsuite
> >(still no LTO tests however). The assembler statements also
> >no stay in order with ordered statements.
> >
> >It doesn't disable sorting of paritions with ordered symbols. I think
> >that's an existing bug and is best addressed separately.
> >
> >Passed LTO boot strap and test on x86_64-linux, plus build
> >of a large project that needs LTO order.
> >
> >-Andi
> >
> 
> Hello.
> 
> I've just merged trunk to my branch and observed regression connected to this patchset:

This is already fixed, see r215552.

	Jakub
Martin Liška Sept. 24, 2014, 2:20 p.m. UTC | #3
On 09/24/2014 04:17 PM, Jan Hubicka wrote:
>> There's missing DECL_ATTRIBUTES in varpool.c in lookup_attribute call.
>>
>> Ready for trunk?
> OK,
> thanks
> Honza

Ah, it has been fixed in r215552.

Martin

>>
>> Martin
>
>> diff --git a/gcc/varpool.c b/gcc/varpool.c
>> index 8001c93..3761f14 100644
>> --- a/gcc/varpool.c
>> +++ b/gcc/varpool.c
>> @@ -449,7 +449,7 @@ varpool_node::add (tree decl)
>>     symtab->call_varpool_insertion_hooks (node);
>>     if (node->externally_visible_p ())
>>       node->externally_visible = true;
>> -  if (lookup_attribute ("no_reorder", decl))
>> +  if (lookup_attribute ("no_reorder", DECL_ATTRIBUTES (decl)))
>>       node->no_reorder = 1;
>>   }
>>
>
diff mbox

Patch

diff --git a/gcc/varpool.c b/gcc/varpool.c
index 8001c93..3761f14 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -449,7 +449,7 @@  varpool_node::add (tree decl)
   symtab->call_varpool_insertion_hooks (node);
   if (node->externally_visible_p ())
     node->externally_visible = true;
-  if (lookup_attribute ("no_reorder", decl))
+  if (lookup_attribute ("no_reorder", DECL_ATTRIBUTES (decl)))
     node->no_reorder = 1;
 }