Next: Low-level (LLDS -> LLDS) optimization options, Previous: MLDS back-end (MLDS -> MLDS) optimization options, Up: Optimization options [Contents][Index]
These optimizations are applied during the process of generating low-level intermediate code from our high-level data structure.
--no-static-ground-terms
Disable the optimization of constructing constant ground terms at compile time and storing them as static constants. Note that auxiliary data structures created by the compiler for purposes such as debugging will still be created as static constants.
--no-smart-indexing
Generate switches as simple if-then-else chains; disable string hashing and integer table-lookup indexing.
--dense-switch-req-density percentage
The jump table generated for an atomic switch must have at least this percentage of full slots (default: 25).
--dense-switch-size size
The jump table generated for an atomic switch must have at least this many entries (default: 4).
--lookup-switch-req-density percentage
The lookup tables generated for an atomic switch in which all the outputs are constant terms must have at least this percentage of full slots (default: 25).
--lookup-switch-size size
The lookup tables generated for an atomic switch in which all the outputs are constant terms must have at least this many entries (default: 4).
--string-trie-switch-size size
The trie generated for a string switch must have at least this many entries (default: 16).
--string-hash-switch-size size
The hash table generated for a string switch must have at least this many entries (default: 8).
--string-binary-switch-size size
The binary search table generated for a string switch must have at least this many entries (default: 4).
--tag-switch-size size
The number of alternatives in a tag switch must be at least this number (default: 3).
--try-switch-size size
The number of alternatives in a try-chain switch must be at least this number (default: 3).
--binary-switch-size size
The number of alternatives in a binary search switch must be at least this number (default: 4).
--no-use-atomic-cells
Don’t use the atomic variants of the Boehm gc allocator calls, even when this would otherwise be possible.
--no-middle-rec
Disable the middle recursion optimization.
--no-simple-neg
Don’t generate simplified code for simple negations.