summaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h94
1 files changed, 3 insertions, 91 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 7f1396d7d70..8319e25102b 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -68,58 +68,6 @@ enum memory_use_mode {MEMORY_USE_BAD = 0, MEMORY_USE_RO = 1,
MEMORY_USE_WO = 2, MEMORY_USE_RW = 3,
MEMORY_USE_TW = 6, MEMORY_USE_DONT = 99};
-/* List of labels that must never be deleted. */
-extern rtx forced_labels;
-
-/* List (chain of EXPR_LISTs) of pseudo-regs of SAVE_EXPRs.
- So we can mark them all live at the end of the function, if stupid. */
-extern rtx save_expr_regs;
-
-/* Nonzero means __builtin_saveregs has already been done in this function.
- The value is the pseudoreg containing the value __builtin_saveregs
- returned. */
-extern rtx saveregs_value;
-
-/* Similarly for __builtin_apply_args. */
-extern rtx apply_args_value;
-
-extern int current_function_calls_alloca;
-extern int current_function_outgoing_args_size;
-
-/* This is the offset from the arg pointer to the place where the first
- anonymous arg can be found, if there is one. */
-extern rtx current_function_arg_offset_rtx;
-
-/* This is nonzero if the current function uses the constant pool. */
-extern int current_function_uses_const_pool;
-
-/* This is nonzero if the current function uses pic_offset_table_rtx. */
-extern int current_function_uses_pic_offset_table;
-
-/* The arg pointer hard register, or the pseudo into which it was copied. */
-extern rtx current_function_internal_arg_pointer;
-
-/* This is nonzero if memory access checking be enabled in the current
- function. */
-extern int current_function_check_memory_usage;
-
-/* Under some ABIs, it is the caller's responsibility to pop arguments
- pushed for function calls. A naive implementation would simply pop
- the arguments immediately after each call. However, if several
- function calls are made in a row, it is typically cheaper to pop
- all the arguments after all of the calls are complete since a
- single pop instruction can be used. Therefore, GCC attempts to
- defer popping the arguments until absolutely necessary. (For
- example, at the end of a conditional, the arguments must be popped,
- since code outside the conditional won't know whether or not the
- arguments need to be popped.)
-
- When INHIBIT_DEFER_POP is non-zero, however, the compiler does not
- attempt to defer pops. Instead, the stack is popped immediately
- after each call. Rather then setting this variable directly, use
- NO_DEFER_POP and OK_DEFER_POP. */
-extern int inhibit_defer_pop;
-
/* Prevent the compiler from deferring stack pops. See
inhibit_defer_pop for more information. */
#define NO_DEFER_POP (inhibit_defer_pop += 1)
@@ -127,45 +75,6 @@ extern int inhibit_defer_pop;
/* Allow the compiler to defer stack pops. See inhibit_defer_pop for
more information. */
#define OK_DEFER_POP (inhibit_defer_pop -= 1)
-
-/* Number of function calls seen so far in current function. */
-
-extern int function_call_count;
-
-/* List (chain of EXPR_LIST) of stack slots that hold the current handlers
- for nonlocal gotos. There is one for every nonlocal label in the function;
- this list matches the one in nonlocal_labels.
- Zero when function does not have nonlocal labels. */
-
-extern rtx nonlocal_goto_handler_slots;
-
-/* RTX for stack slot that holds the stack pointer value to restore
- for a nonlocal goto.
- Zero when function does not have nonlocal labels. */
-
-extern rtx nonlocal_goto_stack_level;
-
-/* List (chain of TREE_LIST) of LABEL_DECLs for all nonlocal labels
- (labels to which there can be nonlocal gotos from nested functions)
- in this function. */
-
-#ifdef TREE_CODE /* Don't lose if tree.h not included. */
-extern tree nonlocal_labels;
-#endif
-
-/* Number of units that we should eventually pop off the stack.
- These are the arguments to function calls that have already returned. */
-extern int pending_stack_adjust;
-
-/* When temporaries are created by TARGET_EXPRs, they are created at
- this level of temp_slot_level, so that they can remain allocated
- until no longer needed. CLEANUP_POINT_EXPRs define the lifetime
- of TARGET_EXPRs. */
-extern int target_temp_slot_level;
-
-/* Current level for normal temporaries. */
-
-extern int temp_slot_level;
#ifdef TREE_CODE /* Don't lose if tree.h not included. */
/* Structure to record the size of a sequence of arguments
@@ -756,6 +665,9 @@ extern void init_expr_once PROTO((void));
/* This is run at the start of compiling a function. */
extern void init_expr PROTO((void));
+/* This is run at the end of compiling a function. */
+extern void finish_expr_for_function PROTO((void));
+
/* Use protect_from_queue to convert a QUEUED expression
into something that you can put immediately into an instruction. */
extern rtx protect_from_queue PROTO((rtx, int));