diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2019-09-18 14:05:09 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2019-09-18 14:05:09 +0200 |
commit | a42baf15372e64f398685aaef079a82ea0db834e (patch) | |
tree | bf430c795591d63fc85e6b53cd0110a1d9fd818b /mppa_k1c | |
parent | a1b4ed93ca2b7a244fb5d6d54c0bd0737f618837 (diff) | |
download | compcert-kvx-a42baf15372e64f398685aaef079a82ea0db834e.tar.gz compcert-kvx-a42baf15372e64f398685aaef079a82ea0db834e.zip |
Timings for Machblockgen, Asmblockgen and postpass scheduling
Diffstat (limited to 'mppa_k1c')
-rw-r--r-- | mppa_k1c/Asmgen.v | 12 | ||||
-rw-r--r-- | mppa_k1c/Asmgenproof.v | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/mppa_k1c/Asmgen.v b/mppa_k1c/Asmgen.v index 58e80be1..704a0ac5 100644 --- a/mppa_k1c/Asmgen.v +++ b/mppa_k1c/Asmgen.v @@ -18,15 +18,17 @@ Require Import Integers. Require Import Mach Asm Asmblock Asmblockgen Machblockgen. Require Import PostpassScheduling. -Require Import Errors. +Require Import Errors String. Local Open Scope error_monad_scope. +Definition time {A B: Type} (name: string) (f: A -> B) : A -> B := f. + Definition transf_program (p: Mach.program) : res Asm.program := - let mbp := Machblockgen.transf_program p in - do abp <- Asmblockgen.transf_program mbp; - do abp' <- PostpassScheduling.transf_program abp; - OK (Asm.transf_program abp'). + let mbp := (time "Machblock generation" Machblockgen.transf_program) p in + do abp <- (time "Asmblock generation" Asmblockgen.transf_program) mbp; + do abp' <- (time "PostpassScheduling optimization" PostpassScheduling.transf_program) abp; + OK ((time "Asm generation" Asm.transf_program) abp'). Definition transf_function (f: Mach.function) : res Asm.function := let mbf := Machblockgen.transf_function f in diff --git a/mppa_k1c/Asmgenproof.v b/mppa_k1c/Asmgenproof.v index e0878c7d..5d7bb81f 100644 --- a/mppa_k1c/Asmgenproof.v +++ b/mppa_k1c/Asmgenproof.v @@ -35,7 +35,7 @@ Proof. intros p tp H. unfold Asmgen.transf_program in H. apply bind_inversion in H. destruct H. inversion_clear H. apply bind_inversion in H1. destruct H1. - inversion_clear H. inversion H2. remember (Machblockgen.transf_program p) as mbp. + inversion_clear H. inversion H2. unfold time in *. remember (Machblockgen.transf_program p) as mbp. unfold match_prog; simpl. exists mbp; split. apply Machblockgenproof.transf_program_match; auto. exists x; split. apply Asmblockgenproof.transf_program_match; auto. |