[OpaqueValues] Addr-only consumes emit loadably.

This commit is contained in:
Nate Chandler
2023-08-22 11:15:11 -07:00
parent b15b4a03f1
commit 8c48ca2e8c
2 changed files with 18 additions and 1 deletions

View File

@@ -6199,7 +6199,7 @@ RValue RValueEmitter::visitConsumeExpr(ConsumeExpr *E, SGFContext C) {
return RValue(SGF, {optTemp->getManagedAddress()}, subType.getASTType());
}
if (subType.isLoadable(SGF.F)) {
if (subType.isLoadable(SGF.F) || !SGF.useLoweredAddresses()) {
ManagedValue mv = SGF.emitRValue(subExpr).getAsSingleValue(SGF, subExpr);
if (mv.getType().isTrivial(SGF.F))
return RValue(SGF, {mv}, subType.getASTType());