From: Richard Kenner Date: Fri, 23 Feb 1996 13:46:04 +0000 (-0500) Subject: (expand_builtin... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0dddb42d9003167d9485ef1079f0ecc8d37e34a5;p=gcc.git (expand_builtin... (expand_builtin, case BUILT_IN_SETJMP): Set CONST_CALL_P on NOTE_INSN_SETJMP instead of emitting USE insns for call-saved regs. From-SVN: r11340 --- diff --git a/gcc/expr.c b/gcc/expr.c index 41fc899eb13..34209b7c034 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8522,7 +8522,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) emit_queue (); - emit_note (NULL_PTR, NOTE_INSN_SETJMP); + CONST_CALL_P (emit_note (NULL_PTR, NOTE_INSN_SETJMP)) = 1; current_function_calls_setjmp = 1; /* We store the frame pointer and the address of lab1 in the buffer @@ -8553,16 +8553,9 @@ expand_builtin (exp, target, subtarget, mode, ignore) emit_label (lab1); /* Note that setjmp clobbers FP when we get here, so we have to - make sure it's marked as used by this function. Also, - some inner function might use a call-saved register, so we - have to set up to save all of them here. */ + make sure it's marked as used by this function. */ emit_insn (gen_rtx (USE, VOIDmode, hard_frame_pointer_rtx)); - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - if (! call_used_regs[i]) - emit_insn (gen_rtx (USE, VOIDmode, - gen_rtx (REG, reg_raw_mode[i], i))); - /* Now put in the code to restore the frame pointer, and argument pointer, if needed. The code below is from expand_end_bindings in stmt.c; see detailed documentation there. */