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
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
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
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
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
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.
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.
*
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
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: }
-:
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
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
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
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):
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
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
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
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_
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
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/
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.
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
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
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
++
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
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
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_
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
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
*
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
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 |
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
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
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
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 --
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
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.
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
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
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.
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.
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 + -
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
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
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
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
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
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
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.
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
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 +++
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
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
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
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
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
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):
) 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
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::
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
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
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
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
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 |
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
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.
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
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
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
101 - 168 of 168 matches
Mail list logo