aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@gcc.gnu.org>2000-09-29 11:24:13 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2000-09-29 11:24:13 +0000
commitb1cdafbb6c7bef4c21922ae2ce25b64445dc49cc (patch)
treedaf24fe6a604f9c91a67080db41f6d3f1e17db76 /gcc/rtl.h
parent073427934aba95f673cbd8578ad36ac3d6055b05 (diff)
downloadgcc-b1cdafbb6c7bef4c21922ae2ce25b64445dc49cc.zip
gcc-b1cdafbb6c7bef4c21922ae2ce25b64445dc49cc.tar.gz
gcc-b1cdafbb6c7bef4c21922ae2ce25b64445dc49cc.tar.bz2
recog.c (recog_memoized): Rename to recog_memoized_1.
* recog.c (recog_memoized): Rename to recog_memoized_1. * recog.h (recog_memoized): Rename to recog_memoized_1. (recog_memoized): New macro. * rtl.h (single_set): Rename to single_set_1 (single_set): New macro. * rtlanal.c (single_set): Rename to single_set_1; expect clobbers to be last. * i386.md (strmovsi_1, strmovhi_1 strmovqi_1): Do not use match_dup of input operands at outputs. Use register_operand for memory expression. (rep_movsi): Put use last, canonicalize. Use register_operand for memory expression. (rep_movqi): Put use last. Use register_operand for memory expression. (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup of input operands at outputs. Use register_operand for memory expression. (rep_stossi): Put use last; canonicalize; fix match_dup in the address expression (rep_stosqi): Likewise. (memcmp expander): Update calls. (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in the clobbers. * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is VOIDmode. (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons. From-SVN: r36664
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 190e971..825f097 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1329,6 +1329,12 @@ extern void set_unique_reg_note PARAMS ((rtx, enum reg_note, rtx));
/* Functions in rtlanal.c */
+/* Single set is implemented as macro for performance reasons. */
+#define single_set(I) (INSN_P (I) \
+ ? (GET_CODE (PATTERN (I)) == SET \
+ ? PATTERN (I) : single_set_1 (I)) \
+ : NULL_RTX)
+
extern int rtx_unstable_p PARAMS ((rtx));
extern int rtx_varies_p PARAMS ((rtx));
extern int rtx_addr_varies_p PARAMS ((rtx));
@@ -1347,7 +1353,7 @@ extern int no_jumps_between_p PARAMS ((rtx, rtx));
extern int modified_in_p PARAMS ((rtx, rtx));
extern int insn_dependent_p PARAMS ((rtx, rtx));
extern int reg_set_p PARAMS ((rtx, rtx));
-extern rtx single_set PARAMS ((rtx));
+extern rtx single_set_1 PARAMS ((rtx));
extern int multiple_sets PARAMS ((rtx));
extern rtx find_last_value PARAMS ((rtx, rtx *, rtx, int));
extern int refers_to_regno_p PARAMS ((unsigned int, unsigned int,