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/Tunnelingproof.v | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'backend/Tunnelingproof.v') diff --git a/backend/Tunnelingproof.v b/backend/Tunnelingproof.v index eccb62d..92ec68c 100644 --- a/backend/Tunnelingproof.v +++ b/backend/Tunnelingproof.v @@ -315,6 +315,13 @@ Proof. eapply exec_Lcond_false; eauto. rewrite (tunnel_function_lookup _ _ _ H); simpl; eauto. econstructor; eauto. + (* jumptable *) + generalize (record_gotos_correct f pc); rewrite H; intro A; rewrite A. + left; econstructor; split. + eapply exec_Ljumptable. + rewrite (tunnel_function_lookup _ _ _ H); simpl; eauto. + eauto. rewrite list_nth_z_map. change U.elt with node. rewrite H1. reflexivity. + econstructor; eauto. (* return *) generalize (record_gotos_correct f pc); rewrite H; intro A; rewrite A. left; econstructor; split. -- cgit v1.2.3