compiler/stranal¶
- compiler/stranal/DmdAnal.hs
- Note [Stamp out space leaks in demand analysis]
- Note [Ensure demand is strict]
- Note [IO hack in the demand analyser]
- Note [Demand on the scrutinee of a product case]
- Note [Aggregated demand for cardinality]
- Note [Safe abortion in the fixed-point iteration]
- Note [Demand analysis for join points]
- Note [Demand analysis for trivial right-hand sides]
- Note [Product demands for function body]
- Note [Do not strictify the argument dictionaries of a dfun]
- Note [CPR for sum types]
- Note [CPR for thunks]
- Note [Optimistic CPR in the “virgin” case]
- Note [NOINLINE and strictness]
- Note [Lazy and unleashable free variables]
- Note [Lambda-bound unfoldings]
- Note [CPR in a product case alternative]
- Note [Initial CPR for strict binders]
- Note [CPR examples]
- Note [Initialising strictness]
- Note [Final Demand Analyser run]
- compiler/stranal/WorkWrap.hs
- Note [Don’t w/w INLINE things]
- Note [Worker-wrapper for INLINABLE functions]
- Note [Worker-wrapper for NOINLINE functions]
- Note [Worker activation]
- Note [Don’t w/w inline small non-loop-breaker things]
- Note [Don’t CPR join points]
- Note [Wrapper activation]
- Note [Wrapper NoUserInline]
- Note [Zapping DmdEnv after Demand Analyzer]
- Note [Zapping Used Once info in WorkWrap]
- Note [Demand on the worker]
- Note [Do not split void functions]
- Note [Thunk splitting]
- compiler/stranal/WwLib.hs
- Note [Always do CPR w/w]
- Note [Limit w/w arity]
- Note [Protecting the last value argument]
- Note [Join points and beta-redexes]
- Note [Join points returning functions]
- Note [Freshen WW arguments]
- Note [Unpacking arguments with product and polymorphic demands]
- Note [How to do the worker/wrapper split]
- Note [Worker-wrapper for bottoming functions]
- Note [Add demands for strict constructors]
- Note [mkWWstr and unsafeCoerce]
- Note [Record evaluated-ness in worker/wrapper]
- Note [Do not unpack class dictionaries]
- Note [non-algebraic or open body type warning]
- Note [Profiling and unpacking]
- Note [Absent errors]