diff options
author | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-05-13 02:41:07 -0400 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-05-13 02:41:07 -0400 |
commit | 6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f (patch) | |
tree | a2568888a519c077427b133de9ece5879a8484a5 /gcc/gcse.c | |
parent | ac1a20aec53364d77f3bdff94a2a0a06840e0fe9 (diff) | |
download | gcc-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.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -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; |