new version from Chris Torek
[unix-history] / usr / src / old / pcc / mip / pass2.h
index 59f52ff..1c0c526 100644 (file)
@@ -1,4 +1,4 @@
-/*     pass2.h 4.2     86/10/29        */
+/*     pass2.h 4.4     87/12/10        */
 
 #ifndef _PASS2_
 #define        _PASS2_
 
 #ifndef _PASS2_
 #define        _PASS2_
@@ -64,6 +64,7 @@
 #define SCCON  (SPECIAL|3)     /* -256 <= constant < 256 */
 #define SSCON  (SPECIAL|4)     /* -32768 <= constant < 32768 */
 #define SSOREG (SPECIAL|5)     /* non-indexed OREG */
 #define SCCON  (SPECIAL|3)     /* -256 <= constant < 256 */
 #define SSCON  (SPECIAL|4)     /* -32768 <= constant < 32768 */
 #define SSOREG (SPECIAL|5)     /* non-indexed OREG */
+#define SMCON  (SPECIAL|6)     /* constant < 0 */
 /* FORARG and INTEMP are carefully not conflicting with shapes */
 
 /* types */
 /* FORARG and INTEMP are carefully not conflicting with shapes */
 
 /* types */
@@ -128,6 +129,8 @@ extern      struct respref {
 #define istnode(p)     (p->in.op==REG && istreg(p->tn.rval))
 
 #define TBUSY          01000   /* register temporarily busy (during alloc) */
 #define istnode(p)     (p->in.op==REG && istreg(p->tn.rval))
 
 #define TBUSY          01000   /* register temporarily busy (during alloc) */
+#define PBUSY          02000   /* this reg and next one are used as a pair */
+#define ISBUSY(r)      (((busy[r])&(PBUSY-1)) > 1)
 #define REGLOOP(i)     for (i = 0; i < REGSZ; ++i)
 
 extern NODE *deltrees[DELAYS]; /* trees held for delayed evaluation */
 #define REGLOOP(i)     for (i = 0; i < REGSZ; ++i)
 
 extern NODE *deltrees[DELAYS]; /* trees held for delayed evaluation */