31#define DEFGSCODE(SYM, STRING, STRUCT) SYM,
45#if defined ENABLE_GIMPLE_CHECKING
46#define gcc_gimple_checking_assert(EXPR) gcc_assert (EXPR)
52#define GIMPLE_CHECK(GS, CODE) \
54 const gimple *__gs = (GS); \
55 if (gimple_code (__gs) != (CODE)) \
56 gimple_check_failed (__gs, __FILE__, __LINE__, __FUNCTION__, \
57 (CODE), ERROR_MARK); \
69 const char *fun =
NULL)
88 const char *fun =
NULL)
98#define gcc_gimple_checking_assert(EXPR) ((void)(0 && (EXPR)))
99#define GIMPLE_CHECK(GS, CODE) (void)0
224struct GTY((desc (
"gimple_statement_structure (&%h)"), tag (
"GSS_BASE"),
241 unsigned int nontemporal_move : 1;
248 unsigned int plf : 2;
252 unsigned modified : 1;
255 unsigned has_volatile_ops : 1;
264 unsigned int subcode : 16;
312struct GTY((tag(
"GSS_WITH_OPS")))
321 tree GTY((length (
"%h.num_ops"))) op[1];
368 union GTY ((desc (
"%1.subcode & GF_CALL_INTERNAL"))) {
377 tree GTY((length ("%
h.num_ops"))) op[1];
397struct GTY((tag(
"GSS_BIND")))
421struct GTY((tag(
"GSS_CATCH")))
436struct GTY((tag(
"GSS_EH_FILTER")))
452struct GTY((tag(
"GSS_EH_ELSE")))
463struct GTY((tag(
"GSS_EH_MNT")))
474struct GTY((tag(
"GSS_PHI")))
493struct GTY((tag(
"GSS_EH_CTRL")))
503struct GTY((tag(
"GSS_EH_CTRL")))
510struct GTY((tag(
"GSS_EH_CTRL")))
520struct GTY((tag(
"GSS_TRY")))
550struct GTY((tag(
"GSS_WCE")))
568struct GTY((tag(
"GSS_ASM")))
626struct GTY((tag(
"GSS_OMP_FOR")))
668struct GTY((tag(
"GSS_OMP_PARALLEL_LAYOUT")))
678struct GTY((tag(
"GSS_OMP_PARALLEL_LAYOUT")))
686struct GTY((tag(
"GSS_OMP_PARALLEL_LAYOUT")))
695struct GTY((tag(
"GSS_OMP_TASK")))
717struct GTY((tag(
"GSS_OMP_SECTIONS")))
736struct GTY((tag(
"GSS_OMP_CONTINUE")))
751struct GTY((tag(
"GSS_OMP_SINGLE_LAYOUT")))
760struct GTY((tag(
"GSS_OMP_SINGLE_LAYOUT")))
767struct GTY((tag(
"GSS_OMP_PARALLEL_LAYOUT")))
774struct GTY((tag(
"GSS_OMP_SINGLE_LAYOUT")))
781struct GTY((tag(
"GSS_OMP_SINGLE_LAYOUT")))
793struct GTY((tag(
"GSS_OMP_ATOMIC_LOAD")))
805struct GTY((tag(
"GSS_OMP_ATOMIC_STORE_LAYOUT")))
814struct GTY((tag(
"GSS_OMP_ATOMIC_STORE_LAYOUT")))
822struct GTY((tag(
"GSS_OMP_ATOMIC_STORE_LAYOUT")))
832struct GTY((tag(
"GSS_ASSUME")))
850#define GTMA_IS_OUTER (1u << 0)
851#define GTMA_IS_RELAXED (1u << 1)
852#define GTMA_DECLARATION_MASK (GTMA_IS_OUTER | GTMA_IS_RELAXED)
855#define GTMA_HAVE_ABORT (1u << 2)
857#define GTMA_HAVE_LOAD (1u << 3)
858#define GTMA_HAVE_STORE (1u << 4)
860#define GTMA_MAY_ENTER_IRREVOCABLE (1u << 5)
867#define GTMA_DOES_GO_IRREVOCABLE (1u << 6)
870#define GTMA_HAS_NO_INSTRUMENTATION (1u << 7)
872struct GTY((tag(
"GSS_TRANSACTION")))
886#define DEFGSSTRUCT(SYM, STRUCT, HAS_TREE_OP) SYM,
888#include "gsstruct.def"
897struct GTY((tag(
"GSS_WITH_OPS")))
908struct GTY((tag(
"GSS_WITH_OPS")))
918struct GTY((tag(
"GSS_WITH_OPS")))
928struct GTY((tag(
"GSS_WITH_OPS")))
938struct GTY((tag(
"GSS_WITH_OPS")))
948struct GTY((tag(
"GSS_WITH_MEM_OPS")))
959struct GTY((tag(
"GSS_WITH_MEM_OPS")))
1957 g->location = location;
1965 return &
g->location;
2086 stmt->
plf |= (
unsigned int) plf;
2088 stmt->
plf &= ~((
unsigned int) plf);
2105 return stmt->
plf & ((
unsigned int) plf);
2573 gs->num_ops = num_ops;
2590 return (
tree *) ((
char *)
gs + off);
2879 return gs->nontemporal_move;
3093 return gs->u.internal_fn;
3171 return gs->u.fntype;
3317 return &call_stmt->
op[2];
3351 return gs->op[index + 3];
3369 return &
gs->op[index + 3];
3386 gs->op[index + 3] = arg;
3866 if (code ==
NE_EXPR && lhs != rhs)
3869 if (code ==
EQ_EXPR && lhs == rhs)
3891 if (code ==
NE_EXPR && lhs == rhs)
3894 if (code ==
EQ_EXPR && lhs != rhs)
4445 gs->subcode = (
unsigned int) kind;
4568 return gs->subcode != 0;
4640 if (result &&
TREE_CODE (result) == SSA_NAME)
4652 return &(
gs->args[index]);
4659 return &(
gs->args[index]);
4922 return gs->op[index + 1];
4933 gs->op[index + 1] = label;
5057#define GIMPLE_DEBUG_BIND_NOVALUE NULL_TREE
5081#undef GIMPLE_DEBUG_BIND_NOVALUE
6640 return &transaction_stmt->
body;
6648 return transaction_stmt->
body;
6694 return transaction_stmt->
subcode;
6704 transaction_stmt->
body = body;
6731 unsigned int subcode)
6733 transaction_stmt->
subcode = subcode;
6764#define CASE_GIMPLE_OMP \
6765 case GIMPLE_OMP_PARALLEL: \
6766 case GIMPLE_OMP_TASK: \
6767 case GIMPLE_OMP_FOR: \
6768 case GIMPLE_OMP_SECTIONS: \
6769 case GIMPLE_OMP_SECTIONS_SWITCH: \
6770 case GIMPLE_OMP_SINGLE: \
6771 case GIMPLE_OMP_TARGET: \
6772 case GIMPLE_OMP_TEAMS: \
6773 case GIMPLE_OMP_SCOPE: \
6774 case GIMPLE_OMP_SECTION: \
6775 case GIMPLE_OMP_STRUCTURED_BLOCK: \
6776 case GIMPLE_OMP_MASTER: \
6777 case GIMPLE_OMP_MASKED: \
6778 case GIMPLE_OMP_TASKGROUP: \
6779 case GIMPLE_OMP_ORDERED: \
6780 case GIMPLE_OMP_CRITICAL: \
6781 case GIMPLE_OMP_SCAN: \
6782 case GIMPLE_OMP_RETURN: \
6783 case GIMPLE_OMP_ATOMIC_LOAD: \
6784 case GIMPLE_OMP_ATOMIC_STORE: \
6785 case GIMPLE_OMP_CONTINUE
bool bb_in_transaction(basic_block bb)
Definition basic-block.h:505
#define EDGE_PRED(bb, i)
Definition basic-block.h:307
gimple * currently_expanding_gimple_stmt
Definition cfgexpand.cc:92
gcc::context * g
Definition context.cc:29
class edge_def * edge
Definition coretypes.h:342
const class edge_def * const_edge
Definition coretypes.h:343
const union tree_node * const_tree
Definition coretypes.h:98
#define GTY(x)
Definition coretypes.h:41
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
int alias_set_type
Definition coretypes.h:339
void copy_warning(location_t to, location_t from)
Definition diagnostic-spec.cc:185
volatile signed char sc
Definition fp-test.cc:68
built_in_function
Definition genmatch.cc:354
combined_fn
Definition genmatch.cc:365
internal_fn
Definition genmatch.cc:360
tree_code
Definition genmatch.cc:347
static struct filedep ** last
Definition genmddeps.cc:33
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
bool is_gimple_reg(tree t)
Definition gimple-expr.cc:794
tree gimple_call_addr_fndecl(const_tree fn)
Definition gimple-expr.h:164
bool gimple_assign_ssa_name_copy_p(gimple *gs)
Definition gimple.cc:1779
void annotate_all_with_location_after(gimple_seq seq, gimple_stmt_iterator gsi, location_t location)
Definition gimple.cc:1440
bool gimple_call_same_target_p(const gimple *c1, const gimple *c2)
Definition gimple.cc:1524
int gimple_call_retslot_flags(const gcall *stmt)
Definition gimple.cc:1642
gimple * gimple_alloc(enum gimple_code code, unsigned num_ops MEM_STAT_DECL)
Definition gimple.cc:144
gbind * gimple_build_bind(tree vars, gimple_seq body, tree block)
Definition gimple.cc:608
bool gimple_call_builtin_p(const gimple *stmt)
Definition gimple.cc:2874
greturn * gimple_build_return(tree retval)
Definition gimple.cc:196
gdebug * gimple_build_debug_begin_stmt(tree block, location_t location MEM_STAT_DECL)
Definition gimple.cc:895
gimple * gimple_copy(gimple *stmt)
Definition gimple.cc:1976
gdebug * gimple_build_debug_bind(tree var, tree value, gimple *stmt MEM_STAT_DECL)
Definition gimple.cc:853
const unsigned char gimple_rhs_class_table[]
Definition gimple.cc:2450
size_t gimple_size(enum gimple_code code, unsigned num_ops)
Definition gimple.cc:118
gomp_for * gimple_build_omp_for(gimple_seq body, int kind, tree clauses, size_t collapse, gimple_seq pre_body)
Definition gimple.cc:961
bool gimple_assign_copy_p(gimple *gs)
Definition gimple.cc:1769
gswitch * gimple_build_switch(tree index, tree default_label, const vec< tree > &args)
Definition gimple.cc:823
gomp_single * gimple_build_omp_single(gimple_seq body, tree clauses)
Definition gimple.cc:1209
int gimple_call_flags(const gimple *stmt)
Definition gimple.cc:1541
gcall * gimple_build_call_from_tree(tree t, tree fnptrtype)
Definition gimple.cc:361
bool gimple_has_side_effects(const gimple *s)
Definition gimple.cc:2252
void gimple_set_lhs(gimple *stmt, tree lhs)
Definition gimple.cc:1957
bool gimple_inexpensive_call_p(gcall *stmt)
Definition gimple.cc:3407
gimple * gimple_build_omp_return(bool wait_p)
Definition gimple.cc:1145
uint64_t gimple_alloc_sizes[(int) gimple_alloc_kind_all]
Definition gimple.cc:86
gomp_parallel * gimple_build_omp_parallel(gimple_seq body, tree clauses, tree child_fn, tree data_arg)
Definition gimple.cc:987
gimple * gimple_build_omp_masked(gimple_seq body, tree clauses)
Definition gimple.cc:1079
gasm * gimple_build_asm_vec(const char *string, vec< tree, va_gc > *inputs, vec< tree, va_gc > *outputs, vec< tree, va_gc > *clobbers, vec< tree, va_gc > *labels)
Definition gimple.cc:662
EXPORTED_CONST size_t gimple_ops_offset_[]
Definition gimple.cc:60
bool gimple_builtin_call_types_compatible_p(const gimple *stmt, tree fndecl)
Definition gimple.cc:2819
bool gimple_compare_field_offset(tree f1, tree f2)
Definition gimple.cc:2501
geh_dispatch * gimple_build_eh_dispatch(int region)
Definition gimple.cc:839
void gimple_assign_set_rhs_with_ops(gimple_stmt_iterator *gsi, enum tree_code code, tree op1, tree op2, tree op3)
Definition gimple.cc:1900
gassign * gimple_build_assign(tree lhs, tree rhs MEM_STAT_DECL)
Definition gimple.cc:449
uint64_t gimple_alloc_counts[(int) gimple_alloc_kind_all]
Definition gimple.cc:85
gimple * gimple_build_omp_master(gimple_seq body)
Definition gimple.cc:1065
gcall * gimple_call_copy_skip_args(gcall *stmt, bitmap args_to_skip)
Definition gimple.cc:2461
gimple * gimple_build_assume(tree guard, gimple_seq body)
Definition gimple.cc:1306
gimple * gimple_build_omp_sections_switch(void)
Definition gimple.cc:1196
gcond * gimple_build_cond_from_tree(tree cond, tree t_label, tree f_label)
Definition gimple.cc:549
gcall * gimple_build_call_internal(enum internal_fn fn, unsigned nargs,...)
Definition gimple.cc:322
ggoto * gimple_build_goto(tree dest)
Definition gimple.cc:585
gomp_target * gimple_build_omp_target(gimple_seq body, int kind, tree clauses)
Definition gimple.cc:1246
bool infer_nonnull_range_by_attribute(gimple *stmt, tree op)
Definition gimple.cc:3090
gomp_sections * gimple_build_omp_sections(gimple_seq body, tree clauses)
Definition gimple.cc:1181
void gimple_assign_set_rhs_from_tree(gimple_stmt_iterator *gsi, tree expr)
Definition gimple.cc:1883
gtry * gimple_build_try(gimple_seq eval, gimple_seq cleanup, enum gimple_try_flags kind)
Definition gimple.cc:755
geh_else * gimple_build_eh_else(gimple_seq n_body, gimple_seq e_body)
Definition gimple.cc:739
gomp_task * gimple_build_omp_task(gimple_seq body, tree clauses, tree child_fn, tree data_arg, tree copy_fn, tree arg_size, tree arg_align)
Definition gimple.cc:1012
bool nonfreeing_call_p(gimple *call)
Definition gimple.cc:2980
geh_mnt * gimple_build_eh_must_not_throw(tree decl)
Definition gimple.cc:725
gimple * gimple_build_omp_scope(gimple_seq body, tree clauses)
Definition gimple.cc:1228
gcall * gimple_build_call_valist(tree fn, unsigned nargs, va_list ap)
Definition gimple.cc:285
bool empty_body_p(gimple_seq body)
Definition gimple.cc:1486
int gimple_call_arg_flags(const gcall *stmt, unsigned arg)
Definition gimple.cc:1611
gomp_atomic_load * gimple_build_omp_atomic_load(tree lhs, tree rhs, enum omp_memory_order mo)
Definition gimple.cc:1279
gomp_teams * gimple_build_omp_teams(gimple_seq body, tree clauses)
Definition gimple.cc:1265
location_t gimple_or_expr_nonartificial_location(gimple *stmt, tree expr)
Definition gimple.cc:3421
gcatch * gimple_build_catch(tree types, gimple_seq handler)
Definition gimple.cc:696
void gimple_seq_add_stmt(gimple_seq *seq_p, gimple *gs)
Definition gimple.cc:1353
geh_filter * gimple_build_eh_filter(tree types, gimple_seq failure)
Definition gimple.cc:712
void gimple_cond_set_condition_from_tree(gcond *stmt, tree cond)
Definition gimple.cc:562
gdebug * gimple_build_debug_source_bind(tree var, tree value, gimple *stmt MEM_STAT_DECL)
Definition gimple.cc:873
gomp_continue * gimple_build_omp_continue(tree control_def, tree control_use)
Definition gimple.cc:1113
gimple * gimple_build_omp_section(gimple_seq body)
Definition gimple.cc:1035
void dump_gimple_statistics(void)
Definition gimple.cc:2371
bool gimple_could_trap_p_1(const gimple *s, bool include_mem, bool include_stores)
Definition gimple.cc:2288
gomp_scan * gimple_build_omp_scan(gimple_seq body, tree clauses)
Definition gimple.cc:1162
void gimple_seq_set_location(gimple_seq seq, location_t loc)
Definition gimple.cc:3365
glabel * gimple_build_label(tree label)
Definition gimple.cc:574
void dump_decl_set(FILE *file, bitmap set)
Definition gimple.cc:2956
EXPORTED_CONST enum gimple_statement_structure_enum gss_for_code_[]
Definition gimple.cc:78
bool gimple_assign_load_p(const gimple *gs)
Definition gimple.cc:1815
bool infer_nonnull_range(gimple *stmt, tree op)
Definition gimple.cc:3061
bool infer_nonnull_range_by_dereference(gimple *stmt, tree op)
Definition gimple.cc:3070
void gimple_seq_add_seq(gimple_seq *dst_p, gimple_seq src)
Definition gimple.cc:1385
gcall * gimple_build_call_vec(tree fn, const vec< tree > &args)
Definition gimple.cc:245
void gimple_init(gimple *g, enum gimple_code code, unsigned num_ops)
Definition gimple.cc:129
gimple * gimple_build_omp_structured_block(gimple_seq body)
Definition gimple.cc:1050
tree gimple_call_nonnull_arg(gcall *call)
Definition gimple.cc:1744
gcall * gimple_build_call_internal_vec(enum internal_fn fn, const vec< tree > &args)
Definition gimple.cc:342
tree gimple_get_lhs(const gimple *stmt)
Definition gimple.cc:1938
gcall * gimple_build_call(tree fn, unsigned nargs,...)
Definition gimple.cc:262
bool gimple_call_nonnull_result_p(gcall *call)
Definition gimple.cc:1718
void gimple_seq_discard(gimple_seq seq)
Definition gimple.cc:3374
bool gimple_asm_clobbers_memory_p(const gasm *stmt)
Definition gimple.cc:2935
gimple * gimple_build_wce(gimple_seq cleanup)
Definition gimple.cc:776
void gimple_set_bb(gimple *stmt, basic_block bb)
Definition gimple.cc:1835
bool gimple_could_trap_p(const gimple *s)
Definition gimple.cc:2353
void gimple_call_reset_alias_info(gcall *s)
Definition gimple.cc:209
gresx * gimple_build_resx(int region)
Definition gimple.cc:789
bool gimple_assign_rhs_could_trap_p(gimple *s)
Definition gimple.cc:2361
gimple * gimple_build_nop(void)
Definition gimple.cc:597
gdebug * gimple_build_debug_inline_entry(tree block, location_t location MEM_STAT_DECL)
Definition gimple.cc:916
gimple * gimple_build_omp_taskgroup(gimple_seq body, tree clauses)
Definition gimple.cc:1096
gomp_ordered * gimple_build_omp_ordered(gimple_seq body, tree clauses)
Definition gimple.cc:1129
int gimple_call_return_flags(const gcall *stmt)
Definition gimple.cc:1698
bool gimple_call_operator_delete_p(const gcall *stmt)
Definition gimple.cc:2862
int gimple_call_static_chain_flags(const gcall *stmt)
Definition gimple.cc:1670
gtransaction * gimple_build_transaction(gimple_seq body)
Definition gimple.cc:1318
void preprocess_case_label_vec_for_gimple(vec< tree > &labels, tree index_type, tree *default_casep)
Definition gimple.cc:3198
gcond * gimple_build_cond(enum tree_code pred_code, tree lhs, tree rhs, tree t_label, tree f_label)
Definition gimple.cc:531
void annotate_all_with_location(gimple_seq stmt_p, location_t location)
Definition gimple.cc:1455
gimple_seq gimple_seq_copy(gimple_seq src)
Definition gimple.cc:1504
gomp_critical * gimple_build_omp_critical(gimple_seq body, tree name, tree clauses)
Definition gimple.cc:940
tree gimple_signed_type(tree type)
Definition gimple.cc:2738
void gimple_seq_add_stmt_without_update(gimple_seq *seq_p, gimple *gs)
Definition gimple.cc:1370
gcall * gimple_build_builtin_unreachable(location_t loc)
Definition gimple.cc:433
void sort_case_labels(vec< tree > &label_vec)
Definition gimple.cc:3173
gswitch * gimple_build_switch_nlabels(unsigned nlabels, tree index, tree default_label)
Definition gimple.cc:804
combined_fn gimple_call_combined_fn(const gimple *stmt)
Definition gimple.cc:2915
unsigned get_gimple_rhs_num_ops(enum tree_code code)
Definition gimple.cc:2405
bool gimple_assign_unary_nop_p(gimple *gs)
Definition gimple.cc:1802
void maybe_remove_unused_call_args(struct function *fn, gimple *stmt)
Definition gimple.cc:3392
bool nonbarrier_call_p(gimple *call)
Definition gimple.cc:3026
tree gimple_unsigned_type(tree type)
Definition gimple.cc:2729
void gimple_move_vops(gimple *new_stmt, gimple *old_stmt)
Definition gimple.cc:2236
bool gimple_ior_addresses_taken(bitmap addresses_taken, gimple *stmt)
Definition gimple.cc:2808
alias_set_type gimple_get_alias_set(tree t)
Definition gimple.cc:2748
gomp_atomic_store * gimple_build_omp_atomic_store(tree val, enum omp_memory_order mo)
Definition gimple.cc:1294
void gimple_seq_add_seq_without_update(gimple_seq *dst_p, gimple_seq src)
Definition gimple.cc:1400
gimple * gimple_build_omp_scope(gimple_seq, tree)
Definition gimple.cc:1228
void gimple_omp_target_set_clauses(gomp_target *omp_target_stmt, tree clauses)
Definition gimple.h:6160
gimple_alloc_kind
Definition gimple.h:6850
@ gimple_alloc_kind_assign
Definition gimple.h:6851
@ gimple_alloc_kind_phi
Definition gimple.h:6852
@ gimple_alloc_kind_rest
Definition gimple.h:6854
@ gimple_alloc_kind_all
Definition gimple.h:6855
@ gimple_alloc_kind_cond
Definition gimple.h:6853
gomp_for * gimple_build_omp_for(gimple_seq, int, tree, size_t, gimple_seq)
Definition gimple.cc:961
gimple * currently_expanding_gimple_stmt
Definition cfgexpand.cc:92
tree gimple_transaction_label_uninst(const gtransaction *transaction_stmt)
Definition gimple.h:6619
tree gimple_label_label(const glabel *gs)
Definition gimple.h:3889
tree * gimple_omp_task_arg_size_ptr(gimple *gs)
Definition gimple.h:6061
tree gimple_omp_task_arg_size(const gimple *gs)
Definition gimple.h:6051
tree * gimple_omp_scope_clauses_ptr(gimple *gs)
Definition gimple.h:5375
gimple * gimple_seq_node
Definition gimple.h:28
bool gimple_clobber_p(const gimple *s)
Definition gimple.h:2932
void gimple_omp_task_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:5799
void gimple_cond_set_code(gcond *gs, enum tree_code code)
Definition gimple.h:3667
bool gimple_compare_field_offset(tree, tree)
Definition gimple.cc:2501
location_t gimple_location(const gimple *g)
Definition gimple.h:1888
tree * gimple_catch_types_ptr(gcatch *catch_stmt)
Definition gimple.h:4216
tree gimple_omp_for_initial(const gimple *gs, size_t i)
Definition gimple.h:5563
gimple_seq gimple_eh_else_n_body(const geh_else *eh_else_stmt)
Definition gimple.h:4348
bool gimple_seq_singleton_p(gimple_seq seq)
Definition gimple.h:1966
gimple_seq * gimple_omp_for_pre_body_ptr(gimple *gs)
Definition gimple.h:5663
static void gimple_call_set_expected_throw(gcall *s, bool expected_throw_p)
Definition gimple.h:3524
tree * gimple_omp_task_child_fn_ptr(gimple *gs)
Definition gimple.h:5869
void gimple_omp_set_subcode(gimple *s, unsigned int subcode)
Definition gimple.h:2313
gimple_seq gimple_eh_filter_failure(const gimple *gs)
Definition gimple.h:4296
gimple_seq_node gimple_seq_last(gimple_seq s)
Definition gimple.h:1713
tree gimple_bind_block(const gbind *bind_stmt)
Definition gimple.h:4000
void gimple_omp_atomic_store_set_val(gomp_atomic_store *store_stmt, tree val)
Definition gimple.h:6412
tree * gimple_op_ptr(gimple *gs, unsigned i)
Definition gimple.h:2564
gimple * gimple_build_omp_taskgroup(gimple_seq, tree)
Definition gimple.cc:1096
void copy_warning(gimple *, const gimple *) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2)
Definition warning-control.cc:253
tree gimple_cond_lhs(const gcond *gs)
Definition gimple.h:3676
void gimple_transaction_set_label_norm(gtransaction *transaction_stmt, tree label)
Definition gimple.h:6663
gcond * gimple_build_cond(enum tree_code, tree, tree, tree, tree)
Definition gimple.cc:531
tree gimple_omp_ordered_clauses(const gomp_ordered *ord_stmt)
Definition gimple.h:5237
tree gimple_block(const gimple *g)
Definition gimple.h:1869
void gimple_try_set_eval(gtry *try_stmt, gimple_seq eval)
Definition gimple.h:4470
tree * gimple_omp_taskreg_data_arg_ptr(gimple *gs)
Definition gimple.h:5999
gswitch * gimple_build_switch_nlabels(unsigned, tree, tree)
Definition gimple.cc:804
int gimple_call_static_chain_flags(const gcall *)
Definition gimple.cc:1670
tree * gimple_vdef_ptr(gimple *g)
Definition gimple.h:2211
void gimple_set_bb(gimple *, basic_block)
Definition gimple.cc:1835
bool gimple_omp_task_taskloop_p(const gimple *g)
Definition gimple.h:5810
void gimple_bind_append_vars(gbind *bind_stmt, tree vars)
Definition gimple.h:3947
const unsigned char gimple_rhs_class_table[]
Definition gimple.cc:2450
void gimple_omp_task_set_taskwait_p(gimple *g, bool taskwait_p)
Definition gimple.h:5846
bool infer_nonnull_range_by_dereference(gimple *, tree)
Definition gimple.cc:3070
gresx * gimple_build_resx(int)
Definition gimple.cc:789
tree gimple_omp_task_child_fn(const gimple *gs)
Definition gimple.h:5859
bool gimple_asm_input_p(const gasm *asm_stmt)
Definition gimple.h:4198
gcall * gimple_build_call_internal(enum internal_fn, unsigned,...)
Definition gimple.cc:322
gimple_seq * gimple_eh_else_n_body_ptr(geh_else *eh_else_stmt)
Definition gimple.h:4342
const char *const gimple_code_name[]
Definition gimple.cc:72
void gimple_assign_set_rhs2(gassign *gs, tree rhs)
Definition gimple.h:2746
void gimple_assign_set_rhs_from_tree(gimple_stmt_iterator *, tree)
Definition gimple.cc:1883
void gimple_bind_add_seq(gbind *bind_stmt, gimple_seq seq)
Definition gimple.h:3990
bool gimple_call_nothrow_p(gcall *s)
Definition gimple.h:3514
tree * gimple_omp_teams_data_arg_ptr(gomp_teams *omp_teams_stmt)
Definition gimple.h:6312
tree gimple_omp_atomic_load_rhs(const gomp_atomic_load *load_stmt)
Definition gimple.h:6475
void gimple_omp_task_set_child_fn(gimple *gs, tree child_fn)
Definition gimple.h:5879
bool gimple_has_ops(const gimple *g)
Definition gimple.h:2103
int gimple_call_arg_flags(const gcall *, unsigned)
Definition gimple.cc:1611
tree gimple_op(const gimple *gs, unsigned i)
Definition gimple.h:2550
tree * gimple_ops(gimple *gs)
Definition gimple.h:2533
gimple * gimple_build_omp_return(bool)
Definition gimple.cc:1145
tree * gimple_omp_taskreg_child_fn_ptr(gimple *gs)
Definition gimple.h:5965
bool gimple_cond_true_p(const gcond *gs)
Definition gimple.h:3807
tree gimple_assume_guard(const gimple *gs)
Definition gimple.h:6544
void gimple_debug_bind_reset_value(gimple *dbg)
Definition gimple.h:5016
void gimple_omp_teams_set_data_arg(gomp_teams *omp_teams_stmt, tree data_arg)
Definition gimple.h:6321
bool gimple_debug_inline_entry_p(const gimple *s)
Definition gimple.h:5114
bool gimple_omp_atomic_need_value_p(const gimple *g)
Definition gimple.h:2446
void gimple_assign_set_rhs3(gassign *gs, tree rhs)
Definition gimple.h:2793
void gimple_cond_make_false(gcond *gs)
Definition gimple.h:3785
void gimple_omp_target_set_child_fn(gomp_target *omp_target_stmt, tree child_fn)
Definition gimple.h:6208
gimple * gimple_seq_first_stmt(gimple_seq s)
Definition gimple.h:1693
tree * gimple_omp_for_initial_ptr(gimple *gs, size_t i)
Definition gimple.h:5574
void gimple_omp_teams_set_host(gomp_teams *omp_teams_stmt, bool value)
Definition gimple.h:6337
tree * gimple_omp_sections_control_ptr(gimple *gs)
Definition gimple.h:6391
void gimple_omp_task_set_data_arg(gimple *gs, tree data_arg)
Definition gimple.h:5910
void gimple_bind_set_body(gbind *bind_stmt, gimple_seq seq)
Definition gimple.h:3972
tree gimple_eh_filter_types(const gimple *gs)
Definition gimple.h:4263
tree gimple_vdef(const gimple *g)
Definition gimple.h:2187
gimple * gimple_copy(gimple *)
Definition gimple.cc:1976
void gimple_asm_set_volatile(gasm *asm_stmt, bool volatile_p)
Definition gimple.h:4153
void gimple_omp_parallel_set_combined_p(gimple *g, bool combined_p)
Definition gimple.h:2432
bool gimple_store_p(const gimple *gs)
Definition gimple.h:2907
#define CASE_GIMPLE_OMP
Definition gimple.h:6717
bool gimple_has_lhs(const gimple *stmt)
Definition gimple.h:3638
bool gimple_assign_nontemporal_move_p(const gassign *gs)
Definition gimple.h:2830
void gimple_omp_for_set_pre_body(gimple *gs, gimple_seq pre_body)
Definition gimple.h:5684
void gimple_call_set_tail(gcall *s, bool tail_p)
Definition gimple.h:3355
tree * gimple_call_chain_ptr(gcall *call_stmt)
Definition gimple.h:3268
void gimple_phi_set_result(gphi *phi, tree result)
Definition gimple.h:4590
unsigned gimple_omp_subcode(const gimple *s)
Definition gimple.h:2303
gimple_code
Definition gimple.h:30
@ LAST_AND_UNUSED_GIMPLE_CODE
Definition gimple.h:34
void gimple_debug_bind_set_value(gimple *dbg, tree value)
Definition gimple.h:5001
unsigned int gimple_stmt_max_uid(struct function *fn)
Definition gimple.h:1662
gcall * gimple_build_call(tree, unsigned,...)
Definition gimple.cc:262
void gimple_transaction_set_label_over(gtransaction *transaction_stmt, tree label)
Definition gimple.h:6675
int gimple_call_retslot_flags(const gcall *)
Definition gimple.cc:1642
location_t gimple_phi_arg_location(const gphi *phi, size_t i)
Definition gimple.h:4708
tree * gimple_omp_sections_clauses_ptr(gimple *gs)
Definition gimple.h:6358
tree gimple_debug_source_bind_get_value(const gimple *dbg)
Definition gimple.h:5061
bool gimple_has_substatements(gimple *g)
Definition gimple.h:1822
gomp_critical * gimple_build_omp_critical(gimple_seq, tree, tree)
Definition gimple.cc:940
void gimple_omp_ordered_set_clauses(gomp_ordered *ord_stmt, tree clauses)
Definition gimple.h:5257
bool gimple_call_va_arg_pack_p(const gcall *s)
Definition gimple.h:3477
gcatch * gimple_build_catch(tree, gimple_seq)
Definition gimple.cc:696
void gimple_omp_for_set_cond(gimple *gs, size_t i, enum tree_code cond)
Definition gimple.h:5518
tree gimple_debug_source_bind_get_var(const gimple *dbg)
Definition gimple.h:5050
bool gimple_debug_nonbind_marker_p(const gimple *s)
Definition gimple.h:5125
void gimple_cond_set_rhs(gcond *gs, tree rhs)
Definition gimple.h:3736
unsigned int inc_gimple_stmt_max_uid(struct function *fn)
Definition gimple.h:1676
tree gimple_transaction_label_norm(const gtransaction *transaction_stmt)
Definition gimple.h:6607
tree * gimple_omp_scan_clauses_ptr(gomp_scan *scan_stmt)
Definition gimple.h:5276
void gimple_omp_taskgroup_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:5318
gdebug * gimple_build_debug_bind(tree, tree, gimple *CXX_MEM_STAT_INFO)
bool gimple_omp_for_combined_p(const gimple *g)
Definition gimple.h:5418
tree * gimple_omp_atomic_store_val_ptr(gomp_atomic_store *store_stmt)
Definition gimple.h:6430
gcall * gimple_build_call_from_tree(tree, tree)
Definition gimple.cc:361
gomp_target * gimple_build_omp_target(gimple_seq, int, tree)
Definition gimple.cc:1246
gimple_seq phi_nodes(const_basic_block bb)
Definition gimple.h:4643
void gimple_set_visited(gimple *stmt, bool visited_p)
Definition gimple.h:2001
tree * gimple_omp_task_arg_align_ptr(gimple *gs)
Definition gimple.h:6091
gomp_task * gimple_build_omp_task(gimple_seq, tree, tree, tree, tree, tree, tree)
Definition gimple.cc:1012
void annotate_all_with_location(gimple_seq, location_t)
Definition gimple.cc:1455
tree gimple_unsigned_type(tree)
Definition gimple.cc:2729
bool gimple_assign_rhs_could_trap_p(gimple *)
Definition gimple.cc:2361
enum tree_code gimple_omp_for_cond(const gimple *gs, size_t i)
Definition gimple.h:5507
bool gimple_call_from_thunk_p(gcall *s)
Definition gimple.h:3431
bool gimple_call_internal_unique_p(const gcall *gs)
Definition gimple.h:3059
gbind * gimple_seq_first_stmt_as_a_bind(gimple_seq s)
Definition gimple.h:1703
void gimple_assign_set_rhs_with_ops(gimple_stmt_iterator *, enum tree_code, tree, tree, tree)
Definition gimple.cc:1900
void maybe_remove_unused_call_args(struct function *, gimple *)
Definition gimple.cc:3392
tree gimple_omp_teams_child_fn(const gomp_teams *omp_teams_stmt)
Definition gimple.h:6275
gimple_rhs_class
Definition gimple.h:117
@ GIMPLE_TERNARY_RHS
Definition gimple.h:119
@ GIMPLE_INVALID_RHS
Definition gimple.h:118
@ GIMPLE_SINGLE_RHS
Definition gimple.h:122
@ GIMPLE_UNARY_RHS
Definition gimple.h:121
@ GIMPLE_BINARY_RHS
Definition gimple.h:120
void gimple_bind_add_stmt(gbind *bind_stmt, gimple *stmt)
Definition gimple.h:3981
tree gimple_assign_rhs3(const gassign *gs)
Definition gimple.h:2763
void gimple_goto_set_dest(ggoto *gs, tree dest)
Definition gimple.h:3918
tree * gimple_arg_ptr(gimple *gs, unsigned int i)
Definition gimple.h:4775
bool gimple_asm_inline_p(const gasm *asm_stmt)
Definition gimple.h:4165
tree gimple_omp_target_clauses(const gimple *gs)
Definition gimple.h:6140
void gimple_omp_continue_set_control_use(gomp_continue *cont_stmt, tree use)
Definition gimple.h:6536
void gimple_transaction_set_body(gtransaction *transaction_stmt, gimple_seq body)
Definition gimple.h:6654
tree gimple_omp_scope_clauses(const gimple *gs)
Definition gimple.h:5363
tree gimple_omp_for_incr(const gimple *gs, size_t i)
Definition gimple.h:5629
size_t gimple_size(enum gimple_code code, unsigned num_ops=0)
Definition gimple.cc:118
combined_fn gimple_call_combined_fn(const gimple *)
Definition gimple.cc:2915
unsigned gimple_switch_num_labels(const gswitch *gs)
Definition gimple.h:4820
void gimple_wce_set_cleanup(gimple *gs, gimple_seq cleanup)
Definition gimple.h:4508
tree gimple_switch_index(const gswitch *gs)
Definition gimple.h:4843
gimple * gimple_build_omp_sections_switch(void)
Definition gimple.cc:1196
gimple * gimple_seq_last_stmt(gimple_seq s)
Definition gimple.h:1722
bool gimple_assign_cast_p(const gimple *s)
Definition gimple.h:2916
void dump_decl_set(FILE *, bitmap)
Definition gimple.cc:2956
void gimple_omp_target_set_kind(gomp_target *g, int kind)
Definition gimple.h:6180
void gimple_seq_add_seq_without_update(gimple_seq *, gimple_seq)
Definition gimple.cc:1400
unsigned gimple_asm_nlabels(const gasm *asm_stmt)
Definition gimple.h:4047
tree gimple_omp_parallel_data_arg(const gomp_parallel *omp_parallel_stmt)
Definition gimple.h:5751
int get_lineno(const gimple *stmt)
Definition gimple.h:5137
ggoto * gimple_build_goto(tree dest)
Definition gimple.cc:585
void gimple_call_set_fntype(gcall *call_stmt, tree fntype)
Definition gimple.h:3137
void gimple_omp_task_set_arg_align(gimple *gs, tree arg_align)
Definition gimple.h:6101
unsigned gimple_call_num_args(const gcall *gs)
Definition gimple.h:3285
unsigned gimple_num_ops(const gimple *gs)
Definition gimple.h:2515
tree gimple_omp_parallel_clauses(const gimple *gs)
Definition gimple.h:5693
void gimple_switch_set_index(gswitch *gs, tree index)
Definition gimple.h:4861
gdebug * gimple_build_debug_source_bind(tree, tree, gimple *CXX_MEM_STAT_INFO)
void suppress_warning(gimple *, opt_code=all_warnings, bool=true) ATTRIBUTE_NONNULL(1)
Definition warning-control.cc:173
unsigned gimple_asm_noutputs(const gasm *asm_stmt)
Definition gimple.h:4030
bool gimple_debug_bind_p(const gimple *s)
Definition gimple.h:4947
bool gimple_omp_task_taskwait_p(const gimple *g)
Definition gimple.h:5835
void gimple_seq_set_last(gimple_seq *ps, gimple_seq_node last)
Definition gimple.h:1732
tree * gimple_omp_parallel_clauses_ptr(gomp_parallel *omp_parallel_stmt)
Definition gimple.h:5703
gf_mask
Definition gimple.h:137
@ GF_OMP_ATOMIC_NEED_VALUE
Definition gimple.h:200
@ GF_OMP_TARGET_KIND_ENTER_DATA
Definition gimple.h:169
@ GF_CALL_MUST_TAIL_CALL
Definition gimple.h:149
@ GF_OMP_TARGET_KIND_OACC_SERIAL
Definition gimple.h:173
@ GF_CALL_INTERNAL
Definition gimple.h:147
@ GF_OMP_ATOMIC_MEMORY_ORDER
Definition gimple.h:199
@ GF_CALL_NOTHROW
Definition gimple.h:145
@ GF_OMP_RETURN_NOWAIT
Definition gimple.h:195
@ GF_OMP_TARGET_KIND_OACC_DATA_KERNELS
Definition gimple.h:188
@ GF_CALL_CTRL_ALTERING
Definition gimple.h:148
@ GF_OMP_TEAMS_HOST
Definition gimple.h:189
@ GF_CALL_VA_ARG_PACK
Definition gimple.h:144
@ GF_OMP_PARALLEL_COMBINED
Definition gimple.h:154
@ GF_OMP_SECTION_LAST
Definition gimple.h:197
@ GF_OMP_TARGET_KIND_OACC_DATA
Definition gimple.h:174
@ GF_CALL_RETURN_SLOT_OPT
Definition gimple.h:142
@ GF_OMP_TARGET_KIND_EXIT_DATA
Definition gimple.h:170
@ GF_OMP_TARGET_KIND_DATA
Definition gimple.h:167
@ GF_OMP_TARGET_KIND_OACC_EXIT_DATA
Definition gimple.h:177
@ GF_PREDICT_TAKEN
Definition gimple.h:202
@ GF_CALL_TAILCALL
Definition gimple.h:143
@ GF_OMP_FOR_KIND_SIMD
Definition gimple.h:162
@ GF_OMP_TASK_TASKWAIT
Definition gimple.h:156
@ GF_OMP_TARGET_KIND_OACC_UPDATE
Definition gimple.h:175
@ GF_OMP_TARGET_KIND_OACC_PARALLEL_KERNELS_PARALLELIZED
Definition gimple.h:182
@ GF_OMP_TARGET_KIND_OACC_KERNELS
Definition gimple.h:172
@ GF_OMP_TARGET_KIND_MASK
Definition gimple.h:165
@ GF_OMP_FOR_KIND_TASKLOOP
Definition gimple.h:160
@ GF_CALL_BY_DESCRIPTOR
Definition gimple.h:150
@ GF_ASM_INPUT
Definition gimple.h:138
@ GF_CALL_FROM_THUNK
Definition gimple.h:141
@ GF_OMP_ORDERED_STANDALONE
Definition gimple.h:198
@ GF_OMP_TASK_TASKLOOP
Definition gimple.h:155
@ GF_OMP_FOR_COMBINED_INTO
Definition gimple.h:164
@ GF_OMP_ATOMIC_WEAK
Definition gimple.h:201
@ GF_OMP_TARGET_KIND_UPDATE
Definition gimple.h:168
@ GF_OMP_TARGET_KIND_REGION
Definition gimple.h:166
@ GF_ASM_INLINE
Definition gimple.h:140
@ GF_CALL_XTHROW
Definition gimple.h:153
@ GF_OMP_TARGET_KIND_OACC_HOST_DATA
Definition gimple.h:179
@ GF_CALL_FROM_NEW_OR_DELETE
Definition gimple.h:152
@ GF_OMP_FOR_KIND_MASK
Definition gimple.h:157
@ GF_OMP_FOR_COMBINED
Definition gimple.h:163
@ GF_OMP_FOR_KIND_OACC_LOOP
Definition gimple.h:161
@ GF_OMP_TARGET_KIND_OACC_DECLARE
Definition gimple.h:178
@ GF_ASM_VOLATILE
Definition gimple.h:139
@ GF_CALL_ALLOCA_FOR_VAR
Definition gimple.h:146
@ GF_OMP_FOR_KIND_DISTRIBUTE
Definition gimple.h:159
@ GF_OMP_TARGET_KIND_OACC_PARALLEL
Definition gimple.h:171
@ GF_OMP_TARGET_KIND_OACC_ENTER_DATA
Definition gimple.h:176
@ GF_OMP_FOR_KIND_FOR
Definition gimple.h:158
@ GF_OMP_TARGET_KIND_OACC_PARALLEL_KERNELS_GANG_SINGLE
Definition gimple.h:185
@ GF_CALL_NOCF_CHECK
Definition gimple.h:151
enum gimple_statement_structure_enum gss_for_code(enum gimple_code code)
Definition gimple.h:1802
bool gimple_could_trap_p(const gimple *)
Definition gimple.cc:2353
tree * gimple_omp_for_index_ptr(gimple *gs, size_t i)
Definition gimple.h:5541
void gimple_omp_return_set_nowait(gimple *s)
Definition gimple.h:2324
void gimple_call_set_from_new_or_delete(gcall *s, bool from_new_or_delete_p)
Definition gimple.h:3441
tree gimple_omp_for_final(const gimple *gs, size_t i)
Definition gimple.h:5596
tree * gimple_omp_task_copy_fn_ptr(gimple *gs)
Definition gimple.h:6031
tree * gimple_omp_teams_child_fn_ptr(gomp_teams *omp_teams_stmt)
Definition gimple.h:6284
tree * gimple_omp_for_clauses_ptr(gimple *gs)
Definition gimple.h:5476
void gimple_init_singleton(gimple *g)
Definition gimple.h:2093
gimple_seq gimple_eh_else_e_body(const geh_else *eh_else_stmt)
Definition gimple.h:4360
bool gimple_call_nonnull_result_p(gcall *)
Definition gimple.cc:1718
void gimple_omp_task_set_taskloop_p(gimple *g, bool taskloop_p)
Definition gimple.h:5821
void gimple_omp_for_set_index(gimple *gs, size_t i, tree index)
Definition gimple.h:5552
void gimple_catch_set_types(gcatch *catch_stmt, tree t)
Definition gimple.h:4245
gimple_seq gimple_try_cleanup(const gimple *gs)
Definition gimple.h:4447
gimple_seq * gimple_catch_handler_ptr(gcatch *catch_stmt)
Definition gimple.h:4226
T GIMPLE_CHECK2(gimple *gs)
Definition gimple.h:102
void gimple_set_use_ops(gimple *g, struct use_optype_d *use)
Definition gimple.h:2164
gcall * gimple_build_builtin_unreachable(location_t)
Definition gimple.cc:433
tree * gimple_assign_rhs1_ptr(gassign *gs)
Definition gimple.h:2677
tree * gimple_debug_source_bind_get_value_ptr(gimple *dbg)
Definition gimple.h:5072
bool gimple_call_ctrl_altering_p(const gcall *gs)
Definition gimple.h:3104
void gimple_omp_sections_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:6369
tree * gimple_omp_return_lhs_ptr(gimple *g)
Definition gimple.h:2367
gcall * gimple_build_call_internal_vec(enum internal_fn, const vec< tree > &)
Definition gimple.cc:342
tree * gimple_omp_parallel_data_arg_ptr(gomp_parallel *omp_parallel_stmt)
Definition gimple.h:5760
void gimple_cond_set_condition_from_tree(gcond *, tree)
Definition gimple.cc:562
void gimple_eh_else_set_e_body(geh_else *eh_else_stmt, gimple_seq seq)
Definition gimple.h:4372
tree * gimple_omp_atomic_load_rhs_ptr(gomp_atomic_load *load_stmt)
Definition gimple.h:6484
gimple_seq * gimple_wce_cleanup_ptr(gimple *gs)
Definition gimple.h:4489
bool gimple_assign_unary_nop_p(gimple *)
Definition gimple.cc:1802
void gimple_eh_dispatch_set_region(geh_dispatch *eh_dispatch_stmt, int region)
Definition gimple.h:4812
tree gimple_phi_result(const gphi *gs)
Definition gimple.h:4560
void gimple_assign_set_lhs(gassign *gs, tree lhs)
Definition gimple.h:2641
void gimple_asm_set_output_op(gasm *asm_stmt, unsigned index, tree out_op)
Definition gimple.h:4084
bool gimple_ior_addresses_taken(bitmap, gimple *)
Definition gimple.cc:2808
bool nonbarrier_call_p(gimple *)
Definition gimple.cc:3026
location_t gimple_location_safe(const gimple *g)
Definition gimple.h:1897
tree gimple_debug_bind_get_value(const gimple *dbg)
Definition gimple.h:4969
#define GIMPLE_CHECK(GS, CODE)
Definition gimple.h:99
gimple_seq * gimple_assume_body_ptr(gimple *gs)
Definition gimple.h:6571
tree * gimple_assume_guard_ptr(gimple *gs)
Definition gimple.h:6561
enum gimple_rhs_class gimple_assign_rhs_class(const gimple *gs)
Definition gimple.h:2886
bool stmt_can_terminate_bb_p(gimple *)
Definition tree-cfg.cc:8829
tree gimple_omp_masked_clauses(const gimple *gs)
Definition gimple.h:5329
void gimple_omp_for_set_combined_into_p(gomp_for *g, bool combined_p)
Definition gimple.h:5453
unsigned gimple_asm_ninputs(const gasm *asm_stmt)
Definition gimple.h:4021
void gimple_omp_critical_set_name(gomp_critical *crit_stmt, tree name)
Definition gimple.h:5199
void gimple_try_set_catch_is_cleanup(gtry *g, bool catch_is_cleanup)
Definition gimple.h:4456
void gimple_omp_taskreg_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:5943
gimple_seq * gimple_omp_body_ptr(gimple *gs)
Definition gimple.h:5154
bool gimple_seq_empty_p(gimple_seq s)
Definition gimple.h:1750
tree gimple_cond_false_label(const gcond *gs)
Definition gimple.h:3776
bool gimple_omp_teams_host(const gomp_teams *omp_teams_stmt)
Definition gimple.h:6329
struct use_optype_d * gimple_use_ops(const gimple *g)
Definition gimple.h:2151
location_t gimple_or_expr_nonartificial_location(gimple *, tree)
Definition gimple.cc:3421
bool gimple_call_alloca_for_var_p(gcall *s)
Definition gimple.h:3558
bool gimple_do_not_emit_location_p(gimple *g)
Definition gimple.h:6882
void set_gimple_stmt_max_uid(struct function *fn, unsigned int maxid)
Definition gimple.h:1669
tree * gimple_cond_lhs_ptr(gcond *gs)
Definition gimple.h:3692
tree gimple_omp_continue_control_use(const gomp_continue *cont_stmt)
Definition gimple.h:6518
tree gimple_omp_teams_clauses(const gimple *gs)
Definition gimple.h:6247
gimple_seq bb_seq(const_basic_block bb)
Definition gimple.h:1769
void gimple_omp_continue_set_control_def(gomp_continue *cont_stmt, tree def)
Definition gimple.h:6509
void annotate_all_with_location_after(gimple_seq, gimple_stmt_iterator, location_t)
Definition gimple.cc:1440
bool is_gimple_debug(const gimple *gs)
Definition gimple.h:4911
void gimple_omp_atomic_load_set_rhs(gomp_atomic_load *load_stmt, tree rhs)
Definition gimple.h:6466
void gimple_eh_else_set_n_body(geh_else *eh_else_stmt, gimple_seq seq)
Definition gimple.h:4366
tree * gimple_omp_target_child_fn_ptr(gomp_target *omp_target_stmt)
Definition gimple.h:6199
tree * gimple_omp_taskreg_clauses_ptr(gimple *gs)
Definition gimple.h:5931
gswitch * gimple_build_switch(tree, tree, const vec< tree > &)
Definition gimple.cc:823
bool gimple_call_same_target_p(const gimple *, const gimple *)
Definition gimple.cc:1524
void gimple_assume_set_guard(gimple *gs, tree guard)
Definition gimple.h:6554
void dump_gimple_statistics(void)
Definition gimple.cc:2371
tree gimple_omp_atomic_store_val(const gomp_atomic_store *store_stmt)
Definition gimple.h:6421
bool gimple_call_return_slot_opt_p(const gcall *s)
Definition gimple.h:3409
void gimple_debug_source_bind_set_var(gimple *dbg, tree var)
Definition gimple.h:5082
tree * gimple_switch_index_ptr(gswitch *gs)
Definition gimple.h:4852
void gimple_omp_sections_set_control(gimple *gs, tree control)
Definition gimple.h:6402
gimple * gimple_build_omp_structured_block(gimple_seq)
Definition gimple.cc:1050
unsigned gimple_uid(const gimple *g)
Definition gimple.h:2084
bool gimple_omp_for_combined_into_p(const gimple *g)
Definition gimple.h:5442
bool gimple_references_memory_p(gimple *stmt)
Definition gimple.h:2294
tree gimple_omp_sections_clauses(const gimple *gs)
Definition gimple.h:6348
void gimple_call_set_chain(gcall *call_stmt, tree chain)
Definition gimple.h:3276
tree gimple_catch_types(const gcatch *catch_stmt)
Definition gimple.h:4207
tree * gimple_debug_bind_get_value_ptr(gimple *dbg)
Definition gimple.h:4980
tree * gimple_omp_target_clauses_ptr(gimple *gs)
Definition gimple.h:6150
geh_mnt * gimple_build_eh_must_not_throw(tree)
Definition gimple.cc:725
void gimple_set_block(gimple *g, tree block)
Definition gimple.h:1880
void gimple_omp_atomic_set_need_value(gimple *g)
Definition gimple.h:2457
void gimple_call_set_alloca_for_var(gcall *s, bool for_var)
Definition gimple.h:3547
void gimple_omp_for_set_combined_p(gomp_for *g, bool combined_p)
Definition gimple.h:5429
tree * gimple_assign_rhs3_ptr(gimple *gs)
Definition gimple.h:2782
gimple_debug_subcode
Definition gimple.h:207
@ GIMPLE_DEBUG_INLINE_ENTRY
Definition gimple.h:211
@ GIMPLE_DEBUG_BEGIN_STMT
Definition gimple.h:210
@ GIMPLE_DEBUG_BIND
Definition gimple.h:208
@ GIMPLE_DEBUG_SOURCE_BIND
Definition gimple.h:209
tree * gimple_omp_ordered_clauses_ptr(gomp_ordered *ord_stmt)
Definition gimple.h:5247
bool is_gimple_resx(const gimple *gs)
Definition gimple.h:6841
tree gimple_omp_continue_control_def(const gomp_continue *cont_stmt)
Definition gimple.h:6493
gomp_single * gimple_build_omp_single(gimple_seq, tree)
Definition gimple.cc:1209
tree gimple_omp_task_data_arg(const gimple *gs)
Definition gimple.h:5890
gimple_seq gimple_assume_body(const gimple *gs)
Definition gimple.h:6580
enum tree_code gimple_assign_rhs_code(const gassign *gs)
Definition gimple.h:2850
void gimple_catch_set_handler(gcatch *catch_stmt, gimple_seq handler)
Definition gimple.h:4254
tree gimple_call_fntype(const gcall *gs)
Definition gimple.h:3120
tree gimple_omp_task_arg_align(const gimple *gs)
Definition gimple.h:6081
bool gimple_debug_begin_stmt_p(const gimple *s)
Definition gimple.h:5103
bool warning_suppressed_p(const gimple *, opt_code=all_warnings) ATTRIBUTE_NONNULL(1)
Definition warning-control.cc:138
tree gimple_call_fn(const gcall *gs)
Definition gimple.h:3148
edge gimple_phi_arg_edge(const gphi *phi, size_t i)
Definition gimple.h:4700
void gimple_omp_masked_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:5352
bool is_gimple_assign(const gimple *gs)
Definition gimple.h:2592
enum internal_fn gimple_call_internal_fn(const gcall *gs)
Definition gimple.h:3043
tree * gimple_return_retval_ptr(greturn *gs)
Definition gimple.h:6692
bool gimple_could_trap_p_1(const gimple *, bool, bool)
Definition gimple.cc:2288
gimple * gimple_seq_first_nondebug_stmt(gimple_seq s)
Definition gimple.h:4920
tree gimple_asm_label_op(const gasm *asm_stmt, unsigned index)
Definition gimple.h:4115
void gimple_call_copy_flags(gcall *dest_call, gcall *orig_call)
Definition gimple.h:3593
void gimple_set_vuse(gimple *g, tree vuse)
Definition gimple.h:2223
glabel * gimple_build_label(tree label)
Definition gimple.cc:574
bool gimple_has_location(const gimple *g)
Definition gimple.h:1925
tree gimple_asm_clobber_op(const gasm *asm_stmt, unsigned index)
Definition gimple.h:4095
tree gimple_signed_type(tree)
Definition gimple.cc:2738
gimple_seq gimple_seq_copy(gimple_seq)
Definition gimple.cc:1504
void gimple_omp_for_set_incr(gimple *gs, size_t i, tree incr)
Definition gimple.h:5651
gimple_seq * gimple_try_eval_ptr(gimple *gs)
Definition gimple.h:4416
gcall * gimple_build_call_valist(tree, unsigned, va_list)
Definition gimple.cc:285
void gimple_transaction_set_subcode(gtransaction *transaction_stmt, unsigned int subcode)
Definition gimple.h:6683
tree * gimple_omp_taskgroup_clauses_ptr(gimple *gs)
Definition gimple.h:5307
tree gimple_omp_return_lhs(const gimple *g)
Definition gimple.h:2356
tree gimple_debug_bind_get_var(const gimple *dbg)
Definition gimple.h:4958
int gimple_omp_for_kind(const gimple *g)
Definition gimple.h:5397
void gimple_call_set_nothrow(gcall *s, bool nothrow_p)
Definition gimple.h:3503
void gimple_call_set_lhs(gcall *gs, tree lhs)
Definition gimple.h:2990
gimple_seq * gimple_eh_else_e_body_ptr(geh_else *eh_else_stmt)
Definition gimple.h:4354
tree * gimple_assign_lhs_ptr(gassign *gs)
Definition gimple.h:2625
bool gimple_wce_cleanup_eh_only(const gimple *gs)
Definition gimple.h:4518
greturn * gimple_build_return(tree)
Definition gimple.cc:196
tree * gimple_omp_continue_control_def_ptr(gomp_continue *cont_stmt)
Definition gimple.h:6501
void gimple_bind_set_vars(gbind *bind_stmt, tree vars)
Definition gimple.h:3937
enum tree_code gimple_cond_code(const gcond *gs)
Definition gimple.h:3651
tree gimple_call_return_type(const gcall *gs)
Definition gimple.h:3236
bool gimple_call_by_descriptor_p(gcall *s)
Definition gimple.h:3585
bool gimple_call_operator_delete_p(const gcall *)
Definition gimple.cc:2862
gtry * gimple_build_try(gimple_seq, gimple_seq, enum gimple_try_flags)
Definition gimple.cc:755
void gimple_call_set_from_thunk(gcall *s, bool from_thunk_p)
Definition gimple.h:3419
int gimple_omp_target_kind(const gimple *g)
Definition gimple.h:6170
tree * gimple_cond_rhs_ptr(gcond *gs)
Definition gimple.h:3726
enum gimple_rhs_class get_gimple_rhs_class(enum tree_code code)
Definition gimple.h:2601
bool gimple_in_transaction(const gimple *stmt)
Definition gimple.h:2286
bool is_gimple_call(const gimple *gs)
Definition gimple.h:2950
void gimple_assign_set_rhs1(gassign *gs, tree rhs)
Definition gimple.h:2692
void gimple_asm_set_inline(gasm *asm_stmt, bool inline_p)
Definition gimple.h:4174
size_t gimple_omp_for_collapse(const gimple *gs)
Definition gimple.h:5497
tree * gimple_omp_task_data_arg_ptr(gimple *gs)
Definition gimple.h:5900
bool gimple_cond_false_p(const gcond *gs)
Definition gimple.h:3832
static bool gimple_call_expected_throw_p(gcall *s)
Definition gimple.h:3536
void gimple_init(gimple *g, enum gimple_code code, unsigned num_ops)
Definition gimple.cc:129
tree gimple_switch_default_label(const gswitch *gs)
Definition gimple.h:4892
void gimple_call_set_fn(gcall *gs, tree fn)
Definition gimple.h:3180
location_t gimple_nonartificial_location(const gimple *g)
Definition gimple.h:1934
bool gimple_assign_ssa_name_copy_p(gimple *)
Definition gimple.cc:1779
void gimple_resx_set_region(gresx *resx_stmt, int region)
Definition gimple.h:4795
void gimple_call_set_arg(gcall *gs, unsigned index, tree arg)
Definition gimple.h:3336
tree gimple_return_retval(const greturn *gs)
Definition gimple.h:6700
void gimple_omp_parallel_set_child_fn(gomp_parallel *omp_parallel_stmt, tree child_fn)
Definition gimple.h:5740
gdebug * gimple_build_debug_begin_stmt(tree, location_t CXX_MEM_STAT_INFO)
location_t gimple_phi_arg_location_from_edge(gphi *phi, edge e)
Definition gimple.h:4716
void gimple_phi_set_arg(gphi *phi, unsigned index, struct phi_arg_d *phiarg)
Definition gimple.h:4633
gcond * gimple_build_cond_from_tree(tree, tree, tree)
Definition gimple.cc:549
location_t * gimple_phi_arg_location_ptr(gphi *phi, size_t i)
Definition gimple.h:4732
void set_bb_seq(basic_block bb, gimple_seq seq)
Definition gimple.h:1783
bool gimple_call_noreturn_p(const gcall *s)
Definition gimple.h:3486
enum gimple_statement_structure_enum gimple_statement_structure(gimple *gs)
Definition gimple.h:1812
void gimple_omp_section_set_last(gimple *g)
Definition gimple.h:2389
bool gimple_call_from_new_or_delete(const gcall *s)
Definition gimple.h:3454
bool gimple_has_mem_ops(const gimple *g)
Definition gimple.h:2127
gimple_seq gimple_transaction_body(const gtransaction *transaction_stmt)
Definition gimple.h:6599
gimple * gimple_seq_last_nondebug_stmt(gimple_seq s)
Definition gimple.h:4932
bool gimple_omp_section_last_p(const gimple *g)
Definition gimple.h:2379
tree * gimple_transaction_label_uninst_ptr(gtransaction *transaction_stmt)
Definition gimple.h:6625
tree gimple_goto_dest(const gimple *gs)
Definition gimple.h:3908
void gimple_switch_set_default_label(gswitch *gs, tree label)
Definition gimple.h:4902
tree * gimple_vuse_ptr(gimple *g)
Definition gimple.h:2199
tree * gimple_phi_arg_def_ptr(gphi *phi, size_t index)
Definition gimple.h:4692
tree * gimple_eh_filter_types_ptr(gimple *gs)
Definition gimple.h:4274
tree gimple_assign_rhs1(const gassign *gs)
Definition gimple.h:2660
void gimple_call_reset_alias_info(gcall *)
Definition gimple.cc:209
#define GIMPLE_DEBUG_BIND_NOVALUE
Definition gimple.h:5010
bool gimple_modified_p(const gimple *g)
Definition gimple.h:2245
tree gimple_omp_sections_control(const gimple *gs)
Definition gimple.h:6380
tree gimple_omp_task_clauses(const gimple *gs)
Definition gimple.h:5778
void gimple_transaction_set_label_uninst(gtransaction *transaction_stmt, tree label)
Definition gimple.h:6669
bool gimple_omp_ordered_standalone_p(const gimple *g)
Definition gimple.h:2400
tree gimple_eh_must_not_throw_fndecl(const geh_mnt *eh_mnt_stmt)
Definition gimple.h:4325
location_t * gimple_location_ptr(gimple *g)
Definition gimple.h:1916
tree gimple_asm_output_op(const gasm *asm_stmt, unsigned index)
Definition gimple.h:4075
basic_block gimple_bb(const gimple *g)
Definition gimple.h:1860
bool nonfreeing_call_p(gimple *)
Definition gimple.cc:2980
int gimple_eh_dispatch_region(const geh_dispatch *eh_dispatch_stmt)
Definition gimple.h:4803
bool gimple_debug_bind_has_value_p(gimple *dbg)
Definition gimple.h:5027
bool gimple_assign_single_p(const gimple *gs)
Definition gimple.h:2898
gimple_statement_structure_enum
Definition gimple.h:847
@ LAST_GSS_ENUM
Definition gimple.h:849
tree gimple_get_lhs(const gimple *)
Definition gimple.cc:1938
tree gimple_omp_parallel_child_fn(const gomp_parallel *omp_parallel_stmt)
Definition gimple.h:5722
gimple_seq gimple_wce_cleanup(gimple *gs)
Definition gimple.h:4499
gtransaction * gimple_build_transaction(gimple_seq)
Definition gimple.cc:1318
tree * gimple_assign_rhs2_ptr(gassign *gs)
Definition gimple.h:2729
void gimple_switch_set_num_labels(gswitch *g, unsigned nlabels)
Definition gimple.h:4833
tree gimple_omp_taskreg_clauses(const gimple *gs)
Definition gimple.h:5920
void gimple_omp_task_set_copy_fn(gimple *gs, tree copy_fn)
Definition gimple.h:6041
void gimple_omp_atomic_load_set_lhs(gomp_atomic_load *load_stmt, tree lhs)
Definition gimple.h:6439
tree * gimple_omp_for_incr_ptr(gimple *gs, size_t i)
Definition gimple.h:5640
gdebug * gimple_build_debug_inline_entry(tree, location_t CXX_MEM_STAT_INFO)
void gimple_move_vops(gimple *, gimple *)
Definition gimple.cc:2236
void gimple_seq_set_first(gimple_seq *ps, gimple_seq_node first)
Definition gimple.h:1741
bool gimple_call_builtin_p(const gimple *)
Definition gimple.cc:2874
gimple_seq gimple_omp_for_pre_body(const gimple *gs)
Definition gimple.h:5674
void gimple_call_set_va_arg_pack(gcall *s, bool pass_arg_pack_p)
Definition gimple.h:3464
bool gimple_omp_atomic_weak_p(const gimple *g)
Definition gimple.h:2469
tree * gimple_omp_teams_clauses_ptr(gimple *gs)
Definition gimple.h:6257
bool gimple_asm_clobbers_memory_p(const gasm *)
Definition gimple.cc:2935
gomp_teams * gimple_build_omp_teams(gimple_seq, tree)
Definition gimple.cc:1265
tree gimple_cond_rhs(const gcond *gs)
Definition gimple.h:3710
plf_mask
Definition gimple.h:216
@ GF_PLF_2
Definition gimple.h:218
@ GF_PLF_1
Definition gimple.h:217
enum omp_memory_order gimple_omp_atomic_memory_order(const gimple *g)
Definition gimple.h:2491
tree gimple_omp_task_copy_fn(const gimple *gs)
Definition gimple.h:6021
void gimple_cond_make_true(gcond *gs)
Definition gimple.h:3796
tree gimple_switch_label(const gswitch *gs, unsigned index)
Definition gimple.h:4872
gimple * gimple_build_omp_masked(gimple_seq, tree)
Definition gimple.cc:1079
int gimple_call_flags(const gimple *)
Definition gimple.cc:1541
gimple_seq gimple_try_eval(const gimple *gs)
Definition gimple.h:4426
gomp_ordered * gimple_build_omp_ordered(gimple_seq, tree)
Definition gimple.cc:1129
gimple_seq * bb_seq_addr(basic_block bb)
Definition gimple.h:1775
void gimple_asm_set_label_op(gasm *asm_stmt, unsigned index, tree label_op)
Definition gimple.h:4124
void gimple_seq_add_stmt_without_update(gimple_seq *, gimple *)
Definition gimple.cc:1370
void gimple_set_lhs(gimple *, tree)
Definition gimple.cc:1957
struct pt_solution * gimple_call_clobber_set(gcall *call_stmt)
Definition gimple.h:3620
void gimple_omp_atomic_set_weak(gimple *g)
Definition gimple.h:2480
tree gimple_omp_target_child_fn(const gomp_target *omp_target_stmt)
Definition gimple.h:6190
gomp_sections * gimple_build_omp_sections(gimple_seq, tree)
Definition gimple.cc:1181
gimple * gimple_alloc(enum gimple_code, unsigned CXX_MEM_STAT_INFO)
gasm * gimple_build_asm_vec(const char *, vec< tree, va_gc > *, vec< tree, va_gc > *, vec< tree, va_gc > *, vec< tree, va_gc > *)
Definition gimple.cc:662
tree gimple_call_arg(const gcall *gs, unsigned index)
Definition gimple.h:3301
tree gimple_transaction_label_over(const gtransaction *transaction_stmt)
Definition gimple.h:6631
tree gimple_assign_lhs(const gassign *gs)
Definition gimple.h:2609
void gimple_try_set_cleanup(gtry *try_stmt, gimple_seq cleanup)
Definition gimple.h:4480
bool gimple_omp_parallel_combined_p(const gimple *g)
Definition gimple.h:2421
void gimple_debug_bind_set_var(gimple *dbg, tree var)
Definition gimple.h:4990
tree gimple_omp_single_clauses(const gimple *gs)
Definition gimple.h:6111
bool gimple_call_tail_p(const gcall *s)
Definition gimple.h:3367
void gimple_omp_single_set_clauses(gomp_single *omp_single_stmt, tree clauses)
Definition gimple.h:6131
bool gimple_nop_p(const gimple *g)
Definition gimple.h:6832
unsigned gimple_phi_capacity(const gimple *gs)
Definition gimple.h:4538
tree * gimple_omp_critical_name_ptr(gomp_critical *crit_stmt)
Definition gimple.h:5189
tree gimple_cond_true_label(const gcond *gs)
Definition gimple.h:3746
tree * gimple_omp_target_data_arg_ptr(gomp_target *omp_target_stmt)
Definition gimple.h:6228
bool gimple_asm_volatile_p(const gasm *asm_stmt)
Definition gimple.h:4144
size_t const gimple_ops_offset_[]
Definition gimple.cc:60
tree * gimple_transaction_label_over_ptr(gtransaction *transaction_stmt)
Definition gimple.h:6637
struct gimple_temp_hash_elt elt_t
tree gimple_call_nonnull_arg(gcall *)
Definition gimple.cc:1744
void gimple_set_location(gimple *, location_t)
Definition gimple.h:1905
gimple * gimple_build_nop(void)
Definition gimple.cc:597
gimple_seq gimple_omp_body(const gimple *gs)
Definition gimple.h:5162
bool gimple_builtin_call_types_compatible_p(const gimple *, tree)
Definition gimple.cc:2819
int gimple_lineno(const gimple *stmt)
Definition gimple.h:1957
void gimple_seq_set_location(gimple_seq, location_t)
Definition gimple.cc:3365
void gimple_call_set_internal_fn(gcall *call_stmt, enum internal_fn fn)
Definition gimple.h:3208
bool gimple_call_nocf_check_p(const gcall *gs)
Definition gimple.h:3024
tree gimple_phi_arg_def(const gphi *gs, size_t index)
Definition gimple.h:4661
void gimple_phi_arg_set_location(gphi *phi, size_t i, location_t loc)
Definition gimple.h:4724
void gimple_omp_teams_set_clauses(gomp_teams *omp_teams_stmt, tree clauses)
Definition gimple.h:6267
void gimple_cond_set_true_label(gcond *gs, tree label)
Definition gimple.h:3756
gcall * gimple_call_copy_skip_args(gcall *, bitmap)
Definition gimple.cc:2461
tree gimple_omp_scan_clauses(const gomp_scan *scan_stmt)
Definition gimple.h:5266
void gimple_try_set_kind(gtry *gs, enum gimple_try_flags kind)
Definition gimple.h:4393
void gimple_cond_set_lhs(gcond *gs, tree lhs)
Definition gimple.h:3701
void gimple_omp_for_set_initial(gimple *gs, size_t i, tree initial)
Definition gimple.h:5585
void gimple_debug_source_bind_set_value(gimple *dbg, tree value)
Definition gimple.h:5093
enum tree_code gimple_expr_code(const gimple *stmt)
Definition gimple.h:3872
bool gimple_call_must_tail_p(const gcall *s)
Definition gimple.h:3387
tree gimple_omp_critical_name(const gomp_critical *crit_stmt)
Definition gimple.h:5179
tree gimple_call_chain(const gcall *gs)
Definition gimple.h:3252
gimple * gimple_build_wce(gimple_seq)
Definition gimple.cc:776
gomp_scan * gimple_build_omp_scan(gimple_seq, tree)
Definition gimple.cc:1162
void gimple_seq_add_seq(gimple_seq *, gimple_seq)
Definition gimple.cc:1385
struct pt_solution * gimple_call_use_set(gcall *call_stmt)
Definition gimple.h:3603
void gimple_call_set_ctrl_altering(gcall *s, bool ctrl_altering_p)
Definition gimple.h:3085
void gimple_omp_for_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:5487
void gimple_set_modified(gimple *s, bool modifiedp)
Definition gimple.h:2255
void gimple_label_set_label(glabel *gs, tree label)
Definition gimple.h:3899
tree gimple_omp_taskreg_child_fn(const gimple *gs)
Definition gimple.h:5954
bool is_gimple_omp(const gimple *stmt)
Definition gimple.h:6741
void gimple_cond_set_false_label(gcond *gs, tree label)
Definition gimple.h:3766
bool gimple_has_volatile_ops(const gimple *stmt)
Definition gimple.h:2265
bool gimple_assign_copy_p(gimple *)
Definition gimple.cc:1769
void gimple_set_has_volatile_ops(gimple *stmt, bool volatilep)
Definition gimple.h:2277
void gimple_call_set_nocf_check(gcall *gs, bool nocf_check)
Definition gimple.h:3032
tree gimple_omp_for_clauses(const gimple *gs)
Definition gimple.h:5465
#define gcc_gimple_checking_assert(EXPR)
Definition gimple.h:98
bool gimple_visited_p(gimple *stmt)
Definition gimple.h:2019
tree * gimple_call_arg_ptr(gcall *gs, unsigned index)
Definition gimple.h:3319
void gimple_seq_discard(gimple_seq)
Definition gimple.cc:3374
bool is_gimple_omp_offloaded(const gimple *stmt)
Definition gimple.h:6805
void gimple_omp_parallel_set_clauses(gomp_parallel *omp_parallel_stmt, tree clauses)
Definition gimple.h:5712
void gimple_omp_task_set_arg_size(gimple *gs, tree arg_size)
Definition gimple.h:6071
gimple_try_flags
Definition gimple.h:518
@ GIMPLE_TRY_FINALLY
Definition gimple.h:523
@ GIMPLE_TRY_CATCH_IS_CLEANUP
Definition gimple.h:527
@ GIMPLE_TRY_KIND
Definition gimple.h:524
@ GIMPLE_TRY_CATCH
Definition gimple.h:520
void gimple_set_num_ops(gimple *gs, unsigned num_ops)
Definition gimple.h:2524
void gimple_seq_add_stmt(gimple_seq *, gimple *)
Definition gimple.cc:1353
tree * gimple_omp_parallel_child_fn_ptr(gomp_parallel *omp_parallel_stmt)
Definition gimple.h:5731
void gimple_eh_filter_set_failure(geh_filter *eh_filter_stmt, gimple_seq failure)
Definition gimple.h:4316
const char * gimple_asm_string(const gasm *asm_stmt)
Definition gimple.h:4135
gimple_seq * gimple_eh_filter_failure_ptr(gimple *gs)
Definition gimple.h:4285
uint64_t gimple_alloc_counts[]
Definition gimple.cc:85
void gimple_omp_for_set_final(gimple *gs, size_t i, tree final)
Definition gimple.h:5618
void gimple_bind_set_block(gbind *bind_stmt, tree block)
Definition gimple.h:4010
tree * gimple_phi_result_ptr(gphi *gs)
Definition gimple.h:4575
tree gimple_omp_taskreg_data_arg(const gimple *gs)
Definition gimple.h:5988
gimple * gimple_build_omp_section(gimple_seq)
Definition gimple.cc:1035
void gimple_set_uid(gimple *g, unsigned uid)
Definition gimple.h:2070
unsigned int gimple_transaction_subcode(const gtransaction *transaction_stmt)
Definition gimple.h:6645
tree gimple_omp_for_index(const gimple *gs, size_t i)
Definition gimple.h:5530
geh_dispatch * gimple_build_eh_dispatch(int)
Definition gimple.cc:839
gomp_continue * gimple_build_omp_continue(tree, tree)
Definition gimple.cc:1113
enum gimple_statement_structure_enum const gss_for_code_[]
Definition gimple.cc:78
void gimple_call_set_return_slot_opt(gcall *s, bool return_slot_opt_p)
Definition gimple.h:3397
void gimple_asm_set_input_op(gasm *asm_stmt, unsigned index, tree in_op)
Definition gimple.h:4064
void preprocess_case_label_vec_for_gimple(vec< tree > &, tree, tree *)
Definition gimple.cc:3198
bool is_gimple_omp_oacc(const gimple *stmt)
Definition gimple.h:6756
gimple_seq * gimple_transaction_body_ptr(gtransaction *transaction_stmt)
Definition gimple.h:6591
gimple_seq gimple_bind_body(const gbind *gs)
Definition gimple.h:3962
void gimple_set_plf(gimple *stmt, enum plf_mask plf, bool val_p)
Definition gimple.h:2036
bool gimple_omp_return_nowait_p(const gimple *g)
Definition gimple.h:2335
void gimple_omp_for_set_kind(gomp_for *g, int kind)
Definition gimple.h:5407
void gimple_omp_ordered_standalone(gimple *g)
Definition gimple.h:2410
tree gimple_omp_atomic_load_lhs(const gomp_atomic_load *load_stmt)
Definition gimple.h:6448
enum gimple_try_flags gimple_try_kind(const gimple *gs)
Definition gimple.h:4383
tree * gimple_omp_task_clauses_ptr(gimple *gs)
Definition gimple.h:5788
void gimple_return_set_retval(greturn *gs, tree retval)
Definition gimple.h:6709
unsigned gimple_asm_nclobbers(const gasm *asm_stmt)
Definition gimple.h:4039
void gimple_omp_scan_set_clauses(gomp_scan *scan_stmt, tree clauses)
Definition gimple.h:5286
bool gimple_try_catch_is_cleanup(const gimple *gs)
Definition gimple.h:4405
gomp_parallel * gimple_build_omp_parallel(gimple_seq, tree, tree, tree)
Definition gimple.cc:987
void gimple_omp_taskreg_set_data_arg(gimple *gs, tree data_arg)
Definition gimple.h:6010
void gimple_call_set_fndecl(gcall *gs, tree decl)
Definition gimple.h:3190
tree * gimple_call_fn_ptr(gcall *gs)
Definition gimple.h:3164
bool empty_body_p(gimple_seq)
Definition gimple.cc:1486
tree gimple_call_lhs(const gcall *gs)
Definition gimple.h:2958
unsigned get_gimple_rhs_num_ops(enum tree_code)
Definition gimple.cc:2405
void gimple_eh_filter_set_types(geh_filter *eh_filter_stmt, tree types)
Definition gimple.h:4306
void gimple_set_vdef(gimple *g, tree vdef)
Definition gimple.h:2233
void gimple_omp_atomic_set_memory_order(gimple *g, enum omp_memory_order mo)
Definition gimple.h:2503
void gimple_wce_set_cleanup_eh_only(gimple *gs, bool eh_only_p)
Definition gimple.h:4528
void gimple_asm_set_clobber_op(gasm *asm_stmt, unsigned index, tree clobber_op)
Definition gimple.h:4105
tree gimple_vuse(const gimple *g)
Definition gimple.h:2175
bool gimple_inexpensive_call_p(gcall *)
Definition gimple.cc:3407
tree * gimple_call_lhs_ptr(gcall *gs)
Definition gimple.h:2974
void gimple_omp_return_set_lhs(gimple *g, tree lhs)
Definition gimple.h:2345
tree * gimple_transaction_label_norm_ptr(gtransaction *transaction_stmt)
Definition gimple.h:6613
tree gimple_omp_target_data_arg(const gomp_target *omp_target_stmt)
Definition gimple.h:6219
void gimple_omp_scope_set_clauses(gimple *gs, tree clauses)
Definition gimple.h:5386
const char * gimple_filename(const gimple *stmt)
Definition gimple.h:1948
gomp_atomic_store * gimple_build_omp_atomic_store(tree, enum omp_memory_order)
Definition gimple.cc:1294
uint64_t gimple_alloc_sizes[]
Definition gimple.cc:86
void gimple_call_set_by_descriptor(gcall *s, bool by_descriptor_p)
Definition gimple.h:3574
void gimple_cond_set_condition(gcond *stmt, enum tree_code code, tree lhs, tree rhs)
Definition gimple.h:3856
tree gimple_assign_rhs2(const gassign *gs)
Definition gimple.h:2709
tree gimple_omp_taskgroup_clauses(const gimple *gs)
Definition gimple.h:5295
void gimple_set_op(gimple *gs, unsigned i, tree op)
Definition gimple.h:2578
geh_filter * gimple_build_eh_filter(tree, gimple_seq)
Definition gimple.cc:712
void gimple_omp_set_body(gimple *gs, gimple_seq body)
Definition gimple.h:5170
void gimple_eh_must_not_throw_set_fndecl(geh_mnt *eh_mnt_stmt, tree decl)
Definition gimple.h:4333
void gimple_call_set_must_tail(gcall *s, bool must_tail_p)
Definition gimple.h:3375
gbind * gimple_build_bind(tree, gimple_seq, tree)
Definition gimple.cc:608
void gimple_set_no_warning(gimple *stmt, bool no_warning)
Definition gimple.h:1983
tree * gimple_omp_for_final_ptr(gimple *gs, size_t i)
Definition gimple.h:5607
gimple * gimple_build_assume(tree, gimple_seq)
Definition gimple.cc:1306
void gimple_omp_parallel_set_data_arg(gomp_parallel *omp_parallel_stmt, tree data_arg)
Definition gimple.h:5769
bool gimple_assign_load_p(const gimple *)
Definition gimple.cc:1815
tree gimple_omp_critical_clauses(const gomp_critical *crit_stmt)
Definition gimple.h:5208
gimple_seq * gimple_bind_body_ptr(gbind *bind_stmt)
Definition gimple.h:3954
int gimple_call_return_flags(const gcall *)
Definition gimple.cc:1698
tree * gimple_omp_masked_clauses_ptr(gimple *gs)
Definition gimple.h:5341
bool gimple_phi_arg_has_location(const gphi *phi, size_t i)
Definition gimple.h:4740
gimple_seq_node gimple_seq_first(gimple_seq s)
Definition gimple.h:1684
int gimple_resx_region(const gresx *resx_stmt)
Definition gimple.h:4787
void gimple_omp_critical_set_clauses(gomp_critical *crit_stmt, tree clauses)
Definition gimple.h:5228
void gimple_switch_set_label(gswitch *gs, unsigned index, tree label)
Definition gimple.h:4881
bool gimple_has_side_effects(const gimple *)
Definition gimple.cc:2252
gcall * gimple_build_call_vec(tree, const vec< tree > &)
Definition gimple.cc:245
tree * gimple_omp_continue_control_use_ptr(gomp_continue *cont_stmt)
Definition gimple.h:6527
void gimple_assign_set_nontemporal_move(gimple *gs, bool nontemporal)
Definition gimple.h:2838
bool infer_nonnull_range(gimple *, tree)
Definition gimple.cc:3061
gimple * gimple_build_omp_master(gimple_seq)
Definition gimple.cc:1065
unsigned gimple_num_args(const gimple *gs)
Definition gimple.h:4748
tree * gimple_omp_critical_clauses_ptr(gomp_critical *crit_stmt)
Definition gimple.h:5218
bool gimple_no_warning_p(const gimple *stmt)
Definition gimple.h:1975
unsigned gimple_phi_num_args(const gimple *gs)
Definition gimple.h:4550
void sort_case_labels(vec< tree > &)
Definition gimple.cc:3173
tree gimple_call_fndecl(const gcall *gs)
Definition gimple.h:3220
alias_set_type gimple_get_alias_set(tree)
Definition gimple.cc:2748
bool infer_nonnull_range_by_attribute(gimple *, tree)
Definition gimple.cc:3090
tree gimple_omp_teams_data_arg(const gomp_teams *omp_teams_stmt)
Definition gimple.h:6303
void gimple_omp_taskreg_set_child_fn(gimple *gs, tree child_fn)
Definition gimple.h:5976
void gimple_omp_target_set_data_arg(gomp_target *omp_target_stmt, tree data_arg)
Definition gimple.h:6237
tree gimple_bind_vars(const gbind *bind_stmt)
Definition gimple.h:3927
struct phi_arg_d * gimple_phi_arg(gphi *gs, unsigned index)
Definition gimple.h:4602
bool gimple_debug_source_bind_p(const gimple *s)
Definition gimple.h:5039
tree gimple_asm_input_op(const gasm *asm_stmt, unsigned index)
Definition gimple.h:4055
geh_else * gimple_build_eh_else(gimple_seq, gimple_seq)
Definition gimple.cc:739
gomp_atomic_load * gimple_build_omp_atomic_load(tree, tree, enum omp_memory_order)
Definition gimple.cc:1279
gimple_seq gimple_catch_handler(const gcatch *catch_stmt)
Definition gimple.h:4236
unsigned int gimple_plf(gimple *stmt, enum plf_mask plf)
Definition gimple.h:2056
tree * gimple_omp_atomic_load_lhs_ptr(gomp_atomic_load *load_stmt)
Definition gimple.h:6457
void gimple_asm_set_input(gasm *asm_stmt, bool input_p)
Definition gimple.h:4186
tree * gimple_omp_single_clauses_ptr(gimple *gs)
Definition gimple.h:6121
gimple_seq gimple_seq_alloc_with_stmt(gimple *stmt)
Definition gimple.h:1758
bool gimple_call_internal_p(const gcall *gs)
Definition gimple.h:3009
gimple_seq * gimple_try_cleanup_ptr(gimple *gs)
Definition gimple.h:4436
void gimple_omp_teams_set_child_fn(gomp_teams *omp_teams_stmt, tree child_fn)
Definition gimple.h:6293
gassign * gimple_build_assign(tree, tree CXX_MEM_STAT_INFO)
gimple_seq * phi_nodes_ptr(basic_block bb)
Definition gimple.h:4652
void gimple_assign_set_rhs_code(gimple *s, enum tree_code code)
Definition gimple.h:2874
tree gimple_arg(const gimple *gs, unsigned int i)
Definition gimple.h:4763
void gimple_set_do_not_emit_location(gimple *g)
Definition gimple.h:6891
tree gimple_phi_arg_def_from_edge(const gphi *gs, const_edge e)
Definition gimple.h:4676
i
Definition poly-int.h:772
static int failure
Definition reload1.cc:665
#define CXX_MEM_STAT_INFO
Definition statistics.h:58
tree variable_size(tree size)
Definition stor-layout.cc:67
Definition basic-block.h:117
union basic_block_def::basic_block_il_dependent il
int flags
Definition basic-block.h:144
Definition tree-predcom.cc:299
Definition genautomata.cc:499
Definition loop-invariant.cc:88
Definition function.h:249
int last_stmt_uid
Definition function.h:317
unsigned char nl
Definition gimple.h:562
unsigned char nc
Definition gimple.h:561
unsigned char no
Definition gimple.h:560
unsigned char ni
Definition gimple.h:559
const char * string
Definition gimple.h:555
tree op[1]
Definition gimple.h:568
static enum gimple_code code_
Definition gimple.h:905
tree block
Definition gimple.h:403
tree vars
Definition gimple.h:395
gimple_seq body
Definition gimple.h:406
struct pt_solution call_used
Definition gimple.h:357
tree op[1]
Definition gimple.h:370
struct pt_solution call_clobbered
Definition gimple.h:358
static enum gimple_code code_
Definition gimple.h:372
enum internal_fn internal_fn
Definition gimple.h:363
tree fntype
Definition gimple.h:362
gimple_seq handler
Definition gimple.h:420
tree types
Definition gimple.h:417
static enum gimple_code code_
Definition gimple.h:860
gimple_seq e_body
Definition gimple.h:446
gimple_seq n_body
Definition gimple.h:446
gimple_seq failure
Definition gimple.h:436
tree types
Definition gimple.h:432
tree fndecl
Definition gimple.h:456
gimple_seq phi_nodes
Definition basic-block.h:88
gimple_seq seq
Definition basic-block.h:85
enum tree_code cond
Definition gimple.h:588
tree index
Definition gimple.h:591
tree initial
Definition gimple.h:594
tree incr
Definition gimple.h:600
tree guard
Definition gimple.h:799
gimple_seq body
Definition gimple.h:802
int region
Definition gimple.h:485
tree val
Definition gimple.h:775
tree data_arg
Definition gimple.h:641
tree child_fn
Definition gimple.h:637
tree clauses
Definition gimple.h:633
tree clauses
Definition gimple.h:727
gimple_seq body
Definition gimple.h:383
gimple_seq cleanup
Definition gimple.h:543
tree vdef
Definition gimple.h:330
tree vuse
Definition gimple.h:331
tree op[1]
Definition gimple.h:346
struct use_optype_d * use_ops
Definition gimple.h:303
tree op[1]
Definition gimple.h:317
Definition gimple-iterator.h:26
tree temp
Definition gimple.h:1657
tree val
Definition gimple.h:1656
unsigned int visited
Definition gimple.h:235
unsigned pad
Definition gimple.h:256
unsigned int plf
Definition gimple.h:246
unsigned int subcode
Definition gimple.h:262
basic_block bb
Definition gimple.h:278
gimple * next
Definition gimple.h:286
enum gimple_code code
Definition gimple.h:228
unsigned int no_warning
Definition gimple.h:231
unsigned int nontemporal_move
Definition gimple.h:239
unsigned uid
Definition gimple.h:267
unsigned modified
Definition gimple.h:250
gimple * prev
Definition gimple.h:287
location_t location
Definition gimple.h:271
unsigned has_volatile_ops
Definition gimple.h:253
unsigned num_ops
Definition gimple.h:274
tree rhs
Definition gimple.h:764
tree lhs
Definition gimple.h:764
tree control_def
Definition gimple.h:713
tree control_use
Definition gimple.h:716
tree name
Definition gimple.h:582
tree clauses
Definition gimple.h:578
gimple_seq pre_body
Definition gimple.h:621
size_t collapse
Definition gimple.h:614
struct gimple_omp_for_iter * iter
Definition gimple.h:617
tree clauses
Definition gimple.h:610
tree clauses
Definition gimple.h:695
tree control
Definition gimple.h:700
tree copy_fn
Definition gimple.h:675
tree arg_size
Definition gimple.h:679
tree arg_align
Definition gimple.h:680
unsigned nargs
Definition gimple.h:467
unsigned capacity
Definition gimple.h:466
struct phi_arg_d args[1]
Definition gimple.h:473
tree result
Definition gimple.h:470
tree label_uninst
Definition gimple.h:842
gimple_seq body
Definition gimple.h:838
tree label_over
Definition gimple.h:843
tree label_norm
Definition gimple.h:841
gimple_seq cleanup
Definition gimple.h:513
gimple_seq eval
Definition gimple.h:509
Definition tree-ssa-alias.h:29
bitmap vars
Definition tree-ssa-alias.h:69
T type
Definition gimple.h:42
T type
Definition gimple.h:41
Definition gengtype.h:252
Definition tree-ssa-operands.h:38
Definition loop-invariant.cc:78
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:821
#define CONST_CAST_GIMPLE(X)
Definition system.h:1204
#define gcc_unreachable()
Definition system.h:848
#define false
Definition system.h:895
#define bool
Definition system.h:893
#define gcc_checking_assert(EXPR)
Definition system.h:828
#define ECF_NORETURN
Definition tree-core.h:59
built_in_class
Definition tree-core.h:165
@ tcc_comparison
Definition tree-core.h:233
#define ECF_NOTHROW
Definition tree-core.h:68
#define ECF_XTHROW
Definition tree-core.h:99
omp_memory_order
Definition tree-core.h:597
clobber_kind
Definition tree-core.h:992
tree copy_fn(tree fn, tree &parms, tree &result)
Definition tree-inline.cc:6659
static bitmap visited
Definition tree-ssa-dce.cc:536
tree chainon(tree op1, tree op2)
Definition tree.cc:3457
tree build_pointer_type(tree to_type)
Definition tree.cc:7023
location_t set_block(location_t loc, tree block)
Definition tree.cc:14586
location_t * block_nonartificial_location(tree block)
Definition tree.cc:11844
#define boolean_false_node
Definition tree.h:4515
#define SSA_NAME_DEF_STMT(NODE)
Definition tree.h:2097
#define boolean_true_node
Definition tree.h:4516
#define TREE_CODE_CLASS(CODE)
Definition tree.h:202
#define CASE_LOW(NODE)
Definition tree.h:1395
constexpr opt_code all_warnings
Definition tree.h:6838
#define TREE_CODE(NODE)
Definition tree.h:324
constexpr opt_code no_warning
Definition tree.h:6836
#define CONVERT_EXPR_CODE_P(CODE)
Definition tree.h:553
#define TREE_TYPE(NODE)
Definition tree.h:512
#define CONSTANT_CLASS_P(NODE)
Definition tree.h:215
#define TREE_CLOBBER_P(NODE)
Definition tree.h:1269
#define SSA_VAR_P(DECL)
Definition tree.h:2670
#define CLOBBER_KIND(NODE)
Definition tree.h:1273
tree build1_loc(location_t loc, enum tree_code code, tree type, tree arg1 CXX_MEM_STAT_INFO)
Definition tree.h:4749
#define CASE_HIGH(NODE)
Definition tree.h:1396
#define NULL_TREE
Definition tree.h:317
struct gimple_bb_info gimple
Definition basic-block.h:136