X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmStackLayout.hs;h=01543c444e3f170f72edb8c7d5bc47a247353c02;hb=9176377bf7d989919fe7d27cad1f56bd9c4e7b6b;hp=4756bbd1526ecd79edfc8d88c27c4af68fa40eb2;hpb=889c084e943779e76d19f2ef5e970ff655f511eb;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmStackLayout.hs b/compiler/cmm/CmmStackLayout.hs index 4756bbd..01543c4 100644 --- a/compiler/cmm/CmmStackLayout.hs +++ b/compiler/cmm/CmmStackLayout.hs @@ -5,6 +5,12 @@ -- Todo: remove {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-} +{-# OPTIONS_GHC -fno-warn-incomplete-patterns #-} +#if __GLASGOW_HASKELL__ >= 701 +-- GHC 7.0.1 improved incomplete pattern warnings with GADTs +{-# OPTIONS_GHC -fwarn-incomplete-patterns #-} +#endif + module CmmStackLayout ( SlotEnv, liveSlotAnal, liveSlotTransfers, removeLiveSlotDefs , layout, manifestSP, igraph, areaBuilder @@ -123,6 +129,7 @@ liveSlotTransfers :: BwdTransfer CmmNode SubAreaSet liveSlotTransfers = mkBTransfer3 frt mid lst where frt :: CmmNode C O -> SubAreaSet -> SubAreaSet frt (CmmEntry l) f = Map.delete (CallArea (Young l)) f + mid :: CmmNode O O -> SubAreaSet -> SubAreaSet mid n f = foldSlotsUsed addSlot (removeLiveSlotDefs f n) n lst :: CmmNode O C -> FactBase SubAreaSet -> SubAreaSet