From ab74c92f301455726919ae3320e80198a851bdc4 Mon Sep 17 00:00:00 2001 From: wood Date: Tue, 23 Mar 1993 12:52:39 +0000 Subject: (push_topmost_sequence, pop_topmost_sequence): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3841 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/emit-rtl.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gcc/emit-rtl.c') diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 31c6d39f0be..47216629de1 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -2614,6 +2614,40 @@ push_to_sequence (first) last_insn = last; } +/* Set up the outer-level insn chain + as the current sequence, saving the previously current one. */ + +void +push_topmost_sequence () +{ + struct sequence_stack *stack, *top; + + start_sequence (); + + for (stack = sequence_stack; stack; stack = stack->next) + top = stack; + + first_insn = top->first; + last_insn = top->last; +} + +/* After emitting to the outer-level insn chain, update the outer-level + insn chain, and restore the previous saved state. */ + +void +pop_topmost_sequence () +{ + struct sequence_stack *stack, *top; + + for (stack = sequence_stack; stack; stack = stack->next) + top = stack; + + top->first = first_insn; + top->last = last_insn; + + end_sequence (); +} + /* After emitting to a sequence, restore previous saved state. To get the contents of the sequence just made, -- cgit v1.2.1