Skip to content

various DCE-related bugfixes (replaces #36888)#37147

Merged
vchuravy merged 6 commits intomasterfrom
yhls/bugfixes
Aug 22, 2020
Merged

various DCE-related bugfixes (replaces #36888)#37147
vchuravy merged 6 commits intomasterfrom
yhls/bugfixes

Conversation

@vchuravy
Copy link
Member

@vchuravy vchuravy commented Aug 21, 2020

Replaces #36888 and addresses the review comment there.

yhls added 6 commits August 21, 2020 19:03
Phi nodes are optimized away when there is only one predecessor, but this can
cause problems in dead loops because forward references can be created, leading
to issues with optimization passes that look at all code, dead or not. This
fixes issue #29107 when DCE is turned on.
…ot counted

This fixes #29253, which was caused by `simple_dce!` erroneously erasing SSA
values that did not appear to be used, because these uses were only discovered
in `just_fixup!` at the end of iterating over an `IncrementalCompact`.
PR #36684 changes `iterate(IncrementalCompact)` to return an extra index, but
leaves its arguments unchanged. However, the PR decremented the index argument
in a particular recursive call to `iterate`. This caused `iterate` not to
recognise that it was done when `allow_cfg_transforms` was turned on.
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.

2 participants