@@ -1951,12 +1951,12 @@ bool FastISel::fastLowerIntrinsicCall(const IntrinsicInst * /*II*/) {
1951
1951
1952
1952
unsigned FastISel::fastEmit_ (MVT, MVT, unsigned ) { return 0 ; }
1953
1953
1954
- unsigned FastISel::fastEmit_r (MVT, MVT, unsigned , unsigned /* Op0*/ ) {
1954
+ unsigned FastISel::fastEmit_r (MVT, MVT, unsigned , Register /* Op0*/ ) {
1955
1955
return 0 ;
1956
1956
}
1957
1957
1958
- unsigned FastISel::fastEmit_rr (MVT, MVT, unsigned , unsigned /* Op0*/ ,
1959
- unsigned /* Op1*/ ) {
1958
+ unsigned FastISel::fastEmit_rr (MVT, MVT, unsigned , Register /* Op0*/ ,
1959
+ Register /* Op1*/ ) {
1960
1960
return 0 ;
1961
1961
}
1962
1962
@@ -1969,7 +1969,7 @@ unsigned FastISel::fastEmit_f(MVT, MVT, unsigned,
1969
1969
return 0 ;
1970
1970
}
1971
1971
1972
- unsigned FastISel::fastEmit_ri (MVT, MVT, unsigned , unsigned /* Op0*/ ,
1972
+ unsigned FastISel::fastEmit_ri (MVT, MVT, unsigned , Register /* Op0*/ ,
1973
1973
uint64_t /* Imm*/ ) {
1974
1974
return 0 ;
1975
1975
}
@@ -1978,7 +1978,7 @@ unsigned FastISel::fastEmit_ri(MVT, MVT, unsigned, unsigned /*Op0*/,
1978
1978
// / instruction with an immediate operand using fastEmit_ri.
1979
1979
// / If that fails, it materializes the immediate into a register and try
1980
1980
// / fastEmit_rr instead.
1981
- Register FastISel::fastEmit_ri_ (MVT VT, unsigned Opcode, unsigned Op0,
1981
+ Register FastISel::fastEmit_ri_ (MVT VT, unsigned Opcode, Register Op0,
1982
1982
uint64_t Imm, MVT ImmType) {
1983
1983
// If this is a multiply by a power of two, emit this as a shift left.
1984
1984
if (Opcode == ISD::MUL && isPowerOf2_64 (Imm)) {
@@ -2044,7 +2044,7 @@ Register FastISel::fastEmitInst_(unsigned MachineInstOpcode,
2044
2044
}
2045
2045
2046
2046
Register FastISel::fastEmitInst_r (unsigned MachineInstOpcode,
2047
- const TargetRegisterClass *RC, unsigned Op0) {
2047
+ const TargetRegisterClass *RC, Register Op0) {
2048
2048
const MCInstrDesc &II = TII.get (MachineInstOpcode);
2049
2049
2050
2050
Register ResultReg = createResultReg (RC);
@@ -2065,8 +2065,8 @@ Register FastISel::fastEmitInst_r(unsigned MachineInstOpcode,
2065
2065
}
2066
2066
2067
2067
Register FastISel::fastEmitInst_rr (unsigned MachineInstOpcode,
2068
- const TargetRegisterClass *RC, unsigned Op0,
2069
- unsigned Op1) {
2068
+ const TargetRegisterClass *RC, Register Op0,
2069
+ Register Op1) {
2070
2070
const MCInstrDesc &II = TII.get (MachineInstOpcode);
2071
2071
2072
2072
Register ResultReg = createResultReg (RC);
@@ -2089,8 +2089,8 @@ Register FastISel::fastEmitInst_rr(unsigned MachineInstOpcode,
2089
2089
}
2090
2090
2091
2091
Register FastISel::fastEmitInst_rrr (unsigned MachineInstOpcode,
2092
- const TargetRegisterClass *RC, unsigned Op0,
2093
- unsigned Op1, unsigned Op2) {
2092
+ const TargetRegisterClass *RC, Register Op0,
2093
+ Register Op1, Register Op2) {
2094
2094
const MCInstrDesc &II = TII.get (MachineInstOpcode);
2095
2095
2096
2096
Register ResultReg = createResultReg (RC);
@@ -2116,7 +2116,7 @@ Register FastISel::fastEmitInst_rrr(unsigned MachineInstOpcode,
2116
2116
}
2117
2117
2118
2118
Register FastISel::fastEmitInst_ri (unsigned MachineInstOpcode,
2119
- const TargetRegisterClass *RC, unsigned Op0,
2119
+ const TargetRegisterClass *RC, Register Op0,
2120
2120
uint64_t Imm) {
2121
2121
const MCInstrDesc &II = TII.get (MachineInstOpcode);
2122
2122
@@ -2139,7 +2139,7 @@ Register FastISel::fastEmitInst_ri(unsigned MachineInstOpcode,
2139
2139
}
2140
2140
2141
2141
Register FastISel::fastEmitInst_rii (unsigned MachineInstOpcode,
2142
- const TargetRegisterClass *RC, unsigned Op0,
2142
+ const TargetRegisterClass *RC, Register Op0,
2143
2143
uint64_t Imm1, uint64_t Imm2) {
2144
2144
const MCInstrDesc &II = TII.get (MachineInstOpcode);
2145
2145
@@ -2184,8 +2184,8 @@ Register FastISel::fastEmitInst_f(unsigned MachineInstOpcode,
2184
2184
}
2185
2185
2186
2186
Register FastISel::fastEmitInst_rri (unsigned MachineInstOpcode,
2187
- const TargetRegisterClass *RC, unsigned Op0,
2188
- unsigned Op1, uint64_t Imm) {
2187
+ const TargetRegisterClass *RC, Register Op0,
2188
+ Register Op1, uint64_t Imm) {
2189
2189
const MCInstrDesc &II = TII.get (MachineInstOpcode);
2190
2190
2191
2191
Register ResultReg = createResultReg (RC);
@@ -2226,11 +2226,10 @@ Register FastISel::fastEmitInst_i(unsigned MachineInstOpcode,
2226
2226
return ResultReg;
2227
2227
}
2228
2228
2229
- Register FastISel::fastEmitInst_extractsubreg (MVT RetVT, unsigned Op0,
2229
+ Register FastISel::fastEmitInst_extractsubreg (MVT RetVT, Register Op0,
2230
2230
uint32_t Idx) {
2231
2231
Register ResultReg = createResultReg (TLI.getRegClassFor (RetVT));
2232
- assert (Register::isVirtualRegister (Op0) &&
2233
- " Cannot yet extract from physregs" );
2232
+ assert (Op0.isVirtual () && " Cannot yet extract from physregs" );
2234
2233
const TargetRegisterClass *RC = MRI.getRegClass (Op0);
2235
2234
MRI.constrainRegClass (Op0, TRI.getSubClassWithSubReg (RC, Idx));
2236
2235
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , MIMD, TII.get (TargetOpcode::COPY),
@@ -2240,7 +2239,7 @@ Register FastISel::fastEmitInst_extractsubreg(MVT RetVT, unsigned Op0,
2240
2239
2241
2240
// / Emit MachineInstrs to compute the value of Op with all but the least
2242
2241
// / significant bit set to zero.
2243
- Register FastISel::fastEmitZExtFromI1 (MVT VT, unsigned Op0) {
2242
+ Register FastISel::fastEmitZExtFromI1 (MVT VT, Register Op0) {
2244
2243
return fastEmit_ri (VT, VT, ISD::AND, Op0, 1 );
2245
2244
}
2246
2245
0 commit comments