diff options
author | Simon Marlow <marlowsd@gmail.com> | 2011-12-07 15:23:28 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2011-12-07 15:24:29 +0000 |
commit | eea40328004e3cad1fdd31004337e10e6ae5fc52 (patch) | |
tree | d6547411463a4dfa695e8dcf5fd423dee00af218 /compiler/codeGen | |
parent | c4fb520e3be8dc47f3053458412172502c5fcd2c (diff) | |
download | haskell-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