Make sure tagZeroes isn't a loop breaker
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Wed, 17 Nov 2010 19:39:29 +0000 (19:39 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Wed, 17 Nov 2010 19:39:29 +0000 (19:39 +0000)
dph-base/include/fusion-phases.h
dph-prim-interface/interface/DPH_Interface.h

index b865eb7..f86f691 100644 (file)
@@ -12,3 +12,5 @@
 #define PHASE_STREAM    [1]
 #define PHASE_INNER     [0]
 
+#define UNTIL_PHASE_BACKEND [~2]
+
index 09e78b2..32db427 100644 (file)
@@ -464,7 +464,7 @@ tagZeroes xs = map (\x -> fromBool (x==0)) xs
 
 {-# RULES
 
-"tagZeroes" forall xs n.
+"tagZeroes" UNTIL_PHASE_BACKEND forall xs n.
   map fromBool (zipWith GHC.Base.eqInt xs (replicate n (GHC.Base.I# 0#)))
     = tagZeroes xs