public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
@ 2014-12-05 18:39 zsojka at seznam dot cz
  2014-12-08 13:37 ` [Bug tree-optimization/64199] " rguenth at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: zsojka at seznam dot cz @ 2014-12-05 18:39 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 64199
           Summary: [4.8/4.9/5 Regression] ICE: tree check: expected class
                    'constant', have 'binary' (plus_expr) in
                    fold_binary_loc, at fold-const.c:10404 with
                    -ffast-math -frounding-math
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 34201
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34201&action=edit
reduced testcase

Compiler output:
$ gcc -O -ffast-math -frounding-math testcase.c
testcase.c: In function 'foo':
testcase.c:20:1: internal compiler error: tree check: expected class
'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404
 }
 ^
0xe94097 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
        /mnt/svn/gcc-trunk/gcc/tree.c:9277
0x9152d6 tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
        /mnt/svn/gcc-trunk/gcc/tree.h:2887
0x9152d6 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        /mnt/svn/gcc-trunk/gcc/fold-const.c:10404
0x91f16a fold_build2_stat_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        /mnt/svn/gcc-trunk/gcc/fold-const.c:14290
0x90c652 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        /mnt/svn/gcc-trunk/gcc/fold-const.c:9881
0xdd50c1 simplify_binary_expression
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:3368
0xdd50c1 try_to_simplify
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:3487
0xdd50c1 visit_use
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:3541
0xdd7911 process_scc
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:3902
0xdd7911 extract_and_process_scc_for_name
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:3988
0xdd7911 DFS
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:4040
0xdd88ce run_scc_vn(vn_lookup_kind)
        /mnt/svn/gcc-trunk/gcc/tree-ssa-sccvn.c:4425
0xdae1d2 execute
        /mnt/svn/gcc-trunk/gcc/tree-ssa-pre.c:4904
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.

$ gcc -v                                       
Using built-in specs.
COLLECT_GCC=/mnt/svn/gcc-trunk/binary-latest/bin/gcc
COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-218413-lto-fortran-checking-yes-rtl-df/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /mnt/svn/gcc-trunk//configure --enable-checking=yes,rtl,df
--enable-languages=c,c++,lto,fortran
--prefix=/mnt/svn/gcc-trunk/binary-218413-lto-fortran-checking-yes-rtl-df/
--without-cloog --without-ppl
Thread model: posix
gcc version 5.0.0 20141205 (experimental) (GCC) 


Tested revisions:
r218413 - ICE
4_9 r218177 - ICE
4_8 r218176 - ICE
4_7 r211571 - OK
4_6 r197894 - OK


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

* [Bug tree-optimization/64199] [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
@ 2014-12-08 13:37 ` rguenth at gcc dot gnu.org
  2014-12-09 11:59 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-08 13:37 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-12-08
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
   Target Milestone|---                         |4.8.4
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed, mine.


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

