Skip to content

Reinstate constant propagation in some form

The new codegen doesn't have a constant propagation pass. This used to be done by the mini-inliner which was ad-hoc at best; instead of the mini-inliner we now have CmmSink which is much less ad-hoc but doesn't do constant folding or propagation.

This is a regression that will affect performance of things like copyArray#, so we should fix it before the release.

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