summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-12-07 15:23:28 +0000
committerSimon Marlow <marlowsd@gmail.com>2011-12-07 15:24:29 +0000
commiteea40328004e3cad1fdd31004337e10e6ae5fc52 (patch)
treed6547411463a4dfa695e8dcf5fd423dee00af218 /compiler/codeGen
parentc4fb520e3be8dc47f3053458412172502c5fcd2c (diff)
downloadhaskell-eea40328004e3cad1fdd31004337e10e6ae5fc52.tar.gz
Improve optimisation in the presence of SCCs (fixes #5363)
We had some special cases to handle things like case (scc c (case E of alts)) of alts' but it only worked when there was a single scc in the way. This generalises the optimisation to handle multiple sccs and ticks, so that we can catch most case-of-case optimisations that would normally apply in the absence of profiling. This fixes the example in #5363, and nofib results (with -prof -fprof-auto) show that allocation universally goes down or stays the same.
Diffstat (limited to 'compiler/codeGen')
0 files changed, 0 insertions, 0 deletions