shithub: mc

Download patch

ref: 9f63c5e1604604304b94dea8a4a798ec9f0f5eda
parent: 9cf66b53a22258baae61a97a9f9b06afd72999cb
author: Ori Bernstein <[email protected]>
date: Wed Aug 15 13:49:17 EDT 2012

We don't need the load instruction.

--- a/6/isel.c
+++ b/6/isel.c
@@ -542,12 +542,6 @@
             g(s, Imov, b, a, NULL);
             r = b;
             break;
-        case Oload: /* mem -> reg */
-            a = memloc(s, args[0], mode(n));
-            r = locreg(mode(n));
-            /* FIXME: we should be moving the correct 'coreg' */
-            g(s, Imov, a, r, NULL);
-            break;
         case Ocall:
             r = gencall(s, n);
             break;
--- a/parse/infer.c
+++ b/parse/infer.c
@@ -820,8 +820,7 @@
             break;
         case Olbl:      /* :lbl -> void* */
             settype(st, n, mktyptr(n->line, mkty(-1, Tyvoid)));
-        case Obad: case Ocjmp:
-        case Oload: case Oset:
+        case Obad: case Ocjmp: case Oset:
         case Oslbase: case Osllen:
         case Oblit: case Numops:
         case Otrunc: case Oswiden: case Ozwiden:
--- a/parse/ops.def
+++ b/parse/ops.def
@@ -53,7 +53,6 @@
 O(Oarr, 1)
 /* backend-only */
 O(Ocjmp, 1)        /* conditional jump */
-O(Oload, 1)        /* load from memory */
 O(Oset, 1)         /* store to var */
 O(Osllen, 1)       /* size of slice */
 O(Oslbase, 1)      /* base of sice */