rtl.h (MEM_P, [...]): New predicates.
authorSteven Bosscher <stevenb@suse.de>
Sat, 12 Jun 2004 12:50:42 +0000 (12:50 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Sat, 12 Jun 2004 12:50:42 +0000 (12:50 +0000)
* rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
(INSN_P): Don't look at the rtx code class, just explicitly
check for one of the tree RTX_INSN codes.

From-SVN: r83023

gcc/ChangeLog
gcc/rtl.h

index b86d6ebedad20920ad94f92c6898ee23639d907c..820e20721f02e9359bab8460895607a3e7597e68 100644 (file)
@@ -1,3 +1,9 @@
+2004-06-12  Steven Bosscher  <stevenb@suse.de>
+
+       * rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
+       (INSN_P): Don't look at the rtx code class, just explicitly
+       check for one of the tree RTX_INSN codes.
+
 2004-06-11  Zack Weinberg  <zack@codesourcery.com>
 
        * c-typeck.c (default_function_array_conversion): Use
index 06f298fefe72b1127ad40f686818de8fdc71880a..edd750bb99dc576979b266f8383db3589856f4b3 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -311,15 +311,28 @@ struct rtvec_def GTY(()) {
 #define GET_NUM_ELEM(RTVEC)            ((RTVEC)->num_elem)
 #define PUT_NUM_ELEM(RTVEC, NUM)       ((RTVEC)->num_elem = (NUM))
 
-/* Predicate yielding nonzero iff X is an rtl for a register.  */
+/* Predicate yielding nonzero iff X is an rtx for a register.  */
 #define REG_P(X) (GET_CODE (X) == REG)
 
+/* Predicate yielding nonzero iff X is an rtx for a memory location.  */
+#define MEM_P(X) (GET_CODE (X) == MEM)
+
 /* Predicate yielding nonzero iff X is a label insn.  */
 #define LABEL_P(X) (GET_CODE (X) == CODE_LABEL)
 
 /* Predicate yielding nonzero iff X is a jump insn.  */
 #define JUMP_P(X) (GET_CODE (X) == JUMP_INSN)
 
+/* Predicate yielding nonzero iff X is a call insn.  */
+#define CALL_P(X) (GET_CODE (X) == CALL_INSN)
+
+/* Predicate yielding nonzero iff X is an insn that cannot jump.  */
+#define NONJUMP_INSN_P(X) (GET_CODE (X) == INSN)
+
+/* Predicate yielding nonzero iff X is a real insn.  */
+#define INSN_P(X) \
+  (NONJUMP_INSN_P (X) || JUMP_P (X) || CALL_P (X))
+
 /* Predicate yielding nonzero iff X is a note insn.  */
 #define NOTE_P(X) (GET_CODE (X) == NOTE)
 
@@ -331,11 +344,6 @@ struct rtvec_def GTY(()) {
   (JUMP_P (INSN) && (GET_CODE (PATTERN (INSN)) == ADDR_VEC || \
                     GET_CODE (PATTERN (INSN)) == ADDR_DIFF_VEC))
 
-
-/* 1 if X is an insn.  */
-#define INSN_P(X)    \
-  (GET_RTX_CLASS (GET_CODE(X)) == RTX_INSN)
-
 /* 1 if X is a unary operator.  */
 
 #define UNARY_P(X)   \