struct sequence_stack *next;
};
-extern struct sequence_stack *sequence_stack;
-
/* Stack of single obstacks. */
struct simple_obstack_stack
enum function_frequency {
/* This function most likely won't be executed at all.
- (set only when profile feedback is available). */
+ (set only when profile feedback is available or via function attribute). */
FUNCTION_FREQUENCY_UNLIKELY_EXECUTED,
/* The default value. */
FUNCTION_FREQUENCY_NORMAL,
/* Optimize this function hard
- (set only when profile feedback is available). */
+ (set only when profile feedback is available or via function attribute). */
FUNCTION_FREQUENCY_HOT
};
/* The loops in this function. */
struct loops * GTY((skip)) x_current_loops;
+ /* Value histograms attached to particular statements. */
+ htab_t GTY((skip)) value_histograms;
+
/* For function.c. */
/* Points to the FUNCTION_DECL of this function. */
/* Line number of the end of the function. */
location_t function_end_locus;
- /* Array mapping insn uids to blocks. */
- VEC(tree,gc) *ib_boundaries_block;
-
/* The variables unexpanded so far. */
tree unexpanded_var_list;
Used for detecting stack clobbers. */
tree stack_protect_guard;
+ /* Properties used by the pass manager. */
+ unsigned int curr_properties;
+ unsigned int last_verified;
+
/* Collected bit flags. */
/* Nonzero if function being compiled needs to be given an address
#define temp_slot_level (cfun->x_temp_slot_level)
#define nonlocal_goto_handler_labels (cfun->x_nonlocal_goto_handler_labels)
#define current_loops (cfun->x_current_loops)
+#define VALUE_HISTOGRAMS(fun) (fun)->value_histograms
/* Given a function decl for a containing function,
return the `struct function' for it. */
extern void clear_block_marks (tree);
extern tree blocks_nreverse (tree);
-extern void reset_block_changes (void);
-extern void record_block_change (tree);
-extern void finalize_block_changes (void);
-extern void check_block_change (rtx, tree *);
-extern void free_block_changes (void);
/* Return size needed for stack frame based on slots so far allocated.
This size counts from zero. It is not rounded to STACK_BOUNDARY;
extern void used_types_insert (tree);
+extern int get_next_funcdef_no (void);
#endif /* GCC_FUNCTION_H */