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