public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
@ 2015-08-06  8:58 ` trippels at gcc dot gnu.org
  2015-08-06  9:00 ` rguenth at gcc dot gnu.org
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-08-06  8:58 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-08-06
                 CC|                            |trippels at gcc dot gnu.org
            Summary|ICE at -Os and above on     |[6 Regression] ICE at -Os
                   |x86_64-linux-gnu in         |and above on
                   |gimple_op, at gimple.h:2274 |x86_64-linux-gnu in
                   |                            |gimple_op, at gimple.h:2274
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Confirmed. Also happens when building LLVM.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
  2015-08-06  8:58 ` [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274 trippels at gcc dot gnu.org
@ 2015-08-06  9:00 ` rguenth at gcc dot gnu.org
  2015-08-06  9:00 ` rguenth at gcc dot gnu.org
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-06  9:00 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |6.0


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
  2015-08-06  8:58 ` [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274 trippels at gcc dot gnu.org
  2015-08-06  9:00 ` rguenth at gcc dot gnu.org
@ 2015-08-06  9:00 ` rguenth at gcc dot gnu.org
  2015-08-06  9:00 ` trippels at gcc dot gnu.org
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-06  9:00 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lopezibanez at gmail dot com

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
CCing author


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2015-08-06  9:00 ` rguenth at gcc dot gnu.org
@ 2015-08-06  9:00 ` trippels at gcc dot gnu.org
  2015-08-06  9:03 ` manu at gcc dot gnu.org
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-08-06  9:00 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|6.0                         |---

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Backtrace in the LLVM case is slightly different:

AnalysisConsumer.ii:131658:8: internal compiler error: Segmentation fault
0x10a19a33 crash_signal
        ../../gcc/gcc/toplev.c:352
0x1072af6c infer_nonnull_range_by_attribute(gimple_statement_base*, tree_node*)
        ../../gcc/gcc/gimple.c:2682
0x110abb8f find_explicit_erroneous_behaviour
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:410
0x110abb8f gimple_ssa_isolate_erroneous_paths
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:526
0x110abb8f execute
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:577
Please submit a full bug report,


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2015-08-06  9:00 ` trippels at gcc dot gnu.org
@ 2015-08-06  9:03 ` manu at gcc dot gnu.org
  2015-08-06 18:28 ` manu at gcc dot gnu.org
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: manu at gcc dot gnu.org @ 2015-08-06  9:03 UTC (permalink / raw)
  To: gcc-bugs

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

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

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

--- Comment #4 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
>From gcc-bugs-return-494270-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 09:08:01 2015
Return-Path: <gcc-bugs-return-494270-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 16483 invoked by alias); 6 Aug 2015 09:08:01 -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 16390 invoked by uid 48); 6 Aug 2015 09:07:56 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/67124] [6 Regression] wrong code at -O1, -O2 and -O3 on x86_64-linux-gnu
Date: Thu, 06 Aug 2015 09:08:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-67124-4-6cYN7ZV2le@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67124-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67124-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg00412.txt.bz2
Content-length: 2755

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

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #2)
> Hmm, looks like a target issue.  We expand from

Not this time. It looks to me that generic code is at fault, performing DImode
move from %rdx to %xmm0, instead of inserting %rdx into %xmm0.

This can be seen with -O2 -msse2 -mtune=corei7 (please note that arrow points
to an instruction *before* it is executed):

   0x0000000000400440 <+0>:     movzbl 0x200c4b(%rip),%eax
   0x0000000000400447 <+7>:     movdqa 0x200c41(%rip),%xmm0
   0x000000000040044f <+15>:    movq   %xmm0,%rdx
=> 0x0000000000400454 <+20>:    mov    %rax,%rcx
   0x0000000000400457 <+23>:    and    $0xffffffffff00ffff,%rdx
   0x000000000040045e <+30>:    shl    $0x10,%rax
   0x0000000000400462 <+34>:    or     %rax,%rdx
   0x0000000000400465 <+37>:    xor    %eax,%eax
   0x0000000000400467 <+39>:    movq   %rdx,%xmm0
   0x000000000040046c <+44>:    pinsrw $0x2,%eax,%xmm0
   0x0000000000400471 <+49>:    mov    0x200be8(%rip),%rax
   0x0000000000400478 <+56>:    movups %xmm0,(%rax)

(gdb) i r rax rdx xmm0
rax            0x1
rdx            0x10000
xmm0           {uint128 = 0x00000000000000010000000000010000}

   0x0000000000400465 <+37>:    xor    %eax,%eax
=> 0x0000000000400467 <+39>:    movq   %rdx,%xmm0
   0x000000000040046c <+44>:    pinsrw $0x2,%eax,%xmm0

(gdb) i r rdx xmm0
rdx            0x10000
xmm0           {uint128 = 0x00000000000000010000000000010000}

   0x0000000000400465 <+37>:    xor    %eax,%eax
   0x0000000000400467 <+39>:    movq   %rdx,%xmm0
=> 0x000000000040046c <+44>:    pinsrw $0x2,%eax,%xmm0

(gdb) i r rdx xmm0
rdx            0x10000
xmm0           {uint128 = 0x00000000000000000000000000010000}

The same code can be compiled with -msse4 instead of -msse2, so we will have
pinsrb insn available:

   0x0000000000400440 <+0>:     movzbl 0x200c4b(%rip),%eax
   0x0000000000400447 <+7>:     xor    %edx,%edx
   0x0000000000400449 <+9>:     movdqa 0x200c3f(%rip),%xmm0
=> 0x0000000000400451 <+17>:    pinsrb $0x2,%eax,%xmm0
   0x0000000000400457 <+23>:    pinsrw $0x2,%edx,%xmm0
   0x000000000040045c <+28>:    mov    0x200bfd(%rip),%rdx        # 0x601060
<b>
   0x0000000000400463 <+35>:    movups %xmm0,(%rdx)

(gdb) i r rax xmm0
rax            0x1
xmm0           {uint128 = 0x00000000000000010000000000010000}

   0x0000000000400449 <+9>:     movdqa 0x200c3f(%rip),%xmm0
   0x0000000000400451 <+17>:    pinsrb $0x2,%eax,%xmm0
=> 0x0000000000400457 <+23>:    pinsrw $0x2,%edx,%xmm0

i r xmm0
xmm0           {uint128 = 0x00000000000000010000000000010000}

As shown in the first case, the value in %xmm0 is already wrong before pinsrw
is executed.
>From gcc-bugs-return-494271-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 09:11:10 2015
Return-Path: <gcc-bugs-return-494271-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 32376 invoked by alias); 6 Aug 2015 09:11:10 -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 32308 invoked by uid 48); 6 Aug 2015 09:11:06 -0000
From: "trippels at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
Date: Thu, 06 Aug 2015 09:11:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: trippels at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-67133-4-c77a4QEi5t@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67133-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67133-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg00413.txt.bz2
Content-length: 403

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

--- Comment #5 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Manuel López-Ibáñez from comment #4)
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.

Well, it is a >5MB testcase and reducing isn't instantaneous unfortunately.
>From gcc-bugs-return-494272-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 09:13:33 2015
Return-Path: <gcc-bugs-return-494272-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 39752 invoked by alias); 6 Aug 2015 09:13:33 -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 38261 invoked by uid 48); 6 Aug 2015 09:13:28 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
Date: Thu, 06 Aug 2015 09:13:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-67133-4-cJQNl4OIEr@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67133-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67133-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg00414.txt.bz2
Content-length: 374

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

--- Comment #6 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #5)
> Well, it is a >5MB testcase and reducing isn't instantaneous unfortunately.

No problem, I'm not in a hurry. I need to bootstrap gcc and that will take me a
whole day at least.
>From gcc-bugs-return-494273-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 09:14:11 2015
Return-Path: <gcc-bugs-return-494273-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 40910 invoked by alias); 6 Aug 2015 09:14: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 40846 invoked by uid 48); 6 Aug 2015 09:14:07 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/67124] [6 Regression] wrong code at -O1, -O2 and -O3 on x86_64-linux-gnu
Date: Thu, 06 Aug 2015 09:14:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc component
Message-ID: <bug-67124-4-ebSd9kQaX2@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67124-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67124-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg00415.txt.bz2
Content-length: 558

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|uros at gcc dot gnu.org            |rsandifo at gcc dot gnu.org,
                   |                            |ubizjak at gmail dot com
          Component|target                      |middle-end

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
Wrong expansion, adding CC.
>From gcc-bugs-return-494274-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 09:23:06 2015
Return-Path: <gcc-bugs-return-494274-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 98939 invoked by alias); 6 Aug 2015 09:23:06 -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 98901 invoked by uid 55); 6 Aug 2015 09:23:02 -0000
From: "fxcoudert at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/64022] [F2003][IEEE] ieee_support_flag does not handle kind\x10 and kind\x16 REAL variables
Date: Thu, 06 Aug 2015 09:23:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: rejects-valid
X-Bugzilla-Severity: normal
X-Bugzilla-Who: fxcoudert at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: fxcoudert at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.3
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-64022-4-f4J5NVv9df@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64022-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64022-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-08/txt/msg00416.txt.bz2
Content-length: 554

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

--- Comment #10 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
Author: fxcoudert
Date: Thu Aug  6 09:22:30 2015
New Revision: 226670

URL: https://gcc.gnu.org/viewcvs?rev"6670&root=gcc&view=rev
Log:
        PR fortran/64022
        * gfortran.dg/ieee/large_2.f90: New test.
        * gfortran.dg/ieee/large_3.F90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/ieee/large_2.f90
    trunk/gcc/testsuite/gfortran.dg/ieee/large_3.F90
Modified:
    trunk/gcc/testsuite/ChangeLog


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2015-08-06  9:03 ` manu at gcc dot gnu.org
@ 2015-08-06 18:28 ` manu at gcc dot gnu.org
  2015-08-06 18:48 ` trippels at gcc dot gnu.org
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: manu at gcc dot gnu.org @ 2015-08-06 18:28 UTC (permalink / raw)
  To: gcc-bugs

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

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

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

--- Comment #7 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Zhendong Su from comment #0)
> The following code causes an ICE when compiled with the current gcc trunk at
> -Os and above on x86_64-linux-gnu in both 32-bit and 64-bit modes.
> 
> It is a regression from 5.1.x. 

This was already latent in r226635, just compile with options:

-Os -fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute

The problem is that infer_nonnull_range gets:

(gdb) p debug_gimple_stmt(stmt)
__builtin_unreachable ();

which is decorated with attributes:

(gdb) p debug_tree(attrs)
 <tree_list 0x7ffff64b3bb8
    purpose <identifier_node 0x7ffff644b3c0 nonnull>
    value <tree_list 0x7ffff645edc0
        value <integer_cst 0x7ffff6444060 constant 1>>
    chain <tree_list 0x7ffff64b3b90
        purpose <identifier_node 0x7ffff644b2d0 format>
        value <tree_list 0x7ffff6460730
            value <identifier_node 0x7ffff644b550 printf>
            chain <tree_list 0x7ffff645ef00 value <integer_cst 0x7ffff6444060
1>
                chain <tree_list 0x7ffff645ede8
                    value <integer_cst 0x7ffff6444318 constant 2>>>>>>

That is, this __builtin_unreachable has __attribute__((nonnull(1))), which
doesn't make any sense and breaks infer_nonnull_range when it tries to access
its first argument.

I have no idea whatsoever how __builtin_unreachable gets to have attribute
nonnull, but that is a pre-existing bug. Surprising it doesn't break more
stuff.
>From gcc-bugs-return-494314-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 18:36:06 2015
Return-Path: <gcc-bugs-return-494314-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 20014 invoked by alias); 6 Aug 2015 18:36:06 -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 18169 invoked by uid 48); 6 Aug 2015 18:36:01 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
Date: Thu, 06 Aug 2015 18:36:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-67133-4-TA55TiHlcV@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67133-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67133-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg00456.txt.bz2
Content-length: 248

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

