This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix memory leak in tree-inliner
- From: Martin LiÅka <mliska at suse dot cz>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Fri, 6 May 2016 14:35:14 +0200
- Subject: Re: [PATCH] Fix memory leak in tree-inliner
- Authentication-results: sourceware.org; auth=none
- References: <572C6DA9 dot 9080807 at suse dot cz> <CAFiYyc1g0rDLHeGveKEj+8RyFc+yZHH_TJ8DZokzVutP84KxBw at mail dot gmail dot com>
On 05/06/2016 12:56 PM, Richard Biener wrote:
> Hmmm. But this means debug stmt remapping calls
> remap_dependence_clique which may end up bumping
> cfun->last_clique and thus may change code generation.
>
> So what debug stmts contain MEM_REFs? If you put an assert
> processing_debug_stmt == 0 in
> remap_dependence_clique I'd like to see a testcase that triggers it.
>
> Richard.
Ok, I've placed the suggested assert which is triggered for following debug statement:
(gdb) p debug_gimple_stmt(stmt)
# DEBUG D#21 => a_1(D)->dim[0].ubound
(gdb) p debug_tree(*tp)
<mem_ref 0x7ffff66c1b40
type <record_type 0x7ffff6a642a0 array1_unknown type_1 BLK
size <integer_cst 0x7ffff6a46180 constant 384>
unit size <integer_cst 0x7ffff6a23c90 constant 48>
align 64 symtab -160828560 alias set -1 canonical type 0x7ffff6a4f000
fields <field_decl 0x7ffff6a47980 data type <pointer_type 0x7ffff68a7348>
unsigned DI file /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/actual_array_constructor_1.f90 line 21 col 0
size <integer_cst 0x7ffff6886bd0 constant 64>
unit size <integer_cst 0x7ffff6886be8 constant 8>
align 64 offset_align 128
offset <integer_cst 0x7ffff6886c00 constant 0>
bit offset <integer_cst 0x7ffff6886c48 constant 0> context <record_type 0x7ffff6a4f498 array_descriptor1> chain <field_decl 0x7ffff6a47a18 offset>>
pointer_to_this <pointer_type 0x7ffff6a64540> reference_to_this <reference_type 0x7ffff6a645e8> chain <type_decl 0x7ffff6a511c8 D.3431>>
arg 0 <ssa_name 0x7ffff66b41f8
type <reference_type 0x7ffff6a64690 type <record_type 0x7ffff6a642a0 array1_unknown>
public unsigned restrict DI size <integer_cst 0x7ffff6886bd0 64> unit size <integer_cst 0x7ffff6886be8 8>
align 64 symtab 0 alias set -1 canonical type 0x7ffff6a53150>
var <parm_decl 0x7ffff6696800 a>def_stmt GIMPLE_NOP
version 1>
arg 1 <integer_cst 0x7ffff6a7a438 type <reference_type 0x7ffff6a64690> constant 0>>
for the following test-case:
gfortran /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/actual_array_constructor_1.f90 -O3 -g
Martin