https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94232
--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Martin Liška from comment #8) > Looking at the fixup diff. Isn't it caused with: > > # __y_329 = PHI <&MEM <void *> [(struct map *)&modeOptionMap + 8B](32), > __y_328(33)> > # __y_329 = PHI <&MEM <struct ModeOptionMap> [(void *)&modeOptionMap + > 64B](32), __y_328(33)> That should be the root cause. ipa_get_jf_ancestor_result returns: good: <addr_expr 0x7ffff7061940 type <pointer_type 0x7ffff76e0a80 type <pointer_type 0x7ffff7868000 type <void_type 0x7ffff7861f18 void> public unsigned DI size <integer_cst 0x7ffff784cbb8 constant 64> unit-size <integer_cst 0x7ffff784cbd0 constant 8> align:64 warn_if_not_align:0 symtab:0 alias-set 4 structural-equality pointer_to_this <pointer_type 0x7ffff76e0a80>> unsigned DI size <integer_cst 0x7ffff784cbb8 64> unit-size <integer_cst 0x7ffff784cbd0 8> align:64 warn_if_not_align:0 symtab:0 alias-set -1 structural-equality> constant arg:0 <mem_ref 0x7ffff6d47e60 type <pointer_type 0x7ffff7868000> arg:0 <addr_expr 0x7ffff7061360 type <pointer_type 0x7ffff7737c78> constant arg:0 <var_decl 0x7ffff7767480 modeOptionMap>> arg:1 <integer_cst 0x7ffff6d59708 constant 8>>> bad: <addr_expr 0x7ffff70612e0 type <pointer_type 0x7ffff7737c78 type <record_type 0x7ffff7737bd0 ModeOptionMap addressable cxx-odr-p BLK size <integer_cst 0x7ffff7a45f30 constant 384> unit-size <integer_cst 0x7ffff7a45828 constant 48> align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff7737b28 attributes <tree_list 0x7ffff764ebe0 purpose <identifier_node 0x7ffff764ebb8 abi_tag> value <tree_list 0x7ffff764eb90 value <string_cst 0x7ffff7a42820 type <array_type 0x7ffff76541f8> readonly constant static "cxx11\000">>> fields <field_decl 0x7ffff773bab0 _M_t> context <namespace_decl 0x7ffff76501c8 std> pointer_to_this <pointer_type 0x7ffff7737c78>> unsigned DI size <integer_cst 0x7ffff784cbb8 constant 64> unit-size <integer_cst 0x7ffff784cbd0 constant 8> align:64 warn_if_not_align:0 symtab:0 alias-set -1 structural-equality> constant arg:0 <mem_ref 0x7ffff6d47578 type <record_type 0x7ffff7737bd0 ModeOptionMap> arg:0 <addr_expr 0x7ffff7054480 type <pointer_type 0x7ffff7737c78> constant arg:0 <var_decl 0x7ffff7767480 modeOptionMap>> arg:1 <integer_cst 0x7ffff6d596d8 constant 64>>>