Skip to content

liberate case needs an independent threshold

The liberate-case pass (on with -O2) is causing code duplication in the definition of hPutStr in GHC.IO.

This accounts for 10% of the 25% increase in binary sizes I'm seeing in 6.8.1. We'll be using -fno-liberate-case when building libraries for the distributions (it's already off in the default build, since the default GhcLibHcOpts uses -O).

Trac metadata
Trac field Value
Version 6.6.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Unknown
Architecture Unknown
Edited by Simon Marlow
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information