Re: Move thunks out of cgraph_node

2020-10-24 Thread mliska
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

[PATCH 1/3] tree-ssa-tail-merge: add IPA ICF infrastructure.

2015-07-09 Thread mliska
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.

[PATCH 2/3] Fully remove legacy tree-ssa-tail-merge value numbering infrastructure.

2015-07-09 Thread mliska
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.

[RFC, PATCH 0/3] tree-ssa-tail-merge engine replacement

2015-07-09 Thread mliska
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

[PATCH 3/3] Fix ubsan tests by disabling of an optimization.

2015-07-09 Thread mliska
--- 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

[PATCH 2/6] Introduce new edge_summary class and replace ipa_edge_args_sum.

2015-07-09 Thread mliska
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.

[PATCH 5/6] Port IPA reference to function_summary infrastructure.

2015-07-09 Thread mliska
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.

[PATCH 1/6] hash_set: add iterator and remove method.

2015-07-09 Thread mliska
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

[PATCH 0/6] {function,edge}_summary for IPA passes

2015-07-09 Thread mliska
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

[PATCH 3/6] IPA inline: port inline_edge_summary to a new infrastructure.

2015-07-09 Thread mliska
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.

[PATCH 6/6] Migrate ipa-pure-const to function_summary.

2015-07-09 Thread mliska
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.

[PATCH 4/6] Port ipa-cp to use cgraph_edge summary.

2015-07-09 Thread mliska
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.

[PATCH 2/2] Fix memory report layout at various places.

2015-06-02 Thread mliska
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

[PATCH 1/2] Memory statistics enhancement.

2015-06-02 Thread mliska
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

[PATCH 01/35] Introduce new type-based pool allocator.

2015-05-27 Thread mliska
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

[PATCH 04/35] Change use to type-based pool allocator in lra.c.

2015-05-27 Thread mliska
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)

[PATCH 02/35] Change use to type-based pool allocator in et-forest.c.

2015-05-27 Thread mliska
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):

[PATCH 03/35] Change use to type-based pool allocator in lra-lives.c.

2015-05-27 Thread mliska
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.

[PATCH 06/35] Change use to type-based pool allocator in ira-color.c.

2015-05-27 Thread mliska
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.

[PATCH 12/35] Change use to type-based pool allocator in cselib.c.

2015-05-27 Thread mliska
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.

[PATCH 10/35] Change use to type-based pool allocator in cfg.c.

2015-05-27 Thread mliska
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 |

[PATCH 05/35] Change use to type-based pool allocator in ira-color.c.

2015-05-27 Thread mliska
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.

[PATCH 09/35] Change use to type-based pool allocator in c-format.c.

2015-05-27 Thread mliska
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

[PATCH 19/35] Change use to type-based pool allocator in sel-sched-ir.c.

2015-05-27 Thread mliska
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 ++-

[PATCH 17/35] Change use to type-based pool allocator in tree-ssa-math-opts.c.

2015-05-27 Thread mliska
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(+),

[PATCH 07/35] Change use to type-based pool allocator in var-tracking.c.

2015-05-27 Thread mliska
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.

[PATCH 20/35] Change use to type-based pool allocator in ira-build.c.

2015-05-27 Thread mliska
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

[PATCH 15/35] Change use to type-based pool allocator in dse.c.

2015-05-27 Thread mliska
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)

[PATCH 21/35] Change use to type-based pool allocator in regcprop.c.

2015-05-27 Thread mliska
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

[PATCH 23/35] Change use to type-based pool allocator in tree-ssa-pre.c.

2015-05-27 Thread mliska
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.

[PATCH 31/35] Change use to type-based pool allocator in ipa-prop.c and ipa-cp.c.

2015-05-27 Thread mliska
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):

[PATCH 28/35] Change use to type-based pool allocator in ipa-profile.c.

2015-05-27 Thread mliska
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

[PATCH 34/35] Change use to type-based pool allocator in ira-build.c.

2015-05-27 Thread mliska
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.

[PATCH 27/35] Change use to type-based pool allocator in tree-ssa-structalias.c.

2015-05-27 Thread mliska
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

[PATCH 14/35] Change use to type-based pool allocator in df-scan.c.

2015-05-27 Thread mliska
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.

[PATCH 11/35] Change use to type-based pool allocator in sh.c.

2015-05-27 Thread mliska
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

