[Bug ipa/94232] [10 Regression] Wrong code since r10-7273-gf3280e4c0c98e103603bafc466ea49651fe0b7f2
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 20 09:20:17 GMT 2020
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>>>
More information about the Gcc-bugs
mailing list