This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/64668] [5 Regression] internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120
- From: "marxin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 19 Jan 2015 12:39:33 +0000
- Subject: [Bug ipa/64668] [5 Regression] internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120
- Auto-submitted: auto-generated
- References: <bug-64668-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64668
--- Comment #6 from Martin LiÅka <marxin at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #4)
> /* Virtual table call. */
> case OBJ_TYPE_REF:
> {
> x1 = TREE_OPERAND (t1, 0);
> x2 = TREE_OPERAND (t2, 0);
> y1 = TREE_OPERAND (t1, 1);
> y2 = TREE_OPERAND (t2, 1);
> z1 = TREE_OPERAND (t1, 2);
> z2 = TREE_OPERAND (t2, 2);
>
> ret = compare_ssa_name (x1, x2)
> && compare_ssa_name (y1, y2)
> && compare_cst_or_decl (z1, z2);
>
> I think neither op0 nor op1 needs to be a SSA name, both might be &x for
> example.
Yes, I did a wrong assumption about second argument of OBJ_TYPE_REF, which is
in this case an ADDR_EXPR:
133 gcc_assert (TREE_CODE (t1) == SSA_NAME);
(gdb) call debug_tree(t1)
<addr_expr 0x7ffff6384ce0
type <pointer_type 0x7ffff6310888
type <record_type 0x7ffff6d5a348 _objc_super sizes-gimplified type_0 TI
size <integer_cst 0x7ffff6c36d08 constant 128>
unit size <integer_cst 0x7ffff6c36d20 constant 16>
align 64 symtab 0 alias set 6 canonical type 0x7ffff6d5a348 fields
<field_decl 0x7ffff6d58da8 self> context <block 0x7ffff62fe840>
pointer_to_this <pointer_type 0x7ffff6310888> chain <type_decl
0x7ffff6d58d10 D.1842>>
public unsigned DI
size <integer_cst 0x7ffff6c36cc0 constant 64>
unit size <integer_cst 0x7ffff6c36cd8 constant 8>
align 64 symtab 0 alias set 5 canonical type 0x7ffff6310888>
arg 0 <var_decl 0x7ffff6326090 objc_super type <record_type 0x7ffff6d5a348
_objc_super>
addressable used TI file GormScrollViewAttributesInspector.m line 110
col 3 size <integer_cst 0x7ffff6c36d08 128> unit size <integer_cst
0x7ffff6c36d20 16>
align 128 context <function_decl 0x7ffff62db798
_i_GormScrollViewAttributesInspector__horizontalRuler_>>
GormScrollViewAttributesInspector.m:110:3>
I'm going to write a patch.
Martin