diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-03-28 10:01:53 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-03-28 10:01:53 +0000 |
commit | 9976ed7a27434cfcc334959ef5f20e4967ff8dcb (patch) | |
tree | 803e1659ad2c7395911408dbe46f79aa49ffea12 /arm/Asmgen.v | |
parent | c0ff75a787c9b56699722fa672e76c97acfe93b5 (diff) | |
download | compcert-kvx-9976ed7a27434cfcc334959ef5f20e4967ff8dcb.tar.gz compcert-kvx-9976ed7a27434cfcc334959ef5f20e4967ff8dcb.zip |
Updating ARM port
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1291 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm/Asmgen.v')
-rw-r--r-- | arm/Asmgen.v | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arm/Asmgen.v b/arm/Asmgen.v index 069a08a2..2a3b3f36 100644 --- a/arm/Asmgen.v +++ b/arm/Asmgen.v @@ -473,10 +473,12 @@ Definition transl_instr (f: Mach.function) (i: Mach.instruction) (k: code) := Pblsymb symb :: k | Mtailcall sig (inl r) => loadind_int IR13 f.(fn_retaddr_ofs) IR14 - (Pfreeframe f.(fn_link_ofs) :: Pbreg (ireg_of r) :: k) + (Pfreeframe (-f.(fn_framesize)) f.(fn_stacksize) f.(fn_link_ofs) + :: Pbreg (ireg_of r) :: k) | Mtailcall sig (inr symb) => loadind_int IR13 f.(fn_retaddr_ofs) IR14 - (Pfreeframe f.(fn_link_ofs) :: Pbsymb symb :: k) + (Pfreeframe (-f.(fn_framesize)) f.(fn_stacksize) f.(fn_link_ofs) + :: Pbsymb symb :: k) | Mlabel lbl => Plabel lbl :: k | Mgoto lbl => @@ -488,7 +490,8 @@ Definition transl_instr (f: Mach.function) (i: Mach.instruction) (k: code) := Pbtbl IR14 tbl :: k | Mreturn => loadind_int IR13 f.(fn_retaddr_ofs) IR14 - (Pfreeframe f.(fn_link_ofs) :: Pbreg IR14 :: k) + (Pfreeframe (-f.(fn_framesize)) f.(fn_stacksize) f.(fn_link_ofs) + :: Pbreg IR14 :: k) end. Definition transl_code (f: Mach.function) (il: list Mach.instruction) := |