diff options
author | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-06-09 00:10:07 -0300 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-06-09 00:10:07 -0300 |
commit | 3ec7662202099738819ea521b65faada5c0a6c70 (patch) | |
tree | d6800ab233a3578f4c2dda5b6f75f284d5446e81 /gcc/fortran/interface.c | |
parent | 374ee317356c39b6ac9d483b3648ffcb6f1d2fd4 (diff) | |
download | gcc-3ec7662202099738819ea521b65faada5c0a6c70.zip gcc-3ec7662202099738819ea521b65faada5c0a6c70.tar.gz gcc-3ec7662202099738819ea521b65faada5c0a6c70.tar.bz2 |
Implement a new partitioning algorithm
Implements a new partitioning algorithm based on add_node_to_partition
logic, still using a union find datastructure for quick merging
partitions. libgcc is compiling, libstdc++ fails to link.
gcc/ChangeLog
2020-06-08 Giuliano Belinassi <giuliano.belinassi@usp.br>
* cgraphunit.c (cgraph_node::expand): Quick return if no body is
available.
(ipa_passes): Skip empty partitions.
* gcc.c (append_split_outputs): Fix misleading identation.
* ipa.c (symbol_table::remove_unreachable_nodes): Assert for
split_outputs.
* lto-cgraph.c (lto_apply_partition_mask): set body_removed when
body is removed.
* lto-partition.c: (current_working_partition): New variable.
* (add_symbol_to_partition): Check if insertion on correct
partition. Also check if nodes from the same COMDAT group are
mapped to the partition.
(union_find::print_roots): New function.
(ds): New variable.
(ds_print_roots): New function.
(analyse_symbol_references): New function.
(analyse_symbol_1): New function.
(int_cast): Remove.
(lto_max_no_alonevap_map): Replace with new algorithm.
Diffstat (limited to 'gcc/fortran/interface.c')
0 files changed, 0 insertions, 0 deletions