public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures
@ 2015-01-15 13:20 jakub at gcc dot gnu.org
  2015-01-15 13:21 ` [Bug bootstrap/64612] " jakub at gcc dot gnu.org
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-15 13:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

            Bug ID: 64612
           Summary: [5 Regression] profiledbootstrap failures
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org

../configure --enable-languages=c,c++ --enable-checking=release
make -j16 profiledbootstrap

ICEs on x86_64-linux while compiling many libgcc routines with the
stagefeedback cc1.
E.g. while compiling _popcountdi2.o (but the backtrace is the same for many
other ICEs):
#0  0x0000000000000000 in ?? ()
#1  0x0000000000eae710 in operator=<std::pair<rtx_def*, machine_mode> > (x=...,
this=0x7fffffffce40) at ../../gcc/wide-int.h:861
#2  simplify_binary_operation_1(rtx_code, machine_mode, rtx_def*, rtx_def*,
rtx_def*, rtx_def*) () at ../../gcc/simplify-rtx.c:2055
#3  0x0000000000eb1778 in simplify_binary_operation (op1=0x7ffff0568fd8,
op0=0x7ffff0568fc0, mode=<optimized out>, code=<optimized out>)
    at ../../gcc/simplify-rtx.c:1975
#4  simplify_gen_binary(rtx_code, machine_mode, rtx_def*, rtx_def*) () at
../../gcc/simplify-rtx.c:203
#5  0x00000000011f28b7 in distribute_and_simplify_rtx(rtx_def*, int) () at
../../gcc/combine.c:9505
#6  0x000000000109937c in combine_simplify_rtx (in_cond=<optimized out>,
in_dest=<optimized out>, op0_mode=DImode, x=0x7ffff05644e0)
    at ../../gcc/combine.c:5844
#7  subst(rtx_def*, rtx_def*, rtx_def*, int, int, int) () at
../../gcc/combine.c:5374
#8  0x0000000001098157 in subst(rtx_def*, rtx_def*, rtx_def*, int, int, int) ()
at ../../gcc/combine.c:5319
#9  0x000000000109861c in subst(rtx_def*, rtx_def*, rtx_def*, int, int, int) ()
at ../../gcc/combine.c:5242
#10 0x000000000109248e in try_combine(rtx_insn*, rtx_insn*, rtx_insn*,
rtx_insn*, int*, rtx_insn*) () at ../../gcc/combine.c:3265
#11 0x000000000108c62a in combine_instructions (nregs=<optimized out>,
f=<optimized out>) at ../../gcc/combine.c:1388
#12 rest_of_handle_combine () at ../../gcc/combine.c:14094
#13 (anonymous namespace)::pass_combine::execute(function*) () at
../../gcc/combine.c:14137
#14 0x0000000000752ec3 in execute_one_pass (pass=0x1b67c80) at
../../gcc/passes.c:2317
#15 0x0000000000754462 in execute_pass_list_1 (pass=0x1b67c80) at
../../gcc/passes.c:2369
#16 0x0000000000754493 in execute_pass_list_1 (pass=0x1b67140) at
../../gcc/passes.c:2370
#17 0x0000000000e58089 in execute_pass_list (fn=0x7ffff0546b28, pass=0x1b63f60)
at ../../gcc/passes.c:2380
#18 0x0000000001159835 in expand (this=0x7ffff053cab8) at
../../gcc/cgraphunit.c:1804
#19 expand_all_functions () at ../../gcc/cgraphunit.c:1940
#20 symbol_table::compile() () at ../../gcc/cgraphunit.c:2293
#21 0x000000000115924e in symbol_table::finalize_compilation_unit() () at
../../gcc/cgraphunit.c:2370
#22 0x0000000000c5345b in c_write_global_declarations() () at
../../gcc/c/c-decl.c:10787
#23 0x000000000119ff42 in compile_file() () at ../../gcc/toplev.c:597
#24 0x0000000000c48541 in do_compile () at ../../gcc/toplev.c:2036
#25 toplev::main(int, char**) () at ../../gcc/toplev.c:2133
#26 0x0000000000c48859 in main (argc=82, argv=0x7fffffffd818) at
../../gcc/main.c:38

(gdb) up
#2  simplify_binary_operation_1(rtx_code, machine_mode, rtx_def*, rtx_def*,
rtx_def*, rtx_def*) () at ../../gcc/simplify-rtx.c:2055
2055                  coeff0 = std::make_pair (XEXP (lhs, 1), mode);
(gdb) disas $pc-32,$pc+32
Dump of assembler code from 0xeae6f0 to 0xeae730:
   0x0000000000eae6f0
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2480>:
mov    0x18(%rsp),%edi
   0x0000000000eae6f4
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2484>:
lea    0x100(%rsp),%rsi
   0x0000000000eae6fc
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2492>:
mov    %r9,0x100(%rsp)
   0x0000000000eae704
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2500>:
mov    %ebx,0x108(%rsp)
   0x0000000000eae70b
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2507>:
callq  0x0
=> 0x0000000000eae710
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2512>:
mov    0x120(%rsp),%rcx
   0x0000000000eae718
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2520>:
mov    0x128(%rsp),%r11
   0x0000000000eae720
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2528>:
mov    0x130(%rsp),%rax
   0x0000000000eae728
<_ZL27simplify_binary_operation_18rtx_code12machine_modeP7rtx_defS2_S2_S2_+2536>:
mov    0x138(%rsp),%rsi
End of assembler dump.

Note the unconditional call 0 that was hit.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
@ 2015-01-15 13:21 ` jakub at gcc dot gnu.org
  2015-01-15 14:13 ` jakub at gcc dot gnu.org
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-15 13:21 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
   Target Milestone|---                         |5.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
  2015-01-15 13:21 ` [Bug bootstrap/64612] " jakub at gcc dot gnu.org
