From a5ffc59246b09a389e5f8cbc2f217e323e76990f Mon Sep 17 00:00:00 2001 From: xleroy Date: Mon, 13 Jun 2011 18:11:19 +0000 Subject: Revised handling of annotation statements, and more generally built-in functions, and more generally external functions git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1672 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- powerpc/Asmgen.v | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'powerpc/Asmgen.v') diff --git a/powerpc/Asmgen.v b/powerpc/Asmgen.v index 6b47d750..4370753b 100644 --- a/powerpc/Asmgen.v +++ b/powerpc/Asmgen.v @@ -399,6 +399,14 @@ Definition transl_load_store (* should not happen *) k end. +(** Translation of arguments to annotations *) + +Definition transl_annot_param (p: Mach.annot_param) : Asm.annot_param := + match p with + | Mach.APreg r => APreg (preg_of r) + | Mach.APstack chunk ofs => APstack chunk ofs + end. + (** Translation of a Mach instruction. *) Definition transl_instr (f: Mach.function) (i: Mach.instruction) (k: code) := @@ -478,6 +486,8 @@ Definition transl_instr (f: Mach.function) (i: Mach.instruction) (k: code) := Pbs symb :: k | Mbuiltin ef args res => Pbuiltin ef (map preg_of args) (preg_of res) :: k + | Mannot ef args => + Pannot ef (map transl_annot_param args) :: k | Mlabel lbl => Plabel lbl :: k | Mgoto lbl => -- cgit