diff --git a/compiler/vectorise/Vectorise/Type/Classify.hs b/compiler/vectorise/Vectorise/Type/Classify.hs index 7122cb76640a5fba19b13922e90b53bc11356cc3..9717aa0ca1133ee92009c8b5d0a74354befc371a 100644 --- a/compiler/vectorise/Vectorise/Type/Classify.hs +++ b/compiler/vectorise/Vectorise/Type/Classify.hs @@ -43,7 +43,15 @@ classifyTyCons :: UniqFM Bool -- ^type constructor conversio -> ([TyCon], [TyCon], [TyCon]) -- ^tycons to be converted & not to be converted classifyTyCons convStatus tcs = classify [] [] [] convStatus (tyConGroups tcs) where - classify conv keep ignored _ [] = (conv, keep, ignored) + +-- ******** HACKS ********* +-- TyCons that were marked as 'keep' are instead put into the 'conv' list, +-- because keeping them was breaking the nbody example. +-- This needs to be fixed. -- BL 29/11/2011 +-- classify conv keep ignored _ [] = (conv, keep, ignored) + classify conv keep ignored _ [] = (conv ++ keep, [], ignored) +-- ************************ + classify conv keep ignored cs ((tcs, ds) : rs) | can_convert && must_convert = classify (tcs ++ conv) keep ignored (cs `addListToUFM` [(tc, True) | tc <- tcs]) rs