wiki:SpecConstr

SpecConstr

SpecConstr is a GHC optimisation that specialises functions for particular values of their arguments.

Tickets

Use Keyword = SpecConstr to ensure that a ticket ends up on these lists.

Open Tickets:

#855
Improvements to SpecConstr
#2255
Improve SpecConstr for free variables
#2598
Avoid excessive specialisation in SpecConstr
#2642
Improve SpecConstr for join points
#3767
SpecConstr for join points
#3831
SpecConstr should exploit cases where there is exactly one call pattern
#4941
SpecConstr generates functions that do not use their arguments
#4945
Another SpecConstr infelicity
#5059
Pragma to SPECIALISE on value arguments
#5075
CPR optimisation for sum types if only one constructor is used
#10346
Cross-module SpecConstr
#10626
Missed opportunity for SpecConstr
#11668
SPEC has a runtime cost if constructor specialization isn't performed
#13014
Seemingly unnecessary marking of a SpecConstr specialization as a loopbreaker
#13346
Run nofib with -fspec-constr-keen
#13681
Remove deprecated ForceSpecConstr
#13694
CSE runs before SpecConstr

Closed Tickets:

#7865
SpecConstr duplicating computations
#7944
GHC goes into an apparently infinite loop at -O2
#13410
GHC HEAD regression: Template variable unbound in rewrite rule

Last modified 3 months ago Last modified on Feb 10, 2017 10:35:10 AM