Lines Matching +full:ipa +full:- +full:reg

1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include "gcc-plugin.h"
11 #include "plugin-version.h"
16 #include "line-map.h"
20 #include "tree-inline.h"
25 #include "hard-reg-set.h"
33 #include "basic-block.h"
43 #include "pointer-set.h"
45 #include "hash-map.h"
51 #include "emit-rtl.h"
64 #include "tree-pretty-print.h"
65 #include "gimple-pretty-print.h"
70 * The c-family headers were moved into a subdirectory in GCC version
71 * 4.7, but most plugin-building users of GCC 4.6 are using the Debian
72 * or Ubuntu package, which has an out-of-tree patch to move this to the
74 * https://sources.debian.net/src/gcc-4.6/4.6.3-14/debian/patches/pr45078.diff/
76 #include "c-family/c-common.h"
78 #include "c-common.h"
82 #include "tree-flow.h"
84 #include "tree-cfgcleanup.h"
85 #include "tree-ssa-operands.h"
86 #include "tree-into-ssa.h"
90 #include "is-a.h"
94 #include "tree-dump.h"
95 #include "tree-pass.h"
100 #include "ipa-utils.h"
109 #include "stor-layout.h"
110 #include "internal-fn.h"
111 #include "gimple-expr.h"
112 #include "gimple-fold.h"
114 #include "tree-ssa-alias.h"
115 #include "tree-ssa.h"
118 #include "tree-vrp.h"
120 #include "tree-ssanames.h"
121 #include "print-tree.h"
122 #include "tree-eh.h"
130 #include "tree-ssa-operands.h"
131 #include "tree-phinodes.h"
132 #include "tree-cfg.h"
133 #include "gimple-iterator.h"
134 #include "gimple-ssa.h"
135 #include "ssa-iterators.h"
167 /* should come from c-tree.h if only it were installed for gcc 4.5... */
176 index = build_index_type(size_int(len - 1)); in build_const_char_string()
195 for (tree vars = (FUN)->local_decls, (I) = 0; \
257 fun->local_decls = tree_cons(NULL_TREE, d, fun->local_decls); in add_local_decl()
319 return node->analyzed && !node->thunk.thunk_p && !node->alias; in cgraph_function_with_gimple_body_p()
326 for (node = cgraph_nodes; node; node = node->next) in cgraph_first_function_with_gimple_body()
334 for (node = node->next; node; node = node->next) in cgraph_next_function_with_gimple_body()
347 for (alias = node->same_body; alias; alias = alias->next) { in cgraph_for_node_and_aliases()
368 for (node = cgraph_nodes; node; node = node->next)
370 for (node = varpool_nodes; node; node = node->next)
373 #define NODE_DECL(node) (node)->decl
379 return bb->loop_father ? loop_depth(bb->loop_father) : 0; in bb_loop_depth()
404 #define basic_block_info_for_fn(FN) ((FN)->cfg->x_basic_block_info)
405 #define n_basic_blocks_for_fn(FN) ((FN)->cfg->x_n_basic_blocks)
406 #define n_edges_for_fn(FN) ((FN)->cfg->x_n_edges)
407 #define last_basic_block_for_fn(FN) ((FN)->cfg->x_last_basic_block)
408 #define label_to_block_map_for_fn(FN) ((FN)->cfg->x_label_to_block_map)
409 #define profile_status_for_fn(FN) ((FN)->cfg->x_profile_status)
411 #define NODE_IMPLICIT_ALIAS(node) (node)->same_body_alias
422 …if (TREE_INT_CST_HIGH(t) == -1 && (HOST_WIDE_INT)TREE_INT_CST_LOW(t) < 0 && !TYPE_UNSIGNED(TREE_TY… in tree_fits_shwi_p()
547 #define NODE_SYMBOL(node) (&(node)->symbol)
548 #define NODE_DECL(node) (node)->symbol.decl
682 #define NODE_DECL(node) (node)->decl
683 #define cgraph_node_name(node) (node)->name()
684 #define NODE_IMPLICIT_ALIAS(node) (node)->cpp_implicit_alias
688 return g->get_passes()->get_pass_for_id(id); in get_pass_for_id()
698 return gs->code == GIMPLE_ASSIGN; in test()
708 #define INSN_DELETED_P(insn) (insn)->deleted()
716 #define debug_cgraph_node(node) (node)->debug()
720 #define cgraph_n_nodes symtab->cgraph_count
721 #define cgraph_max_uid symtab->cgraph_max_uid
723 #define dump_varpool_node(file, node) (node)->dump(file)
727 (caller)->create_edge((callee), (call_stmt), (count))
731 (caller)->create_edge_including_clones((callee), \
735 (caller)->create_edge((callee), (call_stmt), (count), (freq))
739 (caller)->create_edge_including_clones((callee), \
749 symtab->change_decl_assembler_name(decl, name); in change_decl_assembler_name()
769 return node->function_symbol(availability); in cgraph_function_node()
774 return node->ultimate_alias_target(availability);
779 return node->only_called_directly_p(); in cgraph_only_called_directly_p()
784 return node->get_availability(); in cgraph_function_body_availability()
789 return node->get_alias_target(); in cgraph_alias_target()
794 return node->call_for_symbol_thunks_and_aliases(callback, data, include_overwritable); in cgraph_for_node_and_aliases()
799 return symtab->add_cgraph_insertion_hook(hook, data); in cgraph_add_function_insertion_hook()
804 symtab->remove_cgraph_insertion_hook(entry); in cgraph_remove_function_insertion_hook()
809 return symtab->add_cgraph_removal_hook(hook, data); in cgraph_add_node_removal_hook()
814 symtab->remove_cgraph_removal_hook(entry); in cgraph_remove_node_removal_hook()
819 return symtab->add_cgraph_duplication_hook(hook, data); in cgraph_add_node_duplication_hook()
824 symtab->remove_cgraph_duplication_hook(entry); in cgraph_remove_node_duplication_hook()
829 symtab->call_cgraph_duplication_hooks(node, node2); in cgraph_call_node_duplication_hooks()
834 symtab->call_edge_duplication_hooks(cs1, cs2); in cgraph_call_edge_duplication_hooks()
857 return gs->code == GIMPLE_GOTO; in test()
864 return gs->code == GIMPLE_RETURN; in test()
928 /* IPA/LTO related */
930 (L)->referring.iterate((I), &(P))
932 (L)->reference.iterate((I), &(P))
936 return dyn_cast<cgraph_node_ptr>(ref->referring); in ipa_ref_referring_node()
941 referring_node->remove_stmt_references(stmt); in ipa_remove_stmt_references()