changeset 67:76570158a6e9

Small optimization, avoid redundant MOV instructions
author Michael Pavone <pavone@retrodev.com>
date Sun, 27 Jul 2014 22:34:37 -0700
parents 9cc019c98335
children f4f403c83e80
files code/gqc.tp
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/code/gqc.tp	Sun Jul 27 22:18:12 2014 -0700
+++ b/code/gqc.tp	Sun Jul 27 22:34:37 2014 -0700
@@ -194,10 +194,12 @@
 			compileExpr: (expr assign) syms: syms
 		}
 		dest <- info def
-		prog add: (inst: "MOV" #[
-			dest
-			v
-		])
+		if: dest != v {
+			prog add: (inst: "MOV" #[
+				dest
+				v
+			])
+		}
 		dest
 	}