summaryrefslogtreecommitdiff
path: root/gcc/dse.c
diff options
context:
space:
mode:
authorzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-23 18:46:18 +0000
committerzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-23 18:46:18 +0000
commit0349edce82976f82d2fff3d7616a15de0b709795 (patch)
treead36f33e801b9597515c079ef65870d2ac014614 /gcc/dse.c
parent269185be7580959a581df3a314f13d5069db9f03 (diff)
downloadgcc-0349edce82976f82d2fff3d7616a15de0b709795.tar.gz
2012-08-23 Kenneth Zadeck <zadeck@naturalbridge.com>
* alias.c (rtx_equal_for_memref_p): Convert constant cases. * combine.c (find_single_use_1, mark_used_regs_combine): Convert to CASE_CONST_ANY. * cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1, count_reg_usage): Convert constant cases. * cselib.c (cselib_expand_value_rtx_1): Convert to CASE_CONST_ANY. (cselib_subst_to_values): Convert constant cases. * df-scan.c (df_uses_record): Ditto. * dse.c (const_or_frame_p): Convert case statements to explicit if-then-else using mode classes. * emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases. * explow.c (convert_memory_address_addr_space): Ditto. * gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto. * genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto. * ira.c (equiv_init_varies_p, contains_replace_regs, memref_referenced_p, rtx_moveable_p): Ditto. * jump.c (mark_jump_label_1): Remove constant cases. (rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE. * loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1, invariant_expr_equal_p): Convert to CASE_CONST_ANY. * postreload-gcse.c (oprs_unchanged_p): Convert constant cases. * reginfo.c (reg_scan_mark_refs): Ditto. * regrename.c (scan_rtx): Ditto. * reload1.c (eliminate_regs_1, elimination_effects, scan_paradoxical_subregs): Ditto. * reload.c (operands_match_p, subst_reg_equivs): Ditto. * resource.c (mark_referenced_resources, mark_set_resources): Ditto. * rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences) (reg_mentioned_p, modified_between_p, modified_in_p) (volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1, inequality_comparisons_p, computed_jump_p_1): Ditto. * rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto. * sched-deps.c (sched_analyze_2): Ditto. * valtrack.c (cleanup_auto_inc_dec): Ditto. * rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE, CASE_CONST_ANY): New macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190627 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dse.c')
-rw-r--r--gcc/dse.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/gcc/dse.c b/gcc/dse.c
index 347d24375f6..9e53b50f128 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -1109,17 +1109,11 @@ add_non_frame_wild_read (bb_info_t bb_info)
static bool
const_or_frame_p (rtx x)
{
- switch (GET_CODE (x))
- {
- case CONST:
- case CONST_INT:
- case CONST_DOUBLE:
- case CONST_VECTOR:
- case SYMBOL_REF:
- case LABEL_REF:
- return true;
+ if (CONSTANT_P (x))
+ return true;
- case REG:
+ if (GET_CODE (x) == REG)
+ {
/* Note that we have to test for the actual rtx used for the frame
and arg pointers and not just the register number in case we have
eliminated the frame and/or arg pointer and are using it
@@ -1130,10 +1124,9 @@ const_or_frame_p (rtx x)
|| x == pic_offset_table_rtx)
return true;
return false;
-
- default:
- return false;
}
+
+ return false;
}
/* Take all reasonable action to put the address of MEM into the form