Mercurial > hg > CbC > CbC_gcc
comparison gcc/tree-inline.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Tree inlining hooks and declarations. | 1 /* Tree inlining hooks and declarations. |
2 Copyright (C) 2001-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2001-2018 Free Software Foundation, Inc. |
3 Contributed by Alexandre Oliva <aoliva@redhat.com> | 3 Contributed by Alexandre Oliva <aoliva@redhat.com> |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify | 7 GCC is free software; you can redistribute it and/or modify |
61 struct function *src_cfun; | 61 struct function *src_cfun; |
62 | 62 |
63 /* The VAR_DECL for the return value. */ | 63 /* The VAR_DECL for the return value. */ |
64 tree retvar; | 64 tree retvar; |
65 | 65 |
66 /* The VAR_DECL for the return bounds. */ | |
67 tree retbnd; | |
68 | |
69 /* Assign statements that need bounds copy. */ | 66 /* Assign statements that need bounds copy. */ |
70 vec<gimple *> assign_stmts; | 67 vec<gimple *> assign_stmts; |
71 | 68 |
72 /* The map from local declarations in the inlined function to | 69 /* The map from local declarations in the inlined function to |
73 equivalents in the function into which it is being inlined. */ | 70 equivalents in the function into which it is being inlined. */ |
80 tree block; | 77 tree block; |
81 | 78 |
82 /* GIMPLE_CALL if va arg parameter packs should be expanded or NULL | 79 /* GIMPLE_CALL if va arg parameter packs should be expanded or NULL |
83 is not. */ | 80 is not. */ |
84 gcall *call_stmt; | 81 gcall *call_stmt; |
82 | |
83 /* > 0 if we are remapping a type currently. */ | |
84 int remapping_type_depth; | |
85 | 85 |
86 /* Exception landing pad the inlined call lies in. */ | 86 /* Exception landing pad the inlined call lies in. */ |
87 int eh_lp_nr; | 87 int eh_lp_nr; |
88 | 88 |
89 /* Maps region and landing pad structures from the function being copied | 89 /* Maps region and landing pad structures from the function being copied |
111 bool transform_parameter; | 111 bool transform_parameter; |
112 | 112 |
113 /* True if this statement will need to be regimplified. */ | 113 /* True if this statement will need to be regimplified. */ |
114 bool regimplify; | 114 bool regimplify; |
115 | 115 |
116 /* True if trees should not be unshared. */ | 116 /* True if trees may not be unshared. */ |
117 bool do_not_unshare; | 117 bool do_not_unshare; |
118 | 118 |
119 /* > 0 if we are remapping a type currently. */ | 119 /* True if new declarations may not be created during type remapping. */ |
120 int remapping_type_depth; | 120 bool prevent_decl_creation_for_types; |
121 | |
122 /* True if the location information will need to be reset. */ | |
123 bool reset_location; | |
121 | 124 |
122 /* A function to be called when duplicating BLOCK nodes. */ | 125 /* A function to be called when duplicating BLOCK nodes. */ |
123 void (*transform_lang_insert_block) (tree); | 126 void (*transform_lang_insert_block) (tree); |
124 | 127 |
125 /* Statements that might be possibly folded. */ | 128 /* Statements that might be possibly folded. */ |
146 hash_map<dependence_hash, unsigned short> *dependence_map; | 149 hash_map<dependence_hash, unsigned short> *dependence_map; |
147 | 150 |
148 /* A list of addressable local variables remapped into the caller | 151 /* A list of addressable local variables remapped into the caller |
149 when inlining a call within an OpenMP SIMD-on-SIMT loop. */ | 152 when inlining a call within an OpenMP SIMD-on-SIMT loop. */ |
150 vec<tree> *dst_simt_vars; | 153 vec<tree> *dst_simt_vars; |
151 | |
152 /* Cilk keywords currently need to replace some variables that | |
153 ordinary nested functions do not. */ | |
154 bool remap_var_for_cilk; | |
155 | |
156 /* Do not create new declarations when within type remapping. */ | |
157 bool prevent_decl_creation_for_types; | |
158 }; | 154 }; |
159 | 155 |
160 /* Weights of constructions for estimate_num_insns. */ | 156 /* Weights of constructions for estimate_num_insns. */ |
161 | 157 |
162 struct eni_weights | 158 struct eni_weights |