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

            Bug ID: 80030
           Summary: [7 Regression] valgrind error in vect_get_slp_defs at
                    tree-vect-slp.c:3360
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---

I see following valgrind memory leak starting from r237473:

$ valgrind --leak-check=yes --trace-children=yes ./xgcc -B.
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/vect/slp-45.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -msse2 -ftree-vectorize
-fno-vect-cost-model -fno-common -O2 -fdump-tree-vect-details -O3 -S -o
slp-45.s

...
==21623== 272 bytes in 11 blocks are definitely lost in loss record 904 of
1,085
==21623==    at 0x4C2B0AF: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==21623==    by 0x1A0588F: xrealloc (xmalloc.c:177)
==21623==    by 0x7F21B2: void va_heap::reserve<tree_node*>(vec<tree_node*,
va_heap, vl_embed>*&, unsigned int, bool) (vec.h:288)
==21623==    by 0x7F0F25: vec<tree_node*, va_heap, vl_ptr>::reserve(unsigned
int, bool) (vec.h:1445)
==21623==    by 0x873374: vec<tree_node*, va_heap,
vl_ptr>::reserve_exact(unsigned int) (vec.h:1465)
==21623==    by 0x9C267C: vec<tree_node*, va_heap, vl_ptr>::create(unsigned
int) (vec.h:1480)
==21623==    by 0x121FF8B: vect_get_slp_defs(vec<tree_node*, va_heap, vl_ptr>,
_slp_tree*, vec<vec<tree_node*, va_heap, vl_ptr>, va_heap, vl_ptr>*, int)
(tree-vect-slp.c:3360)
==21623==    by 0x11DA086: vect_get_vec_defs(tree_node*, tree_node*, gimple*,
vec<tree_node*, va_heap, vl_ptr>*, vec<tree_node*, va_heap, vl_ptr>*,
_slp_tree*, int) (tree-vect-stmts.c:1558)
==21623==    by 0x11E9D1E: vectorizable_store(gimple*, gimple_stmt_iterator*,
gimple**, _slp_tree*) (tree-vect-stmts.c:6055)
==21623==    by 0x11F2467: vect_transform_stmt(gimple*, gimple_stmt_iterator*,
bool*, _slp_tree*, _slp_instance*) (tree-vect-stmts.c:8670)
==21623==    by 0x1221094: vect_schedule_slp_instance(_slp_tree*,
_slp_instance*, unsigned int) (tree-vect-slp.c:3703)
==21623==    by 0x12213EC: vect_schedule_slp(vec_info*) (tree-vect-slp.c:3775)
...

Reply via email to