aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-19 21:08:18 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-19 21:08:18 +0000
commit75b46023e7782781e63d0aca3c5b5f5ddd6cf816 (patch)
tree483047209ce9ff66182ec0a91e068be21d6a645f /gcc/emit-rtl.c
parentf3222b793db6b9a79d23e019b0395f0907597e75 (diff)
downloadgcc-75b46023e7782781e63d0aca3c5b5f5ddd6cf816.zip
gcc-75b46023e7782781e63d0aca3c5b5f5ddd6cf816.tar.gz
gcc-75b46023e7782781e63d0aca3c5b5f5ddd6cf816.tar.bz2
next_cc0_user and prev_cc0_setter scaffolding
2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtl.h (next_cc0_user): Strengthen return type from rtx to rtx_insn *. (prev_cc0_setter): Likewise. * emit-rtl.c (next_cc0_user): Strengthen return type from rtx to rtx_insn *, adding checked casts for now as necessary. (prev_cc0_setter): Likewise. From-SVN: r214196
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index ccfa22a..0ca59ad 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3450,20 +3450,20 @@ prev_active_insn (rtx insn)
Return 0 if we can't find the insn. */
-rtx
+rtx_insn *
next_cc0_user (rtx insn)
{
rtx note = find_reg_note (insn, REG_CC_USER, NULL_RTX);
if (note)
- return XEXP (note, 0);
+ return safe_as_a <rtx_insn *> (XEXP (note, 0));
insn = next_nonnote_insn (insn);
if (insn && NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == SEQUENCE)
insn = XVECEXP (PATTERN (insn), 0, 0);
if (insn && INSN_P (insn) && reg_mentioned_p (cc0_rtx, PATTERN (insn)))
- return insn;
+ return safe_as_a <rtx_insn *> (insn);
return 0;
}
@@ -3471,18 +3471,18 @@ next_cc0_user (rtx insn)
/* Find the insn that set CC0 for INSN. Unless INSN has a REG_CC_SETTER
note, it is the previous insn. */
-rtx
+rtx_insn *
prev_cc0_setter (rtx insn)
{
rtx note = find_reg_note (insn, REG_CC_SETTER, NULL_RTX);
if (note)
- return XEXP (note, 0);
+ return safe_as_a <rtx_insn *> (XEXP (note, 0));
insn = prev_nonnote_insn (insn);
gcc_assert (sets_cc0_p (PATTERN (insn)));
- return insn;
+ return safe_as_a <rtx_insn *> (insn);
}
#endif