From: Wolfgang (Blub) Bumiller Date: Wed, 5 Dec 2012 14:17:11 +0000 (+0100) Subject: Tiny codegen optimization: silently ignore the creation of STORE with input and outpu... X-Git-Tag: 0.1.9~109 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=37fbe7176f311382c058ae9cd65bfad9bcb70302;p=xonotic%2Fgmqcc.git Tiny codegen optimization: silently ignore the creation of STORE with input and output being the same address --- 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);