From 74487f079dd56663f97f9731cea328931857495c Mon Sep 17 00:00:00 2001 From: xleroy Date: Tue, 10 Nov 2009 12:50:57 +0000 Subject: Added support for jump tables in back end. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1171 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- backend/Tailcallproof.v | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'backend/Tailcallproof.v') diff --git a/backend/Tailcallproof.v b/backend/Tailcallproof.v index 1423e1e0..8681d84a 100644 --- a/backend/Tailcallproof.v +++ b/backend/Tailcallproof.v @@ -630,6 +630,13 @@ Proof. apply eval_condition_lessdef with (rs##args); auto. apply regset_get_list; auto. constructor; auto. +(* jumptable *) + TransfInstr. + left. exists (State s' (fn_code (transf_function f)) (Vptr sp0 Int.zero) pc' rs' m'); split. + eapply exec_Ijumptable; eauto. + generalize (RLD arg). rewrite H0. intro. inv H2. auto. + constructor; auto. + (* return *) TransfInstr. left. exists (Returnstate s' (regmap_optget or Vundef rs') (free m' stk)); split. -- cgit