diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-11-02 14:19:36 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-11-02 14:19:36 -0700 |
commit | e9a25f70a0a7b82881b56cb3dfa7422b2968682a (patch) | |
tree | 46fe768360493f03f7282d07762e7b26c292aabd /gcc/emit-rtl.c | |
parent | bb84e66919817020267815eed4304e543688e722 (diff) | |
download | gcc-e9a25f70a0a7b82881b56cb3dfa7422b2968682a.zip gcc-e9a25f70a0a7b82881b56cb3dfa7422b2968682a.tar.gz gcc-e9a25f70a0a7b82881b56cb3dfa7422b2968682a.tar.bz2 |
Update mainline egcs to gcc2 snapshot 971021.
From-SVN: r16278
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 50c6597..2204cec 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */ is the kind of rtx's they make and what arguments they use. */ #include "config.h" +#include <stdio.h> #ifdef __STDC__ #include <stdarg.h> #else @@ -48,6 +49,7 @@ Boston, MA 02111-1307, USA. */ #include "expr.h" #include "regs.h" #include "insn-config.h" +#include "recog.h" #include "real.h" #include "obstack.h" @@ -58,8 +60,6 @@ Boston, MA 02111-1307, USA. */ #include "bc-optab.h" #include "bc-emit.h" -#include <stdio.h> - /* Opcode names */ #ifdef BCDEBUG_PRINT_CODE char *opcode_name[] = @@ -958,6 +958,8 @@ gen_lowpart (mode, x) return change_address (x, mode, plus_constant (XEXP (x, 0), offset)); } + else if (GET_CODE (x) == ADDRESSOF) + return gen_lowpart (mode, force_reg (GET_MODE (x), x)); else abort (); } @@ -1462,7 +1464,7 @@ gen_inline_header_rtx (first_insn, first_parm_insn, first_labelno, pops_args, stack_slots, forced_labels, function_flags, outgoing_args_size, original_arg_vector, original_decl_initial, regno_rtx, regno_flag, - regno_align) + regno_align, parm_reg_stack_loc) rtx first_insn, first_parm_insn; int first_labelno, last_labelno, max_parm_regnum, max_regnum, args_size; int pops_args; @@ -1475,6 +1477,7 @@ gen_inline_header_rtx (first_insn, first_parm_insn, first_labelno, rtvec regno_rtx; char *regno_flag; char *regno_align; + rtvec parm_reg_stack_loc; { rtx header = gen_rtx (INLINE_HEADER, VOIDmode, cur_insn_uid++, NULL_RTX, @@ -1484,7 +1487,8 @@ gen_inline_header_rtx (first_insn, first_parm_insn, first_labelno, stack_slots, forced_labels, function_flags, outgoing_args_size, original_arg_vector, original_decl_initial, - regno_rtx, regno_flag, regno_align); + regno_rtx, regno_flag, regno_align, + parm_reg_stack_loc); return header; } @@ -1674,6 +1678,10 @@ copy_rtx_if_shared (orig) x->used = 1; return x; } + break; + + default: + break; } /* This rtx may not be shared. If it has already been seen, @@ -1763,6 +1771,9 @@ reset_used_flags (x) case BARRIER: /* The chain of insns is not being copied. */ return; + + default: + break; } x->used = 0; |