From b77a5016cacea1cb1bb15c583f8be93c28d1a583 Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 24 Nov 2006 21:55:23 +0000 Subject: [PATCH] * don't destroy r13 when copying data git-svn-id: trunk@5470 - --- compiler/arm/rgcpu.pas | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/arm/rgcpu.pas b/compiler/arm/rgcpu.pas index 45b4726e98..14222c14a9 100644 --- a/compiler/arm/rgcpu.pas +++ b/compiler/arm/rgcpu.pas @@ -162,6 +162,15 @@ unit rgcpu; add_edge(getsupreg(taicpu(p).oper[1]^.reg),getsupreg(taicpu(p).oper[2]^.reg)); add_edge(getsupreg(taicpu(p).oper[0]^.reg),getsupreg(taicpu(p).oper[2]^.reg)); end; + A_LDRB, + A_STRB, + A_STR, + A_LDR, + A_LDRH, + A_STRH: + { don't mix up the framepointer with pre/post indexed operations } + if (taicpu(p).oper[1]^.ref^.addressmode in [AM_PREINDEXED,AM_POSTINDEXED]) then + add_edge(getsupreg(taicpu(p).oper[1]^.ref^.base),getsupreg(current_procinfo.framepointer)); end; end; end;