@ 2015-01-15 14:13 ` jakub at gcc dot gnu.org
  2015-01-15 18:31 ` jakub at gcc dot gnu.org
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-15 14:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, in simplify-rtx.o we have:
0000000000005238  0000011900000002 R_X86_64_PC32          0000000000000000
_ZN16wide_int_storageC1ISt4pairIP7rtx_def12machine_modeEEERKT_ - 4
at that spot, and:
   281: 0000000000000000   156 FUNC    WEAK   DEFAULT   56
_ZN16wide_int_storageC1ISt4pairIP7rtx_def12machine_modeEEERKT_
in
  [56] .text.hot._ZN16wide_int_storageC2ISt4pairIP7rtx_def12machine_modeEEERKT_
PROGBITS        0000000000000000 018680 00009c 00 AXG  0   0 16
section.

This constructor is defined in 3 object files, but apparently incorrectly so in
dwarf2out.o:

for i in *.o; do readelf -Ws $i | grep
_ZN16wide_int_storageC[125]ISt4pairIP7rtx_def12machine_modeEEERKT_ && echo $i;
done
   191: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT    3
_ZN16wide_int_storageC5ISt4pairIP7rtx_def12machine_modeEEERKT_
   329: 0000000000000000   156 FUNC    WEAK   DEFAULT   25
_ZN16wide_int_storageC2ISt4pairIP7rtx_def12machine_modeEEERKT_
   403: 0000000000000000   156 FUNC    WEAK   DEFAULT   25
_ZN16wide_int_storageC1ISt4pairIP7rtx_def12machine_modeEEERKT_
combine.o
   780: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT   28
_ZN16wide_int_storageC5ISt4pairIP7rtx_def12machine_modeEEERKT_
  1036: 0000000000000000   156 FUNC    WEAK   DEFAULT  138
_ZN16wide_int_storageC2ISt4pairIP7rtx_def12machine_modeEEERKT_
dwarf2out.o
   112: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT    6
_ZN16wide_int_storageC5ISt4pairIP7rtx_def12machine_modeEEERKT_
   231: 0000000000000000   156 FUNC    WEAK   DEFAULT   56
_ZN16wide_int_storageC2ISt4pairIP7rtx_def12machine_modeEEERKT_
   281: 0000000000000000   156 FUNC    WEAK   DEFAULT   56
_ZN16wide_int_storageC1ISt4pairIP7rtx_def12machine_modeEEERKT_
simplify-rtx.o

The C5 comdat group for some reason is missing the C1 alias, but that is
mandatory in the C5 group.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
  2015-01-15 13:21 ` [Bug bootstrap/64612] " jakub at gcc dot gnu.org
  2015-01-15 14:13 ` jakub at gcc dot gnu.org