--- Comment #8 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
Or even with options: -O2 -fisolate-erroneous-paths-attribute

(why is the latter not enabled by default?)
>From gcc-bugs-return-494315-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 18:41:43 2015
Return-Path: <gcc-bugs-return-494315-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 42620 invoked by alias); 6 Aug 2015 18:41:43 -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 42561 invoked by uid 48); 6 Aug 2015 18:41:39 -0000
From: "trippels at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/67139] [concepts] ICE on checking concepts with void
Date: Thu, 06 Aug 2015 18:41:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: c++-concepts
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: trippels at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on cc everconfirmed
Message-ID: <bug-67139-4-pIulJJAaDi@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67139-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67139-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-08/txt/msg00457.txt.bz2
Content-length: 2983

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-08-06
                 CC|                            |trippels at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat o.ii
template <typename T> typename T::typevalue_type _v;
template <class T> concept bool Constructible() { return _v<T>; }

template <class T> concept bool MoveConstructible() {
  return Constructible<T &&>();
}

template <class> constexpr bool move_constructible() { return false; }
MoveConstructible { T }
constexpr bool move_constructible() { return true; }

static_assert((!move_constructible<void>()), "");


markus@x4 tmp % g++ -std=gnu++1z -c o.ii
o.ii:12:42: internal compiler error: Segmentation fault
 static_assert((!move_constructible<void>()), "");
                                          ^
