Improve some folds over Uniq[D]FM
* Replace some non-deterministic lazy folds with strict folds. * Replace some O(n log n) folds in deterministic order with non-deterministic folds. * Replace some folds with set-operations on the underlying IntMaps. This reduces max residency when compiling `nofib/spectral/simple/Main.hs` by about 1%. Maximum residency when compiling Cabal also seems reduced on the order of 3-9%.
parent
30a63e79
No related branches found
No related tags found
Pipeline #17517 canceled
Stage: lint
Stage: quick-build
Stage: build
Stage: full-build
Stage: cleanup
Stage: packaging
Stage: testing
Showing
- compiler/GHC/CmmToAsm/Reg/Graph/SpillClean.hs 3 additions, 2 deletionscompiler/GHC/CmmToAsm/Reg/Graph/SpillClean.hs
- compiler/GHC/Core/FamInstEnv.hs 2 additions, 2 deletionscompiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/Op/OccurAnal.hs 4 additions, 4 deletionscompiler/GHC/Core/Op/OccurAnal.hs
- compiler/GHC/Core/Op/SetLevels.hs 7 additions, 5 deletionscompiler/GHC/Core/Op/SetLevels.hs
- compiler/GHC/Core/Op/Specialise.hs 2 additions, 2 deletionscompiler/GHC/Core/Op/Specialise.hs
- compiler/GHC/Core/TyCo/FVs.hs 1 addition, 1 deletioncompiler/GHC/Core/TyCo/FVs.hs
- compiler/GHC/Core/Unify.hs 3 additions, 3 deletionscompiler/GHC/Core/Unify.hs
- compiler/GHC/HsToCore/Usage.hs 3 additions, 3 deletionscompiler/GHC/HsToCore/Usage.hs
- compiler/GHC/Rename/Source.hs 2 additions, 2 deletionscompiler/GHC/Rename/Source.hs
- compiler/GHC/Stg/Lift/Analysis.hs 2 additions, 1 deletioncompiler/GHC/Stg/Lift/Analysis.hs
- compiler/GHC/Types/Demand.hs 13 additions, 6 deletionscompiler/GHC/Types/Demand.hs
- compiler/GHC/Types/Unique/DFM.hs 12 additions, 8 deletionscompiler/GHC/Types/Unique/DFM.hs
- compiler/GHC/Types/Unique/DSet.hs 6 additions, 3 deletionscompiler/GHC/Types/Unique/DSet.hs
- compiler/GHC/Types/Unique/FM.hs 9 additions, 6 deletionscompiler/GHC/Types/Unique/FM.hs
- compiler/GHC/Types/Unique/Set.hs 8 additions, 11 deletionscompiler/GHC/Types/Unique/Set.hs
- compiler/GHC/Types/Var/Env.hs 7 additions, 1 deletioncompiler/GHC/Types/Var/Env.hs
- compiler/GHC/Types/Var/Set.hs 14 additions, 6 deletionscompiler/GHC/Types/Var/Set.hs
- compiler/typecheck/TcEvidence.hs 21 additions, 3 deletionscompiler/typecheck/TcEvidence.hs
- compiler/typecheck/TcSimplify.hs 5 additions, 9 deletionscompiler/typecheck/TcSimplify.hs
- compiler/typecheck/TcType.hs 3 additions, 1 deletioncompiler/typecheck/TcType.hs
Loading
Please register or sign in to comment