re PR target/10567 (-fno-delayed-branch not honored in back-end)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Wed, 7 Jul 2004 21:33:09 +0000 (23:33 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 7 Jul 2004 21:33:09 +0000 (21:33 +0000)
commit951661a1a5a4271ba4975cde0f0093af99861acf
tree13cf5c801f37168a06c5e065e71434e2c8481037
parent5f7b21560685728b826f0702459292806ea8bbb8
re PR target/10567 (-fno-delayed-branch not honored in back-end)

PR target/10567
* config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch.
(output_return): Likewise.
(output_sibcall): Abort if !flag_delayed_branch.
(sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch.
(emit_and_preserve): New function.
(sparc_output_mi_thunk): Use it.  Honor flag_delayed_branch.  Emit an
indirect jump to the thunked-to function if !flag_delayed_branch.
* config/sparc/sparc.md (delayed_branch): New attribute.
(load_pcrel_sym): Honor flag_delayed_branch.  Use above
attribute to compute the length of the insn.
(goto_handler_and_restore): Likewise.

From-SVN: r84232
gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md