@@ -1141,7 +1141,6 @@ bool SILParser::parseTypedValueRef(SILValue &Result, SourceLoc &Loc,
1141
1141
return false ;
1142
1142
}
1143
1143
1144
-
1145
1144
// / getInstructionKind - This method maps the string form of a SIL instruction
1146
1145
// / opcode to an enum.
1147
1146
bool SILParser::parseSILOpcode (ValueKind &Opcode, SourceLoc &OpcodeLoc,
@@ -1151,144 +1150,10 @@ bool SILParser::parseSILOpcode(ValueKind &Opcode, SourceLoc &OpcodeLoc,
1151
1150
// Parse this textually to avoid Swift keywords (like 'return') from
1152
1151
// interfering with opcode recognition.
1153
1152
Opcode = llvm::StringSwitch<ValueKind>(OpcodeName)
1154
- .Case (" alloc_box" , ValueKind::AllocBoxInst)
1155
- .Case (" alloc_existential_box" , ValueKind::AllocExistentialBoxInst)
1156
- .Case (" address_to_pointer" , ValueKind::AddressToPointerInst)
1157
- .Case (" alloc_stack" , ValueKind::AllocStackInst)
1158
- .Case (" alloc_ref" , ValueKind::AllocRefInst)
1159
- .Case (" alloc_ref_dynamic" , ValueKind::AllocRefDynamicInst)
1160
- .Case (" alloc_value_buffer" , ValueKind::AllocValueBufferInst)
1161
- .Case (" bind_memory" , ValueKind::BindMemoryInst)
1162
- .Case (" value_metatype" , ValueKind::ValueMetatypeInst)
1163
- .Case (" witness_method" , ValueKind::WitnessMethodInst)
1164
- .Case (" apply" , ValueKind::ApplyInst)
1165
- .Case (" assign" , ValueKind::AssignInst)
1166
- .Case (" autorelease_value" , ValueKind::AutoreleaseValueInst)
1167
- .Case (" br" , ValueKind::BranchInst)
1168
- .Case (" builtin" , ValueKind::BuiltinInst)
1169
- .Case (" bridge_object_to_ref" , ValueKind::BridgeObjectToRefInst)
1170
- .Case (" bridge_object_to_word" , ValueKind::BridgeObjectToWordInst)
1171
- .Case (" checked_cast_br" , ValueKind::CheckedCastBranchInst)
1172
- .Case (" checked_cast_addr_br" , ValueKind::CheckedCastAddrBranchInst)
1173
- .Case (" class_method" , ValueKind::ClassMethodInst)
1174
- .Case (" cond_br" , ValueKind::CondBranchInst)
1175
- .Case (" cond_fail" , ValueKind::CondFailInst)
1176
- .Case (" convert_function" , ValueKind::ConvertFunctionInst)
1177
- .Case (" copy_addr" , ValueKind::CopyAddrInst)
1178
- .Case (" copy_block" , ValueKind::CopyBlockInst)
1179
- .Case (" dealloc_box" , ValueKind::DeallocBoxInst)
1180
- .Case (" dealloc_existential_box" , ValueKind::DeallocExistentialBoxInst)
1181
- .Case (" dealloc_ref" , ValueKind::DeallocRefInst)
1182
- .Case (" dealloc_partial_ref" , ValueKind::DeallocPartialRefInst)
1183
- .Case (" dealloc_stack" , ValueKind::DeallocStackInst)
1184
- .Case (" dealloc_value_buffer" , ValueKind::DeallocValueBufferInst)
1185
- .Case (" debug_value" , ValueKind::DebugValueInst)
1186
- .Case (" debug_value_addr" , ValueKind::DebugValueAddrInst)
1187
- .Case (" deinit_existential_addr" , ValueKind::DeinitExistentialAddrInst)
1188
- .Case (" destroy_addr" , ValueKind::DestroyAddrInst)
1189
- .Case (" release_value" , ValueKind::ReleaseValueInst)
1190
- .Case (" dynamic_method" , ValueKind::DynamicMethodInst)
1191
- .Case (" dynamic_method_br" , ValueKind::DynamicMethodBranchInst)
1192
- .Case (" enum" , ValueKind::EnumInst)
1193
- .Case (" fix_lifetime" , ValueKind::FixLifetimeInst)
1194
- .Case (" float_literal" , ValueKind::FloatLiteralInst)
1195
- .Case (" index_addr" , ValueKind::IndexAddrInst)
1196
- .Case (" index_raw_pointer" , ValueKind::IndexRawPointerInst)
1197
- .Case (" init_block_storage_header" , ValueKind::InitBlockStorageHeaderInst)
1198
- .Case (" init_enum_data_addr" , ValueKind::InitEnumDataAddrInst)
1199
- .Case (" init_existential_addr" , ValueKind::InitExistentialAddrInst)
1200
- .Case (" init_existential_metatype" , ValueKind::InitExistentialMetatypeInst)
1201
- .Case (" init_existential_ref" , ValueKind::InitExistentialRefInst)
1202
- .Case (" inject_enum_addr" , ValueKind::InjectEnumAddrInst)
1203
- .Case (" integer_literal" , ValueKind::IntegerLiteralInst)
1204
- .Case (" is_nonnull" , ValueKind::IsNonnullInst)
1205
- .Case (" is_unique" , ValueKind::IsUniqueInst)
1206
- .Case (" is_unique_or_pinned" , ValueKind::IsUniqueOrPinnedInst)
1207
- .Case (" function_ref" , ValueKind::FunctionRefInst)
1208
- .Case (" load" , ValueKind::LoadInst)
1209
- .Case (" load_unowned" , ValueKind::LoadUnownedInst)
1210
- .Case (" load_weak" , ValueKind::LoadWeakInst)
1211
- .Case (" mark_dependence" , ValueKind::MarkDependenceInst)
1212
- .Case (" mark_uninitialized" , ValueKind::MarkUninitializedInst)
1213
- .Case (" mark_uninitialized_behavior" ,
1214
- ValueKind::MarkUninitializedBehaviorInst)
1215
- .Case (" mark_function_escape" , ValueKind::MarkFunctionEscapeInst)
1216
- .Case (" metatype" , ValueKind::MetatypeInst)
1217
- .Case (" objc_existential_metatype_to_object" ,
1218
- ValueKind::ObjCExistentialMetatypeToObjectInst)
1219
- .Case (" objc_metatype_to_object" , ValueKind::ObjCMetatypeToObjectInst)
1220
- .Case (" objc_protocol" , ValueKind::ObjCProtocolInst)
1221
- .Case (" objc_to_thick_metatype" , ValueKind::ObjCToThickMetatypeInst)
1222
- .Case (" open_existential_addr" , ValueKind::OpenExistentialAddrInst)
1223
- .Case (" open_existential_box" , ValueKind::OpenExistentialBoxInst)
1224
- .Case (" open_existential_metatype" , ValueKind::OpenExistentialMetatypeInst)
1225
- .Case (" open_existential_ref" , ValueKind::OpenExistentialRefInst)
1226
- .Case (" partial_apply" , ValueKind::PartialApplyInst)
1227
- .Case (" pointer_to_address" , ValueKind::PointerToAddressInst)
1228
- .Case (" pointer_to_thin_function" , ValueKind::PointerToThinFunctionInst)
1229
- .Case (" project_block_storage" , ValueKind::ProjectBlockStorageInst)
1230
- .Case (" project_box" , ValueKind::ProjectBoxInst)
1231
- .Case (" project_existential_box" , ValueKind::ProjectExistentialBoxInst)
1232
- .Case (" project_value_buffer" , ValueKind::ProjectValueBufferInst)
1233
- .Case (" existential_metatype" , ValueKind::ExistentialMetatypeInst)
1234
- .Case (" raw_pointer_to_ref" , ValueKind::RawPointerToRefInst)
1235
- .Case (" ref_element_addr" , ValueKind::RefElementAddrInst)
1236
- .Case (" ref_tail_addr" , ValueKind::RefTailAddrInst)
1237
- .Case (" ref_to_bridge_object" , ValueKind::RefToBridgeObjectInst)
1238
- .Case (" ref_to_raw_pointer" , ValueKind::RefToRawPointerInst)
1239
- .Case (" ref_to_unmanaged" , ValueKind::RefToUnmanagedInst)
1240
- .Case (" ref_to_unowned" , ValueKind::RefToUnownedInst)
1241
- .Case (" retain_value" , ValueKind::RetainValueInst)
1242
- .Case (" alloc_global" , ValueKind::AllocGlobalInst)
1243
- .Case (" global_addr" , ValueKind::GlobalAddrInst)
1244
- .Case (" strong_pin" , ValueKind::StrongPinInst)
1245
- .Case (" strong_release" , ValueKind::StrongReleaseInst)
1246
- .Case (" strong_retain" , ValueKind::StrongRetainInst)
1247
- .Case (" strong_retain_unowned" , ValueKind::StrongRetainUnownedInst)
1248
- .Case (" strong_unpin" , ValueKind::StrongUnpinInst)
1249
- .Case (" return" , ValueKind::ReturnInst)
1250
- .Case (" select_enum" , ValueKind::SelectEnumInst)
1251
- .Case (" select_enum_addr" , ValueKind::SelectEnumAddrInst)
1252
- .Case (" select_value" , ValueKind::SelectValueInst)
1253
- .Case (" set_deallocating" , ValueKind::SetDeallocatingInst)
1254
- .Case (" store" , ValueKind::StoreInst)
1255
- .Case (" store_unowned" , ValueKind::StoreUnownedInst)
1256
- .Case (" store_weak" , ValueKind::StoreWeakInst)
1257
- .Case (" string_literal" , ValueKind::StringLiteralInst)
1258
- .Case (" struct" , ValueKind::StructInst)
1259
- .Case (" struct_element_addr" , ValueKind::StructElementAddrInst)
1260
- .Case (" struct_extract" , ValueKind::StructExtractInst)
1261
- .Case (" super_method" , ValueKind::SuperMethodInst)
1262
- .Case (" switch_enum" , ValueKind::SwitchEnumInst)
1263
- .Case (" switch_enum_addr" ,
1264
- ValueKind::SwitchEnumAddrInst)
1265
- .Case (" switch_value" , ValueKind::SwitchValueInst)
1266
- .Case (" tail_addr" , ValueKind::TailAddrInst)
1267
- .Case (" try_apply" , ValueKind::TryApplyInst)
1268
- .Case (" unchecked_enum_data" , ValueKind::UncheckedEnumDataInst)
1269
- .Case (" unchecked_addr_cast" , ValueKind::UncheckedAddrCastInst)
1270
- .Case (" unchecked_trivial_bit_cast" , ValueKind::UncheckedTrivialBitCastInst)
1271
- .Case (" unchecked_bitwise_cast" , ValueKind::UncheckedBitwiseCastInst)
1272
- .Case (" unchecked_ref_cast" , ValueKind::UncheckedRefCastInst)
1273
- .Case (" unchecked_ref_cast_addr" , ValueKind::UncheckedRefCastAddrInst)
1274
- .Case (" unchecked_take_enum_data_addr" , ValueKind::UncheckedTakeEnumDataAddrInst)
1275
- .Case (" thick_to_objc_metatype" , ValueKind::ThickToObjCMetatypeInst)
1276
- .Case (" thin_function_to_pointer" , ValueKind::ThinFunctionToPointerInst)
1277
- .Case (" thin_to_thick_function" , ValueKind::ThinToThickFunctionInst)
1278
- .Case (" throw" , ValueKind::ThrowInst)
1279
- .Case (" tuple" , ValueKind::TupleInst)
1280
- .Case (" tuple_element_addr" , ValueKind::TupleElementAddrInst)
1281
- .Case (" tuple_extract" , ValueKind::TupleExtractInst)
1282
- .Case (" unconditional_checked_cast" , ValueKind::UnconditionalCheckedCastInst)
1283
- .Case (" unconditional_checked_cast_addr" ,
1284
- ValueKind::UnconditionalCheckedCastAddrInst)
1285
- .Case (" unmanaged_to_ref" , ValueKind::UnmanagedToRefInst)
1286
- .Case (" unowned_retain" , ValueKind::UnownedRetainInst)
1287
- .Case (" unowned_release" , ValueKind::UnownedReleaseInst)
1288
- .Case (" unowned_to_ref" , ValueKind::UnownedToRefInst)
1289
- .Case (" unreachable" , ValueKind::UnreachableInst)
1290
- .Case (" upcast" , ValueKind::UpcastInst)
1291
- .Default (ValueKind::SILArgument);
1153
+ #define INST (Id, Parent, TextualName, MemBehavior, MayRelease ) \
1154
+ .Case (#TextualName, ValueKind::Id)
1155
+ #include " swift/SIL/SILNodes.def"
1156
+ .Default (ValueKind::SILArgument);
1292
1157
1293
1158
if (Opcode != ValueKind::SILArgument) {
1294
1159
P.consumeToken ();
0 commit comments