0xc7f85f crash_signal
        ../../gcc/gcc/toplev.c:352
0x7fab31e0770f ???
        /var/tmp/glibc/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0xef7bd0 strip_array_types(tree_node*)
        ../../gcc/gcc/tree.c:8194
0x71a2e8 cp_type_quals(tree_node const*)
        ../../gcc/gcc/cp/typeck.c:9006
0x790024 cv_unqualified(tree_node*)
        ../../gcc/gcc/cp/tree.c:1161
0x7fc8c4 satisfy_predicate_constraint
        ../../gcc/gcc/cp/constraint.cc:1705
0x7fc8c4 satisfy_constraint_1
        ../../gcc/gcc/cp/constraint.cc:1901
0x7fd5f6 satisfy_constraint
        ../../gcc/gcc/cp/constraint.cc:1952
0x7fd74c constraints_satisfied_p(tree_node*)
        ../../gcc/gcc/cp/constraint.cc:2059
0x5d832c add_function_candidate
        ../../gcc/gcc/cp/call.c:1986
0x5d8e88 add_template_candidate_real
        ../../gcc/gcc/cp/call.c:3109
0x5d957c add_template_candidate
        ../../gcc/gcc/cp/call.c:3151
0x5d957c add_candidates
        ../../gcc/gcc/cp/call.c:5307