* [Bug tree-optimization/64199] [4.8/4.9 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
  2014-12-08 13:37 ` [Bug tree-optimization/64199] " rguenth at gcc dot gnu.org
  2014-12-09 11:59 ` rguenth at gcc dot gnu.org
@ 2014-12-09 11:59 ` rguenth at gcc dot gnu.org
  2014-12-10 13:22 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-09 11:59 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-checking
      Known to work|                            |5.0
            Summary|[4.8/4.9/5 Regression] ICE: |[4.8/4.9 Regression] ICE:
                   |tree check: expected class  |tree check: expected class
                   |'constant', have 'binary'   |'constant', have 'binary'
                   |(plus_expr) in              |(plus_expr) in
                   |fold_binary_loc, at         |fold_binary_loc, at
                   |fold-const.c:10404 with     |fold-const.c:10404 with
                   |-ffast-math -frounding-math |-ffast-math -frounding-math
      Known to fail|5.0                         |

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.


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

* [Bug tree-optimization/64199] [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
  2014-12-08 13:37 ` [Bug tree-optimization/64199] " rguenth at gcc dot gnu.org
@ 2014-12-09 11:59 ` rguenth at gcc dot gnu.org
  2014-12-09 11:59 ` [Bug tree-optimization/64199] [4.8/4.9 " rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-09 11:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Dec  9 11:58:51 2014
New Revision: 218513

URL: https://gcc.gnu.org/viewcvs?rev=218513&root=gcc&view=rev
Log:
2014-12-09  Richard Biener  <rguenther@suse.de>

    PR middle-end/64199
    * fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.

    * gcc.dg/torture/pr64199.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr64199.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/fold-const.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug tree-optimization/64199] [4.8/4.9 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2014-12-09 11:59 ` [Bug tree-optimization/64199] [4.8/4.9 " rguenth at gcc dot gnu.org
@ 2014-12-10 13:22 ` rguenth at gcc dot gnu.org
  2014-12-19 13:36 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-10 13:22 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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

* [Bug tree-optimization/64199] [4.8/4.9 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2014-12-10 13:22 ` rguenth at gcc dot gnu.org
@ 2014-12-19 13:36 ` jakub at gcc dot gnu.org
  2015-02-19 14:13 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-12-19 13:36 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.8.4                       |4.8.5

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.8.4 has been released.


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

* [Bug tree-optimization/64199] [4.8/4.9 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2014-12-19 13:36 ` jakub at gcc dot gnu.org
@ 2015-02-19 14:13 ` rguenth at gcc dot gnu.org
  2015-02-24 14:11 ` [Bug tree-optimization/64199] [4.8 " rguenth at gcc dot gnu.org
  2015-02-24 14:14 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-19 14:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Thu Feb 19 14:13:16 2015
New Revision: 220815

URL: https://gcc.gnu.org/viewcvs?rev=220815&root=gcc&view=rev
Log:
2015-02-19  Richard Biener  <rguenther@suse.de>

    Backport from mainline
    2014-12-09  Richard Biener  <rguenther@suse.de>

    PR middle-end/64199
    * fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.

    * gcc.dg/torture/pr64199.c: New testcase.

    2015-01-14  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/64493
    PR tree-optimization/64495
    * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
    assign the proper vectorized PHI to the inner loop exit PHIs.

    * gcc.dg/vect/pr64493.c: New testcase.
    * gcc.dg/vect/pr64495.c: Likewise.

    2015-01-27  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/56273
    PR tree-optimization/59124
    PR tree-optimization/64277
    * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
    from the first VRP pass.

    * g++.dg/warn/Warray-bounds-6.C: New testcase.
    * gcc.dg/Warray-bounds-12.c: Likewise.
    * gcc.dg/Warray-bounds-13.c: Likewise.

    2015-02-19  Richard Biener  <rguenther@suse.de>

    Backport from mainline
    2015-01-15  Richard Biener  <rguenther@suse.de>

    PR middle-end/64365
    * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
    for MEM_REF access functions with the same base can never partially
    overlap.

    * gcc.dg/torture/pr64365.c: New testcase.

Added:
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/warn/Warray-bounds-6.C
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/Warray-bounds-12.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/Warray-bounds-13.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr64199.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr64365.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr64493.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr64495.c
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/fold-const.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_9-branch/gcc/tree-data-ref.c
    branches/gcc-4_9-branch/gcc/tree-vect-loop.c
    branches/gcc-4_9-branch/gcc/tree-vrp.c


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

* [Bug tree-optimization/64199] [4.8 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2015-02-19 14:13 ` rguenth at gcc dot gnu.org
@ 2015-02-24 14:11 ` rguenth at gcc dot gnu.org
  2015-02-24 14:14 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-24 14:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to work|                            |4.8.5
         Resolution|---                         |FIXED

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.


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

* [Bug tree-optimization/64199] [4.8 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math
  2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2015-02-24 14:11 ` [Bug tree-optimization/64199] [4.8 " rguenth at gcc dot gnu.org
@ 2015-02-24 14:14 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-24 14:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Feb 24 14:05:46 2015
New Revision: 220940

URL: https://gcc.gnu.org/viewcvs?rev=220940&root=gcc&view=rev
Log:
2015-02-24  Richard Biener  <rguenther@suse.de>

    Backport from mainline
    2014-12-09  Richard Biener  <rguenther@suse.de>

    PR middle-end/64199
    * fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.

    * gcc.dg/torture/pr64199.c: New testcase.

    2015-01-14  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/64493
    PR tree-optimization/64495
    * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
    assign the proper vectorized PHI to the inner loop exit PHIs.

    * gcc.dg/vect/pr64493.c: New testcase.
    * gcc.dg/vect/pr64495.c: Likewise.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr64199.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr64493.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr64495.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/fold-const.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_8-branch/gcc/tree-vect-loop.c


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

end of thread, other threads:[~2015-02-24 14:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-05 18:39 [Bug tree-optimization/64199] New: [4.8/4.9/5 Regression] ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math zsojka at seznam dot cz
2014-12-08 13:37 ` [Bug tree-optimization/64199] " rguenth at gcc dot gnu.org
2014-12-09 11:59 ` rguenth at gcc dot gnu.org
2014-12-09 11:59 ` [Bug tree-optimization/64199] [4.8/4.9 " rguenth at gcc dot gnu.org
2014-12-10 13:22 ` rguenth at gcc dot gnu.org
2014-12-19 13:36 ` jakub at gcc dot gnu.org
2015-02-19 14:13 ` rguenth at gcc dot gnu.org
2015-02-24 14:11 ` [Bug tree-optimization/64199] [4.8 " rguenth at gcc dot gnu.org
2015-02-24 14:14 ` rguenth 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).