@@ -432,7 +432,9 @@ final public class DebugStepInst : Instruction {}
432432
433433final public class SpecifyTestInst : Instruction { }
434434
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 }
436438 public override var mayTrap : Bool { true }
437439}
438440
@@ -527,9 +529,6 @@ final public class DeallocStackInst : Instruction, UnaryInstruction, Deallocatio
527529 }
528530}
529531
530- final public class DeallocPackInst : Instruction , UnaryInstruction , Deallocation { }
531- final public class DeallocPackMetadataInst : Instruction , Deallocation { }
532-
533532final public class DeallocStackRefInst : Instruction , UnaryInstruction , Deallocation {
534533 public var allocRef : AllocRefInstBase { operand. value as! AllocRefInstBase }
535534}
@@ -701,12 +700,6 @@ class ValueMetatypeInst : SingleValueInstruction, UnaryInstruction {}
701700final public
702701class ExistentialMetatypeInst : SingleValueInstruction , UnaryInstruction { }
703702
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-
710703final public class ObjCProtocolInst : SingleValueInstruction { }
711704
712705public class GlobalAccessInstruction : SingleValueInstruction {
@@ -1093,20 +1086,6 @@ final public class ObjectInst : SingleValueInstruction {
10931086final public class VectorInst : SingleValueInstruction {
10941087}
10951088
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-
11101089final public class DifferentiableFunctionInst : SingleValueInstruction { }
11111090
11121091final public class LinearFunctionInst : SingleValueInstruction { }
@@ -1140,9 +1119,6 @@ final public class AllocVectorInst : SingleValueInstruction, Allocation, UnaryIn
11401119 public var capacity : Value { operand. value }
11411120}
11421121
1143- final public class AllocPackInst : SingleValueInstruction , Allocation { }
1144- final public class AllocPackMetadataInst : SingleValueInstruction , Allocation { }
1145-
11461122public class AllocRefInstBase : SingleValueInstruction , Allocation {
11471123 final public var isObjC : Bool { bridged. AllocRefInstBase_isObjc ( ) }
11481124
@@ -1361,6 +1337,36 @@ final public class DestructureTupleInst : MultipleValueInstruction, UnaryInstruc
13611337 public var `tuple` : Value { operand. value }
13621338}
13631339
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+
13641370//===----------------------------------------------------------------------===//
13651371// terminator instructions
13661372//===----------------------------------------------------------------------===//
0 commit comments