20 #ifndef GCC_FUNCTION_H
21 #define GCC_FUNCTION_H
81 unsigned char *
GTY((skip)) regno_pointer_align;
96 #define reg_rtx_no (crtl->emit.x_reg_rtx_no)
97 #define seq_stack (crtl->emit.sequence_stack)
99 #define REGNO_POINTER_ALIGN(REGNO) (crtl->emit.regno_pointer_align[REGNO])
157 #define pending_stack_adjust (crtl->expr.x_pending_stack_adjust)
158 #define inhibit_defer_pop (crtl->expr.x_inhibit_defer_pop)
159 #define saveregs_value (crtl->expr.x_saveregs_value)
160 #define apply_args_value (crtl->expr.x_apply_args_value)
161 #define forced_labels (crtl->expr.x_forced_labels)
162 #define stack_pointer_delta (crtl->expr.x_stack_pointer_delta)
465 #define return_label (crtl->x_return_label)
466 #define naked_return_label (crtl->x_naked_return_label)
467 #define stack_slot_list (crtl->x_stack_slot_list)
468 #define parm_birth_insn (crtl->x_parm_birth_insn)
469 #define frame_offset (crtl->x_frame_offset)
470 #define stack_check_probe_note (crtl->x_stack_check_probe_note)
471 #define arg_pointer_save_area (crtl->x_arg_pointer_save_area)
472 #define used_temp_slots (crtl->x_used_temp_slots)
473 #define avail_temp_slots (crtl->x_avail_temp_slots)
474 #define temp_slot_level (crtl->x_temp_slot_level)
475 #define nonlocal_goto_handler_labels (crtl->x_nonlocal_goto_handler_labels)
476 #define frame_pointer_needed (crtl->frame_pointer_needed)
477 #define stack_realign_fp (crtl->stack_realign_needed && !crtl->need_drap)
478 #define stack_realign_drap (crtl->stack_realign_needed && crtl->need_drap)
485 #define crtl (&x_rtl)
502 unsigned int has_unbounded_dynamic_stack_size : 1;
505 #define current_function_static_stack_size (cfun->su->static_stack_size)
506 #define current_function_dynamic_stack_size (cfun->su->dynamic_stack_size)
507 #define current_function_pushed_stack_size (cfun->su->pushed_stack_size)
508 #define current_function_has_unbounded_dynamic_stack_size \
509 (cfun->su->has_unbounded_dynamic_stack_size)
510 #define current_function_allocates_dynamic_stack_space \
511 (current_function_dynamic_stack_size != 0 \
512 || current_function_has_unbounded_dynamic_stack_size)
536 htab_t
GTY((skip)) value_histograms;
558 struct machine_function *
GTY ((maybe_undef)) machine;
561 struct language_function * language;
564 htab_t
GTY ((param_is (union tree_node))) used_types_hash;
584 unsigned int curr_properties;
585 unsigned int last_verified;
590 const
char *
GTY((skip)) cannot_be_copied_reason;
597 unsigned int va_list_gpr_size : 8;
601 unsigned int va_list_fpr_size : 8;
604 unsigned int calls_setjmp : 1;
608 unsigned int calls_alloca : 1;
612 unsigned int has_nonlocal_label : 1;
617 unsigned int cannot_be_copied_set : 1;
620 unsigned int stdarg : 1;
622 unsigned int after_inlining : 1;
623 unsigned int always_inline_functions_inlined : 1;
627 unsigned int can_throw_non_call_exceptions : 1;
631 unsigned int can_delete_dead_exceptions : 1;
638 unsigned int returns_struct : 1;
642 unsigned int returns_pcc_struct : 1;
646 unsigned int has_local_explicit_reg_vars : 1;
652 unsigned int is_thunk : 1;
656 unsigned int has_force_vect_loops : 1;
660 unsigned int has_simduid_loops : 1;
671 #define FOR_EACH_LOCAL_DECL(FUN, I, D) \
672 FOR_EACH_VEC_SAFE_ELT_REVERSE ((FUN)->local_decls, I, D)
676 #define VA_LIST_MAX_GPR_SIZE 255
677 #define VA_LIST_MAX_FPR_SIZE 255
685 #define cfun (cfun + 0)
722 inline struct
loops *
725 return fn->x_current_loops;
733 gcc_checking_assert (fn->x_current_loops == NULL || loops == NULL);
734 fn->x_current_loops = loops;
738 #define current_function_funcdef_no (cfun->funcdef_no)
740 #define current_loops (cfun->x_current_loops)
741 #define dom_computed (cfun->cfg->x_dom_computed)
742 #define n_bbs_in_dom_tree (cfun->cfg->x_n_bbs_in_dom_tree)
743 #define VALUE_HISTOGRAMS(fun) (fun)->value_histograms
768 extern struct machine_function * (*init_machine_status) (void);
800 #ifdef HAVE_simple_return