aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@gcc.gnu.org>2004-05-13 02:41:07 -0400
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-05-13 02:41:07 -0400
commit6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f (patch)
treea2568888a519c077427b133de9ece5879a8484a5 /gcc/gcse.c
parentac1a20aec53364d77f3bdff94a2a0a06840e0fe9 (diff)
downloadgcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.zip
gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.gz
gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.bz2
Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 19710d2..9e6ced5 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -1281,7 +1281,6 @@ want_to_gcse_p (rtx x)
case CONST_DOUBLE:
case CONST_VECTOR:
case CALL:
- case CONSTANT_P_RTX:
return 0;
default:
@@ -2141,9 +2140,6 @@ gcse_constant_p (rtx x)
&& ! FLOAT_MODE_P (GET_MODE (XEXP (x, 1))))
return true;
- if (GET_CODE (x) == CONSTANT_P_RTX)
- return false;
-
return CONSTANT_P (x);
}
@@ -4773,7 +4769,7 @@ reg_killed_on_edge (rtx reg, edge e)
{
rtx insn;
- for (insn = e->insns; insn; insn = NEXT_INSN (insn))
+ for (insn = e->insns.r; insn; insn = NEXT_INSN (insn))
if (INSN_P (insn) && reg_set_p (reg, insn))
return true;
@@ -4850,7 +4846,7 @@ bypass_block (basic_block bb, rtx setcc, rtx jump)
continue;
/* Check the data flow is valid after edge insertions. */
- if (e->insns && reg_killed_on_edge (reg_used->reg_rtx, e))
+ if (e->insns.r && reg_killed_on_edge (reg_used->reg_rtx, e))
continue;
src = SET_SRC (pc_set (jump));
@@ -4871,14 +4867,14 @@ bypass_block (basic_block bb, rtx setcc, rtx jump)
if (new == pc_rtx)
{
edest = FALLTHRU_EDGE (bb);
- dest = edest->insns ? NULL : edest->dest;
+ dest = edest->insns.r ? NULL : edest->dest;
}
else if (GET_CODE (new) == LABEL_REF)
{
dest = BLOCK_FOR_INSN (XEXP (new, 0));
/* Don't bypass edges containing instructions. */
for (edest = bb->succ; edest; edest = edest->succ_next)
- if (edest->dest == dest && edest->insns)
+ if (edest->dest == dest && edest->insns.r)
{
dest = NULL;
break;
@@ -8150,7 +8146,7 @@ reg_used_on_edge (rtx reg, edge e)
{
rtx insn;
- for (insn = e->insns; insn; insn = NEXT_INSN (insn))
+ for (insn = e->insns.r; insn; insn = NEXT_INSN (insn))
if (INSN_P (insn) && reg_overlap_mentioned_p (reg, PATTERN (insn)))
return true;