From ef2966e2a6340a4321e1fd379bde1ca6261895c7 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 15 Nov 2005 20:03:30 +0000 Subject: [PATCH] + more make_simple_ref added git-svn-id: trunk@1761 - --- compiler/x86/cga.pas | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/compiler/x86/cga.pas b/compiler/x86/cga.pas index 3be659cebf..364e313609 100644 --- a/compiler/x86/cga.pas +++ b/compiler/x86/cga.pas @@ -34,12 +34,12 @@ interface procedure emit_none(i : tasmop;s : topsize); procedure emit_reg(i : tasmop;s : topsize;reg : tregister); - procedure emit_ref(i : tasmop;s : topsize;const ref : treference); + procedure emit_ref(i : tasmop;s : topsize;ref : treference); procedure emit_const_reg(i : tasmop;s : topsize;c : aint;reg : tregister); - procedure emit_const_ref(i : tasmop;s : topsize;c : aint;const ref : treference); - procedure emit_ref_reg(i : tasmop;s : topsize;const ref : treference;reg : tregister); - procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;const ref : treference); + procedure emit_const_ref(i : tasmop;s : topsize;c : aint;ref : treference); + procedure emit_ref_reg(i : tasmop;s : topsize;ref : treference;reg : tregister); + procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;ref : treference); procedure emit_reg_reg(i : tasmop;s : topsize;reg1,reg2 : tregister); procedure emit_const_reg_reg(i : tasmop;s : topsize;c : longint;reg1,reg2 : tregister); @@ -54,7 +54,7 @@ implementation uses cutils, systems,verbose, - cgobj; + cgobj,cgx86; {***************************************************************************** @@ -71,9 +71,10 @@ implementation exprasmList.concat(Taicpu.Op_reg(i,s,reg)); end; - procedure emit_ref(i : tasmop;s : topsize;const ref : treference); + procedure emit_ref(i : tasmop;s : topsize;ref : treference); begin - exprasmList.concat(Taicpu.Op_ref(i,s,ref)); + tcgx86(cg).make_simple_ref(exprasmlist,ref); + exprasmList.concat(Taicpu.Op_ref(i,s,ref)); end; procedure emit_const_reg(i : tasmop;s : topsize;c : aint;reg : tregister); @@ -81,19 +82,22 @@ implementation exprasmList.concat(Taicpu.Op_const_reg(i,s,c,reg)); end; - procedure emit_const_ref(i : tasmop;s : topsize;c : aint;const ref : treference); + procedure emit_const_ref(i : tasmop;s : topsize;c : aint;ref : treference); begin - exprasmList.concat(Taicpu.Op_const_ref(i,s,c,ref)); + tcgx86(cg).make_simple_ref(exprasmlist,ref); + exprasmList.concat(Taicpu.Op_const_ref(i,s,c,ref)); end; - procedure emit_ref_reg(i : tasmop;s : topsize;const ref : treference;reg : tregister); + procedure emit_ref_reg(i : tasmop;s : topsize;ref : treference;reg : tregister); begin - exprasmList.concat(Taicpu.Op_ref_reg(i,s,ref,reg)); + tcgx86(cg).make_simple_ref(exprasmlist,ref); + exprasmList.concat(Taicpu.Op_ref_reg(i,s,ref,reg)); end; - procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;const ref : treference); + procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;ref : treference); begin - exprasmList.concat(Taicpu.Op_reg_ref(i,s,reg,ref)); + tcgx86(cg).make_simple_ref(exprasmlist,ref); + exprasmList.concat(Taicpu.Op_reg_ref(i,s,reg,ref)); end; procedure emit_reg_reg(i : tasmop;s : topsize;reg1,reg2 : tregister);