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

--- Comment #23 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
#0  ptr_deref_may_alias_decl_p (ptr=0x7ffff5e0c678, decl=0x7ffff5dff000)
    at /home/rearnsha/gnusrc/gcc-cross/gcc-13/gcc/tree-ssa-alias.cc:295
#1  0x0000000001768173 in indirect_ref_may_alias_decl_p (ref1=0x7ffff5e9ad98, 
    base1=0x7ffff5e9ad98, offset1=..., max_size1=..., size1=..., 
    ref1_alias_set=3, base1_alias_set=3, ref2=0x7ffff5deae60, 
    base2=0x7ffff5dff000, offset2=..., max_size2=..., size2=..., 
    ref2_alias_set=0, base2_alias_set=0, tbaa_p=false)
    at /home/rearnsha/gnusrc/gcc-cross/gcc-13/gcc/tree-ssa-alias.cc:2102
#2  0x0000000001769541 in refs_may_alias_p_2 (ref1=0x7fffffffceb0, 
    ref2=0x7fffffffce70, tbaa_p=false)
    at /home/rearnsha/gnusrc/gcc-cross/gcc-13/gcc/tree-ssa-alias.cc:2505
#3  0x000000000176968a in refs_may_alias_p_1 (ref1=0x7fffffffce70, 
    ref2=0x7fffffffceb0, tbaa_p=false)
    at /home/rearnsha/gnusrc/gcc-cross/gcc-13/gcc/tree-ssa-alias.cc:2534
#4  0x0000000000f7bf7d in rtx_refs_may_alias_p (x=0x7ffff5ed3b40, 
    mem=0x7ffff5e9c9d8, tbaa_p=true)
    at /home/rearnsha/gnusrc/gcc-cross/gcc-13/gcc/alias.cc:366
#5  0x0000000000f8243b in true_dependence_1 (mem=0x7ffff5e9c9d8, 
    mem_mode=E_SImode, mem_addr=0x7ffff5e9c9c0, x=0x7ffff5ed3b40, 
    x_addr=0x7ffff5ed3b28, mem_canonicalized=false)

Where (in true_dependence_1):
p mem
$96 = (const_rtx) 0x7ffff5e9c9d8
(gdb) pr
(mem/c:SI (plus:SI (reg/f:SI 14 lr [214])
        (const_int 4 [0x4])) [0 MEM <unsigned char[16]> [(char *
{ref-all})&D.33805]+4 S4 A32])

p x
$97 = (const_rtx) 0x7ffff5ed3b40
(gdb) pr
(mem/c:V8HI (plus:SI (reg/f:SI 13 sp)
        (const_int 256 [0x100])) [3 MEM <vector(8) short int> [(short int
*)_179]+0 S16 A64])

in refs_may_alias_p_1:
p *ref1
$99 = {ref = 0x7ffff5e9ad98, base = 0x7ffff5e9ad98, 
  offset = {<poly_int_pod<1, long>> = {coeffs = {0}}, <No data fields>}, 
  size = {<poly_int_pod<1, long>> = {coeffs = {128}}, <No data fields>}, 
  max_size = {<poly_int_pod<1, long>> = {coeffs = {128}}, <No data fields>}, 
  ref_alias_set = 3, base_alias_set = 3, volatile_p = false}
p *ref2
$100 = {ref = 0x7ffff5deae60, base = 0x7ffff5dff000, 
  offset = {<poly_int_pod<1, long>> = {coeffs = {32}}, <No data fields>}, 
  size = {<poly_int_pod<1, long>> = {coeffs = {32}}, <No data fields>}, 
  max_size = {<poly_int_pod<1, long>> = {coeffs = {128}}, <No data fields>}, 
  ref_alias_set = 0, base_alias_set = 0, volatile_p = false}

p ref1->ref
$101 = (tree) 0x7ffff5e9ad98
(gdb) pt
 <mem_ref 0x7ffff5e9ad98
    type <vector_type 0x7ffff752d7e0
        type <integer_type 0x7ffff7405498 short int sizes-gimplified public
type_6 HI
            size <integer_cst 0x7ffff73fb4b0 constant 16>
            unit-size <integer_cst 0x7ffff73fb4c8 constant 2>
            align:16 warn_if_not_align:0 symtab:0 alias-set 3 canonical-type
