mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-17 14:57:03 +00:00
Estimated hours taken: 900 Branches: main Added loop-invariant hoisting optimization. liveness.m: Improved the debugging output to show HLDS before and after liveness analysis. loop_inv.m: New module containing the implementation of the loop invariant hoisting optimization. mercury_compile.m: Added loop_inv at step 34, moving inlining to step 35. options.m: Added bool option --loop-invariants (default `no'). This optimization is set at -O4. passes_aux.m: Minor changes to support introduction of the loop invariant hoisting optmimization. follow_code.m: Updated to reflect the new interface to passes_aux.m. transform_hlds.m: Added include_module declaration for loop_inv.