-
-
Notifications
You must be signed in to change notification settings - Fork 672
Improve opt passes again #1050
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
Improve opt passes again #1050
Conversation
Would be great to have even more comments around there as it's hard to tell what's going on, and why, and in the exact order. Worrying that we'll otherwise accumulate pass-bloat, forgetting why specific passes are at the location they are, becoming impossible to reason about questions like "do we actually need to run this pass here?".
Questions to ask to make a good comment:
|
Sure. I will try to describe all my steps, but it not always logical, sometimes just empirical find outs. Btw I'm wondering is SSA used for globals? I guess it could optimize much more. See this for example: |
Afaik |
In 005dfbc I rebuilt the allocator tests and noticed that though the untouched fixtures became a bit smaller, the optimized ones became larger. May this have something to do with pass order or is this unrelated? |
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) to (type $i32_=>_none (func (param i32)))
(type $none_=>_none (func)) and that old stub version didn't has |
@dcodeIO btw I updated that tests in this PR as well and it significant reduce sizes: |
This also speed-up passing tests