Next: Optimizations during code generation, Previous: Source-to-source optimizations, Up: Optimization options [Contents][Index]
--structure-sharing
Perform structure sharing analysis.
--structure-sharing-widening N
Perform widening when the set of structure sharing pairs becomes larger than N. When n=0, widening is not enabled. (default: 0).
--structure-reuse
--ctgc
Perform structure reuse analysis (Compile Time Garbage Collection).
--structure-reuse-constraint {same_cons_id, within_n_cells_difference}
--ctgc-constraint {same_cons_id, within_n_cells_difference}
Constraint on the way we allow structure reuse. ‘same_cons_id’ specifies that reuse is only allowed between terms of the same type and constructor. ‘within_n_cells_difference’ states that reuse is allowed as long as the arities between the reused term and new term does not exceed a certain threshold. The threshold needs to be set using ‘--structure-reuse-constraint-arg’. (The default is ‘within_n_cells_difference’ with the threshold being 0.)
--structure-reuse-constraint-arg max_difference
--ctgc-constraint-arg max_difference
Specify the maximum difference in arities between the terms whose memory cells can be reused on the one hand, and the terms that need memory cells on the other hand. (default: 0)