Lines Matching refs:wi
33 on each one. WI is as in walk_gimple_stmt.
36 value is stored in WI->CALLBACK_RESULT. Also, the statement that
38 removed by a callback (wi->removed_stmt). If the statement has
45 walk_tree_fn callback_op, struct walk_stmt_info *wi)
51 tree ret = walk_gimple_stmt (&gsi, callback_stmt, callback_op, wi);
54 /* If CALLBACK_STMT or CALLBACK_OP return a value, WI must exist
56 gcc_assert (wi);
57 wi->callback_result = ret;
59 return wi->removed_stmt ? NULL : gsi_stmt (gsi);
62 if (!wi->removed_stmt)
66 if (wi)
67 wi->callback_result = NULL_TREE;
78 walk_tree_fn callback_op, struct walk_stmt_info *wi)
81 gimple *ret = walk_gimple_seq_mod (&seq2, callback_stmt, callback_op, wi);
91 struct walk_stmt_info *wi)
108 if (wi)
112 wi->val_only = (allows_reg || !allows_mem);
114 if (wi)
115 wi->is_lhs = true;
116 ret = walk_tree (&TREE_VALUE (op), callback_op, wi, NULL);
127 if (wi)
132 wi->val_only = (allows_reg || !allows_mem);
134 wi->is_lhs = !wi->val_only;
137 ret = walk_tree (&TREE_VALUE (op), callback_op, wi, NULL);
142 if (wi)
144 wi->is_lhs = false;
145 wi->val_only = true;
152 ret = walk_tree (&TREE_VALUE (op), callback_op, wi, NULL);
162 STMT. CALLBACK_OP and WI are as in WALK_GIMPLE_STMT.
165 Additional parameters to walk_tree must be stored in WI. For each operand
168 walk_tree (&OP, CALLBACK_OP, WI, WI->PSET)
178 struct walk_stmt_info *wi)
180 hash_set<tree> *pset = (wi) ? wi->pset : NULL;
184 if (wi)
185 wi->stmt = stmt;
192 if (wi)
195 wi->val_only
202 ret = walk_tree (gimple_op_ptr (stmt, i), callback_op, wi,
210 if (wi)
215 wi->val_only
218 wi->is_lhs = true;
221 ret = walk_tree (gimple_op_ptr (stmt, 0), callback_op, wi, pset);
225 if (wi)
227 wi->val_only = true;
228 wi->is_lhs = false;
233 if (wi)
235 wi->is_lhs = false;
236 wi->val_only = true;
240 callback_op, wi, pset);
244 ret = walk_tree (gimple_call_fn_ptr (stmt), callback_op, wi, pset);
250 if (wi)
251 wi->val_only
253 ret = walk_tree (gimple_call_arg_ptr (stmt, i), callback_op, wi,
261 if (wi)
263 wi->is_lhs = true;
264 wi->val_only
268 ret = walk_tree (gimple_call_lhs_ptr (stmt), callback_op, wi, pset);
273 if (wi)
275 wi->is_lhs = false;
276 wi->val_only = true;
282 callback_op, wi, pset);
288 ret = walk_tree (gimple_eh_filter_types_ptr (stmt), callback_op, wi,
295 ret = walk_gimple_asm (as_a <gasm *> (stmt), callback_op, wi);
304 callback_op, wi, pset);
309 callback_op, wi, pset);
319 callback_op, wi, pset);
323 callback_op, wi, pset);
333 callback_op, wi, pset);
343 callback_op, wi, pset);
350 ret = walk_tree (gimple_omp_for_clauses_ptr (stmt), callback_op, wi,
357 wi, pset);
361 wi, pset);
365 wi, pset);
369 wi, pset);
379 callback_op, wi, pset);
383 callback_op, wi, pset);
387 callback_op, wi, pset);
395 wi, pset);
399 wi, pset);
403 wi, pset);
407 wi, pset);
411 wi, pset);
415 wi, pset);
422 wi, pset);
426 wi, pset);
433 ret = walk_tree (gimple_omp_single_clauses_ptr (stmt), callback_op, wi,
443 callback_op, wi, pset);
447 callback_op, wi, pset);
451 callback_op, wi, pset);
458 ret = walk_tree (gimple_omp_teams_clauses_ptr (stmt), callback_op, wi,
468 callback_op, wi, pset);
472 callback_op, wi, pset);
482 callback_op, wi, pset);
493 callback_op, wi, pset);
497 callback_op, wi, pset);
501 callback_op, wi, pset);
508 ret = walk_tree (gimple_omp_return_lhs_ptr (stmt), callback_op, wi,
524 if (wi)
526 wi->val_only = true;
527 wi->is_lhs = true;
529 ret = walk_tree (gimple_phi_result_ptr (phi), callback_op, wi, pset);
530 if (wi)
531 wi->is_lhs = false;
537 callback_op, wi, pset);
551 ret = walk_tree (gimple_op_ptr (stmt, i), callback_op, wi, pset);
564 stored in WI). If WI is NULL, no state is kept during traversal.
580 walk_tree_fn callback_op, struct walk_stmt_info *wi)
586 if (wi)
588 wi->gsi = *gsi;
589 wi->removed_stmt = false;
591 if (wi->want_locations && gimple_has_location (stmt))
602 tree_ret = callback_stmt (gsi, &handled_ops, wi);
610 if (wi && wi->removed_stmt)
620 tree_ret = walk_gimple_op (stmt, callback_op, wi);
630 callback_stmt, callback_op, wi);
632 return wi->callback_result;
638 callback_stmt, callback_op, wi);
640 return wi->callback_result;
645 callback_op, wi);
647 return wi->callback_result;
654 callback_stmt, callback_op, wi);
656 return wi->callback_result;
658 callback_stmt, callback_op, wi);
660 return wi->callback_result;
666 wi);
668 return wi->callback_result;
671 callback_op, wi);
673 return wi->callback_result;
678 callback_op, wi);
680 return wi->callback_result;
698 callback_op, wi);
700 return wi->callback_result;
705 callback_op, wi);
707 return wi->callback_result;
713 callback_stmt, callback_op, wi);
715 return wi->callback_result;