Skip to content

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

Merged
youknowone merged 6 commits into
masterfrom
coolreader18/blockir
Jan 8, 2021
Merged

youknowone merged 6 commits into
masterfrom
coolreader18/blockir

Conversation

@coolreader18

Copy link
Copy Markdown
Member

No description provided.

@coolreader18
coolreader18 marked this pull request as draft December 18, 2020 16:21
@coolreader18

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor

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

@coolreader18 coolreader18 mentioned this pull request Dec 21, 2020
6 of 8 tasks
@youknowone
youknowone merged commit 0b58527 into master Jan 8, 2021
@youknowone

Copy link
Copy Markdown
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