From f15ae3a138ba40d224d0d95cd900f45546621895 Mon Sep 17 00:00:00 2001 From: Tom Wood Date: Tue, 23 Mar 1993 12:52:39 +0000 Subject: [PATCH] (push_topmost_sequence, pop_topmost_sequence): New functions. From-SVN: r3841 --- gcc/emit-rtl.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 31c6d39f0bef..47216629de12 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, -- 2.43.5