From 34ea2d39acfc9b0a368ae22e47b77f53dbcbfb76 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 8 Apr 2022 23:13:53 +0100 Subject: Add intermediate files --- src/hls/RTLBlock.v | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/hls/RTLBlock.v') diff --git a/src/hls/RTLBlock.v b/src/hls/RTLBlock.v index fbd3222..d8c119c 100644 --- a/src/hls/RTLBlock.v +++ b/src/hls/RTLBlock.v @@ -91,16 +91,19 @@ function. Variant step: state -> trace -> state -> Prop := | exec_bblock: - forall s f sp pc rs rs' m m' t s' bb pr pr', - f.(fn_code)!pc = Some bb -> - step_instr_list sp (mk_instr_state rs pr m) bb.(bb_body) + forall s f sp pc rs rs' m m' bb pr pr', + step_instr_list sp (mk_instr_state rs pr m) bb (mk_instr_state rs' pr' m') -> - step_cf_instr ge (State s f sp pc (mk_bblock nil bb.(bb_exit)) rs' pr' m') t s' -> - step (State s f sp pc bb rs pr m) t s' + step (State s f sp pc bb rs pr m) E0 (JumpState s f sp pc rs' pr' m') + | exec_jumpstate : + forall s f sp pc rs pr m block t st, + f.(fn_code) ! pc = Some block -> + step_cf_instr ge (JumpState s f sp pc rs pr m) block.(bb_exit) t st -> + step (JumpState s f sp pc rs pr m) t st | exec_function_internal: - forall s f args m m' stk bb, + forall s f args m m' stk bb cf, Mem.alloc m 0 f.(fn_stacksize) = (m', stk) -> - f.(fn_code) ! (f.(fn_entrypoint)) = Some bb -> + f.(fn_code) ! (f.(fn_entrypoint)) = Some (mk_bblock bb cf) -> step (Callstate s (Internal f) args m) E0 (State s f (Vptr stk Ptrofs.zero) @@ -115,9 +118,9 @@ function. step (Callstate s (External ef) args m) t (Returnstate s res m') | exec_return: - forall res f sp pc rs s vres m pr bb, - step (Returnstate (Stackframe res f sp pc bb rs pr :: s) vres m) - E0 (State s f sp pc bb (rs#res <- vres) pr m). + forall res f sp pc rs s vres m pr, + step (Returnstate (Stackframe res f sp pc rs pr :: s) vres m) + E0 (JumpState s f sp pc (rs#res <- vres) pr m). End RELSEM. -- cgit