gcc/ChangeLog:
2014-11-12 Martin Liska mli...@suse.cz
* Makefile.in: New object file is added.
* cgraph.h (symbol_table::allocate_cgraph_symbol): Summary UID
is filled up.
* cgraph_summary.c: New file.
* cgraph_summary.h: New file.
* gengtype.c
Following patchset introduces cgraph_summary template class that
should replace custom implementation of cgraph related summaries.
Idea behind the patch is to provide a generic interface one can use
to register custom summary related to a cgraph_node. As you know,
symbol_table provides hooks for
gcc/ChangeLog:
2014-11-12 Martin Liska mli...@suse.cz
* cgraphunit.c (symbol_table::process_new_functions):
inline_summary_vec is replaced with inline_summary_summary.
* ipa-cp.c (ipcp_cloning_candidate_p): Usage of get_inline_summary.
gcc/ChangeLog:
2014-11-12 Martin Liska mli...@suse.cz
* auto-profile.c: Include cgraph_summary.h.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c:
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* var-tracking.c (vt_find_locations): New fibonacci_node is used.
---
gcc/var-tracking.c | 34 +++---
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/gcc/var-tracking.c
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* bb-reorder.c (mark_bb_visited): New fibonacci_heap is used.
(find_traces): Likewise.
(find_traces_1_round): Likewise.
---
gcc/bb-reorder.c | 54 +++---
1 file
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* ipa-inline.c (edge_badness): long is replaced by sreal
as fibonacci_heap template type.
(update_edge_key): Likewise.
(inline_small_functions): Likewise.
* sreal.h (inline sreal operator): New
Hello.
Following patch set introduces new template class for fibonacci heap
that is mainly utilized by IPA inliner. Apart from that, I also enhanced
existing sreal implementation so that it can also handle negative numbers.
I was primary motivated by Honza, because current heap implementation
in
2014-11-13 Martin Liska mli...@suse.cz
* tracer.c (tail_duplicate): New fibonacci_heap class is used.
---
gcc/tracer.c | 24 +++-
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/gcc/tracer.c b/gcc/tracer.c
index b3a412c..cecefdc 100644
---
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* bt-load.c (add_btr_def): New fibonacci_heap is used.
(migrate_btr_defs): Likewise.
---
gcc/bt-load.c | 31 +--
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/gcc/bt-load.c
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* bb-reorder.c (find_traces_1_round): Old fibheap_t type removed.
* bt-load.c: Include of fibheap.h is removed.
* cgraphunit.c: Likewise.
* config/i386/i386.c: Likewise.
* ipa-inline.c: Likewise.
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* fibonacci_heap.h: New file.
* ipa-inline.c (update_edge_key): New heap API is used.
(update_caller_keys): Likewise.
(update_callee_keys): Likewise.
(lookup_recursive_calls): Likewise.
gcc/ChangeLog:
2014-11-13 Martin Liska mli...@suse.cz
* predict.c (propagate_freq): More elegant sreal API is used.
(estimate_bb_frequencies): New static constants defined by sreal
replace precomputed ones.
* sreal.c (sreal::normalize): New function.
Hi,
many tests rely on a precise number of scanned functions in a dump file. If
IPA ICF decides to merge some function and(or) read-only variables, counts do
not match.
Changelog:
2014-06-13 Martin Liska mli...@suse.cz
Honza Hubicka hubi...@ucw.cz
*
Hello,
after working for quite a long time, I would like to introduce new IPA pass.
Goal of the pass is to merge semantically equivalent functions and read-only
variables.
If we prove that a function A is an equivalent to a function B, depending on
circumstances, an alias, thunk or a
Hi,
this small patch prepares remaining infrastructure needed for the new pass.
Changelog:
2014-06-13 Martin Liska mli...@suse.cz
Honza Hubicka hubi...@ucw.cz
* ipa-utils.h (polymorphic_type_binfo_p): Function marked external
instead of static.
*
Hi,
this is a new collection of tests for IPA ICF pass.
Changelog:
2014-06-13 Martin Liska mli...@suse.cz
Honza Hubicka hubi...@ucw.cz
* gcc/testsuite/g++.dg/ipa/ipa-se-1.C: New test.
* gcc/testsuite/g++.dg/ipa/ipa-se-2.C: Likewise.
*
Hi,
this small patch prepares remaining needed infrastructure for the new pass.
Changelog:
2014-06-13 Martin Liska mli...@suse.cz
Honza Hubicka hubi...@ucw.cz
* ipa-utils.h (polymorphic_type_binfo_p): Function marked external
instead of static.
*
Hi,
many tests rely on a precise number of scanned functions in a dump file. If
IPA ICF decides to merge some function and(or) read-only variables, counts do
not match.
Martin
Changelog:
2014-06-13 Martin Liska mli...@suse.cz
Honza Hubicka hubi...@ucw.cz
*
Hi,
this is a new collection of tests for IPA ICF pass.
Martin
Changelog:
2014-06-13 Martin Liska mli...@suse.cz
Honza Hubicka hubi...@ucw.cz
* gcc/testsuite/g++.dg/ipa/ipa-se-1.C: New test.
* gcc/testsuite/g++.dg/ipa/ipa-se-2.C: Likewise.
*
Hello,
I am sorry for wrong reply address in previously sent thread. After working
for quite a long time, I would like to introduce new IPA pass. Goal of the pass
is to merge semantically equivalent functions and read-only variables.
If we prove that a function A is an equivalent to a
Hello.
In this small patch I add missing comments.
Thanks,
Martin
gcc/ChangeLog:
2014-12-12 Martin Liska mli...@suse.cz
* hsa-brig.c: Function comments are added.
* hsa-gen.c: Likewise.
---
gcc/hsa-brig.c | 5 +
gcc/hsa-gen.c | 19 ++-
2 files
Hello.
Attached patch removes all memory leaks which come from HSA-related
source files.
Thanks,
Martin
gcc/ChangeLog:
2014-12-05 Martin Liska mli...@suse.cz
* hsa-brig.c (brig_string_slot_hasher::remove): Memory free is added.
* hsa-gen.c (hsa_deinit_data_for_cfun):
Hello.
Following patch introduces support for direct call instructions
for HSAIL.
Thanks,
Martin
gcc/c-family/ChangeLog:
2014-12-05 Martin Liska mli...@suse.cz
* c-common.c: New 'hsafunc' attribute is added.
gcc/ChangeLog:
2014-12-05 Martin Liska mli...@suse.cz
*
Hi.
Following patch add support of dbg-cnt for IPA ICF pass.
Ready for trunk?
Thanks,
Martin
gcc/ChangeLog:
2015-05-15 Martin Liska mli...@suse.cz
* dbgcnt.def: Add new counter.
* ipa-icf.c (sem_item_optimizer::merge_classes): Use the
counter.
---
gcc/dbgcnt.def | 1
Hi.
Following patch changes GCC so that it exits after -fdbg-cnt-list and counters
are sorted in dbgcnt.def file.
Ready for trunk?
Thanks,
Martin
gcc/ChangeLog:
2015-05-15 Martin Liska mli...@suse.cz
* dbgcnt.def: Sort counters.
* opts.c (common_handle_option): Do not
Hello.
Following patch set attempts to replace old-style pool allocator
to a type-based one. Moreover, as we utilize classes and structs that are used
just by a pool allocator, these types have overwritten ctors and dtors.
Thus, using the allocator is much easier and we shouldn't cast types
back
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* lra.c (init_insn_regs): Use new type-based pool allocator.
(new_insn_reg) Likewise.
(free_insn_reg) Likewise.
(free_insn_regs) Likewise.
(finish_insn_regs) Likewise.
(init_insn_recog_data)
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* et-forest.c (et_new_occ): Use new type-based pool allocator.
(et_new_tree): Likewise.
(et_free_tree): Likewise.
(et_free_tree_force): Likewise.
(et_free_pools): Likewise.
(et_split):
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* lra-lives.c (free_live_range): Use new type-based pool allocator.
(free_live_range_list) Likewise.
(create_live_range) Likewise.
(copy_live_range) Likewise.
(lra_merge_live_ranges) Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ira-color.c (init_update_cost_records):Use new type-based pool
allocator.
(get_update_cost_record) Likewise.
(free_update_cost_record_list) Likewise.
(finish_update_cost_records) Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* cselib.c (new_elt_list):Use new type-based pool allocator.
(new_elt_loc_list) Likewise.
(unchain_one_elt_list) Likewise.
(unchain_one_elt_loc_list) Likewise.
(unchain_one_value) Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* cfg.c (initialize_original_copy_tables):Use new type-based pool
allocator.
(free_original_copy_tables) Likewise.
(copy_original_table_clear) Likewise.
(copy_original_table_set) Likewise.
---
gcc/cfg.c |
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ira-color.c (init_update_cost_records):Use new type-based pool
allocator.
(get_update_cost_record) Likewise.
(free_update_cost_record_list) Likewise.
(finish_update_cost_records) Likewise.
gcc/c-family/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* c-format.c (check_format_arg):Use new type-based pool allocator.
(check_format_info_main) Likewise.
---
gcc/c-family/c-format.c | 14 ++
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator.
(free_sched_pools): Likewise.
* sel-sched-ir.h (_list_alloc): Likewise.
(_list_remove): Likewise.
---
gcc/sel-sched-ir.c | 7 ++-
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
(free_bb): Likewise.
(pass_cse_reciprocals::execute): Likewise.
---
gcc/tree-ssa-math-opts.c | 13 ++---
1 file changed, 6 insertions(+),
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* var-tracking.c (variable_htab_free):Use new type-based pool allocator.
(attrs_list_clear) Likewise.
(attrs_list_insert) Likewise.
(attrs_list_copy) Likewise.
(shared_hash_unshare) Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ira-build.c (initiate_cost_vectors): Use new type-based pool
allocator.
(ira_allocate_cost_vector): Likewise.
(ira_free_cost_vector): Likewise.
(finish_cost_vectors): Likewise.
---
gcc/ira-build.c | 15
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* dse.c (get_group_info):Use new type-based pool allocator.
(dse_step0) Likewise.
(free_store_info) Likewise.
(delete_dead_store_insn) Likewise.
(free_read_records) Likewise.
(record_store)
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* regcprop.c (free_debug_insn_changes): Use new type-based pool
allocator.
(replace_oldest_value_reg): Likewise.
(pass_cprop_hardreg::execute): Likewise.
---
gcc/regcprop.c | 31 +--
1
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based pool
allocator.
(bitmap_set_new): Likewise.
(get_or_alloc_expr_for_constant): Likewise.
(get_or_alloc_expr_for): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
(allocate_and_init_ipcp_value): Likewise.
(ipcp_lattice::add_value): Likewise.
(merge_agg_lats_step): Likewise.
(ipcp_driver):
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ipa-profile.c (account_time_size): Use new type-based pool allocator.
(ipa_profile_generate_summary): Likewise.
(ipa_profile_read_summary): Likewise.
(ipa_profile): Likewise.
---
gcc/ipa-profile.c | 11
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ira-build.c (initiate_allocnos): Use new type-based pool allocator.
(ira_create_object): Likewise.
(ira_create_allocno): Likewise.
(ira_create_live_range): Likewise.
(copy_live_range): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-ssa-structalias.c (new_var_info): Use new type-based pool
allocator.
(new_constraint): Likewise.
(init_alias_vars): Likewise.
(delete_points_to_sets): Likewise.
---
gcc/tree-ssa-structalias.c | 17
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* df-scan.c (struct df_scan_problem_data):Use new type-based pool
allocator.
(df_scan_free_internal) Likewise.
(df_scan_alloc) Likewise.
(df_grow_reg_info) Likewise.
(df_free_ref) Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* config/sh/sh.c (add_constant):Use new type-based pool allocator.
(sh_reorg) Likewise.
---
gcc/config/sh/sh.c | 30 ++
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based pool
allocator.
(add_repeat_to_ops_vec): Likewise.
(get_ops): Likewise.
(maybe_optimize_range_tests): Likewise.
(init_reassoc): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ipa-inline-analysis.c (edge_set_predicate): Use new type-based pool
allocator.
(set_hint_predicate): Likewise.
(inline_summary_alloc): Likewise.
(reset_inline_edge_summary): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* asan.c (asan_mem_ref_get_alloc_pool):Use new type-based pool
allocator.
(asan_mem_ref_new) Likewise.
(free_mem_ref_resources) Likewise.
---
gcc/asan.c | 44
1 file
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* df-problems.c (df_chain_create):Use new type-based pool allocator.
(df_chain_unlink_1) Likewise.
(df_chain_unlink) Likewise.
(df_chain_remove_problem) Likewise.
(df_chain_alloc) Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
(free_strinfo): Likewise.
(pass_strlen::execute): Likewise.
---
gcc/tree-ssa-strlen.c | 10 --
1 file changed, 4 insertions(+), 6
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ira-color.c (init_update_cost_records): Use new type-based pool
allocator.
(get_update_cost_record): Likewise.
(free_update_cost_record_list): Likewise.
(finish_update_cost_records): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-ssa-sccvn.c (vn_reference_insert): Use new type-based pool
allocator.
(vn_reference_insert_pieces): Likewise.
(vn_phi_insert): Likewise.
(visit_reference_op_call): Likewise.
(copy_phi):
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* sched-deps.c (create_dep_node): Use new type-based pool allocator.
(delete_dep_node): Likewise.
(create_deps_list): Likewise.
(free_deps_list): Likewise.
(sched_deps_init): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* stmt.c (add_case_node): Use new type-based pool allocator.
(expand_case): Likewise.
(expand_sjlj_dispatch_table): Likewise.
---
gcc/stmt.c | 16 +---
1 file changed, 5 insertions(+), 11 deletions(-)
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
(ipa_edge_duplication_hook): Likewise.
(ipa_free_all_structures_after_ipa_cp): Likewise.
(ipa_free_all_structures_after_iinln): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* ira-build.c (finish_allocnos): Use new type-based pool allocator.
(finish_prefs): Likewise.
(finish_copies): Likewise.
---
gcc/ira-build.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* alloc-pool.c (create_alloc_pool): Remove.
(empty_alloc_pool): Likewise.
(free_alloc_pool): Likewise.
(free_alloc_pool_if_empty): Likewise.
(pool_alloc): Likewise.
(pool_free): Likewise.
gcc/ChangeLog:
2015-04-30 Martin Liska mli...@suse.cz
* tree-sra.c (sra_initialize): Use new type-based pool allocator.
(sra_deinitialize) Likewise.
(create_access_1) Likewise.
(build_accesses_from_assign) Likewise.
(create_artificial_child_access)
gcc/ChangeLog:
2015-06-02 Martin Liska mli...@suse.cz
* alloc-pool.h (struct pool_usage): Correct space padding.
* ggc-page.c (ggc_print_statistics): Align columns in a report.
* mem-stats.h (struct mem_usage): Add argument to print_dash_line.
* tree.c
Hi.
Following 2 patches improve memory statistics infrastructure. First one
ports pool allocator to the new infrastructure. And the second one makes
column alignment properly.
Both can bootstrap on x86_64-linux-pc and survive regression tests.
Ready for trunk?
Thank you,
Martin
Port
gcc/ChangeLog:
2015-07-09 Martin Liska mli...@suse.cz
* dbgcnt.def: Add new debug counter.
* ipa-icf-gimple.c (func_checker::compare_ssa_name): Add flag
for strict mode.
(func_checker::compare_memory_operand): Likewise.
gcc/ChangeLog:
2015-07-09 Martin Liska mli...@suse.cz
* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Remove.
(gimple_equal_p): Remove.
(gsi_advance_bw_nondebug_nonlocal): Remove.
(find_duplicate): Remove legacy value numbering.
merged basic blocks before/after the patch
set.
Patch set can bootstrap on x86_64-linux-pc and survives regression tests.
Thanks,
Martin
mliska (3):
tree-ssa-tail-merge: add IPA ICF infrastructure.
Fully remove legacy tree-ssa-tail-merge value numbering
infrastructure.
Fix ubsan tests
---
gcc/testsuite/g++.dg/ubsan/vptr-1.C | 2 +-
gcc/testsuite/g++.dg/ubsan/vptr-2.C | 2 +-
gcc/testsuite/g++.dg/ubsan/vptr-3.C | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/gcc/testsuite/g++.dg/ubsan/vptr-1.C
b/gcc/testsuite/g++.dg/ubsan/vptr-1.C
index f4260c1..2183575
gcc/ChangeLog:
2015-07-03 Martin Liska mli...@suse.cz
* cgraph.c (symbol_table::create_edge): Introduce summary_uid
for cgraph_edge.
* cgraph.h (struct GTY): Likewise.
* ipa-inline-analysis.c (estimate_function_body_sizes): Use
new data structure.
gcc/ChangeLog:
2015-07-03 Martin Liska mli...@suse.cz
* ipa-reference.c (ipa_ref_opt_summary_t): New class.
(get_reference_optimization_summary): Use it.
(set_reference_optimization_summary): Likewise.
(ipa_init): Remove hook holders usage.
gcc/ChangeLog:
2015-07-03 Martin Liska mli...@suse.cz
* hash-set.h (remove): New function.
(iterator): New iteration class for hash_set.
---
gcc/hash-set.h | 39 +++
1 file changed, 39 insertions(+)
diff --git a/gcc/hash-set.h
and boostrap on both
x86_64-linux-gnu and ppc64le-linux-gnu machines.
Ready for trunk?
Thanks,
Martin
mliska (6):
hash_set: add iterator and remove method.
Introduce new edge_summary class and replace ipa_edge_args_sum.
IPA inline: port inline_edge_summary to a new infrastructure.
Port
gcc/ChangeLog:
2015-07-03 Martin Liska mli...@suse.cz
* ipa-inline-analysis.c
(inline_edge_summaries): New data structure.
(redirect_to_unreachable): Use renamed
function get_inline_edge_summary.
(edge_set_predicate): Likewise.
gcc/ChangeLog:
2015-07-03 Martin Liska mli...@suse.cz
* ipa-pure-const.c (struct funct_state_d): New.
(funct_state_d::default_p): Likewise.
(has_function_state): Remove.
(get_function_state): Likewise.
(set_function_state): Likewise.
gcc/ChangeLog:
2015-07-03 Martin Liska mli...@suse.cz
* ipa-cp.c (struct edge_clone_summary): New structure.
(class edge_clone_summary_t): Likewise.
(edge_clone_summary_t::initialize): New method.
(edge_clone_summary_t::duplicate): Likewise.
On 2020-10-23 21:45, Jan Hubicka wrote:
Hi,
this patch moves thunk_info out of cgraph_node into a symbol summary.
I also moved it to separate hearder file since cgraph.h became really
too
fat. I plan to contiue with similar breakup in order to cleanup
interfaces
and reduce WPA memory
75 matches
Mail list logo