0x5dbc03 perform_overload_resolution
        ../../gcc/gcc/cp/call.c:4003
0x5de10e build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, bool, int)
        ../../gcc/gcc/cp/call.c:4080
0x76b998 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
        ../../gcc/gcc/cp/semantics.c:2391
0x6e9737 cp_parser_postfix_expression
        ../../gcc/gcc/cp/parser.c:6421
0x6ee229 cp_parser_unary_expression
        ../../gcc/gcc/cp/parser.c:7485
0x6ee188 cp_parser_unary_expression
        ../../gcc/gcc/cp/parser.c:7438
0x6eee57 cp_parser_binary_expression
        ../../gcc/gcc/cp/parser.c:8222
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2015-08-06 18:28 ` manu at gcc dot gnu.org
@ 2015-08-06 18:48 ` trippels at gcc dot gnu.org
  2015-08-06 19:21 ` manu at gcc dot gnu.org
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-08-06 18:48 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 6928 bytes --]

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

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
trippels@gcc2-power8 llvm_build % cat AnalysisConsumer.ii
class A;
struct B {
  typedef A type;
};
template <typename> struct I : B {};
class C {
public:
  C(char *);
  int size();
};
template <typename> struct D;
template <typename _Tp, typename = D<_Tp>> class F {
  class G {
    template <typename> static _Tp *__test();
    typedef int _Del;

  public:
    typedef decltype(__test<_Del>()) type;
  };

public:
  typename I<_Tp>::type operator*() {
    typename G::type a = 0;
    return *a;
  }
};
class H {
  F<A> Out;
  H();
};
void fn1(void *, void *, int) __attribute__((__nonnull__));
class A {
  int OutBufEnd, OutBufCur;

public:
  void operator<<(C p1) {
    int b, c = p1.size();
    if (OutBufEnd)
      fn1(&OutBufCur, &b, c);
  }
};
char* a;
H::H() { *Out << a; }

trippels@gcc2-power8 llvm_build % g++ -O2 -c AnalysisConsumer.ii
AnalysisConsumer.ii: In constructor ‘H::H()’:
AnalysisConsumer.ii:43:1: internal compiler error: Segmentation fault
 H::H() { *Out << a; }
 ^
0x10a18c53 crash_signal
        ../../gcc/gcc/toplev.c:352
0x1072af0c infer_nonnull_range_by_attribute(gimple_statement_base*, tree_node*)
        ../../gcc/gcc/gimple.c:2682
0x110a881f find_explicit_erroneous_behaviour
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:410
0x110a881f gimple_ssa_isolate_erroneous_paths
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:526
0x110a881f execute
        ../../gcc/gcc/gimple-ssa-isolate-paths.c:577
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
>From gcc-bugs-return-494320-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 18:56:01 2015
Return-Path: <gcc-bugs-return-494320-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 112574 invoked by alias); 6 Aug 2015 18:56:00 -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 112499 invoked by uid 48); 6 Aug 2015 18:55:56 -0000
From: "rsandifo at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/67124] [6 Regression] wrong code at -O1, -O2 and -O3 on x86_64-linux-gnu
Date: Thu, 06 Aug 2015 18:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rsandifo at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-67124-4-Yd90XJ5pdU@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67124-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67124-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg00462.txt.bz2
Content-length: 826

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

--- Comment #6 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #5)
> Wrong expansion, adding CC.

The expand code looks OK to me.  Assigning to one DImode word
of a TImode isn't supposed to change the other half.

I think the problem is in LRA.  It tries to reload the low half
of the TImode as follows:

      Creating newreg=104, assigning class NO_REGS to secondary r104
   51: r104:DI=r103:DI
    Inserting the sec. move after:
   52: r90:TI#0=r104:DI

then allocates it as an xmm<-mem move:

         Choosing alt 14 in insn 52:  (0) *v  (1) m {*movdi_internal}

That isn't right because the move won't preserve the high half
of the xmm register.  It would need to be a strict_lowpart to do that.
>From gcc-bugs-return-494321-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 19:05:01 2015
Return-Path: <gcc-bugs-return-494321-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 129399 invoked by alias); 6 Aug 2015 19:05:01 -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 129334 invoked by uid 48); 6 Aug 2015 19:04:56 -0000
From: "boger at us dot ibm.com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug go/66870] split stack issues on ppc64le and ppc64
Date: Thu, 06 Aug 2015 19:05:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: go
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: boger at us dot ibm.com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: ian at airs dot com
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: attachments.created
Message-ID: <bug-66870-4-mTvuCCiJjW@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66870-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66870-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-08/txt/msg00463.txt.bz2
Content-length: 675

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

--- Comment #21 from boger at us dot ibm.com ---
Created attachment 36142
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id6142&actioníit
Configure gold with split stack based on binutils version

This is an updated version of the previous patch, simplifying the test done in
gcc/configure.ac.  Instead of trying to link a program this just checks the
binutils version number on the ld.gold --version output.  The configure check
in libgo will fail if the gold linker doesn't have split stack support but only
on pp64le.  On ppc64 the version check should be sufficient to make sure the
right gold linker is there.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2015-08-06 18:48 ` trippels at gcc dot gnu.org
@ 2015-08-06 19:21 ` manu at gcc dot gnu.org
  2015-08-13 15:29 ` mpolacek at gcc dot gnu.org
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: manu at gcc dot gnu.org @ 2015-08-06 19:21 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 4075 bytes --]

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

