mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-14 05:20:25 +08:00
sh.c (unspec_bbr_uid): New.
* config/sh/sh.c (unspec_bbr_uid): New. (gen_block_redirect): Use it instead of INSN_UID. (gen_far_branch): Likewise. From-SVN: r157128
This commit is contained in:
parent
746ecbcda2
commit
826159e51b
@ -1,3 +1,9 @@
|
||||
2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
* config/sh/sh.c (unspec_bbr_uid): New.
|
||||
(gen_block_redirect): Use it instead of INSN_UID.
|
||||
(gen_far_branch): Likewise.
|
||||
|
||||
2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
|
||||
|
@ -107,6 +107,9 @@ static int skip_cycles = 0;
|
||||
and returned from sh_reorder2. */
|
||||
static short cached_can_issue_more;
|
||||
|
||||
/* Unique number for UNSPEC_BBR pattern. */
|
||||
static unsigned int unspec_bbr_uid = 1;
|
||||
|
||||
/* Provides the class number of the smallest class containing
|
||||
reg number. */
|
||||
|
||||
@ -5012,8 +5015,8 @@ gen_block_redirect (rtx jump, int addr, int need_block)
|
||||
branch; simplejump_p fails for indirect jumps even if they have
|
||||
a JUMP_LABEL. */
|
||||
rtx insn = emit_insn_before (gen_indirect_jump_scratch
|
||||
(reg, GEN_INT (INSN_UID (JUMP_LABEL (jump))))
|
||||
, jump);
|
||||
(reg, GEN_INT (unspec_bbr_uid++)),
|
||||
jump);
|
||||
/* ??? We would like this to have the scope of the jump, but that
|
||||
scope will change when a delay slot insn of an inner scope is added.
|
||||
Hence, after delay slot scheduling, we'll have to expect
|
||||
@ -5028,8 +5031,8 @@ gen_block_redirect (rtx jump, int addr, int need_block)
|
||||
/* We can't use JUMP_LABEL here because it might be undefined
|
||||
when not optimizing. */
|
||||
return emit_insn_before (gen_block_branch_redirect
|
||||
(GEN_INT (INSN_UID (XEXP (SET_SRC (PATTERN (jump)), 0))))
|
||||
, jump);
|
||||
(GEN_INT (unspec_bbr_uid++)),
|
||||
jump);
|
||||
return prev;
|
||||
}
|
||||
|
||||
@ -5088,7 +5091,7 @@ gen_far_branch (struct far_branch *bp)
|
||||
if (bp->far_label)
|
||||
(emit_insn_after
|
||||
(gen_stuff_delay_slot
|
||||
(GEN_INT (INSN_UID (XEXP (SET_SRC (PATTERN (jump)), 0))),
|
||||
(GEN_INT (unspec_bbr_uid++),
|
||||
GEN_INT (recog_memoized (insn) == CODE_FOR_branch_false)),
|
||||
insn));
|
||||
/* Prevent reorg from undoing our splits. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user