[PATCH 3/3] Test folding of strn{case}cmp and memchr

2016-08-16 Thread marxin
gcc/testsuite/ChangeLog: 2016-08-16 Martin Liska * gcc.dg/tree-ssa/builtins-folding.c: New test. --- gcc/testsuite/gcc.dg/tree-ssa/builtins-folding.c | 59 1 file changed, 59 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/builtins-folding.c d

[PATCH 2/3] Smarter folding of __builtin_memchr

2016-08-17 Thread marxin
gcc/ChangeLog: 2016-08-16 Martin Liska * builtins.c (fold_builtin_memchr): Support following transformations: memchr (x, y, 0) -> NULL memchr ("known_string", 'n', 5) -> &"known_string" + 1 memchr ("known_string", 'n', 1) -> NULL --- gcc/builtins.c | 20

[PATCH 1/3] Fold BUILT_IN_STRNCASECMP

2016-08-17 Thread marxin
gcc/ChangeLog: 2016-08-16 Martin Liska * builtins.c (fold_builtin_strncmp): Rename to fold_builtin_strncmp_strncasecmp and support also strncasecmp. (fold_builtin_3): Handle BUILT_IN_STRNCASECMP. --- gcc/builtins.c | 19 +-- 1 file changed, 13 i

[PATCH 1/2] Introduce filtering for edge_predictions.

2016-06-02 Thread marxin
gcc/ChangeLog: 2016-05-31 Martin Liska * predict.c (filter_predictions): New function. (remove_predictions_associated_with_edge): Use the filter function. (equal_edge_p): New function. --- gcc/predict.c | 38 ++ 1 file change

[PATCH 0/2] Deduplicate edge predictors

2016-06-02 Thread marxin
edge Patch also changes dump output format a bit, thus analyze_brprob.py script has been also modified to understand the format. Bootstrapped and regtested on x86_64-linux Ready for trunk? Martin marxin (2): Introduce filtering for edge_predictions. Add edge predictions pruning contrib

[PATCH 2/2] Add edge predictions pruning

2016-06-02 Thread marxin
contrib/ChangeLog: 2016-06-01 Martin Liska * analyze_brprob.py: Cover new dump output format. gcc/ChangeLog: 2016-06-01 Martin Liska * predict.c (dump_prediction): Add new argument. (enum predictor_reason): New enum. (struct predictor_hash): New struct.

[PATCH 2/7] GCOV: introduce usage of terminal colors.

2017-10-26 Thread marxin
I consider using colors in context of gcov as very useful. There's example for tramp3d: https://pste.eu/p/Tl2D.html gcc/ChangeLog: 2017-10-23 Martin Liska * color-macros.h: New file. * diagnostic-color.c: Factor out color related to macros to color-macros.h. *

[PATCH 7/7] GCOV: std::vector refactoring III

