https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90450
Bug ID: 90450 Summary: Hash function in gather_mem_refs_stmt does not match with mem_ref_hasher::equal Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- As mentioned in following sub-thread: https://gcc.gnu.org/ml/gcc-patches/2018-10/msg01885.html Using the sanitization patch I see: $ ./xgcc -B. /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/torture/pr63941.c -O2 -c hash table checking failed: equal operator returns true for a pair of values with a different hash value during GIMPLE pass: lim /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/torture/pr63941.c: In function ‘fn1’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/torture/pr63941.c:6:1: internal compiler error: in hashtab_chk_error, at hash-table.h:1015 6 | fn1 () | ^~~ 0x1372cfd hashtab_chk_error /home/marxin/Programming/gcc/gcc/hash-table.h:1015 0x137e501 hash_table<mem_ref_hasher, false, xcallocator>::verify(ao_ref* const&, unsigned int) /home/marxin/Programming/gcc/gcc/hash-table.h:1036 0x137d5d5 hash_table<mem_ref_hasher, false, xcallocator>::find_slot_with_hash(ao_ref* const&, unsigned int, insert_option) /home/marxin/Programming/gcc/gcc/hash-table.h:953 0x137874a gather_mem_refs_stmt /home/marxin/Programming/gcc/gcc/tree-ssa-loop-im.c:1501 0x1378e4d analyze_memory_references /home/marxin/Programming/gcc/gcc/tree-ssa-loop-im.c:1625 0x137b334 tree_ssa_lim /home/marxin/Programming/gcc/gcc/tree-ssa-loop-im.c:2646 0x137b460 execute /home/marxin/Programming/gcc/gcc/tree-ssa-loop-im.c:2708