From b225aaebd29830ccf375d1427e14b72428b07598 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 30 Jun 2022 23:44:30 +0100 Subject: Working on extending ifconversion proof --- src/hls/IfConversion.v | 19 +++++++++++++++++++ src/hls/IfConversionproof.v | 1 + 2 files changed, 20 insertions(+) diff --git a/src/hls/IfConversion.v b/src/hls/IfConversion.v index 0b1c852..ce6149b 100644 --- a/src/hls/IfConversion.v +++ b/src/hls/IfConversion.v @@ -230,6 +230,25 @@ Definition transf_function (f: function) : function := (if_convert_code f.(fn_code) iflist) f.(fn_entrypoint). +Section TRANSF_PROGRAM. + +Variable A B V: Type. +Variable transf: ident -> A -> B. + +Definition transform_program_globdef (idg: ident * globdef A V) : ident * globdef B V := + match idg with + | (id, Gfun f) => (id, Gfun (transf id f)) + | (id, Gvar v) => (id, Gvar v) + end. + +Definition transform_program (p: AST.program A V) : AST.program B V := + mkprogram + (List.map transform_program_globdef p.(prog_defs)) + p.(prog_public) + p.(prog_main). + +End TRANSF_PROGRAM. + Definition transf_fundef (fd: fundef) : fundef := transf_fundef transf_function fd. diff --git a/src/hls/IfConversionproof.v b/src/hls/IfConversionproof.v index 39ec046..d2268fd 100644 --- a/src/hls/IfConversionproof.v +++ b/src/hls/IfConversionproof.v @@ -32,6 +32,7 @@ Require Import compcert.common.Smallstep. Require Import compcert.common.Events. Require Import compcert.common.Memory. Require Import compcert.common.Values. +Require Import compcert.common.Linking. Require Import vericert.common.Vericertlib. Require Import vericert.common.DecEq. -- cgit