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

Make more robust SSA for trace IR #14

Open
JakeEhrlich opened this issue Sep 1, 2024 · 0 comments
Open

Make more robust SSA for trace IR #14

JakeEhrlich opened this issue Sep 1, 2024 · 0 comments

Comments

@JakeEhrlich
Copy link
Owner

It turns out that for many reasons, it would be nice to have basic blocks in our SSA and represent loops more explicitly. For instance a nice optimization is to unroll the outer loop for just one iteration and this gives you substantial type information that you can use going into next loop if you can for instance prove that a phi node is always of a certain type.

Additionally this sets us up later for adding branches for 50/50 cases that are not handled well by the naive tracing we do now. Lastly this also sets us up for TraceMonkey style trace appending where traces are stored for each branch and then they are periodically recompiled.

This is also what we need to handle tail calls as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant