Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.70
 
1.71
 
MAIN:ragge:20050917075840
 
pass2.h
_>4545 /* cookies, used as arguments to codgen */
 4646 #define FOREFF  01              /* compute for effects only */
 4747 #define INAREG  02              /* compute into a register */
<>48 -#define INTAREG 04              /* compute into a scratch register */
 49 -#define INBREG  010             /* compute into a lvalue register */
  48+#define INBREG  04              /* compute into a lvalue register */
  49+#define INTAREG 010             /* compute into a scratch register */
5050 #define INTBREG 020             /* compute into a scratch lvalue register */
 5151 #define FORCC   040             /* compute for condition codes only */
 5252 #define INTEMP  010000          /* compute into a temporary location */
     
 !
7171 /* shapes */
 7272 #define SANY    01              /* same as FOREFF */
 7373 #define SAREG   02              /* same as INAREG */
<>74 -#define STAREG  04              /* same as INTAREG */
 75 -#define SBREG   010             /* same as INBREG */
 76 -#define STBREG  020             /* same as INTBREG */
  74+#define SBREG   04              /* same as INBREG */
  75+#ifdef SNH_REG
  76+#define SCREG   010             /* same as INTAREG */
  77+#define SDREG   020             /* same as INTBREG */
  78+#define SEREG   010000
  79+#endif
7780 #define SCC     040             /* same as FORCC */
 7881 #define SNAME   0100
 7982 #define SCON    0200
     
 !
149152 #define NOPREF          020000  /* no preference for register assignment */
 150153 
 151154 #define isbreg(r)       (REGBIT(r) & BREGS)
<>152 -#define istreg(r)       (REGBIT(r) & (TAREGS|TBREGS))
 153 -#define istnode(p)      (p->n_op==REG && istreg(p->n_rval))
154155 
 155156 #define TBUSY           01000
 156157 #define REGLOOP(i)      for (i = 0; i < REGSZ; ++i)
     
 !
218219 void adrput(FILE *, NODE *);
 219220 void comperr(char *str, ...);
 220221 void genregs(NODE *p);
<>221 -#ifdef OLDSTYLE
 222 -int ngenregs(struct interpass *);
 223 -#else
224222 void ngenregs(struct interpass *);
<>225 -#endif
226223 NODE *store(NODE *);
 227224 void mygenregs(NODE *);
 228225 void gencall(NODE *, NODE *prev);
     
 !
231228 void rmove(int, int, TWORD);
 232229 struct rspecial *nspecial(struct optab *);
 233230 void printip(struct interpass *pole);
<> 231+int findops(NODE *p, int);
  232+int findasg(NODE *p, int);
  233+int finduni(NODE *p, int);
  234+int findleaf(NODE *p, int);
  235+int relops(NODE *p);
234236 
<>235 -
236237 char *prcook(int);
 237238 
 238239 void conput(FILE *, NODE *);
     
 !
304305 };
 305306 extern struct hardops hardops[];
 306307 
<>307 -/* definitions for register allocation */
 308 -/*
 309 - * something that can contain both number and size of an allocated
 310 - * bunch of registers.
 311 - */
 312 -#ifndef SPECIAL_REGCODE
 313 -#if 0
 314 -typedef int regcode;
 315 -#define REGSIZE(x) ((x) >> 8)
 316 -#define REGNUM(x)  ((x) & 0377)
 317 -#define MKREGC(n,s) ((n) | ((s) << 8)
 318 -#else
 319 -typedef struct { int size; int num; } regcode;
 320 -#define REGSIZE(x) ((x).size)
 321 -#define REGNUM(x)  ((x).num)
 322 -#define MKREGC(x,n,s) (x).size = (s), (x).num = (n)
 323 -#endif
 324 -#endif
 325 -
 326 -extern int regblk[REGSZ];
 327 -regcode regalloc(NODE *, struct optab *, int);
 328 -regcode alloregs(NODE *p, int wantreg);
 329 -NODE *movenode(NODE *p, int reg);
 330 -regcode getregs(int wantreg, int nreg, int breg);
 331 -void freeregs(regcode regc);
 332 -int mayuse(int reg, TWORD type);
 333 -void mktailopt(struct interpass *, struct interpass *);
334308 void emit(struct interpass *);
 335309 void optimize(struct interpass *);
 336310 
     
 !
386360  * C compiler second pass extra defines.
 387361  */
 388362 #define PHI (MAXOP + 1)         /* Used in SSA trees */
<_389 -#ifdef OLDSTYLE
 390 -#define IPSTK   (MAXIP+1)       /* Used for spills */
 391 -#endif
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-08-22 01:58 +0200