- (inlines', exprs')
- <- mapAndUnzipM (uncurry vectTopRhs) bs
-
- return (vars', inlines', exprs')
-
+ (inlines', areScalars', exprs')
+ <- mapAndUnzip3M (uncurry $ vectTopRhs vars) bs
+ if (and areScalars') || (length bs <= 1)
+ then do
+ -- pprTrace "in Rec - all scalars??" (ppr areScalars') $ return ()
+ return (vars', inlines', exprs')
+ else do
+ -- pprTrace "in Rec - not all scalars" (ppr areScalars') $ return ()
+ mapM deleteGlobalScalar vars
+ (inlines'', _, exprs'') <- mapAndUnzip3M (uncurry $ vectTopRhs []) bs
+ return (vars', inlines'', exprs'')
+