http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56461



--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-27 
17:25:10 UTC ---

Some more patches have been posted to gcc-patches and I'm going to post even

more.



There are two issues I don't have a solution for if anybody is interested.



Testcase:

cd gcc/testsuite/gcc.dg/vect

valgrind --leak-check=full /usr/src/gcc/obj/gcc/cc1 -O3 -mavx -ftree-vectorize

\ -isystem /usr/src/gcc/obj/gcc/include/ -quiet -o slp-reduc-6.c



==4841== 368 bytes in 2 blocks are definitely lost in loss record 533 of 626

==4841==    at 0x4A06B0F: calloc (vg_replace_malloc.c:593)

==4841==    by 0x111D788: xcalloc (xmalloc.c:162)

==4841==    by 0xC4742D: new_stmt_vec_info(gimple_statement_d*,

_loop_vec_info*, _bb_vec_info*) (tree-vect-stmts.c:5930)

==4841==    by 0xC5452B: vect_create_epilog_for_reduction(vec<tree_node*,

va_heap, vl_ptr>, gimple_statement_d*, int, tree_code, vec<gimple_statement_d*,

va_heap, vl_ptr>, int, bool, _slp_tree*) (tree-vect-loop.c:3867)

==4841==    by 0xC57FDB: vectorizable_reduction(gimple_statement_d*,

gimple_stmt_iterator*, gimple_statement_d**, _slp_tree*)

(tree-vect-loop.c:5209)

==4841==    by 0xC470D1: vect_transform_stmt(gimple_statement_d*,

gimple_stmt_iterator*, bool*, _slp_tree*, _slp_instance*)

(tree-vect-stmts.c:5823)

==4841==    by 0xC594F1: vect_transform_loop(_loop_vec_info*)

(tree-vect-loop.c:5736)

==4841==    by 0xC6B249: vectorize_loops() (tree-vectorizer.c:123)

==4841==    by 0xB91101: tree_vectorize() (tree-ssa-loop.c:222)

==4841==    by 0x963835: execute_one_pass(opt_pass*) (passes.c:2330)

==4841==    by 0x963A29: execute_pass_list(opt_pass*) (passes.c:2378)

==4841==    by 0x963A5A: execute_pass_list(opt_pass*) (passes.c:2379)

==4841== 

==4841== 13,678 bytes in 1 blocks are definitely lost in loss record 619 of 626

==4841==    at 0x4A0881C: malloc (vg_replace_malloc.c:270)

==4841==    by 0x111D747: xmalloc (xmalloc.c:147)

==4841==    by 0x10E6CD4: read_file(cpp_reader*, _cpp_file*) (files.c:693)

==4841==    by 0x10E787A: _cpp_stack_file (files.c:794)

==4841==    by 0x10DF510: do_include_common(cpp_reader*, include_type)

(directives.c:793)

==4841==    by 0x10E0320: _cpp_handle_directive (directives.c:492)

==4841==    by 0x10ECC6C: _cpp_lex_token (lex.c:1990)

==4841==    by 0x10F1967: cpp_get_token_1(cpp_reader*, unsigned int*)

(macro.c:2355)

==4841==    by 0x5CE3AA: c_lex_with_flags(tree_node**, unsigned int*, unsigned

char*, int) (c-lex.c:300)

==4841==    by 0x568908: c_lex_one_token(c_parser*, c_token*) (c-parser.c:218)

==4841==    by 0x568D07: c_parser_peek_token(c_parser*) (c-parser.c:398)

==4841==    by 0x568D32: c_parser_next_token_is(c_parser*, cpp_ttype)

(c-parser.c:410)

Reply via email to