From 09376f9b2a6ce2c56f5a4fc7abb88ea4e68c59e3 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Tue, 23 Oct 2012 14:14:26 +0900 Subject: skip useless OP_MOVE in peephole optimization --- src/codegen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/codegen.c') diff --git a/src/codegen.c b/src/codegen.c index df5bc2acf..b0e6f8fd1 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -170,6 +170,10 @@ genop_peep(codegen_scope *s, mrb_code i, int val) switch (c1) { case OP_MOVE: + if (GETARG_A(i) == GETARG_B(i)) { + /* skip useless OP_MOVE */ + return; + } if (val) break; switch (c0) { case OP_MOVE: -- cgit v1.2.3