@@ -1231,13 +1231,15 @@ bool X86FastISel::X86SelectRet(const Instruction *I) {
1231
1231
if (SrcVT == MVT::i1) {
1232
1232
if (Outs[0 ].Flags .isSExt ())
1233
1233
return false ;
1234
- SrcReg = fastEmitZExtFromI1 (MVT::i8 , SrcReg, /* TODO: Kill=*/ false );
1234
+ // TODO
1235
+ SrcReg = fastEmitZExtFromI1 (MVT::i8 , SrcReg, /* Op0IsKill=*/ false );
1235
1236
SrcVT = MVT::i8 ;
1236
1237
}
1237
1238
unsigned Op = Outs[0 ].Flags .isZExt () ? ISD::ZERO_EXTEND :
1238
1239
ISD::SIGN_EXTEND;
1239
- SrcReg = fastEmit_r (SrcVT.getSimpleVT (), DstVT.getSimpleVT (), Op,
1240
- SrcReg, /* TODO: Kill=*/ false );
1240
+ // TODO
1241
+ SrcReg = fastEmit_r (SrcVT.getSimpleVT (), DstVT.getSimpleVT (), Op, SrcReg,
1242
+ /* Op0IsKill=*/ false );
1241
1243
}
1242
1244
1243
1245
// Make the copy.
@@ -1431,8 +1433,8 @@ bool X86FastISel::X86SelectCmp(const Instruction *I) {
1431
1433
ResultReg = createResultReg (&X86::GR32RegClass);
1432
1434
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc, TII.get (X86::MOV32r0),
1433
1435
ResultReg);
1434
- ResultReg = fastEmitInst_extractsubreg (MVT::i8 , ResultReg, /* Kill= */ true ,
1435
- X86::sub_8bit);
1436
+ ResultReg = fastEmitInst_extractsubreg (MVT::i8 , ResultReg,
1437
+ /* Op0IsKill= */ true , X86::sub_8bit);
1436
1438
if (!ResultReg)
1437
1439
return false ;
1438
1440
break ;
@@ -1555,11 +1557,11 @@ bool X86FastISel::X86SelectZExt(const Instruction *I) {
1555
1557
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc, TII.get (X86::MOVZX32rr8),
1556
1558
Result32).addReg (ResultReg);
1557
1559
1558
- ResultReg = fastEmitInst_extractsubreg (MVT::i16 , Result32, /* Kill= */ true ,
1559
- X86::sub_16bit);
1560
+ ResultReg = fastEmitInst_extractsubreg (MVT::i16 , Result32,
1561
+ /* Op0IsKill= */ true , X86::sub_16bit);
1560
1562
} else if (DstVT != MVT::i8 ) {
1561
1563
ResultReg = fastEmit_r (MVT::i8 , DstVT.getSimpleVT (), ISD::ZERO_EXTEND,
1562
- ResultReg, /* Kill =*/ true );
1564
+ ResultReg, /* Op0IsKill =*/ true );
1563
1565
if (ResultReg == 0 )
1564
1566
return false ;
1565
1567
}
@@ -1601,11 +1603,11 @@ bool X86FastISel::X86SelectSExt(const Instruction *I) {
1601
1603
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc, TII.get (X86::MOVSX32rr8),
1602
1604
Result32).addReg (ResultReg);
1603
1605
1604
- ResultReg = fastEmitInst_extractsubreg (MVT::i16 , Result32, /* Kill= */ true ,
1605
- X86::sub_16bit);
1606
+ ResultReg = fastEmitInst_extractsubreg (MVT::i16 , Result32,
1607
+ /* Op0IsKill= */ true , X86::sub_16bit);
1606
1608
} else if (DstVT != MVT::i8 ) {
1607
1609
ResultReg = fastEmit_r (MVT::i8 , DstVT.getSimpleVT (), ISD::SIGN_EXTEND,
1608
- ResultReg, /* Kill =*/ true );
1610
+ ResultReg, /* Op0IsKill =*/ true );
1609
1611
if (ResultReg == 0 )
1610
1612
return false ;
1611
1613
}
@@ -1757,7 +1759,7 @@ bool X86FastISel::X86SelectBranch(const Instruction *I) {
1757
1759
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc,
1758
1760
TII.get (TargetOpcode::COPY), OpReg)
1759
1761
.addReg (KOpReg);
1760
- OpReg = fastEmitInst_extractsubreg (MVT::i8 , OpReg, /* Kill =*/ true ,
1762
+ OpReg = fastEmitInst_extractsubreg (MVT::i8 , OpReg, /* Op0IsKill =*/ true ,
1761
1763
X86::sub_8bit);
1762
1764
}
1763
1765
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc, TII.get (X86::TEST8ri))
@@ -1989,7 +1991,7 @@ bool X86FastISel::X86SelectDivRem(const Instruction *I) {
1989
1991
1990
1992
// Now reference the 8-bit subreg of the result.
1991
1993
ResultReg = fastEmitInst_extractsubreg (MVT::i8 , ResultSuperReg,
1992
- /* Kill =*/ true , X86::sub_8bit);
1994
+ /* Op0IsKill =*/ true , X86::sub_8bit);
1993
1995
}
1994
1996
// Copy the result out of the physreg if we haven't already.
1995
1997
if (!ResultReg) {
@@ -2103,7 +2105,7 @@ bool X86FastISel::X86FastEmitCMoveSelect(MVT RetVT, const Instruction *I) {
2103
2105
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc,
2104
2106
TII.get (TargetOpcode::COPY), CondReg)
2105
2107
.addReg (KCondReg, getKillRegState (CondIsKill));
2106
- CondReg = fastEmitInst_extractsubreg (MVT::i8 , CondReg, /* Kill =*/ true ,
2108
+ CondReg = fastEmitInst_extractsubreg (MVT::i8 , CondReg, /* Op0IsKill =*/ true ,
2107
2109
X86::sub_8bit);
2108
2110
}
2109
2111
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc, TII.get (X86::TEST8ri))
@@ -2257,12 +2259,12 @@ bool X86FastISel::X86FastEmitSSESelect(MVT RetVT, const Instruction *I) {
2257
2259
const TargetRegisterClass *VR128 = &X86::VR128RegClass;
2258
2260
Register CmpReg = fastEmitInst_rri (Opc[0 ], RC, CmpLHSReg, CmpLHSIsKill,
2259
2261
CmpRHSReg, CmpRHSIsKill, CC);
2260
- Register AndReg = fastEmitInst_rr (Opc[1 ], VR128, CmpReg, /* IsKill= */ false ,
2261
- LHSReg, LHSIsKill);
2262
- Register AndNReg = fastEmitInst_rr (Opc[2 ], VR128, CmpReg, /* IsKill= */ true ,
2263
- RHSReg, RHSIsKill);
2264
- Register OrReg = fastEmitInst_rr (Opc[3 ], VR128, AndNReg, /* IsKill =*/ true ,
2265
- AndReg, /* IsKill =*/ true );
2262
+ Register AndReg = fastEmitInst_rr (Opc[1 ], VR128, CmpReg,
2263
+ /* Op0IsKill= */ false , LHSReg, LHSIsKill);
2264
+ Register AndNReg = fastEmitInst_rr (Opc[2 ], VR128, CmpReg,
2265
+ /* Op0IsKill= */ true , RHSReg, RHSIsKill);
2266
+ Register OrReg = fastEmitInst_rr (Opc[3 ], VR128, AndNReg, /* Op0IsKill =*/ true ,
2267
+ AndReg, /* Op1IsKill =*/ true );
2266
2268
ResultReg = createResultReg (RC);
2267
2269
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc,
2268
2270
TII.get (TargetOpcode::COPY), ResultReg).addReg (OrReg);
@@ -2321,7 +2323,7 @@ bool X86FastISel::X86FastEmitPseudoSelect(MVT RetVT, const Instruction *I) {
2321
2323
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc,
2322
2324
TII.get (TargetOpcode::COPY), CondReg)
2323
2325
.addReg (KCondReg, getKillRegState (CondIsKill));
2324
- CondReg = fastEmitInst_extractsubreg (MVT::i8 , CondReg, /* Kill =*/ true ,
2326
+ CondReg = fastEmitInst_extractsubreg (MVT::i8 , CondReg, /* Op0IsKill =*/ true ,
2325
2327
X86::sub_8bit);
2326
2328
}
2327
2329
BuildMI (*FuncInfo.MBB , FuncInfo.InsertPt , DbgLoc, TII.get (X86::TEST8ri))
@@ -2578,7 +2580,7 @@ bool X86FastISel::TryEmitSmallMemcpy(X86AddressMode DestAM,
2578
2580
2579
2581
unsigned Reg;
2580
2582
bool RV = X86FastEmitLoad (VT, SrcAM, nullptr , Reg);
2581
- RV &= X86FastEmitStore (VT, Reg, /* Kill =*/ true , DestAM);
2583
+ RV &= X86FastEmitStore (VT, Reg, /* ValIsKill =*/ true , DestAM);
2582
2584
assert (RV && " Failed to emit load or store??" );
2583
2585
2584
2586
unsigned Size = VT.getSizeInBits ()/8 ;
@@ -2642,15 +2644,15 @@ bool X86FastISel::fastLowerIntrinsicCall(const IntrinsicInst *II) {
2642
2644
assert (Op->getType ()->isIntegerTy (16 ) && " Expected a 16-bit integer!" );
2643
2645
// Explicitly zero-extend the input to 32-bit.
2644
2646
InputReg = fastEmit_r (MVT::i16 , MVT::i32 , ISD::ZERO_EXTEND, InputReg,
2645
- /* Kill =*/ false );
2647
+ /* Op0IsKill =*/ false );
2646
2648
2647
2649
// The following SCALAR_TO_VECTOR will be expanded into a VMOVDI2PDIrr.
2648
2650
InputReg = fastEmit_r (MVT::i32 , MVT::v4i32, ISD::SCALAR_TO_VECTOR,
2649
- InputReg, /* Kill =*/ true );
2651
+ InputReg, /* Op0IsKill =*/ true );
2650
2652
2651
2653
unsigned Opc = Subtarget->hasVLX () ? X86::VCVTPH2PSZ128rr
2652
2654
: X86::VCVTPH2PSrr;
2653
- InputReg = fastEmitInst_r (Opc, RC, InputReg, /* Kill =*/ true );
2655
+ InputReg = fastEmitInst_r (Opc, RC, InputReg, /* Op0IsKill =*/ true );
2654
2656
2655
2657
// The result value is in the lower 32-bits of ResultReg.
2656
2658
// Emit an explicit copy from register class VR128 to register class FR32.
@@ -3692,10 +3694,10 @@ unsigned X86FastISel::X86MaterializeInt(const ConstantInt *CI, MVT VT) {
3692
3694
default : llvm_unreachable (" Unexpected value type" );
3693
3695
case MVT::i1:
3694
3696
case MVT::i8 :
3695
- return fastEmitInst_extractsubreg (MVT::i8 , SrcReg, /* Kill =*/ true ,
3697
+ return fastEmitInst_extractsubreg (MVT::i8 , SrcReg, /* Op0IsKill =*/ true ,
3696
3698
X86::sub_8bit);
3697
3699
case MVT::i16 :
3698
- return fastEmitInst_extractsubreg (MVT::i16 , SrcReg, /* Kill =*/ true ,
3700
+ return fastEmitInst_extractsubreg (MVT::i16 , SrcReg, /* Op0IsKill =*/ true ,
3699
3701
X86::sub_16bit);
3700
3702
case MVT::i32 :
3701
3703
return SrcReg;
0 commit comments