2017-10-26 Thread marxin
gcc/ChangeLog: 2017-10-26 Martin Liska * gcov.c (struct name_map): do not use typedef. Define operator== and operator<. (name_search): Remove. (name_sort): Remove. (main): Do not allocate names. (process_file): Add vertical space. (genera

[PATCH 4/7] GCOV: add -j argument (human readable format).

2017-10-26 Thread marxin
Human readable format is quite useful in my opinion. There's example: -:1:unsigned 14.00K:2:loop (unsigned n, int value) -:3:{ 21.00M:4: for (unsigned i = 0; i < n - 1; i++) -:5: { 20.99M:6:value += i; -:7: } -:

[PATCH 3/7] GCOV: add support for lines with an unexecuted lines.

2017-10-26 Thread marxin
It's possible to have a line of code that has a non-zero coverage. However, it can contain unexecuted blocks and I hope adding a notification can be usefull. LLVM also does that: -:0:Source:ternary.c -:0:Graph:ternary.gcno -:0:Data:ternary.gcda -:0:R

[PATCH 1/7] GCOV: document behavior of -fkeep-{static,inline}-functions (PR gcov-profile/82633).

2017-10-26 Thread marxin
gcc/ChangeLog: 2017-10-23 Martin Liska PR gcov-profile/82633 * doc/gcov.texi: Document -fkeep-{static,inline}-functions and their interaction with GCOV infrastructure. * configure.ac: Add -fkeep-{inline,static}-functions to coverage_flags. * conf

[PATCH 5/7] GCOV: std::vector refactoring.

2017-10-26 Thread marxin
gcc/ChangeLog: 2017-10-26 Martin Liska * gcov.c (struct source_info): Remove typedef. (source_info::source_info): Add proper ctor. (accumulate_line_counts): Use struct, not it's typedef. (output_gcov_file): Likewise. (output_lines): Likewise. (ma

[PATCH 0/7] GCOV: another set of improvements

2017-10-26 Thread marxin
Hi. As I've spent recently some time in gcov, I decided to enhance the tool a bit. My main target is PR48463 which will remove assumption that multiple functions can't start on a same line. I've got pending patch that will be send soon. Thanks for review, Martin marxin (7):

[PATCH 6/7] GCOV: Vector refactoring II

2017-10-26 Thread marxin
gcc/ChangeLog: 2017-10-26 Martin Liska * gcov.c (struct line_info): Remove it's typedef. (line_info::line_info): Add proper ctor. (line_info::has_block): Do not use a typedef. (struct source_info): Do not use typedef. (circuit): Likewise. (get_cy

[PATCH 2/8] Remove .gcno file when compilation does not success (PR driver/56469).

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-19 Martin Liska PR driver/56469 * coverage.c (coverage_remove_note_file): New function. * coverage.h: Declare the function. * toplev.c (finalize): Clean if an error has been seen. --- gcc/coverage.c | 12 gcc/coverage.h | 1

[PATCH 0/8] GCOV improvements

2017-04-28 Thread marxin
can generate LCOV HTML page for GCC (running test-suite). Martin marxin (8): gcno file: do not stream block flags (PR gcov-profile/80031). Remove .gcno file when compilation does not success (PR driver/56469). Simplify representation of locations of a block. Introduce new option -w which

[PATCH 3/8] Simplify representation of locations of a block.

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-26 Martin Liska * gcov.c (struct block_location_info): New struct. (process_file): Fill up the new structure. (read_graph_file): Replace usage of encoding by the newly added struct. (add_line_counts): Likewise. (accumulate_

[PATCH 1/8] gcno file: do not stream block flags (PR gcov-profile/80031).

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska PR gcov-profile/80031 * gcov-dump.c (tag_blocks): Just print number of basic blocks. * gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro. * gcov.c (read_graph_file): Read just number of blocks. * profile.c (branc

[PATCH 6/8] Fix format_gcov to not print misleading values (PR gcov-profile/53915)

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-27 Martin Liska PR gcov-profile/53915 * gcov.c (format_gcov): Print 'NAN %' when top > bottom. --- gcc/gcov.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/gcc/gcov.c b/gcc/gcov.c index 0adb4466f70..22378583c5c 100644 --- a/gcc/gcov.c +++ b/

[PATCH 5/8] Make gcno more precise about BBs really belonging to a line (PR gcov-profile/79891).

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-26 Martin Liska PR gcov-profile/79891 * gcov.c (add_line_counts): Assign BBs to lines just if the BB is marked by compiler as living on a line. (get_cycles_count): Remove usage of the union. (output_intermediate_file): Likewise.

[PATCH 4/8] Introduce new option -w which shows verbose informations.

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-26 Martin Liska * gcov.c (process_args): Handle new argument 'w'. (read_graph_file): Assign ID to BBs. (output_branch_count): Display BB # if verbose flag is set. (output_lines): Likewise for arcs. (print_usage): Add '--verbose' op

[PATCH 7/8] Sort options of gcov, gcov-dump and gcov-tool both in --help and documentation

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-27 Martin Liska * doc/gcov.texi: Sort options in alphabetic order. * doc/gcov-dump.texi: Likewise. * doc/gcov-tool.texi: Likewise. * gcov.c (print_usage): Likewise. * gcov-dump.c (print_usage): Likewise. * gcov-tool.c (prin

[PATCH 8/8] Enhance documentation of gcov.

2017-04-28 Thread marxin
gcc/ChangeLog: 2017-04-27 Martin Liska * doc/gcov.texi: Enhance documentation of gcov. --- gcc/doc/gcov.texi | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi index 1befb5a3e08..c96f86df830 100644 --- a/gcc/doc/gcov.texi ++

[PATCH 0/5] Fix various MPX issues

2017-03-07 Thread marxin
Hello. I'm sending a small series that fixes MPX issue that are quite easily fixable. The series can bootstrap on ppc64le and survives regression tests. Thanks for review, Martin marxin (5): Fix *_CST ICEs connected to MPX. Get bounds for a PARM_DECL (PR ipa/79761). Fix ICE in tree

[PATCH 1/5] Fix *_CST ICEs connected to MPX.

2017-03-07 Thread marxin
gcc/ChangeLog: 2017-03-06 Martin Liska PR target/79763 PR target/79769 PR target/79770 * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST, COMPLEX_CST and VECTOR_CST. gcc/testsuite/ChangeLog: 2017-03-06 Martin Liska PR target/79763

[PATCH 5/5] Support BIT_FIELD_REF in MPX (PR ipa/79764).

2017-03-07 Thread marxin
gcc/ChangeLog: 2017-03-06 Martin Liska PR ipa/79764 * tree-chkp.c (chkp_narrow_bounds_for_field): Fix typo in comment. (chkp_narrow_size_and_offset): New function. (chkp_parse_array_and_component_ref): Support BIT_FIELD_REF. (void chkp_parse_bit_

[PATCH 2/5] Get bounds for a PARM_DECL (PR ipa/79761).

2017-03-07 Thread marxin
gcc/ChangeLog: 2017-03-06 Martin Liska PR ipa/79761 * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param. (chkp_find_bounds_1): Remove gcc_unreachable. gcc/testsuite/ChangeLog: 2017-03-06 Martin Liska PR ipa/79761 * g++.dg/pr79761.C: New

[PATCH 4/5] Disable -fcheck-pointer-bounds with sanitizers.

2017-03-07 Thread marxin
gcc/ChangeLog: 2017-03-06 Martin Liska PR target/65705 PR target/69804 * toplev.c (process_options): Disable -fcheck-pointer-bounds with sanitizers. gcc/testsuite/ChangeLog: 2017-03-06 Martin Liska PR target/65705 PR target/69804 *

[PATCH 3/5] Fix ICE in tree-chkp-opt.c (PR tree-optimization/79631).

2017-03-07 Thread marxin
gcc/ChangeLog: 2017-03-06 Martin Liska PR tree-optimization/79631 * tree-chkp-opt.c (chkp_is_constant_addr): Call tree_int_cst_sign_bit just for INTEGER constants. gcc/testsuite/ChangeLog: 2017-03-06 Martin Liska PR tree-optimization/79631 * gcc.ta

[PATCH 2/3] Error message on target attribute on aarch64 target (PR target/79889).

2017-03-13 Thread marxin
gcc/testsuite/ChangeLog: 2017-03-13 Martin Liska * g++.dg/ext/mv8.C: Add aarch64* targets. gcc/ChangeLog: 2017-03-13 Martin Liska * config/aarch64/aarch64.c (aarch64_process_target_attr): Show error message instead of an ICE. --- gcc/config/aarch64/aarch64.c |

[PATCH 3/3] Verify that target can create a dispatcher call (PR target/79892).

2017-03-13 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska * multiple_target.c (create_dispatcher_calls): Check that a target can create a function dispatcher. --- gcc/multiple_target.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/gcc/multiple_target.c b/gcc/multiple_target.c index

[PATCH 0/3] Do not ICE on unsupported value of target attribute.

2017-03-13 Thread marxin
bootstrap on ppc64le-redhat-linux and survives regression tests. Tested with cross-compilers that it does not ICE any longer. Thanks, Martin marxin (3): Error message on target attribute on power target (PR target/79906) Error message on target attribute on aarch64 target (PR target/79889). Verify

[PATCH 1/3] Error message on target attribute on power target (PR target/79906)

2017-03-13 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska PR target/79906 * config/rs6000/rs6000.c (rs6000_inner_target_options): Show error message instead of an ICE. gcc/testsuite/ChangeLog: 2017-03-13 Martin Liska PR target/79906 * g++.dg/ext/mv8.C: Add power* tar

[PATCH 2/3] Replace error with internal_error_cont in cgraph.c (PR ipa/79857).

2017-03-15 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska PR ipa/79857 * cgraph.c (cgraph_edge::verify_count_and_frequency): Replace error with internal_error_cont. (cgraph_node::verify_node): Likewise. --- gcc/cgraph.c | 139 --

[PATCH 1/3] Introduce internal_error_cont function and use it in cfgrtl.c (PR rtl-optimization/79856).

2017-03-15 Thread marxin
gcc/ChangeLog: 2017-03-13 Martin Liska PR rtl-optimization/79856 * cfgrtl.c (try_redirect_by_replacing_jump): Fix GNU coding style. (fixup_partition_crossing): Likewise. (fixup_new_cold_bb): Likewise. (emit_barrier_after_bb): Likewise. (f

[PATCH 2/2] HSA: handle alignment of string builtins (PR hsa/70391)

2016-03-31 Thread marxin
gcc/ChangeLog: 2016-03-23 Martin Liska PR hsa/70391 * hsa-gen.c (hsa_function_representation::update_cfg): New function. (convert_addr_to_flat_segment): Likewise. (gen_hsa_memory_set): New alignment argument. (gen_hsa_ctor_assignment): Likewise.

[PATCH 0/2] HSA: support alignment for hsa_symbols (PR hsa/70391)

2016-03-31 Thread marxin
string operations (memcpy, memset, ...), where we add a CFG that distinguishes between aligned and not aligned operands. Patch can bootstrap on x86_64-linux-gnu w/o any regression. Thanks, Martin marxin (2): HSA: support alignment for hsa_symbols (PR hsa/70391) HSA: handle alignment of string

[PATCH 1/2] HSA: support alignment for hsa_symbols (PR hsa/70391)

2016-03-31 Thread marxin
gcc/ChangeLog: 2016-03-23 Martin Liska PR hsa/70391 * hsa-brig.c (emit_directive_variable): Emit alignment according to hsa_symbol::m_align. * hsa-dump.c (hsa_byte_alignment): Move the function to another file. (dump_hsa_symbol): Dump alignment o

[PATCH 2/2] Optimize fortran loops with +-1 step.

2016-07-07 Thread marxin
gcc/testsuite/ChangeLog: 2016-07-01 Martin Liska * gfortran.dg/do_1.f90: Remove a corner case that triggers an undefined behavior. * gfortran.dg/do_3.F90: Likewise. * gfortran.dg/do_check_11.f90: New test. * gfortran.dg/do_check_12.f90: New test.

[PATCH 1/2] Add PRED_FORTRAN_LOOP_PREHEADER to DO loops with step bigger than +-1.

2016-07-07 Thread marxin
gcc/fortran/ChangeLog: 2016-07-01 Martin Liska * trans-stmt.c (gfc_trans_do): Add expect builtin for DO loops with step bigger than +-1. gcc/testsuite/ChangeLog: 2016-07-01 Martin Liska * gfortran.dg/predict-1.f90: Ammend the test. * gfortran.dg/predict-2.

[PATCH 0/2, fortran] Better code generation for DO loops with +-1 step

2016-07-07 Thread marxin
Hello. As discussed in [1], I would like to change code emission from: D.3428 = (*array)[0]; D.3429 = (*array)[1]; i = D.3428; if (i <= D.3429) { while (1) { { logical(kind=4) D.3432; (*block)[(integer(kind=8)) i + -

[PATCH 0/4] Properly handle GCC target("march=") (PR71652)

2016-07-18 Thread marxin
at, I also improved i386 option handling as mentioned in: [1] Patch bootstraps and survives regression tests on powerpc64le-unknown-linux-gnu. Ready for trunk? Thanks, Martin [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71652#c4 marxin (4): Fix PR target/71652 Support crc32 as a i

[PATCH 1/4] Fix PR target/71652

2016-07-18 Thread marxin
gcc/ChangeLog: 2016-07-18 Martin Liska PR target/71652 * config/i386/i386.c (ix86_option_override_internal): Change signature and return false when there's an error related to arch string. (release_options_strings): New function. (ix86_valid_targ

[PATCH 4/4] Remove fused-madd from documentation

2016-07-18 Thread marxin
gcc/ChangeLog: 2016-07-18 Martin Liska * doc/extend.texi: Remove fused-madd from i386 target options. --- gcc/doc/extend.texi | 5 - 1 file changed, 5 deletions(-) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 5b9e617..30957ce 100644 --- a/gcc/doc/extend.te

[PATCH 2/4] Support crc32 as a i386 target optimization node

2016-07-18 Thread marxin
gcc/ChangeLog: 2016-07-18 Martin Liska * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Handle crc32. gcc/testsuite/ChangeLog: 2016-07-18 Martin Liska * gcc.target/i386/crc32-5.c: New test. --- gcc/config/i386/i386.c | 1 + gcc/testsu

[PATCH 3/4] Support movbe as a i386 target optimization node

2016-07-18 Thread marxin
gcc/testsuite/ChangeLog: 2016-07-18 Martin Liska * gcc.target/i386/movbe-4.c: New test. gcc/ChangeLog: 2016-07-18 Martin Liska * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Handle movbe. --- gcc/config/i386/i386.c | 1 + gcc/testsu

[PATCH 0/2] New selftests: sreal and fibonacci_heap

2016-07-19 Thread marxin
insert_node function. Patches survive regression tests and bootstrap on x86_64-linux-gnu and ppc64le-linux-gnu. Apart from that, aarch64 compiler can be built w/ --disable-bootstrap. Ready for trunk? Martin marxin (2): Add sreal to selftests Add selftests for fibonacci_heap gcc/Makefile.in

[PATCH 1/2] Add sreal to selftests

2016-07-19 Thread marxin
gcc/ChangeLog: 2016-07-12 Martin Liska * selftest-run-tests.c (selftest::run_tests): New function. * selftest.h (sreal_c_tests): Declare. * sreal.c (sreal_verify_basics): New function. (verify_aritmetics): Likewise. (sreal_verify_arithmetics): Likewise.

[PATCH 2/2] Add selftests for fibonacci_heap

2016-07-19 Thread marxin
gcc/ChangeLog: 2016-07-13 Martin Liska * Makefile.in: Include fibonacci_heap.c * fibonacci_heap.c: New file. * fibonacci_heap.h (fibonacci_heap::insert): Use insert_node. (fibonacci_heap::union_with): Fix deletion of the second heap. * selftest-run-tests

[PATCH 4/4] Add tests for __gcov_dump and __gcov_reset

2016-08-01 Thread marxin
gcc/testsuite/ChangeLog: 2016-07-28 Martin Liska * g++.dg/gcov/gcov-dump-1.C: New test. * g++.dg/gcov/gcov-dump-2.C: New test. --- gcc/testsuite/g++.dg/gcov/gcov-dump-1.C | 23 +++ gcc/testsuite/g++.dg/gcov/gcov-dump-2.C | 32 +++

[PATCH 2/4] Remove __gcov_indirect_call_profiler

2016-08-01 Thread marxin
libgcc/ChangeLog: 2016-07-28 Martin Liska * Makefile.in: Remove __gcov_indirect_call_profiler. * libgcov-profiler.c (__gcov_indirect_call_profiler): Remove function. * libgcov.h: And the declaration of the function. --- libgcc/Makefile.in| 2 +- libgcc

[PATCH 3/4] Fix typo in gcov.texi

2016-08-01 Thread marxin
gcc/ChangeLog: 2016-07-28 Martin Liska * doc/gcov.texi: Change _gcov_dump to __gcov_dump and _gcov_reset to __gcov_reset. * doc/gcov-tool.texi: Fix typo. libgcc/ChangeLog: 2016-08-01 Martin Liska * libgcov-util.c: Fix typo and GNU coding style. --- gcc/do

[PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-01 Thread marxin
libgcc/ChangeLog: 2016-07-28 Martin Liska * Makefile.in: Add functions to LIBGCOV_PROFILER. * libgcov-profiler.c (__gcov_one_value_profiler_body_atomic): New function. (__gcov_one_value_profiler_atomic): Likewise. (__gcov_indirect_call_profiler_v2): Fix

[PATCH 0/4] Various GCOV/PGO improvements

2016-08-01 Thread marxin
Hi. My attempt in the following small series is to cover couple of issues I've recently observed. I'll briefly describe changes in respect to an individual patch: marxin (4): Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch As mentioned in [1], our current implemen

[PATCH 2/3] Add profiling support for IVOPTS

2016-04-29 Thread marxin
gcc/ChangeLog: 2016-04-25 Martin Liska * tree-ssa-loop-ivopts.c (struct comp_cost): Introduce m_cost_scaled and m_frequency fields. (comp_cost::operator=): Assign to m_cost_scaled. (operator+): Likewise. (comp_cost::operator+=): Likewise. (comp_c

[PATCH 3/3] Enhance dumps of IVOPTS

2016-04-29 Thread marxin
gcc/ChangeLog: 2016-04-25 Martin Liska * tree-ssa-loop-ivopts.c (struct ivopts_data): Add inv_expr_map. (tree_ssa_iv_optimize_init): Initialize it. (get_expr_id): Assign expressions to the map. (iv_ca_dump): Dump invariant expressions. (create_new_ivs):

[PATCH 0/3] IVOPTS: support profiling

2016-04-29 Thread marxin
) and no new regression is introduced. Ready for trunk? Thanks, Martin marxin (3): Encapsulate comp_cost within a class with methods. Add profiling support for IVOPTS Enhance dumps of IVOPTS gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C | 2 +- gcc/tree-ssa-loop-ivopts.c | 690

[PATCH 1/3] Encapsulate comp_cost within a class with methods.

2016-04-29 Thread marxin
gcc/ChangeLog: 2016-04-25 Martin Liska * tree-ssa-loop-ivopts.c(comp_cost::operator=): New function. (comp_cost::infinite_cost_p): Likewise. (operator+): Likewise. (comp_cost::operator+=): Likewise. (comp_cost::operator-=): Likewise. (comp_cost::

[PATCH 2/9] Fix leak in tree-ssa-loop-prefetch.c

2016-05-19 Thread marxin
This fixes memory leak which can be e.g. for 20020122-2.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -fprefetch-loop-arrays. gcc/ChangeLog: 2016-05-18 Martin Liska * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use auto_vec instead of vec. --- gcc/tre

[PATCH 0/9] Remove various memory leaks

2016-05-19 Thread marxin
does not introduce any new regression. Ready to be installed? Thanks, Martin marxin (9): Change ENABLE_VALGRIND_CHECKING to ENABLE_VALGRIND_ANNOTATIONS guard. Fix leak in tree-ssa-loop-prefetch.c Fix leak in gcc/tree-ssa-reassoc.c. Fix memory leak in omp-simd-clone.c Fix memory leak in

[PATCH 3/9] Fix leak in gcc/tree-ssa-reassoc.c.

2016-05-19 Thread marxin
Leak can be seen e.g. here: gcc reassoc-11.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -fdump-tree-reassoc1 gcc/ChangeLog: 2016-05-18 Martin Liska * tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate an auto_vec instead of re-creating it. --- gcc/tree-ss

[PATCH 5/9] Fix memory leak in tree-vect-slp.c

2016-05-19 Thread marxin
Leak can be seen e.g. here: gcc pr68817.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O -O3 -ffast-math gcc/ChangeLog: 2016-05-18 Martin Liska * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Release bitmap. --- gcc/tree-vect-slp.c | 5 - 1 file changed

[PATCH 4/9] Fix memory leak in omp-simd-clone.c

2016-05-19 Thread marxin
Leak can be seen e.g. here: gcc pr68339.c -fno-diagnostics-show-caret -fdiagnostics-color=never --param ggc-min-heapsize=0 --param ggc-min-expand=0 -fopenmp-simd gcc/ChangeLog: 2016-05-18 Martin Liska * omp-simd-clone.c (simd_clone_adjust): Release vector. --- gcc/omp-simd-clone.c |

[PATCH 1/9] Change ENABLE_VALGRIND_CHECKING to ENABLE_VALGRIND_ANNOTATIONS guard.

2016-05-19 Thread marxin
Following change is very similar to what I did in: https://gcc.gnu.org/ml/gcc-patches/2016-01/msg02103.html It's more logical to encapsulate valgrind annotation magic within a ENABLE_VALGRIND_ANNOTATIONS macro rather than ENABLE_VALGRIND_CHECKING. libcpp/ChangeLog: 2016-05-18 Martin Liska

[PATCH 8/9] Fix memory leak in tree-parloops.c

2016-05-19 Thread marxin
The leak can be seen here: gcc kernels-counter-vars-function-scope.c -fno-diagnostics-show-caret \ -fdiagnostics-color=never -fopenacc -O2 -fdump-tree-parloops1-all gcc/ChangeLog: 2016-05-18 Martin Liska * tree-parloops.c (oacc_entry_exit_ok): Release a vector. --- gcc/tree-parloops.

[PATCH 7/9] Fix memory leak in tree-if-conv.c

2016-05-19 Thread marxin
Leak can be seen e.g. here: gcc i386/pr50482.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -msse4 gcc/ChangeLog: 2016-05-18 Martin Liska * tree-if-conv.c (ifcvt_repair_bool_pattern): Utilize auto_vecs. --- gcc/tree-if-conv.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH 9/9] Fix memory leak in tree-vect-stmts.c

2016-05-19 Thread marxin
The leak can be seen here: gcc pr60823-2.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 \ -fopenmp-simd gcc/ChangeLog: 2016-05-18 Martin Liska * tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize auto_vec instead of vec. --- gcc/tree-vect-stmts.c | 21

[PATCH 6/9] Fix memory leak in ipa-pure-const

2016-05-19 Thread marxin
Leak can be seen e.g. here: gcc i386/mvc6.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 gcc/ChangeLog: 2016-05-18 Martin Liska * ipa-pure-const.c (set_function_state): Remove an existing funct_state. (remove_node_data): Do not free it as it's released

<    1   2