File tree Expand file tree Collapse file tree 1 file changed +11
-11
lines changed
lib/SILOptimizer/Transforms Expand file tree Collapse file tree 1 file changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -840,17 +840,17 @@ void SSADestroyHoisting::run() {
840840 if (!remainingDestroyAddrs.contains (dai))
841841 continue ;
842842 auto *si = pair.second ;
843- if (dai->getNextInstruction () == si) {
844- // No stores should have been rewritten during hoisting. Their ownership
845- // qualifiers were set to [init] when splitting off the destroy_addrs.
846- assert (si-> getOwnershipQualifier () == StoreOwnershipQualifier::Init);
847- // If a newly created destroy_addr has not been hoisted from its previous
848- // location, combine it back together with the store [init] which it was
849- // split off from.
850- deleter. forceDelete (dai);
851- si-> setOwnershipQualifier (StoreOwnershipQualifier::Assign );
852- --splitDestroys ;
853- }
843+ if (dai->getNextInstruction () != si)
844+ continue ;
845+ // No stores should have been rewritten during hoisting. Their ownership
846+ // qualifiers were set to [init] when splitting off the destroy_addrs.
847+ assert (si-> getOwnershipQualifier () == StoreOwnershipQualifier::Init);
848+ // If a newly created destroy_addr has not been hoisted from its previous
849+ // location, combine it back together with the store [init] which it was
850+ // split off from.
851+ deleter. forceDelete (dai );
852+ si-> setOwnershipQualifier (StoreOwnershipQualifier::Assign) ;
853+ --splitDestroys;
854854 }
855855 // If there were any destroy_addrs split off of stores and not recombined
856856 // with them, then the function has changed.
You can’t perform that action at this time.
0 commit comments