Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mono] Don't use recursion in mono_ssa_rename_vars #61677

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

1 participant
@radekdoulik
Copy link
Contributor

@radekdoulik radekdoulik commented Nov 16, 2021

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.
Implements dotnet#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 dotnet#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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment