diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c4cd71ea1f8..4e5a1783a72 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-06-23 Kazu Hirata + + * genrecog.c (pred_table): Remove the entry for + mode_independent_operand. + * recog.c (next_insns_test_no_inequality): Remove. + (mode_independent_operand): Likewise. + * recog.h: Remove the prototype for mode_independent_operand. + 2003-06-22 Kazu Hirata * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to diff --git a/gcc/genrecog.c b/gcc/genrecog.c index f6f733fe299..217f3ad0c7a 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -212,9 +212,7 @@ static const struct pred_table {"indirect_operand", {SUBREG, MEM}}, {"comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU, UNORDERED, ORDERED, UNEQ, UNGE, UNGT, UNLE, - UNLT, LTGT}}, - {"mode_independent_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, - LABEL_REF, SUBREG, REG, MEM, ADDRESSOF}} + UNLT, LTGT}} }; #define NUM_KNOWN_PREDS ARRAY_SIZE (preds) diff --git a/gcc/recog.c b/gcc/recog.c index 28b7c400c42..c539a387734 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -727,34 +727,6 @@ next_insn_tests_no_inequality (insn) || GET_CODE (next) == CALL_INSN) && ! inequality_comparisons_p (PATTERN (next))); } - -#if 0 /* This is useless since the insn that sets the cc's - must be followed immediately by the use of them. */ -/* Return 1 if the CC value set up by INSN is not used. */ - -int -next_insns_test_no_inequality (insn) - rtx insn; -{ - rtx next = NEXT_INSN (insn); - - for (; next != 0; next = NEXT_INSN (next)) - { - if (GET_CODE (next) == CODE_LABEL - || GET_CODE (next) == BARRIER) - return 1; - if (GET_CODE (next) == NOTE) - continue; - if (inequality_comparisons_p (PATTERN (next))) - return 0; - if (sets_cc0_p (PATTERN (next)) == 1) - return 1; - if (! reg_mentioned_p (cc0_rtx, PATTERN (next))) - return 1; - } - return 1; -} -#endif #endif /* This is used by find_single_use to locate an rtx that contains exactly one @@ -2056,30 +2028,6 @@ mode_dependent_address_p (addr) win: ATTRIBUTE_UNUSED_LABEL return 1; } - -/* Return 1 if OP is a general operand - other than a memory ref with a mode dependent address. */ - -int -mode_independent_operand (op, mode) - enum machine_mode mode; - rtx op; -{ - rtx addr; - - if (! general_operand (op, mode)) - return 0; - - if (GET_CODE (op) != MEM) - return 1; - - addr = XEXP (op, 0); - GO_IF_MODE_DEPENDENT_ADDRESS (addr, lose); - return 1; - /* Label `lose' might (not) be used via GO_IF_MODE_DEPENDENT_ADDRESS. */ - lose: ATTRIBUTE_UNUSED_LABEL - return 0; -} /* Like extract_insn, but save insn extracted and don't extract again, when called again for the same insn expecting that recog_data still contain the diff --git a/gcc/recog.h b/gcc/recog.h index 38aa5160a11..76349b63bbb 100644 --- a/gcc/recog.h +++ b/gcc/recog.h @@ -112,7 +112,6 @@ extern int push_operand PARAMS ((rtx, enum machine_mode)); extern int pop_operand PARAMS ((rtx, enum machine_mode)); extern int memory_operand PARAMS ((rtx, enum machine_mode)); extern int indirect_operand PARAMS ((rtx, enum machine_mode)); -extern int mode_independent_operand PARAMS ((rtx, enum machine_mode)); extern int comparison_operator PARAMS ((rtx, enum machine_mode)); extern int offsettable_memref_p PARAMS ((rtx));