Next: , Previous: , Up: Optimization options   [Contents][Index]


9.16.3 Experimental source-to-source optimizations


--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)