Skip to content

Conversation

@Keno
Copy link
Member

@Keno Keno commented Dec 22, 2023

Third time's the charm hopefully. This builds on #52527 and addresses the TODO left there by keeping track of the appropriate :scope in sroa as we go along in order to ensure correct current_scope folding, even when the try body is nothrow (which was left as a todo). As a result, we also no longer result on lowering assumptions for this transformation, which enables us to enable the lowering optimization in #52593.

Third time's the charm hopefully. This builds on #52527 and addresses
the TODO left there by keeping track of the appropriate :scope in sroa
as we go along in order to ensure correct current_scope folding, even
when the try body is nothrow (which was left as a todo). As a result,
we also no longer result on lowering assumptions for this transformation,
which enables us to enable the lowering optimization in #52593.
@Keno Keno requested a review from aviatesk December 22, 2023 13:10
@Keno Keno merged commit f98b895 into master Dec 23, 2023
@Keno Keno deleted the kf/currentscopefolding2 branch December 23, 2023 05:08
Keno added a commit that referenced this pull request Dec 23, 2023
In #52608, I made `:leave` a proper terminator (we already considered
it as such during CFG construction, we just didn't maintain that
property in the optimizer). As part of this, I adjusted one place
in cfg_simplify to avoid merging blocks that end with non-trivial
terminators (previously only EnterNode was considered). Turns out
there's another one, so fix that as well.
Keno added a commit that referenced this pull request Dec 23, 2023
In #52608, I made `:leave` a proper terminator (we already considered
it as such during CFG construction, we just didn't maintain that
property in the optimizer). As part of this, I adjusted one place
in cfg_simplify to avoid merging blocks that end with non-trivial
terminators (previously only EnterNode was considered). Turns out
there's another one, so fix that as well.
Keno added a commit that referenced this pull request Dec 23, 2023
…52621)

In #52608, I made `:leave` a proper terminator (we already considered it
as such during CFG construction, we just didn't maintain that property
in the optimizer). As part of this, I adjusted one place in cfg_simplify
to avoid merging blocks that end with non-trivial terminators
(previously only EnterNode was considered). Turns out there's another
one, so fix that 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

Successfully merging this pull request may close these issues.

1 participant