@@ -1124,127 +1124,112 @@ BridgedWitnessTableEntryArray BridgedDefaultWitnessTable::getEntries() const {
1124
1124
// BridgedBuilder
1125
1125
// ===----------------------------------------------------------------------===//
1126
1126
1127
- static swift::SILBuilder builder (const BridgedBuilder * _Nonnull b) {
1128
- switch (b->insertAt ) {
1129
- case BridgedBuilder::InsertAt::beforeInst:
1130
- return swift::SILBuilder (BridgedInstruction (b->insertionObj ).get (), b->loc .getLoc ().getScope ());
1131
- case BridgedBuilder::InsertAt::endOfBlock:
1132
- return swift::SILBuilder (BridgedBasicBlock (b->insertionObj ).get (), b->loc .getLoc ().getScope ());
1133
- case BridgedBuilder::InsertAt::intoGlobal:
1134
- return swift::SILBuilder (BridgedGlobalVar (b->insertionObj ).getGlobal ());
1135
- }
1136
- }
1137
-
1138
- static swift::SILLocation regularLoc (const BridgedBuilder * _Nonnull b) {
1139
- return swift::RegularLocation (b->loc .getLoc ().getLocation ());
1140
- }
1141
-
1142
1127
BridgedInstruction BridgedBuilder::createBuiltinBinaryFunction (BridgedStringRef name,
1143
1128
BridgedType operandType, BridgedType resultType,
1144
1129
BridgedValueArray arguments) const {
1145
1130
llvm::SmallVector<swift::SILValue, 16 > argValues;
1146
- return {builder ( this ).createBuiltinBinaryFunction (regularLoc (this ),
1131
+ return {get ( ).createBuiltinBinaryFunction (regularLoc (),
1147
1132
name.get (),
1148
1133
operandType.get (), resultType.get (),
1149
1134
arguments.getValues (argValues))};
1150
1135
}
1151
1136
1152
1137
BridgedInstruction BridgedBuilder::createCondFail (BridgedValue condition, BridgedStringRef message) const {
1153
- return {builder ( this ).createCondFail (regularLoc (this ), condition.getSILValue (), message.get ())};
1138
+ return {get ( ).createCondFail (regularLoc (), condition.getSILValue (), message.get ())};
1154
1139
}
1155
1140
1156
1141
BridgedInstruction BridgedBuilder::createIntegerLiteral (BridgedType type, SwiftInt value) const {
1157
- return {builder ( this ).createIntegerLiteral (regularLoc (this ), type.get (), value)};
1142
+ return {get ( ).createIntegerLiteral (regularLoc (), type.get (), value)};
1158
1143
}
1159
1144
1160
1145
BridgedInstruction BridgedBuilder::createAllocStack (BridgedType type,
1161
1146
bool hasDynamicLifetime, bool isLexical, bool wasMoved) const {
1162
- return {builder ( this ).createAllocStack (regularLoc (this ), type.get (), llvm::None,
1147
+ return {get ( ).createAllocStack (regularLoc (), type.get (), llvm::None,
1163
1148
hasDynamicLifetime, isLexical, wasMoved)};
1164
1149
}
1165
1150
1166
1151
BridgedInstruction BridgedBuilder::createDeallocStack (BridgedValue operand) const {
1167
- return {builder ( this ).createDeallocStack (regularLoc (this ), operand.getSILValue ())};
1152
+ return {get ( ).createDeallocStack (regularLoc (), operand.getSILValue ())};
1168
1153
}
1169
1154
1170
1155
BridgedInstruction BridgedBuilder::createDeallocStackRef (BridgedValue operand) const {
1171
- return {builder ( this ).createDeallocStackRef (regularLoc (this ), operand.getSILValue ())};
1156
+ return {get ( ).createDeallocStackRef (regularLoc (), operand.getSILValue ())};
1172
1157
}
1173
1158
1174
1159
BridgedInstruction BridgedBuilder::createUncheckedRefCast (BridgedValue op, BridgedType type) const {
1175
- return {builder ( this ).createUncheckedRefCast (regularLoc (this ), op.getSILValue (), type.get ())};
1160
+ return {get ( ).createUncheckedRefCast (regularLoc (), op.getSILValue (), type.get ())};
1176
1161
}
1177
1162
1178
1163
BridgedInstruction BridgedBuilder::createUpcast (BridgedValue op, BridgedType type) const {
1179
- return {builder ( this ).createUpcast (regularLoc (this ), op.getSILValue (), type.get ())};
1164
+ return {get ( ).createUpcast (regularLoc (), op.getSILValue (), type.get ())};
1180
1165
}
1181
1166
1182
1167
BridgedInstruction BridgedBuilder::createLoad (BridgedValue op, SwiftInt ownership) const {
1183
- return {builder ( this ).createLoad (regularLoc (this ), op.getSILValue (), (swift::LoadOwnershipQualifier)ownership)};
1168
+ return {get ( ).createLoad (regularLoc (), op.getSILValue (), (swift::LoadOwnershipQualifier)ownership)};
1184
1169
}
1185
1170
1186
1171
BridgedInstruction BridgedBuilder::createBeginDeallocRef (BridgedValue reference, BridgedValue allocation) const {
1187
- return {builder ( this ).createBeginDeallocRef (regularLoc (this ), reference.getSILValue (), allocation.getSILValue ())};
1172
+ return {get ( ).createBeginDeallocRef (regularLoc (), reference.getSILValue (), allocation.getSILValue ())};
1188
1173
}
1189
1174
1190
1175
BridgedInstruction BridgedBuilder::createEndInitLetRef (BridgedValue op) const {
1191
- return {builder ( this ).createEndInitLetRef (regularLoc (this ), op.getSILValue ())};
1176
+ return {get ( ).createEndInitLetRef (regularLoc (), op.getSILValue ())};
1192
1177
}
1193
1178
1194
1179
BridgedInstruction BridgedBuilder::createStrongRetain (BridgedValue op) const {
1195
- auto b = builder ( this );
1196
- return {b.createStrongRetain (regularLoc (this ), op.getSILValue (), b.getDefaultAtomicity ())};
1180
+ auto b = get ( );
1181
+ return {b.createStrongRetain (regularLoc (), op.getSILValue (), b.getDefaultAtomicity ())};
1197
1182
}
1198
1183
1199
1184
BridgedInstruction BridgedBuilder::createStrongRelease (BridgedValue op) const {
1200
- auto b = builder ( this );
1201
- return {b.createStrongRelease (regularLoc (this ), op.getSILValue (), b.getDefaultAtomicity ())};
1185
+ auto b = get ( );
1186
+ return {b.createStrongRelease (regularLoc (), op.getSILValue (), b.getDefaultAtomicity ())};
1202
1187
}
1203
1188
1204
1189
BridgedInstruction BridgedBuilder::createUnownedRetain (BridgedValue op) const {
1205
- auto b = builder ( this );
1206
- return {b.createUnownedRetain (regularLoc (this ), op.getSILValue (), b.getDefaultAtomicity ())};
1190
+ auto b = get ( );
1191
+ return {b.createUnownedRetain (regularLoc (), op.getSILValue (), b.getDefaultAtomicity ())};
1207
1192
}
1208
1193
1209
1194
BridgedInstruction BridgedBuilder::createUnownedRelease (BridgedValue op) const {
1210
- auto b = builder ( this );
1211
- return {b.createUnownedRelease (regularLoc (this ), op.getSILValue (), b.getDefaultAtomicity ())};
1195
+ auto b = get ( );
1196
+ return {b.createUnownedRelease (regularLoc (), op.getSILValue (), b.getDefaultAtomicity ())};
1212
1197
}
1213
1198
1214
1199
BridgedInstruction BridgedBuilder::createFunctionRef (BridgedFunction function) const {
1215
- return {builder ( this ).createFunctionRef (regularLoc (this ), function.getFunction ())};
1200
+ return {get ( ).createFunctionRef (regularLoc (), function.getFunction ())};
1216
1201
}
1217
1202
1218
1203
BridgedInstruction BridgedBuilder::createCopyValue (BridgedValue op) const {
1219
- return {builder ( this ).createCopyValue (regularLoc (this ), op.getSILValue ())};
1204
+ return {get ( ).createCopyValue (regularLoc (), op.getSILValue ())};
1220
1205
}
1221
1206
1222
1207
BridgedInstruction BridgedBuilder::createBeginBorrow (BridgedValue op) const {
1223
- return {builder ( this ).createBeginBorrow (regularLoc (this ), op.getSILValue ())};
1208
+ return {get ( ).createBeginBorrow (regularLoc (), op.getSILValue ())};
1224
1209
}
1225
1210
1226
1211
BridgedInstruction BridgedBuilder::createEndBorrow (BridgedValue op) const {
1227
- return {builder ( this ).createEndBorrow (regularLoc (this ), op.getSILValue ())};
1212
+ return {get ( ).createEndBorrow (regularLoc (), op.getSILValue ())};
1228
1213
}
1229
1214
1230
1215
BridgedInstruction BridgedBuilder::createCopyAddr (BridgedValue from, BridgedValue to,
1231
1216
bool takeSource, bool initializeDest) const {
1232
- return {builder ( this ).createCopyAddr (regularLoc (this ),
1217
+ return {get ( ).createCopyAddr (regularLoc (),
1233
1218
from.getSILValue (), to.getSILValue (),
1234
1219
swift::IsTake_t (takeSource),
1235
1220
swift::IsInitialization_t (initializeDest))};
1236
1221
}
1237
1222
1238
1223
BridgedInstruction BridgedBuilder::createDestroyValue (BridgedValue op) const {
1239
- return {builder ( this ).createDestroyValue (regularLoc (this ), op.getSILValue ())};
1224
+ return {get ( ).createDestroyValue (regularLoc (), op.getSILValue ())};
1240
1225
}
1241
1226
1242
1227
BridgedInstruction BridgedBuilder::createDestroyAddr (BridgedValue op) const {
1243
- return {builder ( this ).createDestroyAddr (regularLoc (this ), op.getSILValue ())};
1228
+ return {get ( ).createDestroyAddr (regularLoc (), op.getSILValue ())};
1244
1229
}
1245
1230
1246
1231
BridgedInstruction BridgedBuilder::createDebugStep () const {
1247
- return {builder ( this ).createDebugStep (regularLoc (this ))};
1232
+ return {get ( ).createDebugStep (regularLoc ())};
1248
1233
}
1249
1234
1250
1235
BridgedInstruction BridgedBuilder::createApply (BridgedValue function, BridgedSubstitutionMap subMap,
@@ -1255,7 +1240,7 @@ BridgedInstruction BridgedBuilder::createApply(BridgedValue function, BridgedSub
1255
1240
if (isNonThrowing) { applyOpts |= swift::ApplyFlags::DoesNotThrow; }
1256
1241
if (isNonAsync) { applyOpts |= swift::ApplyFlags::DoesNotAwait; }
1257
1242
1258
- return {builder ( this ).createApply (regularLoc (this ),
1243
+ return {get ( ).createApply (regularLoc (),
1259
1244
function.getSILValue (), subMap.get (),
1260
1245
arguments.getValues (argValues),
1261
1246
applyOpts, specInfo.data )};
@@ -1277,99 +1262,99 @@ BridgedInstruction BridgedBuilder::createSwitchEnumInst(BridgedValue enumVal, Op
1277
1262
assert (mappedElements.count (c.first ) && " wrong enum element index" );
1278
1263
convertedCases.push_back ({mappedElements[c.first ], c.second .get ()});
1279
1264
}
1280
- return {builder ( this ).createSwitchEnum (regularLoc (this ),
1265
+ return {get ( ).createSwitchEnum (regularLoc (),
1281
1266
enumVal.getSILValue (),
1282
1267
defaultBlock.get (), convertedCases)};
1283
1268
}
1284
1269
1285
1270
BridgedInstruction BridgedBuilder::createUncheckedEnumData (BridgedValue enumVal, SwiftInt caseIdx,
1286
1271
BridgedType resultType) const {
1287
1272
swift::SILValue en = enumVal.getSILValue ();
1288
- return {builder ( this ).createUncheckedEnumData (regularLoc (this ), enumVal.getSILValue (),
1273
+ return {get ( ).createUncheckedEnumData (regularLoc (), enumVal.getSILValue (),
1289
1274
en->getType ().getEnumElement (caseIdx), resultType.get ())};
1290
1275
}
1291
1276
1292
1277
BridgedInstruction BridgedBuilder::createEnum (SwiftInt caseIdx, OptionalBridgedValue payload,
1293
1278
BridgedType resultType) const {
1294
1279
swift::EnumElementDecl *caseDecl = resultType.get ().getEnumElement (caseIdx);
1295
1280
swift::SILValue pl = payload.getSILValue ();
1296
- return {builder ( this ).createEnum (regularLoc (this ), pl, caseDecl, resultType.get ())};
1281
+ return {get ( ).createEnum (regularLoc (), pl, caseDecl, resultType.get ())};
1297
1282
}
1298
1283
1299
1284
BridgedInstruction BridgedBuilder::createBranch (BridgedBasicBlock destBlock, BridgedValueArray arguments) const {
1300
1285
llvm::SmallVector<swift::SILValue, 16 > argValues;
1301
- return {builder ( this ).createBranch (regularLoc (this ), destBlock.get (), arguments.getValues (argValues))};
1286
+ return {get ( ).createBranch (regularLoc (), destBlock.get (), arguments.getValues (argValues))};
1302
1287
}
1303
1288
1304
1289
BridgedInstruction BridgedBuilder::createUnreachable () const {
1305
- return {builder ( this ).createUnreachable (regularLoc (this ))};
1290
+ return {get ( ).createUnreachable (regularLoc ())};
1306
1291
}
1307
1292
1308
1293
BridgedInstruction BridgedBuilder::createObject (BridgedType type,
1309
1294
BridgedValueArray arguments,
1310
1295
SwiftInt numBaseElements) const {
1311
1296
llvm::SmallVector<swift::SILValue, 16 > argValues;
1312
- return {builder ( this ).createObject (swift::ArtificialUnreachableLocation (),
1297
+ return {get ( ).createObject (swift::ArtificialUnreachableLocation (),
1313
1298
type.get (), arguments.getValues (argValues), numBaseElements)};
1314
1299
}
1315
1300
1316
1301
BridgedInstruction BridgedBuilder::createGlobalAddr (BridgedGlobalVar global) const {
1317
- return {builder ( this ).createGlobalAddr (regularLoc (this ), global.getGlobal ())};
1302
+ return {get ( ).createGlobalAddr (regularLoc (), global.getGlobal ())};
1318
1303
}
1319
1304
1320
1305
BridgedInstruction BridgedBuilder::createGlobalValue (BridgedGlobalVar global, bool isBare) const {
1321
- return {builder ( this ).createGlobalValue (regularLoc (this ), global.getGlobal (), isBare)};
1306
+ return {get ( ).createGlobalValue (regularLoc (), global.getGlobal (), isBare)};
1322
1307
}
1323
1308
1324
1309
BridgedInstruction BridgedBuilder::createStruct (BridgedType type, BridgedValueArray elements) const {
1325
1310
llvm::SmallVector<swift::SILValue, 16 > elementValues;
1326
- return {builder ( this ).createStruct (regularLoc (this ), type.get (), elements.getValues (elementValues))};
1311
+ return {get ( ).createStruct (regularLoc (), type.get (), elements.getValues (elementValues))};
1327
1312
}
1328
1313
1329
1314
BridgedInstruction BridgedBuilder::createStructExtract (BridgedValue str, SwiftInt fieldIndex) const {
1330
1315
swift::SILValue v = str.getSILValue ();
1331
- return {builder ( this ).createStructExtract (regularLoc (this ), v, v->getType ().getFieldDecl (fieldIndex))};
1316
+ return {get ( ).createStructExtract (regularLoc (), v, v->getType ().getFieldDecl (fieldIndex))};
1332
1317
}
1333
1318
1334
1319
BridgedInstruction BridgedBuilder::createStructElementAddr (BridgedValue addr, SwiftInt fieldIndex) const {
1335
1320
swift::SILValue v = addr.getSILValue ();
1336
- return {builder ( this ).createStructElementAddr (regularLoc (this ), v, v->getType ().getFieldDecl (fieldIndex))};
1321
+ return {get ( ).createStructElementAddr (regularLoc (), v, v->getType ().getFieldDecl (fieldIndex))};
1337
1322
}
1338
1323
1339
1324
BridgedInstruction BridgedBuilder::createDestructureStruct (BridgedValue str) const {
1340
- return {builder ( this ).createDestructureStruct (regularLoc (this ), str.getSILValue ())};
1325
+ return {get ( ).createDestructureStruct (regularLoc (), str.getSILValue ())};
1341
1326
}
1342
1327
1343
1328
BridgedInstruction BridgedBuilder::createTuple (BridgedType type, BridgedValueArray elements) const {
1344
1329
llvm::SmallVector<swift::SILValue, 16 > elementValues;
1345
- return {builder ( this ).createTuple (regularLoc (this ), type.get (), elements.getValues (elementValues))};
1330
+ return {get ( ).createTuple (regularLoc (), type.get (), elements.getValues (elementValues))};
1346
1331
}
1347
1332
1348
1333
BridgedInstruction BridgedBuilder::createTupleExtract (BridgedValue str, SwiftInt elementIndex) const {
1349
1334
swift::SILValue v = str.getSILValue ();
1350
- return {builder ( this ).createTupleExtract (regularLoc (this ), v, elementIndex)};
1335
+ return {get ( ).createTupleExtract (regularLoc (), v, elementIndex)};
1351
1336
}
1352
1337
1353
1338
BridgedInstruction BridgedBuilder::createTupleElementAddr (BridgedValue addr, SwiftInt elementIndex) const {
1354
1339
swift::SILValue v = addr.getSILValue ();
1355
- return {builder ( this ).createTupleElementAddr (regularLoc (this ), v, elementIndex)};
1340
+ return {get ( ).createTupleElementAddr (regularLoc (), v, elementIndex)};
1356
1341
}
1357
1342
1358
1343
BridgedInstruction BridgedBuilder::createDestructureTuple (BridgedValue str) const {
1359
- return {builder ( this ).createDestructureTuple (regularLoc (this ), str.getSILValue ())};
1344
+ return {get ( ).createDestructureTuple (regularLoc (), str.getSILValue ())};
1360
1345
}
1361
1346
1362
1347
BridgedInstruction BridgedBuilder::createStore (BridgedValue src, BridgedValue dst,
1363
1348
SwiftInt ownership) const {
1364
- return {builder ( this ).createStore (regularLoc (this ), src.getSILValue (), dst.getSILValue (),
1349
+ return {get ( ).createStore (regularLoc (), src.getSILValue (), dst.getSILValue (),
1365
1350
(swift::StoreOwnershipQualifier)ownership)};
1366
1351
}
1367
1352
1368
1353
BridgedInstruction BridgedBuilder::createInitExistentialRef (BridgedValue instance,
1369
1354
BridgedType type,
1370
1355
BridgedInstruction useConformancesOf) const {
1371
1356
auto *src = useConformancesOf.getAs <swift::InitExistentialRefInst>();
1372
- return {builder ( this ).createInitExistentialRef (regularLoc (this ), type.get (),
1357
+ return {get ( ).createInitExistentialRef (regularLoc (), type.get (),
1373
1358
src->getFormalConcreteType (),
1374
1359
instance.getSILValue (),
1375
1360
src->getConformances ())};
@@ -1379,11 +1364,11 @@ BridgedInstruction BridgedBuilder::createMetatype(BridgedType type,
1379
1364
BridgedType::MetatypeRepresentation representation) const {
1380
1365
auto *mt = swift::MetatypeType::get (type.get ().getASTType (), (swift::MetatypeRepresentation)representation);
1381
1366
auto t = swift::SILType::getPrimitiveObjectType (swift::CanType (mt));
1382
- return {builder ( this ).createMetatype (regularLoc (this ), t)};
1367
+ return {get ( ).createMetatype (regularLoc (), t)};
1383
1368
}
1384
1369
1385
1370
BridgedInstruction BridgedBuilder::createEndCOWMutation (BridgedValue instance, bool keepUnique) const {
1386
- return {builder ( this ).createEndCOWMutation (regularLoc (this ), instance.getSILValue (), keepUnique)};
1371
+ return {get ( ).createEndCOWMutation (regularLoc (), instance.getSILValue (), keepUnique)};
1387
1372
}
1388
1373
1389
1374
// ===----------------------------------------------------------------------===//
0 commit comments