[Bug tree-optimization/88527] New: ICE: tree check: expected integer_cst, have error_mark in equal, at tree.c:1464; or tree check: expected integer_cst, have identifier_node in equal, at tree.c:1464

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Dec 17 03:20:00 GMT 2018


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

            Bug ID: 88527
           Summary: ICE: tree check: expected integer_cst, have error_mark
                    in equal, at tree.c:1464; or tree check: expected
                    integer_cst, have identifier_node in equal, at
                    tree.c:1464
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

1.

gcc-9.0.0-alpha20181209 snapshot (r266934) ICEs when compiling
gcc/testsuite/gcc.dg/graphite/id-26.c w/ -O1 -floop-interchange -fopenmp
-fno-ssa-phiopt -fno-tree-loop-im -fno-tree-scev-cprop -fno-tree-vrp -g:

% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20181216 -O1 -floop-interchange
-fopenmp -fno-ssa-phiopt -fno-tree-loop-im -fno-tree-scev-cprop -fno-tree-vrp
-g -c gcc/testsuite/gcc.dg/graphite/id-26.c
during GIMPLE pass: ivopts                                                      
gcc/testsuite/gcc.dg/graphite/id-26.c: In function 'find_sad_16x16':
gcc/testsuite/gcc.dg/graphite/id-26.c:2:5: internal compiler error: tree check:
expected integer_cst, have error_mark in equal, at tree.c:1464
    2 | int find_sad_16x16(int *intra_mode)
      |     ^~~~~~~~~~~~~~
0x6bb2b9 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:9757
0x6bc34d tree_check(tree_node const*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.h:3413
0x6bc34d int_cst_hasher::equal(tree_node*, tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:1464
0xff03ac hash_table<int_cst_hasher,
xcallocator>::find_slot_with_hash(tree_node* const&, unsigned int,
insert_option)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/hash-table.h:896
0xfdc6a1 hash_table<int_cst_hasher, xcallocator>::find_slot(tree_node* const&,
insert_option)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/hash-table.h:414
0xfdc6a1 wide_int_to_tree_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:1596
0xfde8da force_fit_type(tree_node*, poly_int<1u,
generic_wide_int<wide_int_ref_storage<false, true> > > const&, int, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:1433
0xa07d26 fold_convert_const_int_from_int
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:1999
0xa07d26 fold_convert_const
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:2277
0xa1817b fold_convert_loc(unsigned int, tree_node*, tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:2414
0xa2533e extract_muldiv_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:6300
0xa26570 extract_muldiv
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:6215
0xa100d9 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:10072
0xa1466a fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:12343
0x9ccd3e get_inner_reference(tree_node*, poly_int_pod<1u, long>*,
poly_int_pod<1u, long>*, tree_node**, machine_mode*, int*, int*, int*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/expr.c:7249
0x8886b8 get_object_alignment_2
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/builtins.c:254
0x888c5b get_object_alignment(tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/builtins.c:404
0xe76a4b rewrite_use_address
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-loop-ivopts.c:7140
0xe76a4b rewrite_groups
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-loop-ivopts.c:7237
0xe76a4b tree_ssa_iv_optimize_loop
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-loop-ivopts.c:7596

2.

Replacing -O1 w/ -Os yields the following:

% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20181216 -Os -floop-interchange
-fopenmp -fno-ssa-phiopt -fno-tree-loop-im -fno-tree-scev-cprop -fno-tree-vrp
-g -c gcc/testsuite/gcc.dg/graphite/id-26.c
during GIMPLE pass: ivopts
gcc/testsuite/gcc.dg/graphite/id-26.c: In function 'find_sad_16x16':
gcc/testsuite/gcc.dg/graphite/id-26.c:2:5: internal compiler error: tree check:
expected integer_cst, have identifier_node in equal, at tree.c:1464
    2 | int find_sad_16x16(int *intra_mode)
      |     ^~~~~~~~~~~~~~
0x6bb2b9 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:9757
0x6bc34d tree_check(tree_node const*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.h:3413
0x6bc34d int_cst_hasher::equal(tree_node*, tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:1464
0xff03ac hash_table<int_cst_hasher,
xcallocator>::find_slot_with_hash(tree_node* const&, unsigned int,
insert_option)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/hash-table.h:896
0xfdc6a1 hash_table<int_cst_hasher, xcallocator>::find_slot(tree_node* const&,
insert_option)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/hash-table.h:414
0xfdc6a1 wide_int_to_tree_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:1596
0xfde8da force_fit_type(tree_node*, poly_int<1u,
generic_wide_int<wide_int_ref_storage<false, true> > > const&, int, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:1433
0xa07d26 fold_convert_const_int_from_int
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:1999
0xa07d26 fold_convert_const
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:2277
0xa1817b fold_convert_loc(unsigned int, tree_node*, tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:2414
0xa2533e extract_muldiv_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:6300
0xa26570 extract_muldiv
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:6215
0xa100d9 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:10072
0xa1466a fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/fold-const.c:12343
0x9ccd3e get_inner_reference(tree_node*, poly_int_pod<1u, long>*,
poly_int_pod<1u, long>*, tree_node**, machine_mode*, int*, int*, int*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/expr.c:7249
0x8886b8 get_object_alignment_2
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/builtins.c:254
0x888c5b get_object_alignment(tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/builtins.c:404
0xe76a4b rewrite_use_address
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-loop-ivopts.c:7140
0xe76a4b rewrite_groups
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-loop-ivopts.c:7237
0xe76a4b tree_ssa_iv_optimize_loop
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-loop-ivopts.c:7596


More information about the Gcc-bugs mailing list