https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98950
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Also hapens as ==15400== Memcheck, a memory error detector ==15400== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==15400== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==15400== Command: ./cc1 -quiet -fdiagnostics-plain-output -O3 -o ssa-dom-thread-2.s /home/rguenther/src/gcc3/gcc/testsuite/gcc.c-torture/compile/20101217-1.c ==15400== ==15400== ==15400== HEAP SUMMARY: ==15400== in use at exit: 1,890,156 bytes in 2,913 blocks ==15400== total heap usage: 27,977 allocs, 25,064 frees, 9,494,149 bytes allocated ==15400== ==15400== 16 bytes in 1 blocks are definitely lost in loss record 9 of 740 ==15400== at 0x4C2E94F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==15400== by 0x180CA7B: thread_jumps::convert_and_register_current_path(edge_def*) (tree-ssa-threadbackward.c:472) ==15400== by 0x180CD8E: thread_jumps::register_jump_thread_path_if_profitable(tree_node*, tree_node*, basic_block_def*) (tree-ssa-threadbackward.c:561) ==15400== by 0x180CEB6: thread_jumps::handle_phi(gphi*, tree_node*, basic_block_def*) (tree-ssa-threadbackward.c:600) ==15400== by 0x180D268: thread_jumps::fsm_find_control_statement_thread_paths(tree_node*) (tree-ssa-threadbackward.c:730) ==15400== by 0x180D575: thread_jumps::find_jump_threads_backwards(basic_block_def*, bool) (tree-ssa-threadbackward.c:780) ==15400== by 0x180D681: (anonymous namespace)::pass_thread_jumps::execute(function*) (tree-ssa-threadbackward.c:828) ==15400== by 0x12E7FEA: execute_one_pass(opt_pass*) (passes.c:2572) ==15400== by 0x12E8321: execute_pass_list_1(opt_pass*) (passes.c:2661) ==15400== by 0x12E8352: execute_pass_list_1(opt_pass*) (passes.c:2662) ==15400== by 0x12E83AA: execute_pass_list(function*, opt_pass*) (passes.c:2672) ==15400== by 0xCFBD80: cgraph_node::expand() (cgraphunit.c:1827) and ==14700== Memcheck, a memory error detector ==14700== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==14700== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==14700== Command: ./cc1 -quiet -fdiagnostics-plain-output -O3 -o ssa-dom-thread-1.s /home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/torture/pr53703.c ==14700== ==14700== HEAP SUMMARY: ==14700== in use at exit: 1,955,873 bytes in 2,872 blocks ==14700== total heap usage: 28,797 allocs, 25,925 frees, 9,610,851 bytes allocated ==14700== ==14700== 16 bytes in 1 blocks are definitely lost in loss record 8 of 747 ==14700== at 0x4C2E94F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==14700== by 0x180CA7B: thread_jumps::convert_and_register_current_path(edge_def*) (tree-ssa-threadbackward.c:472) ==14700== by 0x180CD8E: thread_jumps::register_jump_thread_path_if_profitable(tree_node*, tree_node*, basic_block_def*) (tree-ssa-threadbackward.c:561) ==14700== by 0x180CEB6: thread_jumps::handle_phi(gphi*, tree_node*, basic_block_def*) (tree-ssa-threadbackward.c:600) ==14700== by 0x180D268: thread_jumps::fsm_find_control_statement_thread_paths(tree_node*) (tree-ssa-threadbackward.c:730) ==14700== by 0x180D575: thread_jumps::find_jump_threads_backwards(basic_block_def*, bool) (tree-ssa-threadbackward.c:780) ==14700== by 0x180D681: (anonymous namespace)::pass_thread_jumps::execute(function*) (tree-ssa-threadbackward.c:828) ==14700== by 0x12E7FEA: execute_one_pass(opt_pass*) (passes.c:2572) ==14700== by 0x12E8321: execute_pass_list_1(opt_pass*) (passes.c:2661) ==14700== by 0x12E8352: execute_pass_list_1(opt_pass*) (passes.c:2662) ==14700== by 0x12E83AA: execute_pass_list(function*, opt_pass*) (passes.c:2672) ==14700== by 0xCFBD80: cgraph_node::expand() (cgraphunit.c:1827) ==14700==