--- Comment #10 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #9)
> trippels@gcc2-power8 llvm_build % cat AnalysisConsumer.ii

It is also latent in r226635, just compile with options:

-O2 -fisolate-erroneous-paths-attribute


In this case, I cannot even debug it (i is 2):

(gdb) p gimple_call_arg (stmt, i)

/home/manuel/test3/pr67133.cc: In constructor ‘H::H()’:
/home/manuel/test3/pr67133.cc:43:1: internal compiler error: gimple check:
expected gimple_call(error_mark), have gimple_call() in gimple_call_arg, at
gimple.h:2858
 H::H() { *Out << a; }
 ^
0xa3d9c5 gimple_check_failed(gimple_statement_base const*, char const*, int,
char const*, gimple_code, tree_code)
        /home/manuel/test3/src/gcc/gimple.c:1154
0x5b3abd gimple_call_arg
        /home/manuel/test3/src/gcc/gimple.h:2858

But that is not the segmentation fault that is triggered when running the code
normally. It seems something wrong with the checking code.

If I print the stmt in the classic way (is there no better way to debug
gimple?):

(gdb) p *stmt
$5 = {code = GIMPLE_CALL, no_warning = 0, visited = 0, nontemporal_move = 0,
plf = 0, modified = 0, has_volatile_ops = 0, pad = 0, subcode = 0, uid = 11,
location = 2147483674, num_ops = 6, bb = 0x7ffff65bf340, next = 0x0, prev =
0x7ffff65a3b48}

Thus, it seems it should work?
>From gcc-bugs-return-494325-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Aug 06 19:59:12 2015
Return-Path: <gcc-bugs-return-494325-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 28902 invoked by alias); 6 Aug 2015 19:59:12 -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 28876 invoked by uid 48); 6 Aug 2015 19:59:08 -0000
From: "eskei.one at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/67140] New: undefined reference to _gfortran_mvbits_i16
Date: Thu, 06 Aug 2015 19:59:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.8.4
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: eskei.one at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created
Message-ID: <bug-67140-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-08/txt/msg00467.txt.bz2
Content-length: 791

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

            Bug ID: 67140
           Summary: undefined reference to _gfortran_mvbits_i16
           Product: gcc
           Version: 4.8.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: eskei.one at gmail dot com
  Target Milestone: ---

Created attachment 36143
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id6143&actioníit
example that reproduces error in title

I've been using bit manipulation of long integers in ISO_C_BINDING (IBSET,
IBCLR, BTEST, IBITS) for a while now. Today I tried to do MVBITS between two
C_INT128_T and got the error in the title. I am attaching an example program.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2015-08-06 19:21 ` manu at gcc dot gnu.org
@ 2015-08-13 15:29 ` mpolacek at gcc dot gnu.org
  2015-08-13 15:56 ` mpolacek at gcc dot gnu.org
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-13 15:29 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #11 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
*** Bug 67207 has been marked as a duplicate of this bug. ***


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2015-08-13 15:29 ` mpolacek at gcc dot gnu.org
@ 2015-08-13 15:56 ` mpolacek at gcc dot gnu.org
  2015-08-13 16:03 ` mpolacek at gcc dot gnu.org
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-13 15:56 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

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

--- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r209891 (comment 9 testcase with -O2
-fisolate-erroneous-paths-attribute).  We should probably revert the gimple.c
change.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2015-08-13 15:56 ` mpolacek at gcc dot gnu.org
@ 2015-08-13 16:03 ` mpolacek at gcc dot gnu.org
  2015-08-13 16:13 ` mpolacek at gcc dot gnu.org
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-13 16:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Or
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -2684,8 +2684,10 @@ infer_nonnull_range_by_attribute (gimple stmt, tree op)
        {
          for (unsigned int i = 0; i < gimple_call_num_args (stmt); i++)
        {
-         if (POINTER_TYPE_P (TREE_TYPE (gimple_call_arg (stmt, i)))
-             && operand_equal_p (op, gimple_call_arg (stmt, i), 0))
+         tree arg = gimple_call_arg (stmt, i);
+         if (TREE_TYPE (arg)
+             && POINTER_TYPE_P (TREE_TYPE (arg))
+             && operand_equal_p (op, arg, 0))
            return true;
        }
          return false;


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2015-08-13 16:03 ` mpolacek at gcc dot gnu.org
@ 2015-08-13 16:13 ` mpolacek at gcc dot gnu.org
  2015-08-14  8:34 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-13 16:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
The fix above does not yet fix the original ICE, but it fixes comment 9.  I'm
looking more.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2015-08-13 16:13 ` mpolacek at gcc dot gnu.org
@ 2015-08-14  8:34 ` rguenth at gcc dot gnu.org
  2015-08-14  9:02 ` mpolacek at gcc dot gnu.org
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-14  8:34 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
                 CC|                            |mjambor at suse dot cz

--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
The last observations also means wrong-code (latent on branches I suppose).  I
think the arg removal code (and similar) has a list of attributes it looks at
to completely disable it.  Martin?


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (12 preceding siblings ...)
  2015-08-14  8:34 ` rguenth at gcc dot gnu.org
@ 2015-08-14  9:02 ` mpolacek at gcc dot gnu.org
  2015-08-14 10:04 ` jamborm at gcc dot gnu.org
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-14  9:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
If maybe_remove_unused_call_args is only supposed to work when we redirect to
__builtin_unreachable or __cxa_pure_virtual, maybe we should remove all
attributes except noreturn/nothrow?


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (13 preceding siblings ...)
  2015-08-14  9:02 ` mpolacek at gcc dot gnu.org
@ 2015-08-14 10:04 ` jamborm at gcc dot gnu.org
  2015-08-14 12:36 ` mpolacek at gcc dot gnu.org
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-08-14 10:04 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

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

--- Comment #18 from Martin Jambor <jamborm at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #16)
> The last observations also means wrong-code (latent on branches I suppose). 
> I think the arg removal code (and similar) has a list of attributes it looks
> at to completely disable it.  Martin?

Well, IIUC, the problem here is removal of actual arguments, not
IPA-SRA (or IPA-CP) removal of formal parameters....?  Neither of
those passes is involved, it's
inlining-rematerialization-cleanup-after-devirtualization thing, it
seems...


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (14 preceding siblings ...)
  2015-08-14 10:04 ` jamborm at gcc dot gnu.org
@ 2015-08-14 12:36 ` mpolacek at gcc dot gnu.org
  2015-08-14 12:43 ` jamborm at gcc dot gnu.org
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-14 12:36 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #19 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I'm testing

--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -2949,6 +2949,8 @@ maybe_remove_unused_call_args (struct function *fn,
gimple stmt)
       && TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (decl))) == void_type_node
       && gimple_call_num_args (stmt))
     {
+      tree fntype = gimple_call_fntype (stmt);
+      TYPE_ATTRIBUTES (fntype) = DECL_ATTRIBUTES (decl);
       gimple_set_num_ops (stmt, 3);
       update_stmt_fn (fn, stmt);
     }

instead


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (15 preceding siblings ...)
  2015-08-14 12:36 ` mpolacek at gcc dot gnu.org
@ 2015-08-14 12:43 ` jamborm at gcc dot gnu.org
  2015-08-14 13:11 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-08-14 12:43 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

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

--- Comment #20 from Martin Jambor <jamborm at gcc dot gnu.org> ---
The problem is that when inlining transformation sets fndecl of the
call statement, it does not set the fntype (of the statement). Then
infer_nonnull_range_by_attribute comes along, looks only at the fntype
and infers that the call has more attributes than it actually has.

The following (untested) patch avoids the ICE.  Even though this issue
suggests that the type of fndecl and fntype have to be in sync, I have
vague recollections that call statement's fntype was supposed to stick
to the original type in the source somehow (though IIRC it is
primarily used for indirect calls).  In other words, I am not sure the
patch is 100% correct.  Honza, Richi, what are your opinions?


diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 22a9852..5e5b308 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1461,6 +1461,7 @@ cgraph_edge::redirect_call_stmt_to_callee (void)
     {
       new_stmt = e->call_stmt;
       gimple_call_set_fndecl (new_stmt, e->callee->decl);
+      gimple_call_set_fntype (new_stmt, TREE_TYPE (e->callee->decl));
       update_stmt_fn (DECL_STRUCT_FUNCTION (e->caller->decl), new_stet);
     }


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (16 preceding siblings ...)
  2015-08-14 12:43 ` jamborm at gcc dot gnu.org
