This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r140256 - in /branches/cell-4_3-branch: ChangeL...
- From: tsmigiel at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 11 Sep 2008 02:10:15 -0000
- Subject: r140256 - in /branches/cell-4_3-branch: ChangeL...
Author: tsmigiel
Date: Thu Sep 11 02:10:14 2008
New Revision: 140256
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140256
Log:
Support dynamic hints via __builtin_expect with a non-constant second
argument.
* gcc/doc/md.texi (builtin_expect): Document new pattern.
* gcc/builtins.c (expand_builtin_expect): Handle target defined
builtin_expect.
* gcc/predict.c (strip_builtin_expect): Don't strip all the time
when the target provides builtin_expect.
* gcc/config/spu/spu.c (spu_expect_op0, spu_expect_op1): Define.
(spu_emit_branch_or_set): Handle spu_expect_op0 and spu_expect_op1.
(spu_emit_branch_hint): Handle dynamic hints.
(get_branch_target): Handle expect_then and expect_else rtl.
(insn_clobbers_hbr): Return true for hints.
(spu_machine_dependent_reorg): Reposition lables for hints.
* gcc/config/spu/spu.h (spu_expect_op0, spu_expect_op1): Declare.
* gcc/config/spu/spu.md (expect_then, expect_else, builtin_expect):
Declare.
Modified:
branches/cell-4_3-branch/ChangeLog.cell
branches/cell-4_3-branch/gcc/builtins.c
branches/cell-4_3-branch/gcc/config/spu/spu.c
branches/cell-4_3-branch/gcc/config/spu/spu.h
branches/cell-4_3-branch/gcc/config/spu/spu.md
branches/cell-4_3-branch/gcc/doc/md.texi
branches/cell-4_3-branch/gcc/predict.c