except.c: Revert change of 2004-05-26.

* except.c: Revert change of 2004-05-26.
	* config/i386/i386.md: Revert change of 2004-05-27.

From-SVN: r82349
This commit is contained in:
Bryce McKinlay 2004-05-28 01:14:02 +00:00 committed by Bryce McKinlay
parent 431b736152
commit aed3065793
3 changed files with 12 additions and 18 deletions

View file

@ -1,3 +1,8 @@
2004-05-27 Bryce McKinlay <mckinlay@redhat.com>
* except.c: Revert change of 2004-05-26.
* config/i386/i386.md: Revert change of 2004-05-27.
2004-05-27 Bryce McKinlay <mckinlay@redhat.com> 2004-05-27 Bryce McKinlay <mckinlay@redhat.com>
* configure.ac: Remove --enable-tree-browser option. * configure.ac: Remove --enable-tree-browser option.

View file

@ -137,12 +137,11 @@
; REP instruction ; REP instruction
(UNSPEC_REP 75) (UNSPEC_REP 75)
(UNSPEC_EH_RETURN 76)
]) ])
(define_constants (define_constants
[(UNSPECV_BLOCKAGE 0) [(UNSPECV_BLOCKAGE 0)
(UNSPECV_EH_RETURN 13)
(UNSPECV_EMMS 31) (UNSPECV_EMMS 31)
(UNSPECV_LDMXCSR 37) (UNSPECV_LDMXCSR 37)
(UNSPECV_STMXCSR 40) (UNSPECV_STMXCSR 40)
@ -13881,7 +13880,6 @@
"" ""
{ {
rtx tmp, sa = EH_RETURN_STACKADJ_RTX, ra = operands[0]; rtx tmp, sa = EH_RETURN_STACKADJ_RTX, ra = operands[0];
rtx jmp;
/* Tricky bit: we write the address of the handler to which we will /* Tricky bit: we write the address of the handler to which we will
be returning into someone else's stack frame, one word below the be returning into someone else's stack frame, one word below the
@ -13892,19 +13890,16 @@
emit_move_insn (tmp, ra); emit_move_insn (tmp, ra);
if (Pmode == SImode) if (Pmode == SImode)
jmp = emit_jump_insn (gen_eh_return_si (sa)); emit_insn (gen_eh_return_si (sa));
else else
jmp = emit_jump_insn (gen_eh_return_di (sa)); emit_insn (gen_eh_return_di (sa));
REG_NOTES (jmp) = alloc_EXPR_LIST (REG_NON_LOCAL_GOTO, const0_rtx,
REG_NOTES (jmp));
emit_barrier (); emit_barrier ();
DONE; DONE;
}) })
(define_insn_and_split "eh_return_si" (define_insn_and_split "eh_return_si"
[(set (pc) [(unspec_volatile [(match_operand:SI 0 "register_operand" "c")]
(unspec [(match_operand:SI 0 "register_operand" "c")] UNSPECV_EH_RETURN)]
UNSPEC_EH_RETURN))]
"!TARGET_64BIT" "!TARGET_64BIT"
"#" "#"
"reload_completed" "reload_completed"
@ -13912,9 +13907,8 @@
"ix86_expand_epilogue (2); DONE;") "ix86_expand_epilogue (2); DONE;")
(define_insn_and_split "eh_return_di" (define_insn_and_split "eh_return_di"
[(set (pc) [(unspec_volatile [(match_operand:DI 0 "register_operand" "c")]
(unspec [(match_operand:DI 0 "register_operand" "c")] UNSPECV_EH_RETURN)]
UNSPEC_EH_RETURN))]
"TARGET_64BIT" "TARGET_64BIT"
"#" "#"
"reload_completed" "reload_completed"

View file

@ -3145,11 +3145,6 @@ can_throw_internal (rtx insn)
return false; return false;
} }
if (GET_CODE (insn) == JUMP_INSN
&& GET_CODE (PATTERN (insn)) == RESX
&& XINT (PATTERN (insn), 0) > 0)
return can_throw_internal_1 (XINT (PATTERN (insn), 0));
/* Every insn that might throw has an EH_REGION note. */ /* Every insn that might throw has an EH_REGION note. */
note = find_reg_note (insn, REG_EH_REGION, NULL_RTX); note = find_reg_note (insn, REG_EH_REGION, NULL_RTX);
if (!note || INTVAL (XEXP (note, 0)) <= 0) if (!note || INTVAL (XEXP (note, 0)) <= 0)