From 59adcd47ff82186b3ae04dd41ee6f0aac78764cb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Gl=C3=B6ckner?= Date: Thu, 11 Sep 2008 19:15:57 +0200 Subject: [PATCH] Optimize arithmetic with pointer to value on stack + constant --- tcc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcc.c b/tcc.c index 73762494..d613d308 100644 --- a/tcc.c +++ b/tcc.c @@ -5596,8 +5596,9 @@ void gen_opic(int op) } goto general_case; } else if (c2 && (op == '+' || op == '-') && - (vtop[-1].r & (VT_VALMASK | VT_LVAL | VT_SYM)) == - (VT_CONST | VT_SYM)) { + ((vtop[-1].r & (VT_VALMASK | VT_LVAL | VT_SYM)) == + (VT_CONST | VT_SYM) || + (vtop[-1].r & (VT_VALMASK | VT_LVAL)) == VT_LOCAL)) { /* symbol + constant case */ if (op == '-') l2 = -l2; -- 2.11.4.GIT