diff options
Diffstat (limited to 'abstract')
-rw-r--r-- | abstract/abs_interp.ml | 4 | ||||
-rw-r--r-- | abstract/abs_interp_edd.ml | 12 | ||||
-rw-r--r-- | abstract/transform.ml | 2 |
3 files changed, 15 insertions, 3 deletions
diff --git a/abstract/abs_interp.ml b/abstract/abs_interp.ml index a401f60..c3b2d79 100644 --- a/abstract/abs_interp.ml +++ b/abstract/abs_interp.ml @@ -11,6 +11,7 @@ type cmdline_opt = { widen_delay : int; disjunct : (id -> bool); verbose_ci : bool; + vverbose_ci : bool; } @@ -354,7 +355,8 @@ end = struct *) let cycle st cl env = let env_f = apply_cl env cl in - (*Format.printf "{{ %a ->@.%a }}@." print_dd env print_dd env_f;*) + if st.opt.vverbose_ci then + Format.printf "{{ %a ->@.%a }}@." print_dd env print_dd env_f; dd_pass_cycle st env_f diff --git a/abstract/abs_interp_edd.ml b/abstract/abs_interp_edd.ml index 510bf93..6e45240 100644 --- a/abstract/abs_interp_edd.ml +++ b/abstract/abs_interp_edd.ml @@ -929,6 +929,10 @@ end = struct let dc = pass_cycle e d2 in let y = edd_join_star_widen e x dc in + if e.opt.vverbose_ci then + Format.printf "d2 %a@. dc %a@. y %a@." + edd_print d2 edd_print dc edd_print y; + if e.opt.verbose_ci then Format.printf " -> %a@." edd_print y; @@ -945,7 +949,13 @@ end = struct let f i = let i = edd_meet path i in let i' = edd_meet i path_target in - let q = edd_join start (pass_cycle e (edd_apply_cl i' e.cl)) in + let j = edd_apply_cl i' e.cl in + + if e.opt.vverbose_ci then + Format.printf "i %a@.i' %a@.j %a@." + edd_print i edd_print i' edd_print j; + + let q = edd_join start (pass_cycle e j) in edd_meet path q in diff --git a/abstract/transform.ml b/abstract/transform.ml index ff2374e..7ae54ad 100644 --- a/abstract/transform.ml +++ b/abstract/transform.ml @@ -494,5 +494,5 @@ and guarantees_of_prog rp = consts = I.consts rp; } in - g_of_scope td rp.root_scope "" (BConst true) + g_of_scope td rp.root_scope (clock_scope_here rp.root_scope) (BConst true) |