ref: 8f5b85cb3a6efba94b59abfb7a40c56892e18df1
parent: 57e6fd0760167a9e9b39a6c9212ef3292297380e
author: Ori Bernstein <[email protected]>
date: Tue May 15 21:02:38 EDT 2012
Make loading vars work more reliably.
--- a/8/isel.c
+++ b/8/isel.c
@@ -420,7 +420,8 @@
return r;
case Oasn: /* relabel */
- die("Unimplemented op %s", opstr(exprop(n))); break;
+ die("Unimplemented op %s", opstr(exprop(n)));
+ break;
case Ostor: /* reg -> mem */
a = selexpr(s, args[0]);
b = selexpr(s, args[1]);
@@ -431,7 +432,8 @@
case Oload: /* mem -> reg */
a = selexpr(s, args[0]);
b = getreg(s, a.mode);
- load(s, &b, &a);
+ /* load() doesn't always do the mov */
+ g(s, Imov, &a, &b, NULL);
r = b;
break;