reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

unittests/CodeGen/GlobalISel/CSETest.cpp
   21   auto MIBInput = B.buildInstr(TargetOpcode::G_TRUNC, {s16}, {Copies[0]});
   22   auto MIBInput1 = B.buildInstr(TargetOpcode::G_TRUNC, {s16}, {Copies[1]});
   23   auto MIBAdd = B.buildInstr(TargetOpcode::G_ADD, {s16}, {MIBInput, MIBInput});
   27   B.setCSEInfo(&CSEInfo);
   28   CSEMIRBuilder CSEB(B.getState());
   83   auto MIBInput = B.buildInstr(TargetOpcode::G_TRUNC, {s16}, {Copies[0]});
   84   auto MIBAdd = B.buildInstr(TargetOpcode::G_ADD, {s16}, {MIBInput, MIBInput});
   85   auto MIBZero = B.buildConstant(s16, 0);
   89   B.setCSEInfo(&CSEInfo);
   90   CSEMIRBuilder CSEB(B.getState());
unittests/CodeGen/GlobalISel/ConstantFoldingTest.cpp
   25   ConstantFoldingMIRBuilder CFB(B.getState());
   77   auto MIBCst1 = B.buildConstant(s32, 16);
   78   auto MIBCst2 = B.buildConstant(s32, 9);
   79   auto MIBFCst1 = B.buildFConstant(s32, 1.0000001);
   80   auto MIBFCst2 = B.buildFConstant(s32, 2.0);
unittests/CodeGen/GlobalISel/GISelMITest.h
  147     B.setMF(*MF);
  149     B.setInsertPt(*EntryMBB, EntryMBB->end());
unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
  128   auto SignBit = B.buildConstant(S32, 0x80000000);
  129   auto Zero = B.buildConstant(S32, 0);
unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
   39       B.buildInstr(TargetOpcode::G_CTTZ, {LLT::scalar(64)}, {Copies[0]});
   42   LegalizerHelper Helper(*MF, Info, Observer, B);
   71       B.buildInstr(TargetOpcode::G_CTTZ, {LLT::scalar(64)}, {Copies[0]});
   74   LegalizerHelper Helper(*MF, Info, Observer, B);
  105       B.buildInstr(TargetOpcode::G_CTTZ, {LLT::scalar(64)}, {Copies[0]});
  108   LegalizerHelper Helper(*MF, Info, Observer, B);
  138   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  139   auto MIBCTPOP = B.buildInstr(TargetOpcode::G_CTPOP, {s16}, {MIBTrunc});
  142   LegalizerHelper Helper(*MF, Info, Observer, B);
  171   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  172   auto MIBCTPOP = B.buildInstr(TargetOpcode::G_CTPOP, {s32}, {MIBTrunc});
  175   LegalizerHelper Helper(*MF, Info, Observer, B);
  200   auto MIBCTTZ = B.buildInstr(TargetOpcode::G_CTTZ_ZERO_UNDEF,
  204   LegalizerHelper Helper(*MF, Info, Observer, B);
  228       B.buildInstr(TargetOpcode::G_CTLZ, {LLT::scalar(64)}, {Copies[0]});
  231   LegalizerHelper Helper(*MF, Info, Observer, B);
  259       B.buildInstr(TargetOpcode::G_CTLZ, {LLT::scalar(64)}, {Copies[0]});
  262   LegalizerHelper Helper(*MF, Info, Observer, B);
  291   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  292   auto MIBCTLZ = B.buildInstr(TargetOpcode::G_CTLZ, {s8}, {MIBTrunc});
  295   LegalizerHelper Helper(*MF, Info, Observer, B);
  333   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  334   auto MIBCTLZ = B.buildInstr(TargetOpcode::G_CTLZ, {s8}, {MIBTrunc});
  337   LegalizerHelper Helper(*MF, Info, Observer, B);
  368   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  370       B.buildInstr(TargetOpcode::G_CTLZ_ZERO_UNDEF, {s8}, {MIBTrunc});
  373   LegalizerHelper Helper(*MF, Info, Observer, B);
  404   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  405   auto MIBCTPOP = B.buildInstr(TargetOpcode::G_CTPOP, {s8}, {MIBTrunc});
  408   LegalizerHelper Helper(*MF, Info, Observer, B);
  437   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  439       B.buildInstr(TargetOpcode::G_CTTZ_ZERO_UNDEF, {s8}, {MIBTrunc});
  442   LegalizerHelper Helper(*MF, Info, Observer, B);
  471   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  472   auto MIBCTTZ = B.buildInstr(TargetOpcode::G_CTTZ, {s8}, {MIBTrunc});
  475   LegalizerHelper Helper(*MF, Info, Observer, B);
  505   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  508       B.buildInstr(TargetOpcode::G_UADDO, {s8, CarryReg}, {MIBTrunc, MIBTrunc});
  511   LegalizerHelper Helper(*MF, Info, Observer, B);
  544   auto MIBTrunc = B.buildTrunc(s8, Copies[0]);
  547       B.buildInstr(TargetOpcode::G_USUBO, {s8, CarryReg}, {MIBTrunc, MIBTrunc});
  550   LegalizerHelper Helper(*MF, Info, Observer, B);
  582   auto Op0 = B.buildUndef(V5S32);
  583   auto Op1 = B.buildUndef(V5S32);
  584   auto And = B.buildAnd(V5S32, Op0, Op1);
  588   LegalizerHelper Helper(*MF, Info, Observer, B);
  631   LegalizerHelper Helper(*MF, LI, Observer, B);
  633   B.setInsertPt(*EntryMBB, EntryMBB->end());
  635   auto Val0 = B.buildBitcast(v2s32, Copies[0]);
  636   auto Val1 = B.buildBitcast(v2s32, Copies[1]);
  638   auto And = B.buildAnd(v2s32, Val0, Val1);
  675   LegalizerHelper Helper(*MF, LI, Observer, B);
  676   B.setMBB(*EntryMBB);
  687   auto InitVal = B.buildUndef(PhiTy);
  688   auto InitOtherVal = B.buildConstant(s64, 999);
  690   auto ICmp = B.buildICmp(CmpInst::ICMP_EQ, s1, Copies[0], Copies[1]);
  691   B.buildBrCond(ICmp.getReg(0), *MidMBB);
  692   B.buildBr(*EndMBB);
  695   B.setMBB(*MidMBB);
  696   auto MidVal = B.buildUndef(PhiTy);
  697   auto MidOtherVal = B.buildConstant(s64, 345);
  698   B.buildBr(*EndMBB);
  700   B.setMBB(*EndMBB);
  701   auto Phi = B.buildInstr(TargetOpcode::G_PHI)
  710   B.buildInstr(TargetOpcode::G_PHI)
  718   B.buildAnd(PhiTy, Phi.getReg(0), Phi.getReg(0));
  763     B.buildInstr(TargetOpcode::G_FADD, {LLT::scalar(64)}, {Copies[0], Copies[1]},
  768     B.buildInstr(TargetOpcode::G_FNEG, {LLT::scalar(64)}, {FAdd.getReg(0)},
  773     B.buildInstr(TargetOpcode::G_FNEG, {LLT::scalar(64)}, {Copies[0]},
  778   LegalizerHelper Helper(*MF, Info, Observer, B);
  809   auto SMin = B.buildSMin(s64, Copies[0], Copies[1]);
  810   auto SMax = B.buildSMax(s64, Copies[0], Copies[1]);
  811   auto UMin = B.buildUMin(s64, Copies[0], Copies[1]);
  812   auto UMax = B.buildUMax(s64, Copies[0], Copies[1]);
  814   auto VecVal0 = B.buildBitcast(v2s32, Copies[0]);
  815   auto VecVal1 = B.buildBitcast(v2s32, Copies[1]);
  817   auto SMinV = B.buildSMin(v2s32, VecVal0, VecVal1);
  818   auto SMaxV = B.buildSMax(v2s32, VecVal0, VecVal1);
  819   auto UMinV = B.buildUMin(v2s32, VecVal0, VecVal1);
  820   auto UMaxV = B.buildUMax(v2s32, VecVal0, VecVal1);
  824   LegalizerHelper Helper(*MF, Info, Observer, B);
  891   LegalizerHelper Helper(*MF, Info, Observer, B);
  892   B.setInsertPt(*EntryMBB, EntryMBB->end());
  894   Register Constant0 = B.buildConstant(S16, 1).getReg(0);
  895   Register Constant1 = B.buildConstant(S16, 2).getReg(0);
  896   auto BV0 = B.buildBuildVector(V2S16, {Constant0, Constant1});
  897   auto BV1 = B.buildBuildVector(V2S16, {Constant0, Constant1});
  940   LegalizerHelper Helper(*MF, Info, Observer, B);
  941   B.setInsertPt(*EntryMBB, EntryMBB->end());
  949     Merge0Ops.push_back(B.buildConstant(S3, I).getReg(0));
  951   auto Merge0 = B.buildMerge(S24, Merge0Ops);
  958     Merge1Ops.push_back(B.buildConstant(S3, I).getReg(0));
  960   auto Merge1 = B.buildMerge(S21, Merge1Ops);
  964     Merge2Ops.push_back(B.buildConstant(S8, I).getReg(0));
  966   auto Merge2 = B.buildMerge(S16, Merge2Ops);
 1030   LegalizerHelper Helper(*MF, Info, Observer, B);
 1031   B.setInsertPt(*EntryMBB, EntryMBB->end());
 1037   auto Lo = B.buildTrunc(S32, Copies[0]);
 1038   auto Hi = B.buildTrunc(S32, Copies[1]);
 1040   auto Merge = B.buildMerge(P0, {Lo.getReg(0), Hi.getReg(0)});
 1068   auto MIB = B.buildInstr(
 1070       {B.buildInstr(TargetOpcode::G_TRUNC, {LLT::scalar(32)}, {Copies[0]}),
 1074   LegalizerHelper Helper(*MF, Info, Observer, B);
 1099   auto MIB = B.buildInstr(
 1101       {B.buildInstr(TargetOpcode::G_TRUNC, {LLT::scalar(16)}, {Copies[0]}),
 1105   LegalizerHelper Helper(*MF, Info, Observer, B);
 1129   auto MIB = B.buildInstr(
 1131       {B.buildInstr(TargetOpcode::G_TRUNC, {LLT::scalar(32)}, {Copies[0]}),
 1135   LegalizerHelper Helper(*MF, Info, Observer, B);
 1161   auto MIB = B.buildInstr(
 1163       {B.buildInstr(TargetOpcode::G_TRUNC, {LLT::scalar(32)}, {Copies[0]}),
 1167   LegalizerHelper Helper(*MF, Info, Observer, B);
unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
   17   B.buildConstant(LLT::scalar(32), 42);
   18   B.buildFConstant(LLT::scalar(32), 1.0);
   20   B.buildConstant(LLT::vector(2, 32), 99);
   21   B.buildFConstant(LLT::vector(2, 32), 2.0);
   25   B.buildFConstant(LLT::scalar(64), KVal);
   53   EXPECT_DEATH(B.buildConstant(LLT::scalar(16), APV32),
   55   EXPECT_DEATH(B.buildConstant(LLT::vector(2, 16), APV32),
   60   EXPECT_DEATH(B.buildConstant(LLT::scalar(16), *CI),
   62   EXPECT_DEATH(B.buildConstant(LLT::vector(2, 16), *CI),
   67   EXPECT_DEATH(B.buildFConstant(LLT::scalar(16), *CF),
   69   EXPECT_DEATH(B.buildFConstant(LLT::vector(2, 16), *CF),
   85   auto MIBAdd = B.buildAdd(s64, Copies[0], Copies[1]);
   89   B.buildAdd(MIBAdd->getOperand(0), MIBAdd->getOperand(1), MIBAdd->getOperand(2));
  109   B.buildUnmerge(LLT::scalar(32), Copies[0]);
  110   B.buildUnmerge(LLT::scalar(16), Copies[1]);
  133   B.buildFAdd(S64, Copies[0], Copies[1]);
  134   B.buildFSub(S64, Copies[0], Copies[1]);
  135   B.buildFMA(S64, Copies[0], Copies[1], Copies[2]);
  136   B.buildFMAD(S64, Copies[0], Copies[1], Copies[2]);
  137   B.buildFMAD(S64, Copies[0], Copies[1], Copies[2], MachineInstr::FmNoNans);
  138   B.buildFNeg(S64, Copies[0]);
  139   B.buildFAbs(S64, Copies[0]);
  140   B.buildFCopysign(S64, Copies[0], Copies[1]);
  169   B.buildIntrinsic(Intrinsic::sqrt, {S64}, false)
  175   B.buildIntrinsic(Intrinsic::sqrt, Results, false)
  197   B.buildXor(S64, Copies[0], Copies[1]);
  198   B.buildNot(S64, Copies[0]);
  201   auto Merge = B.buildMerge(S128, {Copies[0], Copies[1]});
  202   B.buildNot(S128, Merge);
  226   B.buildCTPOP(S32, Copies[0]);
  227   B.buildCTLZ(S32, Copies[0]);
  228   B.buildCTLZ_ZERO_UNDEF(S32, Copies[1]);
  229   B.buildCTTZ(S32, Copies[0]);
  230   B.buildCTTZ_ZERO_UNDEF(S32, Copies[1]);
  254   B.buildUITOFP(S32, Copies[0]);
  255   B.buildSITOFP(S32, Copies[0]);
  256   B.buildFPTOUI(S32, Copies[0]);
  257   B.buildFPTOSI(S32, Copies[0]);
  279   B.buildSMin(S64, Copies[0], Copies[1]);
  280   B.buildSMax(S64, Copies[0], Copies[1]);
  281   B.buildUMin(S64, Copies[0], Copies[1]);
  282   B.buildUMax(S64, Copies[0], Copies[1]);
  312   auto Ptr = B.buildUndef(P0);
  313   B.buildAtomicRMWFAdd(S64, Ptr, Copies[0], *MMO);
  314   B.buildAtomicRMWFSub(S64, Ptr, Copies[0], *MMO);
  333   Register RegC0 = B.buildConstant(S32, 0)->getOperand(0).getReg();
  334   Register RegC1 = B.buildConstant(S32, 1)->getOperand(0).getReg();
  335   Register RegC2 = B.buildConstant(S32, 2)->getOperand(0).getReg();
  336   Register RegC3 = B.buildConstant(S32, 3)->getOperand(0).getReg();
  340   B.buildMerge(LLT::scalar(128), {RegC0, RegC1, RegC2, RegC3});
  344       B.buildMerge(V2x32, {RegC0, RegC1})->getOperand(0).getReg();
  346       B.buildMerge(V2x32, {RegC2, RegC3})->getOperand(0).getReg();
  348   B.buildMerge(LLT::vector(4, 32), {RegC0C1, RegC2C3});
unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
   37   auto MIBCst = B.buildConstant(LLT::scalar(64), 42);
   49   auto MIBAdd = B.buildAdd(s64, Copies[0], Copies[1]);
   62   auto MIBMul = B.buildMul(s64, MIBAdd, Copies[2]);
   80   auto MIBMul2 = B.buildMul(s64, Copies[0], B.buildConstant(s64, 42));
   80   auto MIBMul2 = B.buildMul(s64, Copies[0], B.buildConstant(s64, 42));
   91   auto MIBSub = B.buildSub(s64, Copies[0], B.buildConstant(s64, 42));
   91   auto MIBSub = B.buildSub(s64, Copies[0], B.buildConstant(s64, 42));
   96   auto MIBFMul = B.buildInstr(TargetOpcode::G_FMUL, {s64},
   97                               {Copies[0], B.buildConstant(s64, 42)});
  106   auto MIBFSub = B.buildInstr(TargetOpcode::G_FSUB, {s64},
  107                               {Copies[0], B.buildConstant(s64, 42)});
  114   auto MIBAnd = B.buildAnd(s64, Copies[0], Copies[1]);
  123   auto MIBOr = B.buildOr(s64, Copies[0], Copies[1]);
  139   auto Copy0s32 = B.buildFPTrunc(s32, Copies[0]);
  142   auto MIBFabs = B.buildInstr(TargetOpcode::G_FABS, {s32}, {Copy0s32});
  148   auto MIBFNeg = B.buildInstr(TargetOpcode::G_FNEG, {s32}, {Copy0s32});
  158   auto MIBFCst = B.buildFConstant(s32, .5);
  169   auto MIBFCst64 = B.buildFConstant(s64, .5);
  181   auto MIBFCst16 = B.buildFConstant(s16, .5);
  202   auto MIBTrunc = B.buildTrunc(s32, Copies[0]);
  203   auto MIBAExt = B.buildAnyExt(s64, MIBTrunc);
  204   auto MIBZExt = B.buildZExt(s64, MIBTrunc);
  205   auto MIBSExt = B.buildSExt(s64, MIBTrunc);
  249   auto MIBAdd = B.buildAdd(s64, Copies[0], Copies[1]);
  257   auto MIBCast = B.buildCast(v2s32, Copies[0]);
  267   auto MIBIntToPtr = B.buildCast(PtrTy, Copies[0]);
  268   auto MIBPtrToInt = B.buildCast(s64, MIBIntToPtr);
  285   auto MIBAdd = B.buildAdd(s64, Copies[0], Copies[1]);
  318   auto MIBAdd = B.buildAdd(s64, Copies[0], Copies[1]);
  320   B.buildCast(LLT::pointer(0, 32), MIBAdd);
  321   B.buildCast(LLT::pointer(1, 32), MIBAdd);