Lines Matching refs:stmt

222 #define NECESSARY(stmt)		stmt->common.asm_written_flag
227 mark_stmt_necessary (tree stmt, bool add_to_worklist)
229 gcc_assert (stmt);
230 gcc_assert (!DECL_P (stmt));
232 if (NECESSARY (stmt))
237 fprintf (dump_file, "Marking useful stmt: ");
238 print_generic_stmt (dump_file, stmt, TDF_SLIM);
242 NECESSARY (stmt) = 1;
244 VEC_safe_push (tree, heap, worklist, stmt);
253 tree stmt;
263 stmt = SSA_NAME_DEF_STMT (op);
264 gcc_assert (stmt);
266 if (NECESSARY (stmt)
267 || IS_EMPTY_STMT (stmt)
268 || (phionly && TREE_CODE (stmt) != PHI_NODE))
271 NECESSARY (stmt) = 1;
272 VEC_safe_push (tree, heap, worklist, stmt);
284 mark_stmt_if_obviously_necessary (tree stmt, bool aggressive)
292 && tree_could_throw_p (stmt))
294 mark_stmt_necessary (stmt, true);
303 switch (TREE_CODE (stmt))
308 mark_stmt_necessary (stmt, false);
314 mark_stmt_necessary (stmt, true);
321 if (TREE_SIDE_EFFECTS (stmt))
322 mark_stmt_necessary (stmt, true);
326 op = get_call_expr_in (stmt);
329 mark_stmt_necessary (stmt, true);
336 if (TREE_CODE (TREE_OPERAND (stmt, 0)) == EXC_PTR_EXPR
337 || TREE_CODE (TREE_OPERAND (stmt, 0)) == FILTER_EXPR)
339 mark_stmt_necessary (stmt, true);
345 gcc_assert (!simple_goto_p (stmt));
346 mark_stmt_necessary (stmt, true);
350 gcc_assert (EDGE_COUNT (bb_for_stmt (stmt)->succs) == 2);
355 mark_stmt_necessary (stmt, true);
362 ann = stmt_ann (stmt);
367 if (ann->has_volatile_ops || is_ctrl_altering_stmt (stmt))
369 mark_stmt_necessary (stmt, true);
373 if (is_hidden_global_store (stmt))
375 mark_stmt_necessary (stmt, true);
420 tree stmt = bsi_stmt (i);
421 NECESSARY (stmt) = 0;
422 mark_stmt_if_obviously_necessary (stmt, el != NULL);
598 tree stmt = bsi_stmt (bsi);
600 if (NECESSARY (stmt))
604 FOR_EACH_SSA_USE_OPERAND (use_p, stmt, iter,