@@ -66,6 +66,7 @@ class DstOp {
66
66
public:
67
67
enum class DstType { Ty_LLT, Ty_Reg, Ty_RC };
68
68
DstOp (unsigned R) : Reg(R), Ty(DstType::Ty_Reg) {}
69
+ DstOp (Register R) : Reg(R), Ty(DstType::Ty_Reg) {}
69
70
DstOp (const MachineOperand &Op) : Reg(Op.getReg()), Ty(DstType::Ty_Reg) {}
70
71
DstOp (const LLT &T) : LLTTy(T), Ty(DstType::Ty_LLT) {}
71
72
DstOp (const TargetRegisterClass *TRC) : RC(TRC), Ty(DstType::Ty_RC) {}
@@ -126,6 +127,7 @@ class SrcOp {
126
127
public:
127
128
enum class SrcType { Ty_Reg, Ty_MIB, Ty_Predicate };
128
129
SrcOp (unsigned R) : Reg(R), Ty(SrcType::Ty_Reg) {}
130
+ SrcOp (Register R) : Reg(R), Ty(SrcType::Ty_Reg) {}
129
131
SrcOp (const MachineOperand &Op) : Reg(Op.getReg()), Ty(SrcType::Ty_Reg) {}
130
132
SrcOp (const MachineInstrBuilder &MIB) : SrcMIB(MIB), Ty(SrcType::Ty_MIB) {}
131
133
SrcOp (const CmpInst::Predicate P) : Pred(P), Ty(SrcType::Ty_Predicate) {}
@@ -401,7 +403,7 @@ class MachineIRBuilder {
401
403
// / type as \p Op0 or \p Op0 itself.
402
404
// /
403
405
// / \return a MachineInstrBuilder for the newly created instruction.
404
- Optional<MachineInstrBuilder> materializeGEP (unsigned &Res, unsigned Op0,
406
+ Optional<MachineInstrBuilder> materializeGEP (Register &Res, Register Op0,
405
407
const LLT &ValueTy,
406
408
uint64_t Value);
407
409
@@ -717,7 +719,7 @@ class MachineIRBuilder {
717
719
// / \pre The bits defined by each Op (derived from index and scalar size) must
718
720
// / not overlap.
719
721
// / \pre \p Indices must be in ascending order of bit position.
720
- void buildSequence (unsigned Res, ArrayRef<unsigned > Ops,
722
+ void buildSequence (Register Res, ArrayRef<Register > Ops,
721
723
ArrayRef<uint64_t > Indices);
722
724
723
725
// / Build and insert \p Res = G_MERGE_VALUES \p Op0, ...
@@ -731,7 +733,7 @@ class MachineIRBuilder {
731
733
// / \pre The type of all \p Ops registers must be identical.
732
734
// /
733
735
// / \return a MachineInstrBuilder for the newly created instruction.
734
- MachineInstrBuilder buildMerge (const DstOp &Res, ArrayRef<unsigned > Ops);
736
+ MachineInstrBuilder buildMerge (const DstOp &Res, ArrayRef<Register > Ops);
735
737
736
738
// / Build and insert \p Res0, ... = G_UNMERGE_VALUES \p Op
737
739
// /
@@ -744,7 +746,7 @@ class MachineIRBuilder {
744
746
// /
745
747
// / \return a MachineInstrBuilder for the newly created instruction.
746
748
MachineInstrBuilder buildUnmerge (ArrayRef<LLT> Res, const SrcOp &Op);
747
- MachineInstrBuilder buildUnmerge (ArrayRef<unsigned > Res, const SrcOp &Op);
749
+ MachineInstrBuilder buildUnmerge (ArrayRef<Register > Res, const SrcOp &Op);
748
750
749
751
// / Build and insert an unmerge of \p Res sized pieces to cover \p Op
750
752
MachineInstrBuilder buildUnmerge (LLT Res, const SrcOp &Op);
@@ -759,7 +761,7 @@ class MachineIRBuilder {
759
761
// /
760
762
// / \return a MachineInstrBuilder for the newly created instruction.
761
763
MachineInstrBuilder buildBuildVector (const DstOp &Res,
762
- ArrayRef<unsigned > Ops);
764
+ ArrayRef<Register > Ops);
763
765
764
766
// / Build and insert \p Res = G_BUILD_VECTOR with \p Src replicated to fill
765
767
// / the number of elements
@@ -780,7 +782,7 @@ class MachineIRBuilder {
780
782
// /
781
783
// / \return a MachineInstrBuilder for the newly created instruction.
782
784
MachineInstrBuilder buildBuildVectorTrunc (const DstOp &Res,
783
- ArrayRef<unsigned > Ops);
785
+ ArrayRef<Register > Ops);
784
786
785
787
// / Build and insert \p Res = G_CONCAT_VECTORS \p Op0, ...
786
788
// /
@@ -794,10 +796,10 @@ class MachineIRBuilder {
794
796
// /
795
797
// / \return a MachineInstrBuilder for the newly created instruction.
796
798
MachineInstrBuilder buildConcatVectors (const DstOp &Res,
797
- ArrayRef<unsigned > Ops);
799
+ ArrayRef<Register > Ops);
798
800
799
- MachineInstrBuilder buildInsert (unsigned Res, unsigned Src,
800
- unsigned Op, unsigned Index);
801
+ MachineInstrBuilder buildInsert (Register Res, Register Src,
802
+ Register Op, unsigned Index);
801
803
802
804
// / Build and insert either a G_INTRINSIC (if \p HasSideEffects is false) or
803
805
// / G_INTRINSIC_W_SIDE_EFFECTS instruction. Its first operand will be the
@@ -809,7 +811,7 @@ class MachineIRBuilder {
809
811
// / \pre setBasicBlock or setMI must have been called.
810
812
// /
811
813
// / \return a MachineInstrBuilder for the newly created instruction.
812
- MachineInstrBuilder buildIntrinsic (Intrinsic::ID ID, ArrayRef<unsigned > Res,
814
+ MachineInstrBuilder buildIntrinsic (Intrinsic::ID ID, ArrayRef<Register > Res,
813
815
bool HasSideEffects);
814
816
MachineInstrBuilder buildIntrinsic (Intrinsic::ID ID, ArrayRef<DstOp> Res,
815
817
bool HasSideEffects);
0 commit comments