0x7ffff7405498 precision:16 min <integer_cst 0x7ffff73fb468 -32768> max
<integer_cst 0x7ffff73fb480 32767>
            pointer_to_this <pointer_type 0x7ffff75b4f18> reference_to_this
<reference_type 0x7ffff66010a8>>
        V8HI
        size <integer_cst 0x7ffff73fb618 constant 128>
        unit-size <integer_cst 0x7ffff73fb630 constant 16>
        align:64 warn_if_not_align:0 symtab:0 alias-set 3 canonical-type
0x7ffff752d7e0 nunits:8
        pointer_to_this <pointer_type 0x7ffff62ff1f8>>

    arg:0 <ssa_name 0x7ffff5e0c678
        type <pointer_type 0x7ffff740c150 type <void_type 0x7ffff740c0a8 void>
            sizes-gimplified public unsigned type_6 SI
            size <integer_cst 0x7ffff73fb2b8 constant 32>
            unit-size <integer_cst 0x7ffff73fb2d0 constant 4>
            align:32 warn_if_not_align:0 symtab:0 alias-set 12 canonical-type
0x7ffff740c150
            pointer_to_this <pointer_type 0x7ffff74175e8> reference_to_this
<reference_type 0x7ffff67fba80>>
        var <var_decl 0x7ffff5e875a0 D.34164>
        def_stmt 
        version:179
        ptr-info 0x7ffff5e71468>
    arg:1 <integer_cst 0x7ffff69b7bb8 type <pointer_type 0x7ffff75b4f18>
constant 0>>

p ref1->base
$102 = (tree) 0x7ffff5e9ad98
(gdb) pt
 <mem_ref 0x7ffff5e9ad98
    type <vector_type 0x7ffff752d7e0
        type <integer_type 0x7ffff7405498 short int sizes-gimplified public
type_6 HI
            size <integer_cst 0x7ffff73fb4b0 constant 16>
            unit-size <integer_cst 0x7ffff73fb4c8 constant 2>
            align:16 warn_if_not_align:0 symtab:0 alias-set 3 canonical-type
0x7ffff7405498 precision:16 min <integer_cst 0x7ffff73fb468 -32768> max
<integer_cst 0x7ffff73fb480 32767>
            pointer_to_this <pointer_type 0x7ffff75b4f18> reference_to_this
<reference_type 0x7ffff66010a8>>
        V8HI
        size <integer_cst 0x7ffff73fb618 constant 128>
        unit-size <integer_cst 0x7ffff73fb630 constant 16>
        align:64 warn_if_not_align:0 symtab:0 alias-set 3 canonical-type
0x7ffff752d7e0 nunits:8
        pointer_to_this <pointer_type 0x7ffff62ff1f8>>

    arg:0 <ssa_name 0x7ffff5e0c678
        type <pointer_type 0x7ffff740c150 type <void_type 0x7ffff740c0a8 void>
            sizes-gimplified public unsigned type_6 SI
            size <integer_cst 0x7ffff73fb2b8 constant 32>
            unit-size <integer_cst 0x7ffff73fb2d0 constant 4>
            align:32 warn_if_not_align:0 symtab:0 alias-set 12 canonical-type
0x7ffff740c150
            pointer_to_this <pointer_type 0x7ffff74175e8> reference_to_this
<reference_type 0x7ffff67fba80>>
        var <var_decl 0x7ffff5e875a0 D.34164>
        def_stmt 
        version:179
        ptr-info 0x7ffff5e71468>
    arg:1 <integer_cst 0x7ffff69b7bb8 type <pointer_type 0x7ffff75b4f18>
constant 0>>

p ref2->ref
$103 = (tree) 0x7ffff5deae60
(gdb) pt
 <mem_ref 0x7ffff5deae60
    type <array_type 0x7ffff6322dc8
        type <integer_type 0x7ffff7405348 unsigned char sizes-gimplified public
unsigned type_6 QI
            size <integer_cst 0x7ffff73fb3f0 constant 8>
            unit-size <integer_cst 0x7ffff73fb408 constant 1>
            align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff7405348 precision:8 min <integer_cst 0x7ffff73fb420 0> max <integer_cst
