Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

[Transforms][SROA] Fixed assertion crash (PR30416)

Authored by kbelochapka on Feb 20 2018, 7:33 PM.



In certain situations during ALLOCA promotion, the promoteSingleBlockAlloca() function attempts to replace an instruction by the same instruction. This causes the assertion crash described in PR30416.

Disable SROA for a Basic Block that can cause circular dependency.

Diff Detail

Event Timeline

kbelochapka created this revision.Feb 20 2018, 7:33 PM
kbelochapka edited the summary of this revision. (Show Details)


Added test.

espindola edited reviewers, added: espindola; removed: rafael.Mar 15 2018, 8:35 AM
luqmana resigned from this revision.Oct 6 2020, 12:14 AM

This problem was fixed:

commit 2cd9451d45d2cfd560395c25c12d27d8f6090d1b
Date:   Thu Jun 7 11:09:05 2018 +0000

[Mem2Reg] Avoid replacing load with itself in promoteSingleBlockAlloca.
We do the same thing in rewriteSingleStoreAlloca.

Differential Revision:

@kbelochapka Abandon this patch?