Skip to content

Have a block-based IR for compiling, calculate max stack size #2373

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

Merged
merged 6 commits into from
Jan 8, 2021

Conversation

coolreader18
Copy link
Member

No description provided.

@coolreader18 coolreader18 marked this pull request as draft December 18, 2020 16:21
@coolreader18
Copy link
Member Author

This would also be great for compiling to cranelift (especially since I modeled the block system off of their ir, a bit 🙃 ), but I'm not sure if there's any way to preserve the block information all the way to the function object that you call .__jit__() on

@coolreader18 coolreader18 force-pushed the coolreader18/blockir branch 6 times, most recently from 018e899 to 8bf4921 Compare December 19, 2020 03:18
@coolreader18 coolreader18 marked this pull request as ready for review December 19, 2020 21:16
@coolreader18
Copy link
Member Author

Best I can tell, there's little performance improvement and this may be very, very slightly slower (I get stuff like norm 1.00 ± 0.01 faster than opt), but I think there's a lot more room for optimization with this compilation model than what we had before.

@carbotaniuman
Copy link
Contributor

It'd be nice for a JIT where we just remove the interpreter loop and directly call the functions imo.

@youknowone youknowone merged commit 0b58527 into master Jan 8, 2021
@youknowone
Copy link
Member

it looks like arrayvec exists in crates.io but boxvec doesn't. maybe it would be useful as an independent crate

@youknowone youknowone deleted the coolreader18/blockir branch January 8, 2021 04:16
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

Successfully merging this pull request may close these issues.

3 participants