Lines Matching defs:cfun
88 /* So we can assign to cfun in this file. */
89 #undef cfun
120 struct function *cfun = 0;
161 /* Keep track of the cfun stack. */
171 if (cfun == 0)
174 function_context_stack.safe_push (cfun);
1982 FOR_EACH_LOCAL_DECL (cfun, ix, decl)
1985 vec_free (cfun->local_decls);
2240 if (cfun->returns_pcc_struct
2264 if (cfun->tail_call_marked)
2294 if (TREE_CODE (decl) == PARM_DECL && cfun->tail_call_marked)
2434 && ! cfun->returns_pcc_struct
2485 if (!cfun->stdarg)
2953 tree def = ssa_default_def (cfun, parm);
3753 if (cfun->stdarg && !DECL_CHAIN (parm))
4317 || REGNO_REG_SET_P (df_get_live_out (ENTRY_BLOCK_PTR_FOR_FN (cfun)),
4371 if (n_basic_blocks_for_fn (cfun) == NUM_FIXED_BLOCKS
4727 /* Invoke the target hook when setting cfun. Update the optimization options
4766 /* cfun should never be set directly; use this function. */
4771 if (cfun != new_cfun || force)
4773 cfun = new_cfun;
4783 /* Push the current cfun onto the stack, and set cfun to new_cfun. Also set
4789 gcc_assert ((!cfun && !current_function_decl)
4790 || (cfun && current_function_decl == cfun->decl));
4791 cfun_stack.safe_push (cfun);
4796 /* Pop cfun from the stack. Also set current_function_decl accordingly. */
4802 /* When in_dummy_function, we do have a cfun but current_function_decl is
4803 NULL. We also allow pushing NULL cfun and subsequently changing
4807 || !cfun
4808 || current_function_decl == cfun->decl);
4832 gcc_assert (!cfun->su);
4833 cfun->su = ggc_cleared_alloc<stack_usage> ();
4834 cfun->su->static_stack_size = -1;
4838 to the defaults. Set cfun to the newly-allocated object.
4840 that cfun has already been set. Therefore, assign the new object
4841 directly into cfun and invoke the back end hook explicitly at the
4855 cfun = ggc_cleared_alloc<function> ();
4860 cfun->machine = (*init_machine_status) ();
4868 DECL_STRUCT_FUNCTION (fndecl) = cfun;
4869 cfun->decl = fndecl;
4896 cfun->returns_pcc_struct = 1;
4898 cfun->returns_struct = 1;
4901 cfun->stdarg = stdarg_p (fntype);
4904 cfun->va_list_gpr_size = VA_LIST_MAX_GPR_SIZE;
4905 cfun->va_list_fpr_size = VA_LIST_MAX_FPR_SIZE;
4909 cfun->can_throw_non_call_exceptions = flag_non_call_exceptions;
4910 cfun->can_delete_dead_exceptions = flag_delete_dead_exceptions;
4922 cfun->debug_nonbind_markers = lang_hooks.emits_begin_stmt
4926 /* This is like allocate_struct_function, but pushes a new cfun for FNDECL
4933 current_function_decl and cfun may not match. */
4935 || (!cfun && !current_function_decl)
4936 || (cfun && current_function_decl == cfun->decl));
4937 cfun_stack.safe_push (cfun);
4953 crtl->abi = &fndecl_abi (cfun->decl).base_abi ();
5135 if (cfun->returns_pcc_struct)
5177 ? promote_ssa_mode (ssa_default_def (cfun, res), NULL)
5216 if (cfun->static_chain_decl)
5218 tree parm = cfun->static_chain_decl;
5270 if (cfun->nonlocal_goto_save_area)
5275 tree var = TREE_OPERAND (cfun->nonlocal_goto_save_area, 0);
5279 TREE_TYPE (TREE_TYPE (cfun->nonlocal_goto_save_area)),
5280 cfun->nonlocal_goto_save_area,
5324 free_after_parsing (cfun);
5325 free_after_compilation (cfun);
5565 And cfun->returns_pcc_struct is not necessarily set. */
5566 if ((cfun->returns_struct || cfun->returns_pcc_struct)
5616 if (cfun->can_throw_non_call_exceptions
5630 && cfun->calls_alloca)
5726 if (TREE_THIS_VOLATILE (cfun->decl))
5855 || lookup_attribute ("no_split_stack", DECL_ATTRIBUTES (cfun->decl)))
6105 gcc_assert (single_succ_p (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
6107 edge entry_edge = single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun));
6136 rtl_profile_for_bb (EXIT_BLOCK_PTR_FOR_FN (cfun));
6150 FOR_EACH_EDGE (e, ei, EXIT_BLOCK_PTR_FOR_FN (cfun)->preds)
6169 edge exit_fallthru_edge = find_fallthru_edge (EXIT_BLOCK_PTR_FOR_FN (cfun)->preds);
6180 FOR_EACH_EDGE (e, ei, EXIT_BLOCK_PTR_FOR_FN (cfun)->preds)
6198 FOR_EACH_BB_FN (cur_bb, cfun)
6208 rtl_profile_for_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun));
6239 auto_sbitmap blocks (last_basic_block_for_fn (cfun));
6253 for (ei = ei_start (EXIT_BLOCK_PTR_FOR_FN (cfun)->preds);
6376 FOR_EACH_EDGE (e, ei, EXIT_BLOCK_PTR_FOR_FN (cfun)->preds)
6441 return function_name (cfun);
6456 /* Insert a TYPE into the used types hash table of CFUN. */
6470 /* Given a type, insert it into the used hash table in cfun. */
6486 if (cfun)
6487 used_types_insert_helper (t, cfun);
6626 vec_safe_push (cfun->su->callees, datum);
6651 vec_safe_push (cfun->su->dallocs, datum);
6764 FOR_EACH_EDGE (e, ei, EXIT_BLOCK_PTR_FOR_FN (cfun)->preds)