Skip to content

Commit 605889b

Browse files
authored
Merge pull request #42557 from kavon/fix-distactor-null-system
[Distributed] clean up some of the initialization code to be more robust
2 parents b268e34 + 3243a87 commit 605889b

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

lib/SILGen/SILGenDistributed.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,12 @@ static void initializeProperty(SILGenFunction &SGF, SILLocation loc,
6464
SGF.B.createCopyAddr(loc, value, fieldAddr, IsNotTake, IsInitialization);
6565
} else {
6666
if (value->getType().isAddress()) {
67-
value = SGF.B.createTrivialLoadOr(
68-
loc, value, LoadOwnershipQualifier::Take);
67+
SGF.emitSemanticLoadInto(loc, value, SGF.F.getTypeLowering(value->getType()),
68+
fieldAddr, SGF.getTypeLowering(loweredType), IsTake, IsInitialization);
6969
} else {
7070
value = SGF.B.emitCopyValueOperation(loc, value);
71-
}
72-
73-
SGF.B.emitStoreValueOperation(
71+
SGF.B.emitStoreValueOperation(
7472
loc, value, fieldAddr, StoreOwnershipQualifier::Init);
75-
76-
if (value->getType().isAddress()) {
77-
SGF.B.createDestroyAddr(loc, value);
7873
}
7974
}
8075
}

0 commit comments

Comments
 (0)