https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85082
Bug ID: 85082 Summary: [8 Regression] ICE with -Ofast in vn_reference_insert_pieces, at tree-ssa-sccvn.c:2624 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Changed before 20170618 : $ cat z1.f90 program p real(4) :: a, b integer(4) :: n, m equivalence (a, n) a = 1024.0 m = 8 a = 1024.0 b = set_exponent(a, m) n = 8 a = f(a, n) b = set_exponent(a, m) end $ cat z2.f90 program p real(8) :: a, b integer(8) :: n, m equivalence (a, n) a = 1024.0 m = 8 a = 1024.0 b = set_exponent(a, m) n = 8 a = f(a, n) b = set_exponent(a, m) end $ gfortran-7 -c z1.f90 -Ofast $ gfortran-8-20180325 -c z1.f90 -O3 $ $ gfortran-8-20180325 -c z1.f90 -Ofast during GIMPLE pass: fre z1.f90:12:0: end internal compiler error: in vn_reference_insert_pieces, at tree-ssa-sccvn.c:2624 0xd11093 vn_reference_insert_pieces(tree_node*, int, tree_node*, vec<vn_reference_op_struct, va_heap, vl_ptr>, tree_node*, unsigned int) ../../gcc/tree-ssa-sccvn.c:2624 0xd11151 vn_reference_lookup_or_insert_for_pieces ../../gcc/tree-ssa-sccvn.c:1646 0xd12135 vn_reference_lookup_3 ../../gcc/tree-ssa-sccvn.c:2068 0xc728aa walk_non_aliased_vuses(ao_ref*, tree_node*, void* (*)(ao_ref*, tree_node*, unsigned int, void*), void* (*)(ao_ref*, tree_node*, void*, bool*), tree_node* (*)(tree_node*), void*) ../../gcc/tree-ssa-alias.c:2801 0xd0eaa0 vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind, vn_reference_s**, bool) ../../gcc/tree-ssa-sccvn.c:2517 0xd0f431 eliminate_dom_walker::before_dom_children(basic_block_def*) ../../gcc/tree-ssa-sccvn.c:5629 0x11dd2af dom_walker::walk(basic_block_def*) ../../gcc/domwalk.c:353 0xd0ac38 vn_eliminate(bitmap_head*) ../../gcc/tree-ssa-sccvn.c:5910 0xd16da1 execute ../../gcc/tree-ssa-sccvn.c:6018