diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-02-07 03:27:05 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-02-07 02:27:05 +0000 |
commit | 964512791e121b627ced9b14021856ca34121bc0 (patch) | |
tree | 63a0d48e093baf01eaef591a754404df1020cbe3 /gcc/cgraph.h | |
parent | b3bb0eb9c0a89c9ec197f2f0a7c2e6a8d3f004af (diff) | |
download | gcc-964512791e121b627ced9b14021856ca34121bc0.zip gcc-964512791e121b627ced9b14021856ca34121bc0.tar.gz gcc-964512791e121b627ced9b14021856ca34121bc0.tar.bz2 |
re PR ipa/59469 (LLVM build failure with gcc LTO)
PR ipa/59469
* lto-cgraph.c (lto_output_node): Use
symtab_get_symbol_partitioning_class.
(lto_output_varpool_node): likewise.
(symtab_get_symbol_partitioning_class): Move here from
lto/lto-partition.c
* cgraph.h (symbol_partitioning_class): Likewise.
(symtab_get_symbol_partitioning_class): Declare.
* lto-partition.c (symbol_class): Move to cgraph.h
(get_symbol_class): Move to symtab.c
(add_references_to_partition, add_symbol_to_partition_1,
lto_max_map, lto_1_to_1_map, lto_balanced_map,
lto_promote_cross_file_statics): Update.
From-SVN: r207589
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index e9e93cd..32b1ee1 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -704,6 +704,20 @@ extern GTY(()) struct asm_node *asm_nodes; extern GTY(()) int symtab_order; extern bool cpp_implicit_aliases_done; +/* Classifcation of symbols WRT partitioning. */ +enum symbol_partitioning_class +{ + /* External declarations are ignored by partitioning algorithms and they are + added into the boundary later via compute_ltrans_boundary. */ + SYMBOL_EXTERNAL, + /* Partitioned symbols are pur into one of partitions. */ + SYMBOL_PARTITION, + /* Duplicated symbols (such as comdat or constant pool references) are + copied into every node needing them via add_symbol_to_partition. */ + SYMBOL_DUPLICATE +}; + + /* In symtab.c */ void symtab_register_node (symtab_node *); void symtab_unregister_node (symtab_node *); @@ -734,6 +748,7 @@ bool symtab_for_node_and_aliases (symtab_node *, symtab_node *symtab_nonoverwritable_alias (symtab_node *); enum availability symtab_node_availability (symtab_node *); bool symtab_semantically_equivalent_p (symtab_node *, symtab_node *); +enum symbol_partitioning_class symtab_get_symbol_partitioning_class (symtab_node *); /* In cgraph.c */ void dump_cgraph (FILE *); |