From 7d2b1e5865a257e4d00cc81e061f19d4cd701138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pasteur?= Date: Thu, 21 Apr 2011 17:34:22 +0200 Subject: [PATCH] Fixed bug in disjoint clock --- compiler/minils/analysis/interference.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/minils/analysis/interference.ml b/compiler/minils/analysis/interference.ml index aac7054..cf5d8ca 100644 --- a/compiler/minils/analysis/interference.ml +++ b/compiler/minils/analysis/interference.ml @@ -260,7 +260,7 @@ let rec disjoint_clock is_mem ck1 ck2 = match ck1, ck2 with | Cbase, Cbase -> false | Con(ck1, c1, n1), Con(ck2,c2,n2) -> - if ck1 = ck2 & n1 = n2 & c1 <> c2 then + if ck1 = ck2 & n1 = n2 & c1 <> c2 & not is_mem then true else disjoint_clock is_mem ck1 ck2 @@ -279,7 +279,7 @@ let should_interfere (x, y) = false else ( let x_is_mem = World.is_memory x in - let y_is_mem = World.is_memory y in + let y_is_mem = World.is_memory y in let are_copies = have_same_value_from_name x y in let disjoint_clocks = disjoint_clock (x_is_mem && y_is_mem) vdx.v_clock vdy.v_clock in not (disjoint_clocks or are_copies)