@@ -813,24 +813,24 @@ llvm::Value *irgen::emitClassAllocation(IRGenFunction &IGF, SILType selfType,
813
813
auto &classLayout = classTI.getClassLayout (IGF.IGM , selfType,
814
814
/* forBackwardDeployment=*/ false );
815
815
816
- llvm::Value *size, *alignMask;
817
- if (classLayout.isFixedSize ()) {
818
- size = IGF.IGM .getSize (classLayout.getSize ());
819
- alignMask = IGF.IGM .getSize (classLayout.getAlignMask ());
820
- } else {
821
- std::tie (size, alignMask)
822
- = emitClassResilientInstanceSizeAndAlignMask (IGF,
823
- selfType.getClassOrBoundGenericClass (),
824
- metadata);
825
- }
826
-
827
816
llvm::Type *destType = classLayout.getType ()->getPointerTo ();
828
817
llvm::Value *val = nullptr ;
829
818
if (llvm::Value *Promoted = stackPromote (IGF, classLayout, StackAllocSize,
830
819
TailArrays)) {
831
820
val = IGF.Builder .CreateBitCast (Promoted, IGF.IGM .RefCountedPtrTy );
832
821
val = IGF.emitInitStackObjectCall (metadata, val, " reference.new" );
833
822
} else {
823
+ llvm::Value *size, *alignMask;
824
+ if (classLayout.isFixedSize ()) {
825
+ size = IGF.IGM .getSize (classLayout.getSize ());
826
+ alignMask = IGF.IGM .getSize (classLayout.getAlignMask ());
827
+ } else {
828
+ std::tie (size, alignMask)
829
+ = emitClassResilientInstanceSizeAndAlignMask (IGF,
830
+ selfType.getClassOrBoundGenericClass (),
831
+ metadata);
832
+ }
833
+
834
834
// Allocate the object on the heap.
835
835
std::tie (size, alignMask)
836
836
= appendSizeForTailAllocatedArrays (IGF, size, alignMask, TailArrays);
0 commit comments