From 37fbe7176f311382c058ae9cd65bfad9bcb70302 Mon Sep 17 00:00:00 2001 From: "Wolfgang (Blub) Bumiller" Date: Wed, 5 Dec 2012 15:17:11 +0100 Subject: [PATCH] Tiny codegen optimization: silently ignore the creation of STORE with input and output being the same address --- ir.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ir.c b/ir.c index 890ea0f..ed58ea9 100644 --- a/ir.c +++ b/ir.c @@ -2832,6 +2832,16 @@ tailcall: /* 2-operand instructions with A -> B */ stmt.o2.u1 = stmt.o3.u1; stmt.o3.u1 = 0; + + /* tiny optimization, don't output + * STORE a, a + */ + if (stmt.o2.u1 == stmt.o1.u1 && + OPTS_OPTIMIZATION(OPTIM_MINOR)) + { + ++optimization_count[OPTIM_MINOR]; + continue; + } } code_push_statement(&stmt, instr->context.line); -- 2.39.2