From 0053b1aa1d26da5d1f995a603b127daf799c2da9 Mon Sep 17 00:00:00 2001 From: xleroy Date: Mon, 21 May 2012 16:26:30 +0000 Subject: Merge of the newmem branch: - Revised memory model with Max and Cur permissions, but without bounds - Constant propagation of 'const' globals - Function inlining at RTL level - (Unprovable) elimination of unreferenced static definitions git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1899 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- arm/Unusedglob1.ml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 arm/Unusedglob1.ml (limited to 'arm/Unusedglob1.ml') diff --git a/arm/Unusedglob1.ml b/arm/Unusedglob1.ml new file mode 100644 index 0000000..04ef89a --- /dev/null +++ b/arm/Unusedglob1.ml @@ -0,0 +1,32 @@ +(* *********************************************************************) +(* *) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(* *) +(* *********************************************************************) + +(* Identifiers referenced from an ARM Asm instruction *) + +open Datatypes +open AST +open Asm + +let referenced_builtin ef = + match ef with + | EF_vload_global(chunk, id, ofs) -> [id] + | EF_vstore_global(chunk, id, ofs) -> [id] + | _ -> [] + +let referenced_instr = function + | Pbsymb(s, _) -> [s] + | Pblsymb(s, _) -> [s] + | Ploadsymbol(_, s, _) -> [s] + | Pbuiltin ef -> referenced_builtin ef + | _ -> [] + +let code_of_function f = f.fn_code -- cgit v1.2.3