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:
parent
431b736152
commit
aed3065793
3 changed files with 12 additions and 18 deletions
|
@ -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.
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Reference in a new issue