alias.c (rtx_equal_for_memref_p): Convert constant cases.

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.

From-SVN: r190627
This commit is contained in:
Kenneth Zadeck 2012-08-23 18:46:18 +00:00 committed by Kenneth Zadeck
parent ddf72901e3
commit d81168901e
25 changed files with 121 additions and 226 deletions

View File

@ -1,3 +1,43 @@
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.
2012-08-23 Julian Brown <julian@codesourcery.com> 2012-08-23 Julian Brown <julian@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com>

View File

@ -1489,9 +1489,7 @@ rtx_equal_for_memref_p (const_rtx x, const_rtx y)
return XSTR (x, 0) == XSTR (y, 0); return XSTR (x, 0) == XSTR (y, 0);
case VALUE: case VALUE:
case CONST_INT: CASE_CONST_UNIQUE:
case CONST_DOUBLE:
case CONST_FIXED:
/* There's no need to compare the contents of CONST_DOUBLEs or /* There's no need to compare the contents of CONST_DOUBLEs or
CONST_INTs because pointer equality is a good enough CONST_INTs because pointer equality is a good enough
comparison for these nodes. */ comparison for these nodes. */

View File

@ -531,12 +531,10 @@ find_single_use_1 (rtx dest, rtx *loc)
switch (code) switch (code)
{ {
case CONST_INT:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_VECTOR:
case CLOBBER: case CLOBBER:
return 0; return 0;
@ -12788,10 +12786,8 @@ mark_used_regs_combine (rtx x)
{ {
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_INT:
case CONST: case CONST:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_VECTOR:
case PC: case PC:
case ADDR_VEC: case ADDR_VEC:
case ADDR_DIFF_VEC: case ADDR_DIFF_VEC:

View File

@ -2623,9 +2623,7 @@ exp_equiv_p (const_rtx x, const_rtx y, int validate, bool for_gcse)
{ {
case PC: case PC:
case CC0: case CC0:
case CONST_INT: CASE_CONST_UNIQUE:
case CONST_DOUBLE:
case CONST_FIXED:
return x == y; return x == y;
case LABEL_REF: case LABEL_REF:
@ -2829,10 +2827,7 @@ canon_reg (rtx x, rtx insn)
case PC: case PC:
case CC0: case CC0:
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case ADDR_VEC: case ADDR_VEC:
@ -3133,10 +3128,7 @@ fold_rtx (rtx x, rtx insn)
return x; return x;
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case REG: case REG:
@ -3198,12 +3190,9 @@ fold_rtx (rtx x, rtx insn)
break; break;
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
const_arg = folded_arg; const_arg = folded_arg;
break; break;
@ -6063,13 +6052,10 @@ cse_process_notes_1 (rtx x, rtx object, bool *changed)
switch (code) switch (code)
{ {
case CONST_INT:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case PC: case PC:
case CC0: case CC0:
case LO_SUM: case LO_SUM:
@ -6671,10 +6657,7 @@ count_reg_usage (rtx x, int *counts, rtx dest, int incr)
case PC: case PC:
case CC0: case CC0:
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
return; return;

View File

@ -1603,9 +1603,7 @@ cselib_expand_value_rtx_1 (rtx orig, struct expand_value_data *evd,
} }
} }
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
case PC: case PC:
@ -1856,10 +1854,7 @@ cselib_subst_to_values (rtx x, enum machine_mode memmode)
break; break;
return e->val_rtx; return e->val_rtx;
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_VECTOR:
case CONST_INT:
case CONST_FIXED:
return x; return x;
case PRE_DEC: case PRE_DEC:

View File

@ -3107,11 +3107,8 @@ df_uses_record (struct df_collection_rec *collection_rec,
{ {
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_INT:
case CONST: case CONST:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case PC: case PC:
case CC0: case CC0:
case ADDR_VEC: case ADDR_VEC:

View File

@ -1109,17 +1109,11 @@ add_non_frame_wild_read (bb_info_t bb_info)
static bool static bool
const_or_frame_p (rtx x) const_or_frame_p (rtx x)
{ {
switch (GET_CODE (x)) if (CONSTANT_P (x))
{ return true;
case CONST:
case CONST_INT:
case CONST_DOUBLE:
case CONST_VECTOR:
case SYMBOL_REF:
case LABEL_REF:
return true;
case REG: if (GET_CODE (x) == REG)
{
/* Note that we have to test for the actual rtx used for the frame /* 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 and arg pointers and not just the register number in case we have
eliminated the frame and/or arg pointer and are using it 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) || x == pic_offset_table_rtx)
return true; return true;
return false; return false;
default:
return false;
} }
return false;
} }
/* Take all reasonable action to put the address of MEM into the form /* Take all reasonable action to put the address of MEM into the form

View File

@ -2504,10 +2504,7 @@ verify_rtx_sharing (rtx orig, rtx insn)
case REG: case REG:
case DEBUG_EXPR: case DEBUG_EXPR:
case VALUE: case VALUE:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CODE_LABEL: case CODE_LABEL:
@ -2721,10 +2718,7 @@ repeat:
case REG: case REG:
case DEBUG_EXPR: case DEBUG_EXPR:
case VALUE: case VALUE:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CODE_LABEL: case CODE_LABEL:
@ -2843,10 +2837,7 @@ repeat:
case REG: case REG:
case DEBUG_EXPR: case DEBUG_EXPR:
case VALUE: case VALUE:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
case PC: case PC:
@ -5236,10 +5227,7 @@ copy_insn_1 (rtx orig)
{ {
case REG: case REG:
case DEBUG_EXPR: case DEBUG_EXPR:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
case PC: case PC:

View File

@ -347,8 +347,7 @@ convert_memory_address_addr_space (enum machine_mode to_mode ATTRIBUTE_UNUSED,
to the default case. */ to the default case. */
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
case CONST_INT: CASE_CONST_SCALAR_INT:
case CONST_DOUBLE:
if (GET_MODE_SIZE (to_mode) < GET_MODE_SIZE (from_mode)) if (GET_MODE_SIZE (to_mode) < GET_MODE_SIZE (from_mode))
code = TRUNCATE; code = TRUNCATE;
else if (POINTERS_EXTEND_UNSIGNED < 0) else if (POINTERS_EXTEND_UNSIGNED < 0)

View File

@ -742,10 +742,7 @@ want_to_gcse_p (rtx x, int *max_distance_ptr)
case CALL: case CALL:
return 0; return 0;
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
if (!doing_code_hoisting_p) if (!doing_code_hoisting_p)
/* Do not PRE constants. */ /* Do not PRE constants. */
return 0; return 0;
@ -887,10 +884,7 @@ oprs_unchanged_p (const_rtx x, const_rtx insn, int avail_p)
case PC: case PC:
case CC0: /*FIXME*/ case CC0: /*FIXME*/
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case ADDR_VEC: case ADDR_VEC:
@ -1693,10 +1687,7 @@ compute_transp (const_rtx x, int indx, sbitmap *bmap)
case PC: case PC:
case CC0: /*FIXME*/ case CC0: /*FIXME*/
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case ADDR_VEC: case ADDR_VEC:

View File

@ -674,9 +674,7 @@ attr_copy_rtx (rtx orig)
switch (code) switch (code)
{ {
case REG: case REG:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case MATCH_TEST: case MATCH_TEST:
case CODE_LABEL: case CODE_LABEL:
@ -3090,9 +3088,7 @@ clear_struct_flag (rtx x)
switch (code) switch (code)
{ {
case REG: case REG:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_VECTOR:
case MATCH_TEST: case MATCH_TEST:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:

View File

@ -2445,10 +2445,7 @@ equiv_init_varies_p (rtx x)
return !MEM_READONLY_P (x) || equiv_init_varies_p (XEXP (x, 0)); return !MEM_READONLY_P (x) || equiv_init_varies_p (XEXP (x, 0));
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
return 0; return 0;
@ -2560,13 +2557,10 @@ contains_replace_regs (rtx x)
switch (code) switch (code)
{ {
case CONST_INT:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case PC: case PC:
case CC0: case CC0:
case HIGH: case HIGH:
@ -2608,13 +2602,10 @@ memref_referenced_p (rtx memref, rtx x)
switch (code) switch (code)
{ {
case CONST_INT:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case PC: case PC:
case CC0: case CC0:
case HIGH: case HIGH:
@ -3566,10 +3557,7 @@ rtx_moveable_p (rtx *loc, enum op_type type)
switch (code) switch (code)
{ {
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
return true; return true;

View File

@ -1078,8 +1078,6 @@ mark_jump_label_1 (rtx x, rtx insn, bool in_mem, bool is_target)
case PC: case PC:
case CC0: case CC0:
case REG: case REG:
case CONST_INT:
case CONST_DOUBLE:
case CLOBBER: case CLOBBER:
case CALL: case CALL:
return; return;
@ -1753,8 +1751,7 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
case CC0: case CC0:
case ADDR_VEC: case ADDR_VEC:
case ADDR_DIFF_VEC: case ADDR_DIFF_VEC:
case CONST_INT: CASE_CONST_UNIQUE:
case CONST_DOUBLE:
return 0; return 0;
case LABEL_REF: case LABEL_REF:

View File

@ -203,9 +203,7 @@ check_maybe_invariant (rtx x)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case SYMBOL_REF: case SYMBOL_REF:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:
@ -302,9 +300,7 @@ hash_invariant_expr_1 (rtx insn, rtx x)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case SYMBOL_REF: case SYMBOL_REF:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:
@ -363,9 +359,7 @@ invariant_expr_equal_p (rtx insn1, rtx e1, rtx insn2, rtx e2)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case SYMBOL_REF: case SYMBOL_REF:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:

View File

@ -519,10 +519,7 @@ oprs_unchanged_p (rtx x, rtx insn, bool after_insn)
case PC: case PC:
case CC0: /*FIXME*/ case CC0: /*FIXME*/
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case ADDR_VEC: case ADDR_VEC:

View File

@ -1022,10 +1022,7 @@ reg_scan_mark_refs (rtx x, rtx insn)
switch (code) switch (code)
{ {
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case CC0: case CC0:
case PC: case PC:
case SYMBOL_REF: case SYMBOL_REF:

View File

@ -1342,10 +1342,7 @@ scan_rtx (rtx insn, rtx *loc, enum reg_class cl, enum scan_actions action,
switch (code) switch (code)
{ {
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CC0: case CC0:

View File

@ -2318,9 +2318,7 @@ operands_match_p (rtx x, rtx y)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_UNIQUE:
case CONST_DOUBLE:
case CONST_FIXED:
return 0; return 0;
case LABEL_REF: case LABEL_REF:
@ -5341,11 +5339,8 @@ subst_reg_equivs (rtx ad, rtx insn)
switch (code) switch (code)
{ {
case HIGH: case HIGH:
case CONST_INT:
case CONST: case CONST:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case PC: case PC:

View File

@ -2566,10 +2566,7 @@ eliminate_regs_1 (rtx x, enum machine_mode mem_mode, rtx insn,
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
@ -2983,10 +2980,7 @@ elimination_effects (rtx x, enum machine_mode mem_mode)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
@ -4454,13 +4448,10 @@ scan_paradoxical_subregs (rtx x)
switch (code) switch (code)
{ {
case REG: case REG:
case CONST_INT:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR: /* shouldn't happen, but just in case. */
case CC0: case CC0:
case PC: case PC:
case USE: case USE:

View File

@ -215,10 +215,7 @@ mark_referenced_resources (rtx x, struct resources *res,
switch (code) switch (code)
{ {
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case PC: case PC:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
@ -632,10 +629,7 @@ mark_set_resources (rtx x, struct resources *res, int in_dest,
case BARRIER: case BARRIER:
case CODE_LABEL: case CODE_LABEL:
case USE: case USE:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST: case CONST:

View File

@ -248,10 +248,7 @@ copy_rtx (rtx orig)
case REG: case REG:
case DEBUG_EXPR: case DEBUG_EXPR:
case VALUE: case VALUE:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
case PC: case PC:
@ -400,9 +397,7 @@ rtx_equal_p_cb (const_rtx x, const_rtx y, rtx_equal_p_callback_function cb)
case DEBUG_EXPR: case DEBUG_EXPR:
case VALUE: case VALUE:
case SCRATCH: case SCRATCH:
case CONST_DOUBLE: CASE_CONST_UNIQUE:
case CONST_INT:
case CONST_FIXED:
return 0; return 0;
case DEBUG_IMPLICIT_PTR: case DEBUG_IMPLICIT_PTR:
@ -539,9 +534,7 @@ rtx_equal_p (const_rtx x, const_rtx y)
case DEBUG_EXPR: case DEBUG_EXPR:
case VALUE: case VALUE:
case SCRATCH: case SCRATCH:
case CONST_DOUBLE: CASE_CONST_UNIQUE:
case CONST_INT:
case CONST_FIXED:
return 0; return 0;
case DEBUG_IMPLICIT_PTR: case DEBUG_IMPLICIT_PTR:

View File

@ -403,6 +403,24 @@ struct GTY((variable_size)) rtvec_def {
/* Predicate yielding nonzero iff X is an rtx for a memory location. */ /* Predicate yielding nonzero iff X is an rtx for a memory location. */
#define MEM_P(X) (GET_CODE (X) == MEM) #define MEM_P(X) (GET_CODE (X) == MEM)
/* Match CONST_*s that can represent compile-time constant integers. */
#define CASE_CONST_SCALAR_INT \
case CONST_INT: \
case CONST_DOUBLE
/* Match CONST_*s for which pointer equality corresponds to value equality. */
#define CASE_CONST_UNIQUE \
case CONST_INT: \
case CONST_DOUBLE: \
case CONST_FIXED
/* Match all CONST_* rtxes. */
#define CASE_CONST_ANY \
case CONST_INT: \
case CONST_DOUBLE: \
case CONST_FIXED: \
case CONST_VECTOR
/* Predicate yielding nonzero iff X is an rtx for a constant integer. */ /* Predicate yielding nonzero iff X is an rtx for a constant integer. */
#define CONST_INT_P(X) (GET_CODE (X) == CONST_INT) #define CONST_INT_P(X) (GET_CODE (X) == CONST_INT)

View File

@ -97,10 +97,7 @@ rtx_unstable_p (const_rtx x)
return !MEM_READONLY_P (x) || rtx_unstable_p (XEXP (x, 0)); return !MEM_READONLY_P (x) || rtx_unstable_p (XEXP (x, 0));
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
return 0; return 0;
@ -170,10 +167,7 @@ rtx_varies_p (const_rtx x, bool for_alias)
return !MEM_READONLY_P (x) || rtx_varies_p (XEXP (x, 0), for_alias); return !MEM_READONLY_P (x) || rtx_varies_p (XEXP (x, 0), for_alias);
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
return 0; return 0;
@ -585,10 +579,7 @@ count_occurrences (const_rtx x, const_rtx find, int count_dest)
switch (code) switch (code)
{ {
case REG: case REG:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
case PC: case PC:
@ -690,10 +681,7 @@ reg_mentioned_p (const_rtx reg, const_rtx in)
case PC: case PC:
return 0; return 0;
case CONST_INT: CASE_CONST_ANY:
case CONST_VECTOR:
case CONST_DOUBLE:
case CONST_FIXED:
/* These are kept unique for a given value. */ /* These are kept unique for a given value. */
return 0; return 0;
@ -887,10 +875,7 @@ modified_between_p (const_rtx x, const_rtx start, const_rtx end)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
@ -946,10 +931,7 @@ modified_in_p (const_rtx x, const_rtx insn)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case CONST: case CONST:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
@ -2095,11 +2077,8 @@ volatile_insn_p (const_rtx x)
{ {
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_INT:
case CONST: case CONST:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case CC0: case CC0:
case PC: case PC:
case REG: case REG:
@ -2160,11 +2139,8 @@ volatile_refs_p (const_rtx x)
{ {
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_INT:
case CONST: case CONST:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case CC0: case CC0:
case PC: case PC:
case REG: case REG:
@ -2223,11 +2199,8 @@ side_effects_p (const_rtx x)
{ {
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
case CONST_INT:
case CONST: case CONST:
case CONST_DOUBLE: CASE_CONST_ANY:
case CONST_FIXED:
case CONST_VECTOR:
case CC0: case CC0:
case PC: case PC:
case REG: case REG:
@ -2312,10 +2285,7 @@ may_trap_p_1 (const_rtx x, unsigned flags)
switch (code) switch (code)
{ {
/* Handle these cases quickly. */ /* Handle these cases quickly. */
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case LABEL_REF: case LABEL_REF:
case CONST: case CONST:
@ -2514,10 +2484,7 @@ inequality_comparisons_p (const_rtx x)
case SCRATCH: case SCRATCH:
case PC: case PC:
case CC0: case CC0:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:
case SYMBOL_REF: case SYMBOL_REF:
@ -2760,10 +2727,7 @@ computed_jump_p_1 (const_rtx x)
return 0; return 0;
case CONST: case CONST:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case REG: case REG:
return 1; return 1;

View File

@ -2547,10 +2547,7 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx insn)
switch (code) switch (code)
{ {
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CONST: case CONST:
case LABEL_REF: case LABEL_REF:

View File

@ -44,10 +44,7 @@ cleanup_auto_inc_dec (rtx src, enum machine_mode mem_mode ATTRIBUTE_UNUSED)
switch (code) switch (code)
{ {
case REG: case REG:
case CONST_INT: CASE_CONST_ANY:
case CONST_DOUBLE:
case CONST_FIXED:
case CONST_VECTOR:
case SYMBOL_REF: case SYMBOL_REF:
case CODE_LABEL: case CODE_LABEL:
case PC: case PC: