Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.236
 
1.237
 
MAIN:ragge:20140601113352
 
regs.c
_>24362436 static void
 24372437 longtemp(NODE *p, void *arg)
 24382438 {
<>2439 -        NODE *l, *r;
24402439         REGW *w;
 24412440 
 24422441         if (p->n_op != TEMP)
     
 !
24462445                 if (w != &nblock[regno(p)])
 24472446                         continue;
 24482447                 if (w->r_class == 0) {
<>2449 -                        w->r_color = BITOOR(freetemp(szty(p->n_type)));
 2450 -                        w->r_class = FPREG;
  2448+                        w->r_color = freetemp(szty(p->n_type));
  2449+                        w->r_class = FPREG; /* just something */
24512450                 }
<>2452 -                l = mklnode(REG, 0, w->r_class, INCREF(p->n_type));
 2453 -                r = mklnode(ICON, w->r_color, 0, INT);
 2454 -                p->n_left = mkbinode(PLUS, l, r, INCREF(p->n_type));
 2455 -                p->n_op = UMUL;
 2456 -                p->n_regw = NULL;
  2451+                storemod(p, w->r_color);
24572452                 break;
 24582453         }
 24592454 }
     
 !
24882483                 RDEBUG(("rewriting node %d\n", ASGNUM(w)));
 24892484 #endif
 24902485 
<>2491 -                off = BITOOR(freetemp(szty(p->n_type)));
 2492 -                l = mklnode(OREG, off, FPREG, p->n_type);
 2493 -                r = talloc();
  2486+                off = freetemp(szty(p->n_type));
  2487+                l = storenode(p->n_type, off);
24942488                 /*
 24952489                  * If this is a binode which reclaim a leg, and it had
 24962490                  * to walk down the other leg first, then it must be
     
 !
24992493                 q = &table[TBLIDX(p->n_su)];
 25002494                 if (optype(p->n_op) == BITYPE &&
 25012495                     (q->rewrite & RLEFT && (p->n_su & DORIGHT) == 0)) {
<>2502 -                        *r = *l;
 2503 -                        nip = ipnode(mkbinode(ASSIGN, l,
  2496+                        nip = ipnode(mkbinode(ASSIGN, storenode(p->n_type, off),
25042497                             p->n_left, p->n_type));
<>2505 -                        p->n_left = r;
  2498+                        p->n_left = l;
25062499                 } else if (optype(p->n_op) == BITYPE &&
 25072500                     (q->rewrite & RRIGHT && (p->n_su & DORIGHT) != 0)) {
<>2508 -                        *r = *l;
 2509 -                        nip = ipnode(mkbinode(ASSIGN, l,
  2501+                        nip = ipnode(mkbinode(ASSIGN, storenode(p->n_type, off),
25102502                             p->n_right, p->n_type));
<>2511 -                        p->n_right = r;
  2503+                        p->n_right = l;
25122504                 } else {
<> 2505+                        r = talloc();
25132506                         *r = *p;
 25142507                         nip = ipnode(mkbinode(ASSIGN, l, r, p->n_type));
<>2515 -                        *p = *l;
  2508+                        storemod(p, off);
25162509                 }
 25172510                 DLIST_INSERT_BEFORE(cip, nip, qelem);
 25182511                 DLIST_REMOVE(w, link);
     
 !
29552948                 ip = ipnode(p);
 29562949                 DLIST_INSERT_BEFORE(ipole->qelem.q_back, ip, qelem);
 29572950         }
<>2958 -        stktemp = BITOOR(freetemp(ntsz));
  2951+        stktemp = freetemp(ntsz);
<_29592952         memcpy(p2e->epp->ipp_regs, p2e->ipp->ipp_regs, sizeof(p2e->epp->ipp_regs));
 29602953         /* Done! */
 29612954 }
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-22 18:03 +0100