OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gcc/
[pf3gnuchains/gcc-fork.git]
/
gcc
/
function.h
diff --git
a/gcc/function.h
b/gcc/function.h
index
94c8101
..
a5afd1b
100644
(file)
--- a/
gcc/function.h
+++ b/
gcc/function.h
@@
-46,8
+46,6
@@
struct sequence_stack GTY(())
struct sequence_stack *next;
};
struct sequence_stack *next;
};
-extern struct sequence_stack *sequence_stack;
-
/* Stack of single obstacks. */
struct simple_obstack_stack
/* Stack of single obstacks. */
struct simple_obstack_stack
@@
-159,6
+157,7
@@
struct expr_status GTY(())
#define forced_labels (cfun->expr->x_forced_labels)
#define stack_pointer_delta (cfun->expr->x_stack_pointer_delta)
#define forced_labels (cfun->expr->x_forced_labels)
#define stack_pointer_delta (cfun->expr->x_stack_pointer_delta)
+struct gimple_df;
struct temp_slot;
typedef struct temp_slot *temp_slot_p;
struct temp_slot;
typedef struct temp_slot *temp_slot_p;
@@
-167,12
+166,12
@@
DEF_VEC_ALLOC_P(temp_slot_p,gc);
enum function_frequency {
/* This function most likely won't be executed at all.
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
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
};
FUNCTION_FREQUENCY_HOT
};
@@
-188,10
+187,15
@@
struct function GTY(())
/* The control flow graph for this function. */
struct control_flow_graph *cfg;
/* The control flow graph for this function. */
struct control_flow_graph *cfg;
+ /* SSA and dataflow information. */
+ struct gimple_df *gimple_df;
/* The loops in this function. */
struct loops * GTY((skip)) x_current_loops;
/* 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. */
/* For function.c. */
/* Points to the FUNCTION_DECL of this function. */
@@
-343,9
+347,6
@@
struct function GTY(())
/* Line number of the end of the function. */
location_t function_end_locus;
/* 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;
/* The variables unexpanded so far. */
tree unexpanded_var_list;
@@
-367,6
+368,10
@@
struct function GTY(())
Used for detecting stack clobbers. */
tree stack_protect_guard;
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
/* Collected bit flags. */
/* Nonzero if function being compiled needs to be given an address
@@
-466,6
+471,11
@@
struct function GTY(())
/* Number of units of floating point registers that need saving in stdarg
function. */
unsigned int va_list_fpr_size : 8;
/* Number of units of floating point registers that need saving in stdarg
function. */
unsigned int va_list_fpr_size : 8;
+
+ /* FIXME tuples: This bit is temporarily here to mark when a
+ function has been gimplified, so we can make sure we're not
+ creating non GIMPLE tuples after gimplification. */
+ unsigned gimplified : 1;
};
/* If va_list_[gf]pr_size is set to this, it means we don't know how
};
/* If va_list_[gf]pr_size is set to this, it means we don't know how
@@
-524,6
+534,7
@@
extern int trampolines_created;
#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 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. */
/* Given a function decl for a containing function,
return the `struct function' for it. */
@@
-538,11
+549,6
@@
extern void number_blocks (tree);
extern void clear_block_marks (tree);
extern tree blocks_nreverse (tree);
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;
/* Return size needed for stack frame based on slots so far allocated.
This size counts from zero. It is not rounded to STACK_BOUNDARY;
@@
-583,4
+589,5
@@
extern bool reference_callee_copied (CUMULATIVE_ARGS *, enum machine_mode,
extern void used_types_insert (tree);
extern void used_types_insert (tree);
+extern int get_next_funcdef_no (void);
#endif /* GCC_FUNCTION_H */
#endif /* GCC_FUNCTION_H */