0x7ffff73fb3c0 255>>
        BLK
        size <integer_cst 0x7ffff73fb618 constant 128>
        unit-size <integer_cst 0x7ffff73fb630 constant 16>
        user align:16 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff6322d20
        domain <integer_type 0x7ffff6b33d20 type <integer_type 0x7ffff7405000
sizetype>
            sizes-gimplified public type_6 SI
            size <integer_cst 0x7ffff73fb2b8 constant 32>
            unit-size <integer_cst 0x7ffff73fb2d0 constant 4>
            align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff6b33d20 precision:32 min <integer_cst 0x7ffff73fb2e8 0> max <integer_cst
0x7ffff72eeaf8 15>>
        pointer_to_this <pointer_type 0x7ffff62fff18>>

    arg:0 <addr_expr 0x7ffff5de0780
        type <pointer_type 0x7ffff6716930 type <record_type 0x7ffff66d77e0
VFromD>
            public unsigned SI size <integer_cst 0x7ffff73fb2b8 32> unit-size
<integer_cst 0x7ffff73fb2d0 4>
            align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff66db5e8>

        arg:0 <var_decl 0x7ffff5dff000 D.33805 type <record_type 0x7ffff66d7e70
Vec128>
            used ignored BLK ../hwy-pr111231-cpp.cc:4461:27 size <integer_cst
0x7ffff73fb618 128> unit-size <integer_cst 0x7ffff73fb630 16>
            align:64 warn_if_not_align:0 context <function_decl 0x7ffff5da8c00
operator().constprop> abstract_origin <var_decl 0x7ffff6238e10 D.30944>
            (mem/c:BLK (plus:SI (reg/f:SI 109 virtual-stack-vars)
        (const_int -96 [0xffffffffffffffa0])) [2 D.33805+0 S16 A64])>
        ../hwy-pr111231-cpp.cc:4346:16 start: ../hwy-pr111231-cpp.cc:4346:3
finish: ../hwy-pr111231-cpp.cc:4346:24>
    arg:1 <integer_cst 0x7ffff6227660 type <pointer_type 0x7ffff6231888>
constant 0>>
p ref2->base
$104 = (tree) 0x7ffff5dff000
(gdb) pt
 <var_decl 0x7ffff5dff000 D.33805
    type <record_type 0x7ffff66d7e70 Vec128 sizes-gimplified needs-constructing
cxx-odr-p type_5 type_6 BLK
        size <integer_cst 0x7ffff73fb618 constant 128>
        unit-size <integer_cst 0x7ffff73fb630 constant 16>
        align:16 warn_if_not_align:0 symtab:0 alias-set 2 canonical-type
0x7ffff66d7e70
        fields <function_decl 0x7ffff66e7300 __ct  type <method_type
0x7ffff66e6bd0>
            abstract external autoinline decl_3 decl_5 decl_8 SI
../hwy-pr111231-cpp.cc:4332:40 align:32 warn_if_not_align:0 context
<record_type 0x7ffff66d7e70 Vec128>
            full-name "constexpr hwy::{anonymous}::Vec128<short int,
8>::Vec128(hwy::{anonymous}::Vec128<short int, 8>&&) noexcept
(<uninstantiated>)"
            not-really-extern chain <function_decl 0x7ffff66e7500 __ct_base >>
context <namespace_decl 0x7ffff6cda000 D.12551>
        full-name "struct hwy::{anonymous}::Vec128<short int, 8>"
        needs-constructor X() X(constX&) this=(X&) n_parents=0 use_template=1
interface-unknown
        pointer_to_this <pointer_type 0x7ffff66db5e8> reference_to_this
<reference_type 0x7ffff66e69d8> chain <type_decl 0x7ffff66c7ed8 Vec128>>
    used ignored BLK ../hwy-pr111231-cpp.cc:4461:27 size <integer_cst
0x7ffff73fb618 128> unit-size <integer_cst 0x7ffff73fb630 16>
    align:64 warn_if_not_align:0 context <function_decl 0x7ffff5da8c00
operator().constprop> abstract_origin <var_decl 0x7ffff6238e10 D.30944>
    (mem/c:BLK (plus:SI (reg/f:SI 109 virtual-stack-vars)
        (const_int -96 [0xffffffffffffffa0])) [2 D.33805+0 S16 A64])>

Reply via email to