This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/10567] -fno-delayed-branch not honored in back-end
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jul 2004 21:33:13 -0000
- Subject: [Bug target/10567] -fno-delayed-branch not honored in back-end
- References: <20030430161600.10567.davem@redhat.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-07-07 21:33 -------
Subject: Bug 10567
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: ebotcazou@gcc.gnu.org 2004-07-07 21:33:09
Modified files:
gcc : ChangeLog
gcc/config/sparc: sparc.c sparc.md
Log message:
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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.4349&r2=2.4350
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&r1=1.311&r2=1.312
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.md.diff?cvsroot=gcc&r1=1.206&r2=1.207
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10567