Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / tree-inline-aux.h
blobfb1941c2ae255083dd06ce164504a9400e6a9f8c
1 /* Data required for function inlining. */
2 typedef struct inline_data
4 /* FUNCTION_DECL for function being inlined. */
5 tree callee;
6 /* FUNCTION_DECL for function being inlined into. */
7 tree caller;
8 /* struct function for function being inlined. Usually this is the same
9 as DECL_STRUCT_FUNCTION (callee), but can be different if saved_cfg
10 and saved_eh are in use. */
11 struct function *callee_cfun;
12 /* The VAR_DECL for the return value. */
13 tree retvar;
14 /* The map from local declarations in the inlined function to
15 equivalents in the function into which it is being inlined. */
16 splay_tree decl_map;
17 /* We use the same mechanism to build clones that we do to perform
18 inlining. However, there are a few places where we need to
19 distinguish between those two situations. This flag is true if
20 we are cloning, rather than inlining. */
21 bool cloning_p;
22 /* Similarly for saving function body. */
23 bool saving_p;
24 /* Versioning function is slightly different from inlining. */
25 bool versioning_p;
26 /* Copy basic blocks in the same method only. */
27 bool copybb_only_p;
28 /* Callgraph node of function we are inlining into. */
29 struct cgraph_node *node;
30 /* Callgraph node of currently inlined function. */
31 struct cgraph_node *current_node;
32 /* Current BLOCK. */
33 tree block;
34 varray_type ipa_info;
35 /* Exception region the inlined call lie in. */
36 int eh_region;
37 /* Take region number in the function being copied, add this value and
38 get eh region number of the duplicate in the function we inline into. */
39 int eh_region_offset;
40 } inline_data;
42 /* Duplicate code. */
43 basic_block copy_bb (inline_data *, basic_block, int, int);
44 void copy_edges_for_bb (basic_block, int);