This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/50838] [4.7 Regression] ice in refs_may_alias_p_1 with -O3
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 24 Oct 2011 08:27:27 +0000
- Subject: [Bug tree-optimization/50838] [4.7 Regression] ice in refs_may_alias_p_1 with -O3
- Auto-submitted: auto-generated
- References: <bug-50838-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50838
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2011-10-24
Component|c |tree-optimization
AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org
|gnu.org |
Target Milestone|--- |4.7.0
Summary|ice in refs_may_alias_p_1 |[4.7 Regression] ice in
|with -O3 |refs_may_alias_p_1 with -O3
Ever Confirmed|0 |1
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-10-24 08:27:27 UTC ---
(gdb) p r1
$1 = {ref = 0x2aaaae104000, base = 0x2aaaae104000, offset = 0, size = 64,
max_size = 64, ref_alias_set = -1, base_alias_set = -1}
(gdb) p r2
$2 = {ref = 0x2aaaae104030, base = 0x2aaaad787500, offset = 0, size = 64,
max_size = 64, ref_alias_set = -1, base_alias_set = -1}
(gdb) call debug_generic_expr (r2->base)
pseudofun_tab.pointer[169]
(gdb) call debug_generic_expr (r1->base)
*(const void * const *) &pseudodata_tab
the first base member is bollocks because the MEM_REF in it isn't
canonicalized:
<mem_ref 0x2aaaae104030
type <pointer_type 0x2aaaad447d20 object
type <void_type 0x2aaaacea6bd0 void VOID
align 8 symtab 0 alias set -1 canonical type 0x2aaaacea6bd0 context
<translation_unit_decl 0x2aaaada1b7e8 D.20438>
pointer_to_this <pointer_type 0x2aaaacea6c78>>
sizes-gimplified public unsigned DI
size <integer_cst 0x2aaaace92ee0 constant 64>
unit size <integer_cst 0x2aaaace92f00 constant 8>
align 64 symtab 0 alias set -1 canonical type 0x2aaaacea6c78 context
<translation_unit_decl 0x2aaaada1b7e8 D.20438>
pointer_to_this <pointer_type 0x2aaaacf21e70>>
arg 0 <addr_expr 0x2aaaadca7ca8
type <pointer_type 0x2aaaacf21e70 type <pointer_type 0x2aaaad447d20
object>
sizes-gimplified public unsigned DI size <integer_cst
0x2aaaace92ee0 64> unit size <integer_cst 0x2aaaace92f00 8>
align 64 symtab 0 alias set -1 canonical type 0x2aaaacebd498>
constant
arg 0 <array_ref 0x2aaaad787500 type <pointer_type 0x2aaaad447d20
object>
arg 0 <component_ref 0x2aaaad84fea8 type <array_type
0x2aaaacfe55e8>
arg 0 <var_decl 0x2aaaad627b40 pseudofun_tab> arg 1 <field_decl
0x2aaaad647000 pointer>
../src/spvw.d:2859:36>
arg 1 <integer_cst 0x2aaaadd02320 constant 169>>>
arg 1 <integer_cst 0x2aaaadca8420 type <pointer_type 0x2aaaacf21e70>
constant 0>>
Reducing, mine.