@@ -94,25 +94,25 @@ void OutliningMetadataCollector::collectRepresentationTypeMetadata(SILType ty) {
94
94
Values.insert ({key, metadata});
95
95
}
96
96
97
- void OutliningMetadataCollector::addMetadataArguments (
98
- SmallVectorImpl<llvm::Value*> &args) const {
97
+ void OutliningMetadataCollector::addPolymorphicArguments (
98
+ SmallVectorImpl<llvm::Value *> &args) const {
99
99
for (auto &pair : Values) {
100
100
auto metadata = pair.second ;
101
101
assert (metadata->getType () == IGF.IGM .TypeMetadataPtrTy );
102
102
args.push_back (metadata);
103
103
}
104
104
}
105
105
106
- void OutliningMetadataCollector::addMetadataParameterTypes (
107
- SmallVectorImpl<llvm::Type*> ¶mTys) const {
106
+ void OutliningMetadataCollector::addPolymorphicParameterTypes (
107
+ SmallVectorImpl<llvm::Type *> ¶mTys) const {
108
108
for (auto &pair : Values) {
109
109
auto *metadata = pair.second ;
110
110
paramTys.push_back (metadata->getType ());
111
111
}
112
112
}
113
113
114
- void OutliningMetadataCollector::bindMetadataParameters (IRGenFunction &IGF,
115
- Explosion ¶ms) const {
114
+ void OutliningMetadataCollector::bindPolymorphicParameters (
115
+ IRGenFunction &IGF, Explosion ¶ms) const {
116
116
// Note that our parameter IGF intentionally shadows the IGF that this
117
117
// collector was built with.
118
118
for (auto &pair : Values) {
@@ -208,7 +208,7 @@ void OutliningMetadataCollector::emitCallToOutlinedCopy(
208
208
.getAddress ());
209
209
args.push_back (IGF.Builder .CreateElementBitCast (dest, ti.getStorageType ())
210
210
.getAddress ());
211
- addMetadataArguments (args);
211
+ addPolymorphicArguments (args);
212
212
213
213
llvm::Constant *outlinedFn;
214
214
if (isInit && isTake) {
@@ -354,14 +354,14 @@ llvm::Constant *IRGenModule::getOrCreateOutlinedCopyAddrHelperFunction(
354
354
llvm::SmallVector<llvm::Type *, 4 > paramTys;
355
355
paramTys.push_back (ptrTy);
356
356
paramTys.push_back (ptrTy);
357
- collector.addMetadataParameterTypes (paramTys);
357
+ collector.addPolymorphicParameterTypes (paramTys);
358
358
359
359
return getOrCreateHelperFunction (funcName, ptrTy, paramTys,
360
360
[&](IRGenFunction &IGF) {
361
361
auto params = IGF.collectParameters ();
362
362
Address src = ti.getAddressForPointer (params.claimNext ());
363
363
Address dest = ti.getAddressForPointer (params.claimNext ());
364
- collector.bindMetadataParameters (IGF, params);
364
+ collector.bindPolymorphicParameters (IGF, params);
365
365
generator (IGF, dest, src, T, ti);
366
366
IGF.Builder .CreateRet (dest.getAddress ());
367
367
},
@@ -393,7 +393,7 @@ void OutliningMetadataCollector::emitCallToOutlinedDestroy(
393
393
llvm::SmallVector<llvm::Value *, 4 > args;
394
394
args.push_back (IGF.Builder .CreateElementBitCast (addr, ti.getStorageType ())
395
395
.getAddress ());
396
- addMetadataArguments (args);
396
+ addPolymorphicArguments (args);
397
397
398
398
auto outlinedFn =
399
399
IGF.IGM .getOrCreateOutlinedDestroyFunction (T, ti, *this );
@@ -414,13 +414,13 @@ llvm::Constant *IRGenModule::getOrCreateOutlinedDestroyFunction(
414
414
auto ptrTy = ti.getStorageType ()->getPointerTo ();
415
415
llvm::SmallVector<llvm::Type *, 4 > paramTys;
416
416
paramTys.push_back (ptrTy);
417
- collector.addMetadataParameterTypes (paramTys);
417
+ collector.addPolymorphicParameterTypes (paramTys);
418
418
419
419
return getOrCreateHelperFunction (funcName, ptrTy, paramTys,
420
420
[&](IRGenFunction &IGF) {
421
421
Explosion params = IGF.collectParameters ();
422
422
Address addr = ti.getAddressForPointer (params.claimNext ());
423
- collector.bindMetadataParameters (IGF, params);
423
+ collector.bindPolymorphicParameters (IGF, params);
424
424
if (!IGF.outliningCanCallValueWitnesses () ||
425
425
T.hasArchetype () || !canUseValueWitnessForValueOp (*this , T)) {
426
426
ti.destroy (IGF, addr, T, true );
@@ -475,7 +475,7 @@ void OutliningMetadataCollector::emitCallToOutlinedRelease(
475
475
assert (needsDeinit);
476
476
llvm::SmallVector<llvm::Value *, 4 > args;
477
477
args.push_back (addr.getAddress ());
478
- addMetadataArguments (args);
478
+ addPolymorphicArguments (args);
479
479
auto *outlinedF = cast<llvm::Function>(IGF.IGM .getOrCreateReleaseFunction (
480
480
ti, T, addr.getAddress ()->getType (), atomicity, *this ));
481
481
llvm::CallInst *call =
@@ -494,14 +494,14 @@ llvm::Constant *IRGenModule::getOrCreateReleaseFunction(
494
494
manglingBits.second );
495
495
llvm::SmallVector<llvm::Type *, 4 > argTys;
496
496
argTys.push_back (ptrTy);
497
- collector.addMetadataParameterTypes (argTys);
497
+ collector.addPolymorphicParameterTypes (argTys);
498
498
return getOrCreateHelperFunction (
499
499
funcName, ptrTy, argTys,
500
500
[&](IRGenFunction &IGF) {
501
501
Explosion params = IGF.collectParameters ();
502
502
Address addr (params.claimNext (), loadableTI->getStorageType (),
503
503
loadableTI->getFixedAlignment ());
504
- collector.bindMetadataParameters (IGF, params);
504
+ collector.bindPolymorphicParameters (IGF, params);
505
505
Explosion loaded;
506
506
loadableTI->loadAsTake (IGF, addr, loaded);
507
507
loadableTI->consume (IGF, loaded, atomicity, t);
0 commit comments