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

            Bug ID: 82929
           Summary: [8 regression] r254579 causes ICE: tree check:
                    expected ssa_name, have array_ref in has_single_use,
                    at ssa-iterators.h:400
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---

Since r254579:

trippels@gcc2-power8 llvm_build % cat SubtargetFeature.ii
template <int _Nw> struct A {
  long _M_w[_Nw];
  void m_fn1(A p1) {
    for (int a = 0;; a++)
      _M_w[a] &= p1._M_w[a];
  }
  void m_fn2() {
    for (int b = 0; b < _Nw; b++)
      _M_w[b] = ~_M_w[b];
  }
};
template <int _Nb> struct C : A<_Nb / (8 * 8)> {
  void operator&=(C p1) { this->m_fn1(p1); }
  C m_fn3() {
    this->m_fn2();
    return *this;
  }
  C operator~() { return C(*this).m_fn3(); }
};
struct B {
  C<192> Value;
};
void fn1(C<192> &p1) {
  B c;
  p1 &= ~c.Value;
}


trippels@gcc2-power8 llvm_build % g++ -O2 -c SubtargetFeature.ii
during GIMPLE pass: store-merging
SubtargetFeature.ii: In function ‘void fn1(C<192>&)’:
SubtargetFeature.ii:23:6: internal compiler error: tree check: expected
ssa_name, have mem_ref in has_single_use, at ssa-iterators.h:400
 void fn1(C<192> &p1) {
      ^~~
0x1019870b tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/gcc/tree.c:9096
0x101ba5a3 tree_check(tree_node const*, char const*, int, char const*,
tree_code)
        ../../gcc/gcc/tree.h:3344
0x101ba5a3 has_single_use
        ../../gcc/gcc/ssa-iterators.h:400
0x1151ff1b has_single_use
        ../../gcc/gcc/gimple-ssa-store-merging.c:1445
0x1151ff1b count_multiple_uses
        ../../gcc/gcc/gimple-ssa-store-merging.c:1435
0x1152011f split_group
        ../../gcc/gcc/gimple-ssa-store-merging.c:1509
0x11520ac7 output_merged_store
        ../../gcc/gcc/gimple-ssa-store-merging.c:1719
0x11523707 output_merged_stores
        ../../gcc/gcc/gimple-ssa-store-merging.c:2055
0x11523707 terminate_and_process_chain
        ../../gcc/gcc/gimple-ssa-store-merging.c:2093
0x11523707 terminate_and_release_chain
        ../../gcc/gcc/gimple-ssa-store-merging.c:991
0x11523f47 terminate_and_process_all_chains
        ../../gcc/gcc/gimple-ssa-store-merging.c:928
0x1152451f execute
        ../../gcc/gcc/gimple-ssa-store-merging.c:2504

Reply via email to