struct emit_status *emit;
struct varasm_status *varasm;
+ /* The control flow graph for this function. */
+ struct control_flow_graph *cfg;
+
/* For tree-optimize.c. */
/* Saved tree and arguments during tree optimization. Used later for
/* The variables unexpanded so far. */
tree unexpanded_var_list;
+ /* Assembly labels for the hot and cold text sections, to
+ be used by debugger functions for determining the size of text
+ sections. */
+
+ const char * hot_section_label;
+ const char * cold_section_label;
+ const char * hot_section_end_label;
+ const char * cold_section_end_label;
+
+ /* String to be used for name of cold text sections, via
+ targetm.asm_out.named_section. */
+
+ const char *unlikely_text_section_name;
+
/* Collected bit flags. */
/* Nonzero if function being compiled needs to be given an address
/* Nonzero if code to initialize arg_pointer_save_area has been emitted. */
unsigned int arg_pointer_save_area_init : 1;
+
+ /* Number of units of general registers that need saving in stdarg
+ function. What unit is depends on the backend, either it is number
+ of bytes, or it can be number of registers. */
+ unsigned int va_list_gpr_size : 8;
+
+ /* Number of units of floating point registers that need saving in stdarg
+ function. */
+ unsigned int va_list_fpr_size : 8;
};
+/* If va_list_[gf]pr_size is set to this, it means we don't know how
+ many units need to be saved. */
+#define VA_LIST_MAX_GPR_SIZE 255
+#define VA_LIST_MAX_FPR_SIZE 255
+
/* The function currently being compiled. */
extern GTY(()) struct function *cfun;
#define used_temp_slots (cfun->x_used_temp_slots)
#define avail_temp_slots (cfun->x_avail_temp_slots)
#define temp_slot_level (cfun->x_temp_slot_level)
-#define nonlocal_labels (cfun->x_nonlocal_labels)
#define nonlocal_goto_handler_labels (cfun->x_nonlocal_goto_handler_labels)
/* Given a function decl for a containing function,