From ec24c3a3c9ff0c79ee840f39abab63bc11aec115 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 1 Apr 2008 10:41:14 +0200 Subject: [PATCH] re PR middle-end/35781 (Revision 133759 breaks ia64) PR middle-end/35781 * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use rtl.emit instead cfun->emit. * sparc/sparc.h (INIT_EXPANDERS): Likewise. * ia64/ia64.h (INIT_EXPANDERS): Likewise. Co-Authored-By: Andreas Tobler Co-Authored-By: James E Wilson From-SVN: r133786 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/ia64/ia64.h | 2 +- gcc/config/m32c/m32c.c | 16 ++++++++-------- gcc/config/sparc/sparc.h | 2 +- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b4e7fb05fe..581e622c47f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2008-04-01 Jan Hubicka + Jim Wilson + Andreas Tobler + + PR middle-end/35781 + * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use + rtl.emit instead cfun->emit. + * sparc/sparc.h (INIT_EXPANDERS): Likewise. + * ia64/ia64.h (INIT_EXPANDERS): Likewise. + 2008-04-01 Ben Elliston * doc/c-tree.texi (Function Basics): Fix grammatical error. diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 5f0c28ce706..618ba24814b 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -982,7 +982,7 @@ enum reg_class #define INIT_EXPANDERS \ do { \ ia64_init_expanders (); \ - if (cfun && cfun->emit->regno_pointer_align) \ + if (rtl.emit.regno_pointer_align) \ REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) = 64; \ } while (0) diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c index 2b3bab54ffc..37caaf974fc 100644 --- a/gcc/config/m32c/m32c.c +++ b/gcc/config/m32c/m32c.c @@ -3889,20 +3889,20 @@ m32c_leaf_function_p (void) struct sequence_stack *seq; int rv; - saved_first = cfun->emit->x_first_insn; - saved_last = cfun->emit->x_last_insn; - for (seq = cfun->emit->sequence_stack; seq && seq->next; seq = seq->next) + saved_first = rtl.emit.x_first_insn; + saved_last = rtl.emit.x_last_insn; + for (seq = rtl.emit.sequence_stack; seq && seq->next; seq = seq->next) ; if (seq) { - cfun->emit->x_first_insn = seq->first; - cfun->emit->x_last_insn = seq->last; + rtl.emit.x_first_insn = seq->first; + rtl.emit.x_last_insn = seq->last; } rv = leaf_function_p (); - cfun->emit->x_first_insn = saved_first; - cfun->emit->x_last_insn = saved_last; + rtl.emit.x_first_insn = saved_first; + rtl.emit.x_last_insn = saved_last; return rv; } @@ -3918,7 +3918,7 @@ m32c_function_needs_enter (void) rtx fb = gen_rtx_REG (Pmode, FB_REGNO); insn = get_insns (); - for (seq = cfun->emit->sequence_stack; + for (seq = rtl.emit.sequence_stack; seq; insn = seq->first, seq = seq->next); diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 53983d46421..fcea5762334 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -953,7 +953,7 @@ extern int sparc_mode_class[]; /* Given the stack bias, the stack pointer isn't actually aligned. */ #define INIT_EXPANDERS \ do { \ - if (cfun && cfun->emit->regno_pointer_align && SPARC_STACK_BIAS) \ + if (rtl.emit.regno_pointer_align && SPARC_STACK_BIAS) \ { \ REGNO_POINTER_ALIGN (STACK_POINTER_REGNUM) = BITS_PER_UNIT; \ REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = BITS_PER_UNIT; \