Commit aed30657 by Bryce McKinlay Committed by Bryce McKinlay

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
parent 431b7361
2004-05-27 Bryce McKinlay <mckinlay@redhat.com> 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>
* configure.ac: Remove --enable-tree-browser option. * configure.ac: Remove --enable-tree-browser option.
Define TREEBROWSER when ac_tree_checking is defined. Define TREEBROWSER when ac_tree_checking is defined.
* configure: Rebuilt. * configure: Rebuilt.
......
...@@ -137,12 +137,11 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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"
......
...@@ -3145,11 +3145,6 @@ can_throw_internal (rtx insn) ...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment