summaryrefslogtreecommitdiff
path: root/gcc/tree-gimple.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-gimple.h')
-rw-r--r--gcc/tree-gimple.h78
1 files changed, 40 insertions, 38 deletions
diff --git a/gcc/tree-gimple.h b/gcc/tree-gimple.h
index 29352a54b81..98f46951af4 100644
--- a/gcc/tree-gimple.h
+++ b/gcc/tree-gimple.h
@@ -42,45 +42,45 @@ extern void annotate_all_with_locus (tree *, location_t);
underlying nodes are also of the right form. */
/* Returns true iff T is a valid GIMPLE statement. */
-bool is_gimple_stmt (tree);
+extern bool is_gimple_stmt (tree);
/* Returns true iff TYPE is a valid type for a scalar register variable. */
-bool is_gimple_reg_type (tree);
+extern bool is_gimple_reg_type (tree);
/* Returns true iff T is a scalar register variable. */
-bool is_gimple_reg (tree);
+extern bool is_gimple_reg (tree);
/* Returns true iff T is any sort of variable. */
-bool is_gimple_variable (tree);
+extern bool is_gimple_variable (tree);
/* Returns true iff T is a variable or an INDIRECT_REF (of a variable). */
-bool is_gimple_min_lval (tree);
+extern bool is_gimple_min_lval (tree);
/* Returns true iff T is an lvalue other than an INDIRECT_REF. */
-bool is_gimple_addr_expr_arg (tree);
+extern bool is_gimple_addr_expr_arg (tree);
/* Returns true iff T is any valid GIMPLE lvalue. */
-bool is_gimple_lvalue (tree);
+extern bool is_gimple_lvalue (tree);
/* Returns true iff T is a GIMPLE restricted function invariant. */
-bool is_gimple_min_invariant (tree);
+extern bool is_gimple_min_invariant (tree);
/* Returns true iff T is a GIMPLE rvalue. */
-bool is_gimple_val (tree);
+extern bool is_gimple_val (tree);
/* Returns true iff T is a valid rhs for a MODIFY_EXPR. */
-bool is_gimple_rhs (tree);
+extern bool is_gimple_rhs (tree);
/* Returns true iff T is a valid if-statement condition. */
-bool is_gimple_condexpr (tree);
+extern bool is_gimple_condexpr (tree);
/* Returns true iff T is a type conversion. */
-bool is_gimple_cast (tree);
+extern bool is_gimple_cast (tree);
/* Returns true iff T is a valid CONSTRUCTOR element (either an rvalue or
another CONSTRUCTOR). */
-bool is_gimple_constructor_elt (tree);
+extern bool is_gimple_constructor_elt (tree);
/* Returns true iff T is a variable that does not need to live in memory. */
-bool is_gimple_non_addressable (tree t);
+extern bool is_gimple_non_addressable (tree t);
/* If T makes a function call, returns the CALL_EXPR operand. */
-tree get_call_expr_in (tree t);
+extern tree get_call_expr_in (tree t);
-void recalculate_side_effects (tree);
+extern void recalculate_side_effects (tree);
-void append_to_compound_expr (tree, tree *);
+extern void append_to_compound_expr (tree, tree *);
/* FIXME we should deduce this from the predicate. */
typedef enum fallback_t {
@@ -98,29 +98,31 @@ enum gimplify_status {
GS_ALL_DONE = 1 /* The expression is fully gimplified. */
};
-enum gimplify_status gimplify_expr (tree *, tree *, tree *,
- bool (*) (tree), fallback_t);
-void gimplify_stmt (tree *);
-void gimplify_to_stmt_list (tree *);
-void gimplify_body (tree *, tree);
-void push_gimplify_context (void);
-void pop_gimplify_context (tree);
-void gimplify_and_add (tree, tree *);
+extern enum gimplify_status gimplify_expr (tree *, tree *, tree *,
+ bool (*) (tree), fallback_t);
+extern tree gimplify_type_sizes (tree);
+extern void gimplify_one_sizepos (tree *, tree *);
+extern void gimplify_stmt (tree *);
+extern void gimplify_to_stmt_list (tree *);
+extern void gimplify_body (tree *, tree);
+extern void push_gimplify_context (void);
+extern void pop_gimplify_context (tree);
+extern void gimplify_and_add (tree, tree *);
/* Miscellaneous helpers. */
-tree get_base_address (tree t);
-void gimple_add_tmp_var (tree);
-tree gimple_current_bind_expr (void);
-void gimple_push_bind_expr (tree);
-void gimple_pop_bind_expr (void);
-void unshare_all_trees (tree);
-tree voidify_wrapper_expr (tree, tree);
-tree gimple_build_eh_filter (tree, tree, tree);
-tree build_and_jump (tree *);
-tree alloc_stmt_list (void);
-void free_stmt_list (tree);
-tree force_labels_r (tree *, int *, void *);
-enum gimplify_status gimplify_va_arg_expr (tree *, tree *, tree *);
+extern tree get_base_address (tree t);
+extern void gimple_add_tmp_var (tree);
+extern tree gimple_current_bind_expr (void);
+extern void gimple_push_bind_expr (tree);
+extern void gimple_pop_bind_expr (void);
+extern void unshare_all_trees (tree);
+extern tree voidify_wrapper_expr (tree, tree);
+extern tree gimple_build_eh_filter (tree, tree, tree);
+extern tree build_and_jump (tree *);
+extern tree alloc_stmt_list (void);
+extern void free_stmt_list (tree);
+extern tree force_labels_r (tree *, int *, void *);
+extern enum gimplify_status gimplify_va_arg_expr (tree *, tree *, tree *);
/* In tree-nested.c. */
extern void lower_nested_functions (tree);