Skip to content

Commit dff88f9

Browse files
authored
Merge pull request #79317 from eeckstein/remove-alloc-vector
Remove the experimental FixedArray
2 parents 30bd7d9 + 45a78e6 commit dff88f9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+6
-1605
lines changed

SwiftCompilerSources/Sources/Optimizer/FunctionPasses/AllocVectorLowering.swift

Lines changed: 0 additions & 445 deletions
This file was deleted.

SwiftCompilerSources/Sources/Optimizer/FunctionPasses/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# See http://swift.org/CONTRIBUTORS.txt for Swift project authors
88

99
swift_compiler_sources(Optimizer
10-
AllocVectorLowering.swift
1110
AssumeSingleThreaded.swift
1211
AsyncDemotion.swift
1312
BooleanLiteralFolding.swift

SwiftCompilerSources/Sources/Optimizer/InstructionSimplification/SimplifyBuiltin.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ extension BuiltinInst : OnoneSimplifiable {
4747
.AssignCopyArrayFrontToBack,
4848
.AssignCopyArrayBackToFront,
4949
.AssignTakeArray,
50-
.AllocVector,
5150
.IsPOD:
5251
optimizeArgumentToThinMetatype(argument: 0, context)
5352
case .ICMP_EQ:

SwiftCompilerSources/Sources/Optimizer/PassManager/PassRegistration.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ private func registerSwiftPasses() {
6868
registerPass(stackProtection, { stackProtection.run($0) })
6969

7070
// Function passes
71-
registerPass(allocVectorLowering, { allocVectorLowering.run($0) })
7271
registerPass(asyncDemotion, { asyncDemotion.run($0) })
7372
registerPass(booleanLiteralFolding, { booleanLiteralFolding.run($0) })
7473
registerPass(letPropertyLowering, { letPropertyLowering.run($0) })

SwiftCompilerSources/Sources/Optimizer/Utilities/OptUtils.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,6 @@ extension Instruction {
424424
is FloatLiteralInst,
425425
is ObjectInst,
426426
is VectorInst,
427-
is AllocVectorInst,
428427
is UncheckedRefCastInst,
429428
is UpcastInst,
430429
is ValueToBridgeObjectInst,

SwiftCompilerSources/Sources/SIL/Builder.swift

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,6 @@ public struct Builder {
130130
return notifyNew(dr.getAs(AllocStackInst.self))
131131
}
132132

133-
public func createAllocVector(capacity: Value, elementType: Type) -> AllocVectorInst {
134-
let dr = bridged.createAllocVector(capacity.bridged, elementType.bridged)
135-
return notifyNew(dr.getAs(AllocVectorInst.self))
136-
}
137-
138133
@discardableResult
139134
public func createDeallocStack(_ operand: Value) -> DeallocStackInst {
140135
let dr = bridged.createDeallocStack(operand.bridged)

SwiftCompilerSources/Sources/SIL/Instruction.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,10 +1275,6 @@ final public class AllocStackInst : SingleValueInstruction, Allocation, DebugVar
12751275
}
12761276
}
12771277

1278-
final public class AllocVectorInst : SingleValueInstruction, Allocation, UnaryInstruction {
1279-
public var capacity: Value { operand.value }
1280-
}
1281-
12821278
public class AllocRefInstBase : SingleValueInstruction, Allocation {
12831279
final public var isObjC: Bool { bridged.AllocRefInstBase_isObjc() }
12841280

SwiftCompilerSources/Sources/SIL/Registration.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,6 @@ public func registerSILClasses() {
226226
register(IsUniqueInst.self)
227227
register(DestroyNotEscapedClosureInst.self)
228228
register(AllocStackInst.self)
229-
register(AllocVectorInst.self)
230229
register(AllocPackInst.self)
231230
register(AllocPackMetadataInst.self)
232231
register(AllocRefInst.self)

docs/SIL/Instructions.md

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -55,27 +55,6 @@ type, use `alloc_box`.
5555

5656
`T` must not be a pack type. To allocate a pack, use `alloc_pack`.
5757

58-
### alloc_vector
59-
60-
```
61-
sil-instruction ::= 'alloc_vector' sil-type, sil-operand
62-
63-
%1 = alloc_vector $T, %0 : $Builtin.Word
64-
// %1 has type $*T
65-
```
66-
67-
Allocates uninitialized memory that is sufficiently aligned on the stack
68-
to contain a vector of values of type `T`. The result of the instruction
69-
is the address of the allocated memory. The number of vector elements is
70-
specified by the operand, which must be a builtin integer value.
71-
72-
`alloc_vector` either allocates memory on the stack or - if contained in
73-
a global variable static initializer list - in the data section.
74-
75-
`alloc_vector` is a stack allocation instruction, unless it's contained
76-
in a global initializer list. See the section above on stack discipline.
77-
The corresponding stack deallocation instruction is `dealloc_stack`.
78-
7958
### alloc_pack
8059

8160
```

include/swift/AST/Builtins.def

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,9 +638,6 @@ BUILTIN_MISC_OPERATION(UnprotectedStackAlloc, "unprotectedStackAlloc", "", Speci
638638
/// Builtin.stackAlloc(), is deallocated from the stack.
639639
BUILTIN_MISC_OPERATION(StackDealloc, "stackDealloc", "", Special)
640640

641-
/// allocVector<Element>(Element.Type, Builtin.Word) -> Builtin.RawPointer
642-
BUILTIN_MISC_OPERATION(AllocVector, "allocVector", "", Special)
643-
644641
/// Fence has type () -> ().
645642
BUILTIN_MISC_OPERATION(Fence, "fence", "", None)
646643

include/swift/AST/DiagnosticsSIL.def

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,12 +1141,6 @@ NOTE(rbi_add_generic_parameter_sendable_conformance,none,
11411141
ERROR(deinit_not_visible, none,
11421142
"deinit of non-copyable type not visible in the current module", ())
11431143

1144-
ERROR(vector_capacity_not_constant, none,
1145-
"vector capacity needs to be constant", ())
1146-
1147-
ERROR(fixed_arrays_not_available, none,
1148-
"fixed arrays are only available with -enable-experimental-feature FixedArrays", ())
1149-
11501144
ERROR(lifetime_variable_outside_scope, none,
11511145
"lifetime-dependent variable '%0' escapes its scope", (Identifier))
11521146
ERROR(lifetime_value_outside_scope, none,

include/swift/AST/SemanticAttrs.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ SEMANTICS_ATTR(ARRAY_DEALLOC_UNINITIALIZED, "array.dealloc_uninitialized")
6464
SEMANTICS_ATTR(ARRAY_UNINITIALIZED_INTRINSIC, "array.uninitialized_intrinsic")
6565
SEMANTICS_ATTR(ARRAY_FINALIZE_INTRINSIC, "array.finalize_intrinsic")
6666
SEMANTICS_ATTR(ARRAY_GET_CONTIGUOUSARRAYSTORAGETYPE, "array.getContiguousArrayStorageType")
67-
SEMANTICS_ATTR(ARRAY_COPY_INTO_VECTOR, "array.copy_into_vector")
6867

6968
SEMANTICS_ATTR(SEQUENCE_FOR_EACH, "sequence.forEach")
7069
SEMANTICS_ATTR(TYPENAME, "typeName")

include/swift/Basic/Features.def

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ BASELINE_LANGUAGE_FEATURE(BuiltinCreateAsyncTaskWithExecutor, 0, "Task create bu
158158
BASELINE_LANGUAGE_FEATURE(BuiltinCreateAsyncDiscardingTaskInGroupWithExecutor, 0, "Task create in discarding task group with extra executor preference")
159159
BASELINE_LANGUAGE_FEATURE(BuiltinStackAlloc, 0, "Builtin.stackAlloc")
160160
BASELINE_LANGUAGE_FEATURE(BuiltinUnprotectedStackAlloc, 0, "Builtin.unprotectedStackAlloc")
161-
BASELINE_LANGUAGE_FEATURE(BuiltinAllocVector, 0, "Builtin.allocVector")
162161
BASELINE_LANGUAGE_FEATURE(BuiltinTaskRunInline, 0, "Builtin.taskRunInline")
163162
BASELINE_LANGUAGE_FEATURE(BuiltinUnprotectedAddressOf, 0, "Builtin.unprotectedAddressOf")
164163
BASELINE_LANGUAGE_FEATURE(NewCxxMethodSafetyHeuristics, 0, "Only import C++ methods that return pointers (projections) on owned types as unsafe")
@@ -367,9 +366,6 @@ EXPERIMENTAL_FEATURE(StaticExclusiveOnly, true)
367366
/// Enable the @extractConstantsFromMembers attribute.
368367
EXPERIMENTAL_FEATURE(ExtractConstantsFromMembers, false)
369368

370-
/// Enables the FixedArray data type.
371-
EXPERIMENTAL_FEATURE(FixedArrays, true)
372-
373369
// Group Main Actor Isolation Errors by Scope
374370
EXPERIMENTAL_FEATURE(GroupActorErrors, true)
375371

include/swift/SIL/SILBridgingImpl.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2003,10 +2003,6 @@ BridgedInstruction BridgedBuilder::createAllocStack(BridgedType type,
20032003
swift::UsesMoveableValueDebugInfo_t(wasMoved), /*skipVarDeclAssert=*/ true)};
20042004
}
20052005

2006-
BridgedInstruction BridgedBuilder::createAllocVector(BridgedValue capacity, BridgedType type) const {
2007-
return {unbridged().createAllocVector(regularLoc(), capacity.getSILValue(), type.unbridged())};
2008-
}
2009-
20102006
BridgedInstruction BridgedBuilder::createDeallocStack(BridgedValue operand) const {
20112007
return {unbridged().createDeallocStack(regularLoc(), operand.getSILValue())};
20122008
}

include/swift/SIL/SILBuilder.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -437,16 +437,6 @@ class SILBuilder {
437437
isFromVarDecl, wasMoved));
438438
}
439439

440-
AllocVectorInst *
441-
createAllocVector(SILLocation loc, SILValue capacity, SILType elementType) {
442-
if (isInsertingIntoGlobal()) {
443-
return insert(AllocVectorInst::createInInitializer(
444-
getSILDebugLocation(loc, true), capacity, elementType, getModule()));
445-
}
446-
return insert(AllocVectorInst::create(
447-
getSILDebugLocation(loc, true), capacity, elementType, getFunction()));
448-
}
449-
450440
AllocPackInst *createAllocPack(SILLocation loc, SILType packType) {
451441
return insert(AllocPackInst::create(getSILDebugLocation(loc), packType,
452442
getFunction()));

include/swift/SIL/SILCloner.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,17 +1052,6 @@ SILCloner<ImplClass>::visitAllocStackInst(AllocStackInst *Inst) {
10521052
recordClonedInstruction(Inst, NewInst);
10531053
}
10541054

1055-
template <typename ImplClass>
1056-
void SILCloner<ImplClass>::visitAllocVectorInst(
1057-
AllocVectorInst *Inst) {
1058-
getBuilder().setCurrentDebugScope(getOpScope(Inst->getDebugScope()));
1059-
recordClonedInstruction(Inst, getBuilder().createAllocVector(
1060-
getOpLocation(Inst->getLoc()),
1061-
getOpValue(Inst->getCapacity()),
1062-
getOpType(Inst->getElementType())));
1063-
}
1064-
1065-
10661055
template <typename ImplClass>
10671056
void SILCloner<ImplClass>::visitAllocPackMetadataInst(
10681057
AllocPackMetadataInst *Inst) {

include/swift/SIL/SILInstruction.h

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2213,35 +2213,6 @@ class AllocStackInst final
22132213
DeallocStackInst *getSingleDeallocStack() const;
22142214
};
22152215

2216-
/// AllocVectorInst - Like AllocStackInst, but allocates a vector of elements.
2217-
class AllocVectorInst final
2218-
: public UnaryInstructionWithTypeDependentOperandsBase<
2219-
SILInstructionKind::AllocVectorInst, AllocVectorInst, AllocationInst> {
2220-
friend SILBuilder;
2221-
2222-
AllocVectorInst(SILDebugLocation loc, SILValue capacity, SILType resultType,
2223-
ArrayRef<SILValue> typeDependentOperands)
2224-
: UnaryInstructionWithTypeDependentOperandsBase(loc, capacity,
2225-
typeDependentOperands,
2226-
resultType) {
2227-
}
2228-
2229-
static AllocVectorInst *create(SILDebugLocation Loc, SILValue capacity,
2230-
SILType elementType, SILFunction &F);
2231-
2232-
static AllocVectorInst *createInInitializer(SILDebugLocation Loc,
2233-
SILValue capacity, SILType elementType, SILModule &M);
2234-
2235-
public:
2236-
/// getElementType - Get the type of the allocated memory (as opposed to the
2237-
/// type of the instruction itself, which will be an address type).
2238-
SILType getElementType() const {
2239-
return getType().getObjectType();
2240-
}
2241-
2242-
SILValue getCapacity() const { return getOperand(); }
2243-
};
2244-
22452216
/// AllocPackInst - This represents the allocation of a value pack
22462217
/// in stack memory. The memory is provided uninitialized.
22472218
class AllocPackInst final

include/swift/SIL/SILNodes.def

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,6 @@ ABSTRACT_VALUE_AND_INST(SingleValueInstruction, ValueBase, SILInstruction)
313313
ABSTRACT_SINGLE_VALUE_INST(AllocationInst, SingleValueInstruction)
314314
SINGLE_VALUE_INST(AllocStackInst, alloc_stack,
315315
AllocationInst, None, DoesNotRelease)
316-
SINGLE_VALUE_INST(AllocVectorInst, alloc_vector,
317-
AllocationInst, None, DoesNotRelease)
318316
SINGLE_VALUE_INST(AllocPackInst, alloc_pack,
319317
AllocationInst, None, DoesNotRelease)
320318
SINGLE_VALUE_INST(AllocPackMetadataInst, alloc_pack_metadata,

include/swift/SILOptimizer/Analysis/ArraySemantic.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ enum class ArrayCallKind {
3737
kWithUnsafeMutableBufferPointer,
3838
kAppendContentsOf,
3939
kAppendElement,
40-
kCopyIntoVector,
4140
// The following two semantic function kinds return the result @owned
4241
// instead of operating on self passed as parameter. If you are adding
4342
// a function, and it has a self parameter, make sure that it is defined
@@ -46,7 +45,7 @@ enum class ArrayCallKind {
4645
kArrayInitEmpty,
4746
kArrayUninitialized,
4847
kArrayUninitializedIntrinsic,
49-
kArrayFinalizeIntrinsic,
48+
kArrayFinalizeIntrinsic
5049
};
5150

5251
/// Return true is the given function is an array semantics call.

include/swift/SILOptimizer/PassManager/Passes.def

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,8 +429,6 @@ SWIFT_FUNCTION_PASS(NamedReturnValueOptimization, "named-return-value-optimizati
429429
"Optimize copies to an indirect return value")
430430
SWIFT_FUNCTION_PASS(StripObjectHeaders, "strip-object-headers",
431431
"Sets the bare flag on objects which don't need their headers")
432-
SWIFT_FUNCTION_PASS(AllocVectorLowering, "alloc-vector-lowering",
433-
"lowering of allocVector builtins")
434432
PASS(SimplifyBBArgs, "simplify-bb-args",
435433
"SIL Block Argument Simplification")
436434
PASS(SimplifyCFG, "simplify-cfg",

lib/AST/Builtins.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,13 +1137,6 @@ static ValueDecl *getStackDeallocOperation(ASTContext &ctx, Identifier id) {
11371137
_void);
11381138
}
11391139

1140-
static ValueDecl *getAllocVectorOperation(ASTContext &ctx, Identifier id) {
1141-
return getBuiltinFunction(ctx, id, _thin,
1142-
_generics(_unrestricted),
1143-
_parameters(_metatype(_typeparam(0)), _word),
1144-
_rawPointer);
1145-
}
1146-
11471140
static ValueDecl *getFenceOperation(ASTContext &ctx, Identifier id) {
11481141
return getBuiltinFunction(ctx, id, _thin, _parameters(), _void);
11491142
}
@@ -3049,9 +3042,6 @@ ValueDecl *swift::getBuiltinValueDecl(ASTContext &Context, Identifier Id) {
30493042
case BuiltinValueKind::StackDealloc:
30503043
return getStackDeallocOperation(Context, Id);
30513044

3052-
case BuiltinValueKind::AllocVector:
3053-
return getAllocVectorOperation(Context, Id);
3054-
30553045
case BuiltinValueKind::CastToNativeObject:
30563046
case BuiltinValueKind::UnsafeCastToNativeObject:
30573047
case BuiltinValueKind::CastFromNativeObject:

lib/AST/FeatureSet.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,6 @@ static bool usesFeatureNonescapableTypes(Decl *decl) {
193193

194194
UNINTERESTING_FEATURE(StaticExclusiveOnly)
195195
UNINTERESTING_FEATURE(ExtractConstantsFromMembers)
196-
UNINTERESTING_FEATURE(FixedArrays)
197196
UNINTERESTING_FEATURE(GroupActorErrors)
198197
UNINTERESTING_FEATURE(SameElementRequirements)
199198
UNINTERESTING_FEATURE(UnspecifiedMeansMainActorIsolated)

lib/IRGen/FixedTypeInfo.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,6 @@ class FixedTypeInfo : public TypeInfo {
8383

8484
StackAddress allocateStack(IRGenFunction &IGF, SILType T,
8585
const llvm::Twine &name) const override;
86-
StackAddress allocateVector(IRGenFunction &IGF, SILType T,
87-
llvm::Value *capacity, const Twine &name) const override;
8886
void deallocateStack(IRGenFunction &IGF, StackAddress addr, SILType T) const override;
8987
void destroyStack(IRGenFunction &IGF, StackAddress addr, SILType T,
9088
bool isOutlined) const override;

lib/IRGen/GenArray.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -625,12 +625,6 @@ class NonFixedArrayTypeInfo final
625625
return alloca.withAddress(getAddressForPointer(alloca.getAddressPointer()));
626626
}
627627

628-
StackAddress allocateVector(IRGenFunction &IGF, SILType T,
629-
llvm::Value *capacity,
630-
const Twine &name) const override {
631-
llvm_unreachable("not implemented, yet");
632-
}
633-
634628
void deallocateStack(IRGenFunction &IGF, StackAddress stackAddress,
635629
SILType T) const override {
636630
IGF.Builder.CreateLifetimeEnd(stackAddress.getAddress().getAddress());

lib/IRGen/GenBuiltin.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,15 +1475,6 @@ void irgen::emitBuiltinCall(IRGenFunction &IGF, const BuiltinInfo &Builtin,
14751475
return;
14761476
}
14771477

1478-
if (Builtin.ID == BuiltinValueKind::AllocVector) {
1479-
(void)args.claimAll();
1480-
IGF.emitTrap("escaped vector allocation", /*EmitUnreachable=*/true);
1481-
out.add(llvm::UndefValue::get(IGF.IGM.Int8PtrTy));
1482-
llvm::BasicBlock *contBB = llvm::BasicBlock::Create(IGF.IGM.getLLVMContext());
1483-
IGF.Builder.emitBlock(contBB);
1484-
return;
1485-
}
1486-
14871478
if (Builtin.ID == BuiltinValueKind::GetEnumTag) {
14881479
auto arg = args.claimNext();
14891480
auto ty = argTypes[0];

lib/IRGen/GenDecl.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2833,20 +2833,6 @@ llvm::Constant *IRGenModule::getGlobalInitValue(SILGlobalVariable *var,
28332833
}
28342834
if (SILInstruction *initInst = var->getStaticInitializerValue()) {
28352835

2836-
if (auto *vector = dyn_cast<AllocVectorInst>(initInst)) {
2837-
auto *capacityConst = emitConstantValue(*this, vector->getCapacity()).claimNextConstant();
2838-
uint64_t capacity = cast<llvm::ConstantInt>(capacityConst)->getZExtValue();
2839-
auto &ti = cast<FixedTypeInfo>(getTypeInfo(vector->getType()));
2840-
auto *elementTy = cast<llvm::StructType>(ti.getStorageType());
2841-
Size::int_type paddingBytes = (ti.getFixedStride() - ti.getFixedSize()).getValue();
2842-
if (paddingBytes != 0) {
2843-
llvm::ArrayType *padding = llvm::ArrayType::get(Int8Ty, paddingBytes);
2844-
elementTy = llvm::StructType::get(getLLVMContext(), {elementTy, padding});
2845-
}
2846-
auto *arrayTy = llvm::ArrayType::get(elementTy, capacity);
2847-
return llvm::ConstantAggregateZero::get(arrayTy);
2848-
}
2849-
28502836
if (auto *vector = dyn_cast<VectorInst>(initInst)) {
28512837
llvm::SmallVector<llvm::Constant *, 8> elementValues;
28522838
for (SILValue element : vector->getElements()) {

lib/IRGen/GenInit.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,6 @@ StackAddress FixedTypeInfo::allocateStack(IRGenFunction &IGF, SILType T,
7474
return { alloca };
7575
}
7676

77-
StackAddress FixedTypeInfo::allocateVector(IRGenFunction &IGF, SILType T,
78-
llvm::Value *capacity,
79-
const Twine &name) const {
80-
// If the type is known to be empty, don't actually allocate anything.
81-
if (isKnownEmpty(ResilienceExpansion::Maximal)) {
82-
auto addr = getUndefAddress();
83-
return { addr };
84-
}
85-
86-
StackAddress alloca =
87-
IGF.emitDynamicAlloca(getStorageType(), capacity, getFixedAlignment(),
88-
/*allowTaskAlloc*/ true, name);
89-
IGF.Builder.CreateLifetimeStart(alloca.getAddress(), getFixedSize());
90-
91-
return { alloca };
92-
}
93-
9477
void FixedTypeInfo::destroyStack(IRGenFunction &IGF, StackAddress addr,
9578
SILType T, bool isOutlined) const {
9679
destroy(IGF, addr.getAddress(), T, isOutlined);

lib/IRGen/GenType.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,11 +1378,6 @@ namespace {
13781378
const llvm::Twine &name) const override {
13791379
llvm_unreachable("should not call on an immovable opaque type");
13801380
}
1381-
StackAddress allocateVector(IRGenFunction &IGF, SILType T,
1382-
llvm::Value *capacity,
1383-
const Twine &name) const override {
1384-
llvm_unreachable("should not call on an immovable opaque type");
1385-
}
13861381
void deallocateStack(IRGenFunction &IGF, StackAddress addr,
13871382
SILType T) const override {
13881383
llvm_unreachable("should not call on an immovable opaque type");

0 commit comments

Comments
 (0)