[PATCH 24/35] Change use to type-based pool allocator in tree-ssa-reassoc.c.

2015-05-27 Thread mliska
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.

[PATCH 30/35] Change use to type-based pool allocator in ipa-inline-analysis.c.

2015-05-27 Thread mliska
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.

[PATCH 08/35] Change use to type-based pool allocator in asan.c.

2015-05-27 Thread mliska
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

[PATCH 13/35] Change use to type-based pool allocator in df-problems.c.

2015-05-27 Thread mliska
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.

[PATCH 26/35] Change use to type-based pool allocator in tree-ssa-strlen.c.

2015-05-27 Thread mliska
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

[PATCH 33/35] Change use to type-based pool allocator in ira-color.c.

2015-05-27 Thread mliska
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.

[PATCH 25/35] Change use to type-based pool allocator in tree-ssa-sccvn.c.

2015-05-27 Thread mliska
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):

[PATCH 22/35] Change use to type-based pool allocator in sched-deps.c.

2015-05-27 Thread mliska
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.

[PATCH 18/35] Change use to type-based pool allocator in stmt.c.

2015-05-27 Thread mliska
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(-)

[PATCH 29/35] Change use to type-based pool allocator in ipa-prop.c.

2015-05-27 Thread mliska
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.

[PATCH 32/35] Change use to type-based pool allocator in ira-build.c.

2015-05-27 Thread mliska
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

[PATCH 35/35] Remove old pool allocator.

2015-05-27 Thread mliska
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.

[PATCH 16/35] Change use to type-based pool allocator in tree-sra.c.

2015-05-27 Thread mliska
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)

[PATCH 2/2] IPA ICF: add support for debug counter.

2015-05-15 Thread mliska
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

[PATCH 1/2] dbgcnt: enhance behavior.

2015-05-15 Thread mliska
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

[hsa] HSA: function comments are added.

2014-12-12 Thread mliska
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

[hsa] HSA: memory leaks are fixed.

2014-12-12 Thread mliska
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):

[hsa] HSA: support for direct function call is introduced.

2014-12-12 Thread mliska
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 *

[PATCH 2/4] New data structure for cgraph_summary introduced.

2014-11-13 Thread mliska
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

[PATCH 1/4] cgraph_summary data structure introduction.

2014-11-13 Thread mliska
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

[PATCH 4/4] Data structure is used for inline_summary struct.

2014-11-13 Thread mliska
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.

[PATCH 3/4] First usage of cgraph_summary in ipa-prop pass.

2014-11-13 Thread mliska
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:

[PATCH 6/9] fibonacci_heap is used for var-tracking.

2014-11-13 Thread mliska
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

[PATCH 3/9] fibonacci_heap is used for bb-reoder purpose.

2014-11-13 Thread mliska
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

[PATCH 9/9] ipa-inline uses sreal for as fibonacci_heap template argument.

2014-11-13 Thread mliska
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

[PATCH 1/9] New fibonacci heap and sreal enhancement.

2014-11-13 Thread mliska
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

[PATCH 4/9] tracer ported to new fibonacci_heap data structure.

2014-11-13 Thread mliska
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 ---

[PATCH 5/9] bt-load is ported to fibonacci_heap.

2014-11-13 Thread mliska
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

[PATCH 7/9] Old libiberty fib_heap removed.

2014-11-13 Thread mliska
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.

[PATCH 2/9] New template fibonacci_heap class introduced.

2014-11-13 Thread mliska
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.

[PATCH 8/9] Negative numbers added for sreal class.

2014-11-13 Thread mliska
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.

[PATCH 2/5] Existing call graph infrastructure enhancement

2014-06-16 Thread mliska
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. *

[PATCH 4/5] Existing tests fix

2014-06-16 Thread mliska
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 *

[PATCH 5/5] New tests introduction

2014-06-16 Thread mliska
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. *

[PATCH 1/5] New Identical Code Folding IPA pass

2014-06-16 Thread mliska
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

[IPA ICF,RFC 4/5] Existing tests fix

2014-06-13 Thread mliska
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 *

[IPA ICF,RFC 1/5] New Identical Code Folding IPA pass

2014-06-13 Thread mliska
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

[IPA ICF,RFC 2/5] Existing call graph infrastructure enhancement

2014-06-13 Thread mliska
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. *

[IPA ICF,RFC 5/5] New tests introduction

2014-06-13 Thread mliska
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. *