Skip to content

Commit 2bb3f27

Browse files
kavonktoso
authored andcommitted
clean up some of the initialization code to be more robust
1 parent 292bb7a commit 2bb3f27

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)