[PATCH] Avoid bugs like PR68273 to trigger
Eric Botcazou
ebotcazou@adacore.com
Mon Feb 8 12:30:00 GMT 2016
> Yes, that place I just fixed. I mean for the SRA case.
Are you sure that there is one?
expr = build_ref_for_model (loc, agg, access->offset - top_offset,
access, gsi, insert_after);
if (write)
{
if (access->grp_partial_lhs)
expr = force_gimple_operand_gsi (gsi, expr, true, NULL_TREE,
!insert_after,
insert_after ? GSI_NEW_STMT
: GSI_SAME_STMT);
stmt = gimple_build_assign (repl, expr);
(gdb) p debug_tree(repl)
<var_decl 0x7ffff6d37870 q$typ
type <pointer_type 0x7ffff6ceac78
type <record_type 0x7ffff6cea498 Tnode type_0 BLK
size <integer_cst 0x7ffff6c43678 constant 0>
unit size <integer_cst 0x7ffff6c43618 constant 0>
align 8 symtab 0 alias set -1 canonical type 0x7ffff6cea3f0
context <translation_unit_decl 0x7ffff6d2e0f0 D.1453>
pointer_to_this <pointer_type 0x7ffff6ceac78> chain <type_decl
0x7ffff6c54a18 D.1410>>
sizes-gimplified unsigned SI
size <integer_cst 0x7ffff6c435e8 constant 32>
unit size <integer_cst 0x7ffff6c43600 constant 4>
align 32 symtab 0 alias set -1 canonical type 0x7ffff6cead20>
used unsigned SI file pr68273.c line 67 col 10 size <integer_cst
0x7ffff6c435e8 32> unit size <integer_cst 0x7ffff6c43600 4>
align 32 context <function_decl 0x7ffff6d0e700 op>>
(gdb) p debug_tree(expr)
<mem_ref 0x7ffff6d31a78
type <pointer_type 0x7ffff6d335e8
type <record_type 0x7ffff6cea498 Tnode type_0 BLK
size <integer_cst 0x7ffff6c43678 constant 0>
unit size <integer_cst 0x7ffff6c43618 constant 0>
align 8 symtab 0 alias set -1 canonical type 0x7ffff6cea3f0
context <translation_unit_decl 0x7ffff6d2e0f0 D.1453>
pointer_to_this <pointer_type 0x7ffff6ceac78> chain <type_decl
0x7ffff6c54a18 D.1410>>
sizes-gimplified unsigned SI
size <integer_cst 0x7ffff6c435e8 constant 32>
unit size <integer_cst 0x7ffff6c43600 constant 4>
align 64 symtab 0 alias set -1 canonical type 0x7ffff6cead20>
arg 0 <addr_expr 0x7ffff6d1d8a0
type <pointer_type 0x7ffff6d33348 type <record_type 0x7ffff6ceadc8
Node>
unsigned SI size <integer_cst 0x7ffff6c435e8 32> unit size
<integer_cst 0x7ffff6c43600 4>
align 32 symtab 0 alias set -1 canonical type 0x7ffff6d333f0>
arg 0 <parm_decl 0x7ffff6d2d300 q type <record_type 0x7ffff6ceadc8
Node>
used BLK file pr68273.c line 67 col 10
size <integer_cst 0x7ffff6c43948 constant 128>
unit size <integer_cst 0x7ffff6c43960 constant 16>
align 64 context <function_decl 0x7ffff6d0e700 op> arg-type
<record_type 0x7ffff6ceadc8 Node>>>
arg 1 <integer_cst 0x7ffff6d1c4f8 type <pointer_type 0x7ffff6d333f0>
constant 0>>
--
Eric Botcazou
More information about the Gcc-patches
mailing list