@@ -432,7 +432,9 @@ final public class DebugStepInst : Instruction {}
432
432
433
433
final public class SpecifyTestInst : Instruction { }
434
434
435
- final public class UnconditionalCheckedCastAddrInst : Instruction {
435
+ final public class UnconditionalCheckedCastAddrInst : Instruction , SourceDestAddrInstruction {
436
+ public var isTakeOfSrc : Bool { true }
437
+ public var isInitializationOfDest : Bool { true }
436
438
public override var mayTrap : Bool { true }
437
439
}
438
440
@@ -527,9 +529,6 @@ final public class DeallocStackInst : Instruction, UnaryInstruction, Deallocatio
527
529
}
528
530
}
529
531
530
- final public class DeallocPackInst : Instruction , UnaryInstruction , Deallocation { }
531
- final public class DeallocPackMetadataInst : Instruction , Deallocation { }
532
-
533
532
final public class DeallocStackRefInst : Instruction , UnaryInstruction , Deallocation {
534
533
public var allocRef : AllocRefInstBase { operand. value as! AllocRefInstBase }
535
534
}
@@ -701,12 +700,6 @@ class ValueMetatypeInst : SingleValueInstruction, UnaryInstruction {}
701
700
final public
702
701
class ExistentialMetatypeInst : SingleValueInstruction , UnaryInstruction { }
703
702
704
- final public class OpenPackElementInst : SingleValueInstruction { }
705
- final public class PackLengthInst : SingleValueInstruction { }
706
- final public class DynamicPackIndexInst : SingleValueInstruction { }
707
- final public class PackPackIndexInst : SingleValueInstruction { }
708
- final public class ScalarPackIndexInst : SingleValueInstruction { }
709
-
710
703
final public class ObjCProtocolInst : SingleValueInstruction { }
711
704
712
705
public class GlobalAccessInstruction : SingleValueInstruction {
@@ -1093,20 +1086,6 @@ final public class ObjectInst : SingleValueInstruction {
1093
1086
final public class VectorInst : SingleValueInstruction {
1094
1087
}
1095
1088
1096
- final public class TuplePackExtractInst : SingleValueInstruction {
1097
- public var indexOperand : Operand { operands [ 0 ] }
1098
- public var tupleOperand : Operand { operands [ 1 ] }
1099
- }
1100
-
1101
- final public class TuplePackElementAddrInst : SingleValueInstruction {
1102
- public var indexOperand : Operand { operands [ 0 ] }
1103
- public var tupleOperand : Operand { operands [ 1 ] }
1104
- }
1105
-
1106
- final public class PackElementGetInst : SingleValueInstruction { }
1107
-
1108
- final public class PackElementSetInst : SingleValueInstruction { }
1109
-
1110
1089
final public class DifferentiableFunctionInst : SingleValueInstruction { }
1111
1090
1112
1091
final public class LinearFunctionInst : SingleValueInstruction { }
@@ -1140,9 +1119,6 @@ final public class AllocVectorInst : SingleValueInstruction, Allocation, UnaryIn
1140
1119
public var capacity : Value { operand. value }
1141
1120
}
1142
1121
1143
- final public class AllocPackInst : SingleValueInstruction , Allocation { }
1144
- final public class AllocPackMetadataInst : SingleValueInstruction , Allocation { }
1145
-
1146
1122
public class AllocRefInstBase : SingleValueInstruction , Allocation {
1147
1123
final public var isObjC : Bool { bridged. AllocRefInstBase_isObjc ( ) }
1148
1124
@@ -1361,6 +1337,36 @@ final public class DestructureTupleInst : MultipleValueInstruction, UnaryInstruc
1361
1337
public var `tuple` : Value { operand. value }
1362
1338
}
1363
1339
1340
+ //===----------------------------------------------------------------------===//
1341
+ // parameter pack instructions
1342
+ //===----------------------------------------------------------------------===//
1343
+
1344
+ final public class AllocPackInst : SingleValueInstruction , Allocation { }
1345
+ final public class AllocPackMetadataInst : SingleValueInstruction , Allocation { }
1346
+
1347
+ final public class DeallocPackInst : Instruction , UnaryInstruction , Deallocation { }
1348
+ final public class DeallocPackMetadataInst : Instruction , Deallocation { }
1349
+
1350
+ final public class OpenPackElementInst : SingleValueInstruction { }
1351
+ final public class PackLengthInst : SingleValueInstruction { }
1352
+ final public class DynamicPackIndexInst : SingleValueInstruction { }
1353
+ final public class PackPackIndexInst : SingleValueInstruction { }
1354
+ final public class ScalarPackIndexInst : SingleValueInstruction { }
1355
+
1356
+ final public class TuplePackExtractInst : SingleValueInstruction {
1357
+ public var indexOperand : Operand { operands [ 0 ] }
1358
+ public var tupleOperand : Operand { operands [ 1 ] }
1359
+ }
1360
+
1361
+ final public class TuplePackElementAddrInst : SingleValueInstruction {
1362
+ public var indexOperand : Operand { operands [ 0 ] }
1363
+ public var tupleOperand : Operand { operands [ 1 ] }
1364
+ }
1365
+
1366
+ final public class PackElementGetInst : SingleValueInstruction { }
1367
+
1368
+ final public class PackElementSetInst : Instruction { }
1369
+
1364
1370
//===----------------------------------------------------------------------===//
1365
1371
// terminator instructions
1366
1372
//===----------------------------------------------------------------------===//
0 commit comments