@ 2015-01-15 18:31 ` jakub at gcc dot gnu.org
  2015-01-15 21:20 ` hubicka at gcc dot gnu.org
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-15 18:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-01-15
     Ever confirmed|0                           |1

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
r218024 broke this, the
_ZN16wide_int_storageC1ISt4pairIP7rtx_def12machine_modeEEERKT_ alias to
_ZN16wide_int_storageC2ISt4pairIP7rtx_def12machine_modeEEERKT_ is with it
incorrectly removed from dwarf2out.s.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-01-15 18:31 ` jakub at gcc dot gnu.org
@ 2015-01-15 21:20 ` hubicka at gcc dot gnu.org
  2015-01-15 21:37 ` hubicka at gcc dot gnu.org
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-15 21:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
I am testing
Index: ipa-inline-transform.c
===================================================================
--- ipa-inline-transform.c      (revision 219674)
+++ ipa-inline-transform.c      (working copy)
@@ -139,7 +137,7 @@ can_remove_node_now_p (struct cgraph_nod

   /* When we see same comdat group, we need to be sure that all
      items can be removed.  */
-  if (!node->same_comdat_group)
+  if (!node->same_comdat_group || !node->externally_visible)
     return true;
   for (next = dyn_cast<cgraph_node *> (node->same_comdat_group);
        next != node; next = dyn_cast<cgraph_node *> (next->same_comdat_group))
@@ -303,7 +301,7 @@ inline_call (struct cgraph_edge *e, bool

   /* If aliases are involved, redirect edge to the actual destination and
      possibly remove the aliases.  */
-  if (e->callee != callee)
+  if (e->callee != callee && !e->next_caller && !e->prev_caller)
     {
       struct cgraph_node *alias = e->callee, *next_alias;
       e->redirect_callee (callee);


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-01-15 21:20 ` hubicka at gcc dot gnu.org
@ 2015-01-15 21:37 ` hubicka at gcc dot gnu.org
  2015-01-15 23:01 ` hubicka at gcc dot gnu.org
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-15 21:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Oops, wrong if
Index: ipa-inline-transform.c
===================================================================
--- ipa-inline-transform.c      (revision 219674)
+++ ipa-inline-transform.c      (working copy)
@@ -139,7 +139,7 @@ can_remove_node_now_p (struct cgraph_nod

   /* When we see same comdat group, we need to be sure that all
      items can be removed.  */
-  if (!node->same_comdat_group)
+  if (!node->same_comdat_group || !node->externally_visible)
     return true;
   for (next = dyn_cast<cgraph_node *> (node->same_comdat_group);
        next != node; next = dyn_cast<cgraph_node *> (next->same_comdat_group))
@@ -310,6 +310,7 @@ inline_call (struct cgraph_edge *e, bool
       while (alias && alias != callee)
        {
          if (!alias->callers
+             && !e->next_caller && !e->prev_caller
              && can_remove_node_now_p (alias, e))
            {
              next_alias = alias->get_alias_target ();


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-01-15 21:37 ` hubicka at gcc dot gnu.org
@ 2015-01-15 23:01 ` hubicka at gcc dot gnu.org
  2015-01-15 23:12 ` hubicka at gcc dot gnu.org
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-15 23:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |trippels at gcc dot gnu.org

--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
*** Bug 64583 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-01-15 23:01 ` hubicka at gcc dot gnu.org
@ 2015-01-15 23:12 ` hubicka at gcc dot gnu.org
  2015-01-16  3:02 ` hubicka at gcc dot gnu.org
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-15 23:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Thu Jan 15 23:11:49 2015
New Revision: 219696

URL: https://gcc.gnu.org/viewcvs?rev=219696&root=gcc&view=rev
Log:

    PR ipa/64612
    * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
    of comdat locals.
    (inline_call): Fix removal of aliases.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ipa-inline-transform.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-01-15 23:12 ` hubicka at gcc dot gnu.org
@ 2015-01-16  3:02 ` hubicka at gcc dot gnu.org
  2015-01-16 11:13 ` trippels at gcc dot gnu.org
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-16  3:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-01-16  3:02 ` hubicka at gcc dot gnu.org
@ 2015-01-16 11:13 ` trippels at gcc dot gnu.org
  2015-01-16 11:23 ` trippels at gcc dot gnu.org
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-16 11:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Author: trippels
Date: Fri Jan 16 11:12:52 2015
New Revision: 219721

URL: https://gcc.gnu.org/viewcvs?rev=219721&root=gcc&view=rev
Log:
g++.dg/ipa/pr64612.C: New test.

2015-01-16  Markus Trippelsdorf  <markus@trippelsdorf.de>

    PR ipa/64163
    PR ipa/64612
    * g++.dg/ipa/pr64612.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/ipa/pr64612.C
Modified:
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2015-01-16 11:13 ` trippels at gcc dot gnu.org
@ 2015-01-16 11:23 ` trippels at gcc dot gnu.org
  2015-01-21  9:13 ` ro at gcc dot gnu.org
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-16 11:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #10 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 64163 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2015-01-16 11:23 ` trippels at gcc dot gnu.org
@ 2015-01-21  9:13 ` ro at gcc dot gnu.org
  2015-01-21  9:14 ` ro at gcc dot gnu.org
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-21  9:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |ro at gcc dot gnu.org
         Resolution|FIXED                       |---

--- Comment #11 from Rainer Orth <ro at gcc dot gnu.org> ---
The new testcase FAILs on Solaris 10:

FAIL: g++.dg/ipa/pr64612.C   scan-assembler _ZN5QListI7QStringED1Ev

probably because this is a non-COMDAT target.

I'm attaching the Solaris 10/x86 assembler output.

  Rainer


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2015-01-21  9:13 ` ro at gcc dot gnu.org
@ 2015-01-21  9:14 ` ro at gcc dot gnu.org
  2015-01-21  9:17 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-21  9:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #12 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 34511
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34511&action=edit
Solaris 10/x86 assembler output


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2015-01-21  9:14 ` ro at gcc dot gnu.org
@ 2015-01-21  9:17 ` jakub at gcc dot gnu.org
  2015-01-21  9:30 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-21  9:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
g++.dg/abi/comdat1.C is guarded with { target *-*-*gnu* }, perhaps this test
should be too.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2015-01-21  9:17 ` jakub at gcc dot gnu.org
@ 2015-01-21  9:30 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2015-01-21  9:34 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-01-21  9:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #14 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> g++.dg/abi/comdat1.C is guarded with { target *-*-*gnu* }, perhaps this test
> should be too.

While that would work, it's overeager: the test passes on Solaris 11
(with COMDAT support both with as and gas) just fine.

    Rainer


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2015-01-21  9:30 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-01-21  9:34 ` jakub at gcc dot gnu.org
  2015-01-22 13:04 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-21  9:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If you are willing to cook up an effective-target for that in
lib/target-supports.exp, sure, go ahead.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2015-01-21  9:34 ` jakub at gcc dot gnu.org
@ 2015-01-22 13:04 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2015-01-22 13:20 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-01-22 13:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #16 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> If you are willing to cook up an effective-target for that in
> lib/target-supports.exp, sure, go ahead.

Given the complexity of the HAVE_COMDAT_GROUP test in gcc/configure.ac,
the best way seems to have gcc define something like
__GCC_HAVE_COMDAT_GROUP and use that in target-supports.exp.

    Rainer


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2015-01-22 13:04 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-01-22 13:20 ` jakub at gcc dot gnu.org
  2015-01-26 14:28 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-22 13:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #16)
> > --- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> > If you are willing to cook up an effective-target for that in
> > lib/target-supports.exp, sure, go ahead.
> 
> Given the complexity of the HAVE_COMDAT_GROUP test in gcc/configure.ac,
> the best way seems to have gcc define something like
> __GCC_HAVE_COMDAT_GROUP and use that in target-supports.exp.
> 
> 	Rainer

The predefined macros aren't zero cost, so I'd strongly prefer not to abuse
them.
Just compiling something where comdat groups should be used and scanning the
assembly should be even easier.
>From gcc-bugs-return-474389-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jan 22 13:28:12 2015
Return-Path: <gcc-bugs-return-474389-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 29907 invoked by alias); 22 Jan 2015 13:28:11 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 29855 invoked by uid 48); 22 Jan 2015 13:28:06 -0000
From: "enkovich.gnu at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/64277] [4.9/5 Regression] Incorrect warning "array subscript is above array bounds"
Date: Thu, 22 Jan 2015 13:28:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.3
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: enkovich.gnu at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.3
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-64277-4-ktp4lblpGy@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64277-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64277-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-01/txt/msg02383.txt.bz2
Content-length: 1184

https://gcc.gnu.org/bugzilla/show_bug.cgi?idd277

Ilya Enkovich <enkovich.gnu at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |enkovich.gnu at gmail dot com

--- Comment #7 from Ilya Enkovich <enkovich.gnu at gmail dot com> ---
Here is a reduced test case:

>cat test.c
int f1[10];
void foo(short a[], short m, unsigned short l)
{
  int i = l;
  for (i = i + 5; i < m; i++)
    f1[i] = a[i]++;
}
>gcc test.c -O3 -c -Wall
test.c: In function 'foo':
test.c:6:7: warning: array subscript is above array bounds [-Warray-bounds]
     f1[i] = a[i]++;
       ^
test.c:6:7: warning: array subscript is above array bounds [-Warray-bounds]
test.c:6:7: warning: array subscript is above array bounds [-Warray-bounds]
test.c:6:7: warning: array subscript is above array bounds [-Warray-bounds]
test.c:6:7: warning: array subscript is above array bounds [-Warray-bounds]

Here we have complete unroll of the loop by 10 due to f1 size.  Later vrp
complains of last five produced iterations accessing above array bounds.

Used GCC 5.0.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2015-01-22 13:20 ` jakub at gcc dot gnu.org
@ 2015-01-26 14:28 ` jakub at gcc dot gnu.org
  2015-01-27 11:55 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-26 14:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 34573
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34573&action=edit
gcc5-pr64612.patch

Lightly tested patch to do that (tested just on x86_64-linux).


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2015-01-26 14:28 ` jakub at gcc dot gnu.org
@ 2015-01-27 11:55 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2015-01-28  7:46 ` jakub at gcc dot gnu.org
  2015-01-28  7:49 ` jakub at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-01-27 11:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #19 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Created attachment 34573
>   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34573&action=edit
> gcc5-pr64612.patch
>
> Lightly tested patch to do that (tested just on x86_64-linux).

Worked for me.  Tested on

* Solaris 10/x86 (as/ld and gas/ld; no comdat in ld)

* Solaris 10/x86 (gas/gld, comdat)

* Solaris 11/x86 (as/ld and gas/ld; comdat in ld)

The new comdat_group keyword needs documenting in sourcebuild.texi, though.

Thanks.
    Rainer


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2015-01-27 11:55 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-01-28  7:46 ` jakub at gcc dot gnu.org
  2015-01-28  7:49 ` jakub at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-28  7:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed Jan 28 07:45:56 2015
New Revision: 220198

URL: https://gcc.gnu.org/viewcvs?rev=220198&root=gcc&view=rev
Log:
    PR bootstrap/64612
    * lib/target-supports.exp (check_effective_target_comdat_group): New.
    * g++.dg/ipa/pr64612.C: Guard scan-assembler test with
    { target comdat_group }.

    * doc/sourcebuild.texi (comdat_group): Document.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/doc/sourcebuild.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/ipa/pr64612.C
    trunk/gcc/testsuite/lib/target-supports.exp


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug bootstrap/64612] [5 Regression] profiledbootstrap failures
  2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2015-01-28  7:46 ` jakub at gcc dot gnu.org
@ 2015-01-28  7:49 ` jakub at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-28  7:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64612

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Even the testcase issue is fixed now.


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-01-28  7:49 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-15 13:20 [Bug bootstrap/64612] New: [5 Regression] profiledbootstrap failures jakub at gcc dot gnu.org
2015-01-15 13:21 ` [Bug bootstrap/64612] " jakub at gcc dot gnu.org
2015-01-15 14:13 ` jakub at gcc dot gnu.org
2015-01-15 18:31 ` jakub at gcc dot gnu.org
2015-01-15 21:20 ` hubicka at gcc dot gnu.org
2015-01-15 21:37 ` hubicka at gcc dot gnu.org
2015-01-15 23:01 ` hubicka at gcc dot gnu.org
2015-01-15 23:12 ` hubicka at gcc dot gnu.org
2015-01-16  3:02 ` hubicka at gcc dot gnu.org
2015-01-16 11:13 ` trippels at gcc dot gnu.org
2015-01-16 11:23 ` trippels at gcc dot gnu.org
2015-01-21  9:13 ` ro at gcc dot gnu.org
2015-01-21  9:14 ` ro at gcc dot gnu.org
2015-01-21  9:17 ` jakub at gcc dot gnu.org
2015-01-21  9:30 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-01-21  9:34 ` jakub at gcc dot gnu.org
2015-01-22 13:04 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-01-22 13:20 ` jakub at gcc dot gnu.org
2015-01-26 14:28 ` jakub at gcc dot gnu.org
2015-01-27 11:55 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-01-28  7:46 ` jakub at gcc dot gnu.org
2015-01-28  7:49 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).