@ 2015-08-14 13:11 ` rguenth at gcc dot gnu.org
  2015-08-17 11:34 ` jamborm at gcc dot gnu.org
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-14 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Martin Jambor from comment #20)
> The problem is that when inlining transformation sets fndecl of the
> call statement, it does not set the fntype (of the statement). Then
> infer_nonnull_range_by_attribute comes along, looks only at the fntype
> and infers that the call has more attributes than it actually has.
> 
> The following (untested) patch avoids the ICE.  Even though this issue
> suggests that the type of fndecl and fntype have to be in sync, I have
> vague recollections that call statement's fntype was supposed to stick
> to the original type in the source somehow (though IIRC it is
> primarily used for indirect calls).  In other words, I am not sure the
> patch is 100% correct.  Honza, Richi, what are your opinions?

fntype is supposed to be the type specifying the "ABI", and yes it was
designed mainly to preserve indirect call behavior when we propagate
a (eventually "incompatible") fndecl to the call.

Iff IPA redirects a call to sth very different (like unreachable () here)
it doesn't make sense to preserve that detail.

OTOH users like infer_nonnull_range_by_attribute cannot rely on
gimple_call_fntype being "compatible" with the actual call (like in
terms of number of arguments).  So

         /* Now see if op appears in the nonnull list.  */
          for (tree t = TREE_VALUE (attrs); t; t = TREE_CHAIN (t))
            {
              int idx = TREE_INT_CST_LOW (TREE_VALUE (t)) - 1;
              tree arg = gimple_call_arg (stmt, idx);

lacks a check that idx < gimple_call_num_args.

I don't think the non-null attribute is at fault here.

> 
> diff --git a/gcc/cgraph.c b/gcc/cgraph.c
> index 22a9852..5e5b308 100644
> --- a/gcc/cgraph.c
> +++ b/gcc/cgraph.c
> @@ -1461,6 +1461,7 @@ cgraph_edge::redirect_call_stmt_to_callee (void)
>      {
>        new_stmt = e->call_stmt;
>        gimple_call_set_fndecl (new_stmt, e->callee->decl);
> +      gimple_call_set_fntype (new_stmt, TREE_TYPE (e->callee->decl));
>        update_stmt_fn (DECL_STRUCT_FUNCTION (e->caller->decl), new_stet);
>      }


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (17 preceding siblings ...)
  2015-08-14 13:11 ` rguenth at gcc dot gnu.org
@ 2015-08-17 11:34 ` jamborm at gcc dot gnu.org
  2015-08-17 14:09 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-08-17 11:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #26 from Martin Jambor <jamborm at gcc dot gnu.org> ---
If fntype specifies the ABI then when we know we will be calling a
different function (which might have its prototype modified for
example by parameter removal), then we should set the fntype too.  And
further inspection of cgraph_edge::redirect_call_stmt_to_callee also
suggests that is the correct thing.  Therefore I'll bootstrap the
patch from comment #20 and propose it on the mailing list.

While the committed patch does prevent the ICE, I would actually
prefer if gimple checking failed when it encounters a direct call with
mismatching fntype.  It can't happen because of this bug but I suppose
we might get wrong-code generation if we get the type only slightly
wrong.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (18 preceding siblings ...)
  2015-08-17 11:34 ` jamborm at gcc dot gnu.org
@ 2015-08-17 14:09 ` rguenth at gcc dot gnu.org
  2015-08-17 14:46 ` jamborm at gcc dot gnu.org
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-17 14:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #27 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Martin Jambor from comment #26)
> If fntype specifies the ABI then when we know we will be calling a
> different function (which might have its prototype modified for
> example by parameter removal), then we should set the fntype too.  And
> further inspection of cgraph_edge::redirect_call_stmt_to_callee also
> suggests that is the correct thing.  Therefore I'll bootstrap the
> patch from comment #20 and propose it on the mailing list.
> 
> While the committed patch does prevent the ICE, I would actually
> prefer if gimple checking failed when it encounters a direct call with
> mismatching fntype.  It can't happen because of this bug but I suppose
> we might get wrong-code generation if we get the type only slightly
> wrong.

For all calls the actuall call matters.  Consider

void my_memcpy (void);

static const void *(ifn *)(void *, const void *, size_t) = (void
(*)(void*,const void *, size_t)) memcpy;

char a[10], b[10];
int main()
{
  ifn (a, a, 10);
}

when we propagate 'my_memcpy' into the call (which we'll do) we need
to retain the ABI to not expand bullshit.  Forward declarations do
not need to have the correct types.  It's enough if the TU implementing
my_memcpy has a signature matching the actual calls.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (19 preceding siblings ...)
  2015-08-17 14:09 ` rguenth at gcc dot gnu.org
@ 2015-08-17 14:46 ` jamborm at gcc dot gnu.org
  2015-08-18  7:37 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-08-17 14:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #28 from Martin Jambor <jamborm at gcc dot gnu.org> ---
I see, thinking about signature changes, I forgot about the situations
where we do not have the body of the callee in the first place.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (20 preceding siblings ...)
  2015-08-17 14:46 ` jamborm at gcc dot gnu.org
@ 2015-08-18  7:37 ` rguenth at gcc dot gnu.org
  2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-18  7:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #29 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Martin Jambor from comment #28)
> I see, thinking about signature changes, I forgot about the situations
> where we do not have the body of the callee in the first place.

Yeah, the whole gimple_call_fntype thing was invented so we can aggressively
propagate (mismatching) fndecls into calls, making them direct calls and
resulting in much better cgraph analysis.  Previously those calls remained
indirect (to preserve the original fntype), we only propagated when the
types of the call and the fndecl "matched".  But "matched" is hard to compute
thus simply preserving the original type always was much easier and allows
for very aggressive propagation.  Of course now you need to deal with
actual mismatches and have to be careful what you access.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (21 preceding siblings ...)
  2015-08-18  7:37 ` rguenth at gcc dot gnu.org
@ 2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
  2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
  2015-08-24 16:07 ` mpolacek at gcc dot gnu.org
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-19 14:23 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

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

--- Comment #31 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Ok, should be fixed now.


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (22 preceding siblings ...)
  2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
@ 2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
  2015-08-24 16:07 ` mpolacek at gcc dot gnu.org
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-19 14:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #30 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Wed Aug 19 14:22:26 2015
New Revision: 227009

URL: https://gcc.gnu.org/viewcvs?rev=227009&root=gcc&view=rev
Log:
        PR middle-end/67133
        * gimple-ssa-isolate-paths.c
        (insert_trap_and_remove_trailing_statements): Rename to ...
        (insert_trap): ... this.  Don't remove trailing statements; split
        block instead.
        (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.

        * g++.dg/torture/pr67133.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr67133.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-ssa-isolate-paths.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274
       [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
                   ` (23 preceding siblings ...)
  2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
@ 2015-08-24 16:07 ` mpolacek at gcc dot gnu.org
  24 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-08-24 16:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67133
Bug 67133 depends on bug 67284, which changed state.

Bug 67284 Summary: [6 regression] libgo fails to build on trunk r227015 / *-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67284

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


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

end of thread, other threads:[~2015-08-24 16:07 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-67133-4@http.gcc.gnu.org/bugzilla/>
2015-08-06  8:58 ` [Bug middle-end/67133] [6 Regression] ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274 trippels at gcc dot gnu.org
2015-08-06  9:00 ` rguenth at gcc dot gnu.org
2015-08-06  9:00 ` rguenth at gcc dot gnu.org
2015-08-06  9:00 ` trippels at gcc dot gnu.org
2015-08-06  9:03 ` manu at gcc dot gnu.org
2015-08-06 18:28 ` manu at gcc dot gnu.org
2015-08-06 18:48 ` trippels at gcc dot gnu.org
2015-08-06 19:21 ` manu at gcc dot gnu.org
2015-08-13 15:29 ` mpolacek at gcc dot gnu.org
2015-08-13 15:56 ` mpolacek at gcc dot gnu.org
2015-08-13 16:03 ` mpolacek at gcc dot gnu.org
2015-08-13 16:13 ` mpolacek at gcc dot gnu.org
2015-08-14  8:34 ` rguenth at gcc dot gnu.org
2015-08-14  9:02 ` mpolacek at gcc dot gnu.org
2015-08-14 10:04 ` jamborm at gcc dot gnu.org
2015-08-14 12:36 ` mpolacek at gcc dot gnu.org
2015-08-14 12:43 ` jamborm at gcc dot gnu.org
2015-08-14 13:11 ` rguenth at gcc dot gnu.org
2015-08-17 11:34 ` jamborm at gcc dot gnu.org
2015-08-17 14:09 ` rguenth at gcc dot gnu.org
2015-08-17 14:46 ` jamborm at gcc dot gnu.org
2015-08-18  7:37 ` rguenth at gcc dot gnu.org
2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
2015-08-19 14:23 ` mpolacek at gcc dot gnu.org
2015-08-24 16:07 ` mpolacek 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).