Add --param=dom-jump-threading to disable DOM jump threading
New compiler option allows disabling DOM jump threading for debugging.
A new compiler parameter, —param=dom-jump-threading, has been introduced to selectively disable the jump threading optimization within the DOM (Dominator Tree) pass. This change facilitates debugging and isolation of issues by allowing developers to turn off this specific component of the DOM optimizer without affecting other DOM operations. It is intended to aid in the ongoing effort to untangle DOM’s threading mechanism from the rest of the pass.
In Details
DOM jump threading is part of the dominator tree optimization framework. This change adds a tunable parameter to disable this specific threading mechanism, enabling finer-grained control for debugging and auditing its interaction with PRE and other optimizers. The parameter allows isolating regressions related to jump threading without disabling all DOM optimizations.
- DOM
- Dominator Tree. A tree structure representing the control flow graph of a program, where a node dominates another if all paths from the entry to the second node must pass through the first.
- jump threading
- An optimization technique that transforms control flow graphs by 'threading' jumps through conditional branches, simplifying paths and potentially enabling further optimizations.