-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mono] Don't use recursion in mono_ssa_rename_vars (#61677)
Implements #60266 Avoid deep recursion in `mono_ssa_rename_vars`, change the way we traverse dominated bb's. Instead of using recursion, use stack-like array to store information about stack history and the traversal. The performance remains the same (or is slightly better) than before. Times for the compilation of repro from #57141 (JIT time minimum from 5 runs): Before: LLVM output file: './Uno.UI.FluentTheme.dll.bc.tmp'. JIT time: 4810 ms, Generation time: 2040 ms, Assembly+Link time: 2 ms. After: LLVM output file: './Uno.UI.FluentTheme.dll.bc.tmp'. JIT time: 4781 ms, Generation time: 2017 ms, Assembly+Link time: 2 ms. * Fix assignment * Apply suggestions from code review Co-authored-by: imhameed <[email protected]> * Remove casts we don't need Co-authored-by: imhameed <[email protected]>
- Loading branch information
1 parent
0f40573
commit b35c0ad
Showing
1 changed file
with
133 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters