You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ifnot (HM.mem wpoint_gas x) then (HM.replace wpoint_gas x default_gas) in
287
291
letreduce_gasx=
@@ -312,7 +316,7 @@ module Base =
312
316
true
313
317
) w false(* nosemgrep: fold-exists *)(* does side effects *)
314
318
andsolve?reuse_eqxphase=
315
-
if tracing then trace "sol2""solve %a, phase: %s, called: %b, stable: %b, wpoint: %s"S.Var.pretty_trace x (show_phase phase) (HM.mem called x) (HM.mem stable x) (format_wpoint x);
319
+
if tracing then trace "sol2""solve %a, phase: %s, called: %b, stable: %b, wpoint: %a"S.Var.pretty_trace x (show_phase phase) (HM.mem called x) (HM.mem stable x) pretty_wpoint x;
316
320
init x;
317
321
assert (Hooks.system x <>None);
318
322
ifnot (HM.mem called x ||HM.mem stable x) then (
@@ -367,7 +371,7 @@ module Base =
367
371
ifnot (Timing.wrap "S.Dom.equal" (fun() -> S.Dom.equal old wpd) ()) then ( (* value changed *)
368
372
if tracing then trace "sol""Changed";
369
373
(* if tracing && not (S.Dom.is_bot old) && wp then trace "solchange" "%a (wpx: %s): %a -> %a" S.Var.pretty_trace x (format_wpoint x) S.Dom.pretty old S.Dom.pretty wpd; *)
370
-
if tracing &¬ (S.Dom.is_bot old) && wp then trace "solchange""%a (wpx: %s): %a"S.Var.pretty_trace x (format_wpoint x)S.Dom.pretty_diff (wpd, old);
374
+
if tracing &¬ (S.Dom.is_bot old) && wp then trace "solchange""%a (wpx: %a): %a"S.Var.pretty_trace x pretty_wpoint xS.Dom.pretty_diff (wpd, old);
371
375
update_var_event x old wpd;
372
376
HM.replace rho x wpd;
373
377
destabilize x;
@@ -386,7 +390,7 @@ module Base =
386
390
Hooks.stable_remove x;
387
391
(solve[@tailcall]) ~reuse_eq:eqd x Narrow
388
392
) elseif remove_wpoint &¬ space && (not term || phase =Narrow) then ( (* this makes e.g. nested loops precise, ex. tests/regression/34-localization/01-nested.c - if we do not remove wpoint, the inner loop head will stay a wpoint and widen the outer loop variable. *)
389
-
if tracing then trace "sol2""solve removing wpoint %a (%s)"S.Var.pretty_trace x (format_wpoint x);
393
+
if tracing then trace "sol2""solve removing wpoint %a (%a)"S.Var.pretty_trace x pretty_wpoint x;
390
394
HM.remove wpoint_gas x;
391
395
)
392
396
)
@@ -435,7 +439,7 @@ module Base =
435
439
if tracing then trace "sol2""eval %a ## %a -> %a"S.Var.pretty_trace x S.Var.pretty_trace y S.Dom.pretty tmp;
436
440
tmp
437
441
andside?xyd=(* side from x to y; only to variables y w/o rhs; x only used for trace *)
438
-
if tracing then trace "sol2""side to %a (wpx: %s) from %a ## value: %a"S.Var.pretty_trace y (format_wpoint y) (Pretty.docOpt (S.Var.pretty_trace ())) x S.Dom.pretty d;
442
+
if tracing then trace "sol2""side to %a (wpx: %a) from %a ## value: %a"S.Var.pretty_trace y pretty_wpoint y (Pretty.docOpt (S.Var.pretty_trace ())) x S.Dom.pretty d;
439
443
ifHooks.system y <>Nonethen (
440
444
Logs.warn "side-effect to unknown w/ rhs: %a, contrib: %a"S.Var.pretty_trace y S.Dom.pretty d;
441
445
);
@@ -460,8 +464,8 @@ module Base =
460
464
if tracing then trace "sol2""stable add %a"S.Var.pretty_trace y;
461
465
HM.replace stable y ();
462
466
ifnot (S.Dom.leq tmp old) then (
463
-
if tracing &¬ (S.Dom.is_bot old) then trace "solside""side to %a (wpx: %s) from %a: %a -> %a"S.Var.pretty_trace y (format_wpoint y) (Pretty.docOpt (S.Var.pretty_trace ())) x S.Dom.pretty old S.Dom.pretty tmp;
464
-
if tracing &¬ (S.Dom.is_bot old) then trace "solchange""side to %a (wpx: %s) from %a: %a"S.Var.pretty_trace y (format_wpoint y) (Pretty.docOpt (S.Var.pretty_trace ())) x S.Dom.pretty_diff (tmp, old);
467
+
if tracing &¬ (S.Dom.is_bot old) then trace "solside""side to %a (wpx: %a) from %a: %a -> %a"S.Var.pretty_trace y pretty_wpoint y (Pretty.docOpt (S.Var.pretty_trace ())) x S.Dom.pretty old S.Dom.pretty tmp;
468
+
if tracing &¬ (S.Dom.is_bot old) then trace "solchange""side to %a (wpx: %a) from %a: %a"S.Var.pretty_trace y pretty_wpoint y (Pretty.docOpt (S.Var.pretty_trace ())) x S.Dom.pretty_diff (tmp, old);
0 commit comments