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

References

include/llvm/Analysis/IVDescriptors.h
  335     return InductionBinOp ? InductionBinOp->getOpcode()
lib/Analysis/BasicAliasAnalysis.cpp
  308       switch (BOp->getOpcode()) {
lib/Analysis/IVDescriptors.cpp
  803            (InductionBinOp->getOpcode() == Instruction::FAdd ||
  804             InductionBinOp->getOpcode() == Instruction::FSub))) &&
  857   if (BOp->getOpcode() == Instruction::FAdd) {
  862   } else if (BOp->getOpcode() == Instruction::FSub)
lib/Analysis/InlineCost.cpp
 1075     SimpleV = SimplifyBinOp(I.getOpcode(), CLHS ? CLHS : LHS,
 1079         SimplifyBinOp(I.getOpcode(), CLHS ? CLHS : LHS, CRHS ? CRHS : RHS, DL);
lib/Analysis/InstructionSimplify.cpp
   76     BinOpCode = BO->getOpcode();
  180     if (Op0->getOpcode() == OpcodeToExpand) {
  203     if (Op1->getOpcode() == OpcodeToExpand) {
  243   if (Op0 && Op0->getOpcode() == Opcode) {
  262   if (Op1 && Op1->getOpcode() == Opcode) {
  285   if (Op0 && Op0->getOpcode() == Opcode) {
  304   if (Op1 && Op1->getOpcode() == Opcode) {
 2676     if (LBO && LBO->getOpcode() == Instruction::Add) {
 2686     if (RBO && RBO->getOpcode() == Instruction::Add) {
 2930   if (MaxRecurse && LBO && RBO && LBO->getOpcode() == RBO->getOpcode() &&
 2930   if (MaxRecurse && LBO && RBO && LBO->getOpcode() == RBO->getOpcode() &&
 2932     switch (LBO->getOpcode()) {
 3698         return SimplifyBinOp(B->getOpcode(), RepOp, B->getOperand(1), Q,
 3701         return SimplifyBinOp(B->getOpcode(), B->getOperand(0), RepOp, Q,
lib/Analysis/LazyValueInfo.cpp
 1087   if (BO->getOpcode() == Instruction::Xor) {
 1105           return CR1.overflowingBinaryOp(BO->getOpcode(), CR2, NoWrapKind);
 1111         return CR1.binaryOp(BO->getOpcode(), CR2);
 1295   if (!BO || (isTrueDest && BO->getOpcode() != BinaryOperator::And) ||
 1296              (!isTrueDest && BO->getOpcode() != BinaryOperator::Or))
 1369             SimplifyBinOp(BO->getOpcode(), LHS, RHS, DL))) {
lib/Analysis/LoopUnrollAnalyzer.cpp
   81         SimplifyBinOp(I.getOpcode(), LHS, RHS, FI->getFastMathFlags(), DL);
   83     SimpleV = SimplifyBinOp(I.getOpcode(), LHS, RHS, DL);
lib/Analysis/PHITransAddr.cpp
  265       if (BOp->getOpcode() == Instruction::Add)
  293         if (BO->getOpcode() == Instruction::Add &&
lib/Analysis/ScalarEvolution.cpp
 6336             if (LBO->getOpcode() == Instruction::And &&
 7228     if (BO->getOpcode() == Instruction::And) {
 7276     if (BO->getOpcode() == Instruction::Or) {
 9684     if (BO->getOpcode() == Instruction::And) {
 9688     } else if (BO->getOpcode() == Instruction::Or) {
lib/Analysis/ValueTracking.cpp
 1950             if (BO->getOpcode() == Instruction::And) {
 2251   if (!BO || BO->getOpcode() != Instruction::Add)
 5320   assert((LHS->getOpcode() == Instruction::And ||
 5321           LHS->getOpcode() == Instruction::Or) &&
 5379     if ((LHSBO->getOpcode() == Instruction::And ||
 5380          LHSBO->getOpcode() == Instruction::Or))
 5422   switch (BO.getOpcode()) {
lib/CodeGen/CodeGenPrepare.cpp
 1199   if (BO->getOpcode() == Instruction::Add &&
 1569       if (ShiftI->getOpcode() == Instruction::AShr)
 1670       if (ShiftI->getOpcode() == Instruction::AShr)
 5922   BinaryOperator::BinaryOps Opcode = Shift->getOpcode();
 7012   if (BinOp && (BinOp->getOpcode() == Instruction::And) &&
 7017   if (BinOp && (BinOp->getOpcode() == Instruction::AShr ||
 7018                 BinOp->getOpcode() == Instruction::LShr)) {
lib/CodeGen/InterleavedLoadCombinePass.cpp
  914     switch (BO.getOpcode()) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 2263     Instruction::BinaryOps Opcode = BOp->getOpcode();
lib/ExecutionEngine/Interpreter/Execution.cpp
  781     switch(I.getOpcode()){
  818     switch (I.getOpcode()) {
lib/IR/Instructions.cpp
 2276   switch (getOpcode()) {
 4110   return Create(getOpcode(), Op<0>(), Op<1>());
lib/IR/Verifier.cpp
 3162   switch (B.getOpcode()) {
lib/Target/AArch64/AArch64FastISel.cpp
  758       if (AI->getOpcode() == Instruction::And) {
 1199         if (SI->getOpcode() == Instruction::Shl  ||
 1200             SI->getOpcode() == Instruction::LShr ||
 1201             SI->getOpcode() == Instruction::AShr   )
 1234         if ((SI->getOpcode() == Instruction::Shl) && (C->getZExtValue() < 4)) {
 1280         switch (SI->getOpcode()) {
 2339       if (AI->getOpcode() == Instruction::And && isValueAvailable(AI)) {
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
  219   return I.getOpcode() == Instruction::AShr ||
  220       I.getOpcode() == Instruction::SDiv || I.getOpcode() == Instruction::SRem;
  220       I.getOpcode() == Instruction::SDiv || I.getOpcode() == Instruction::SRem;
  287   if (I.getOpcode() == Instruction::SDiv ||
  288       I.getOpcode() == Instruction::UDiv ||
  289       I.getOpcode() == Instruction::SRem ||
  290       I.getOpcode() == Instruction::URem)
  310   ExtRes = Builder.CreateBinOp(I.getOpcode(), ExtOp0, ExtOp1);
  461   if (I.getOpcode() != Instruction::Mul)
  742   Instruction::BinaryOps Opc = I.getOpcode();
  894   Instruction::BinaryOps Opc = I.getOpcode();
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
  638     if (BO->getOpcode() != Instruction::Add)
 1603       return B.CreateBinOp(cast<BinaryOperator>(T)->getOpcode(),
 1632       Instruction::BinaryOps Op = BO->getOpcode();
 1690       switch (BitOp->getOpcode()) {
 1700       return B.CreateBinOp(BitOp->getOpcode(),
 1717       if (!BitOp1 || !IsBitOp(BitOp1->getOpcode()))
 1720       if (!BitOp2 || !IsBitOp(BitOp2->getOpcode()))
 1728       return B.CreateBinOp(BitOp2->getOpcode(), X,
 1729                 B.CreateBinOp(BitOp1->getOpcode(), CA, CB));
lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
  106       if (!(Ashr && Ashr->getOpcode() == Instruction::AShr))
lib/Target/SystemZ/SystemZTDC.cpp
  102           (LI->getOpcode() == Instruction::And ||
  103            LI->getOpcode() == Instruction::Or ||
  104            LI->getOpcode() == Instruction::Xor)) {
  295   switch (I.getOpcode()) {
lib/Transforms/InstCombine/InstCombineAddSub.cpp
 1079   assert(I.getOpcode() == Instruction::Add && "Expecting add instruction");
 1103   assert((I.getOpcode() == Instruction::Add ||
 1104           I.getOpcode() == Instruction::Or ||
 1105           I.getOpcode() == Instruction::Sub) &&
 1119   if (I.getOpcode() == Instruction::Sub && I.getOperand(1) != Select)
 1147     if (I.getOpcode() == Instruction::Sub)
 1186   if (I.getOpcode() == Instruction::Sub
 1435   assert((I.getOpcode() == Instruction::FAdd ||
 1436           I.getOpcode() == Instruction::FSub) && "Expecting fadd/fsub");
 1461   bool IsFAdd = I.getOpcode() == Instruction::FAdd;
 1691       assert(BO->getOpcode() == Instruction::Sub &&
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  109   Value *BinOp = Builder.CreateBinOp(I.getOpcode(), NewLHS, NewRHS);
  123   switch (Op->getOpcode()) {
 1415   Instruction::BinaryOps Opcode = BO.getOpcode();
 1431       !match(Op1, m_BinOp(BO1)) || BO1->getOpcode() != Opcode)
 1460   auto Opcode = I.getOpcode();
 1502   auto LogicOpc = Logic.getOpcode();
 1536   auto LogicOpc = I.getOpcode();
 1603   assert(I.getOpcode() == Instruction::And);
 1629   assert(I.getOpcode() == Instruction::Or);
 1707   Instruction::BinaryOps Opc = cast<BinaryOperator>(Op0)->getOpcode();
 1791       BinaryOperator::BinaryOps BinOp = cast<BinaryOperator>(Op0)->getOpcode();
 1816       switch (Op0I->getOpcode()) {
 1835               BinOp = Builder.CreateBinOp(Op0I->getOpcode(), X, TruncC1);
 1837               BinOp = Builder.CreateBinOp(Op0I->getOpcode(), TruncC1, X);
 1980   assert(Or.getOpcode() == Instruction::Or && "bswap requires an 'or'");
 2047   BinaryOperator::BinaryOps ShiftOpcode0 = Or0->getOpcode();
 2048   BinaryOperator::BinaryOps ShiftOpcode1 = Or1->getOpcode();
 2628           Op1->hasOneUse() && (B->getOpcode() == Instruction::Or ||
 2629                                B->getOpcode() == Instruction::Xor)) {
 2739   assert(I.getOpcode() == Instruction::Xor);
 2799   assert(I.getOpcode() == Instruction::Xor && I.getOperand(0) == LHS &&
 3027     if (NotVal->getOpcode() == Instruction::And ||
 3028         NotVal->getOpcode() == Instruction::Or) {
 3038         if (NotVal->getOpcode() == Instruction::And)
 3128         if (Op0I->getOpcode() == Instruction::LShr) {
 3135               E1->getOpcode() == Instruction::Xor &&
lib/Transforms/InstCombine/InstCombineCasts.cpp
   48       if (I->getOpcode() == Instruction::Shl) {
   55       if (I->getOpcode() == Instruction::Mul) {
   62       if (I->getOpcode() == Instruction::Add) {
  518   auto ShiftOpcode0 = cast<BinaryOperator>(Or0)->getOpcode();
  519   auto ShiftOpcode1 = cast<BinaryOperator>(Or1)->getOpcode();
  591   switch (BinOp->getOpcode()) {
  603       return BinaryOperator::Create(BinOp->getOpcode(), NarrowC, TruncX);
  609       return BinaryOperator::Create(BinOp->getOpcode(), TruncX, NarrowC);
  615       return BinaryOperator::Create(BinOp->getOpcode(), X, NarrowOp1);
  620       return BinaryOperator::Create(BinOp->getOpcode(), NarrowOp0, X);
 1179   if (SrcI && SrcI->getOpcode() == Instruction::Or) {
 1543     switch (BO->getOpcode()) {
 1568           Instruction *RI = BinaryOperator::Create(BO->getOpcode(), LHS, RHS);
 2076     return BinaryOperator::Create(BO->getOpcode(), X, CastedOp1);
 2083     return BinaryOperator::Create(BO->getOpcode(), CastedOp0, X);
 2095     return BinaryOperator::Create(BO->getOpcode(), CastedOp0, CastedC);
lib/Transforms/InstCombine/InstCombineCompares.cpp
 1644   unsigned ShiftOpcode = Shift->getOpcode();
 2189   bool IsAShr = Shr->getOpcode() == Instruction::AShr;
 2345   bool DivIsSigned = Div->getOpcode() == Instruction::SDiv;
 2825     switch (BO->getOpcode()) {
 2917   switch (BO->getOpcode()) {
 3705   if (BO0 && BO0->getOpcode() == Instruction::Add) {
 3709   if (BO1 && BO1->getOpcode() == Instruction::Add) {
 3847   if (BO0 && BO0->getOpcode() == Instruction::Sub) {
 3851   if (BO1 && BO1->getOpcode() == Instruction::Sub) {
 3899   if (BO0 && BO0->getOpcode() == Instruction::SRem && Op1 == BO0->getOperand(1))
 3902   else if (BO1 && BO1->getOpcode() == Instruction::SRem &&
 3926   if (BO0 && BO1 && BO0->getOpcode() == BO1->getOpcode() && BO0->hasOneUse() &&
 3926   if (BO0 && BO1 && BO0->getOpcode() == BO1->getOpcode() && BO0->hasOneUse() &&
 3928     switch (BO0->getOpcode()) {
 3947         if (BO0->getOpcode() == Instruction::Xor && C->isMaxSignedValue()) {
 4575         if (BO->getOpcode() != Instruction::And)
 4704         assert(BO->getOpcode() == Instruction::And);
lib/Transforms/InstCombine/InstCombineInternal.h
  203     if (BO->getOpcode() == Instruction::Add ||
  204         BO->getOpcode() == Instruction::Sub)
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
   79     if (I->getOpcode() == Instruction::LShr && !I->isExact()) {
   84     if (I->getOpcode() == Instruction::Shl && !I->hasNoUnsignedWrap()) {
  303     if (!Div || (Div->getOpcode() != Instruction::UDiv &&
  304                  Div->getOpcode() != Instruction::SDiv)) {
  311         (Div->getOpcode() == Instruction::UDiv ||
  312          Div->getOpcode() == Instruction::SDiv)) {
  322       auto RemOpc = Div->getOpcode() == Instruction::UDiv ? Instruction::URem
  682   bool IsSigned = I.getOpcode() == Instruction::SDiv;
  706         return BinaryOperator::Create(I.getOpcode(), X,
  716         auto *NewDiv = BinaryOperator::Create(I.getOpcode(), X,
  742         auto *BO = BinaryOperator::Create(I.getOpcode(), X,
  789       return BinaryOperator::Create(I.getOpcode(), X, Op1);
  921   Instruction::BinaryOps Opcode = I.getOpcode();
 1326             (I.getOpcode() == Instruction::URem ||
lib/Transforms/InstCombine/InstCombinePHI.cpp
  365     BinaryOperator::Create(BinOp->getOpcode(), LHSVal, RHSVal);
  814     BinOp = BinaryOperator::Create(BinOp->getOpcode(), PhiVal, ConstantOp);
lib/Transforms/InstCombine/InstCombineSelect.cpp
   85   Constant *IdC = ConstantExpr::getBinOpIdentity(BO->getOpcode(), Ty, true);
  244   switch (I->getOpcode()) {
  264   switch (I->getOpcode()) {
  399     BinaryOperator *NewBO = BinaryOperator::Create(BO->getOpcode(), Op0, Op1);
  449             BinaryOperator *BO = BinaryOperator::Create(TVI->getOpcode(),
  480             BinaryOperator *BO = BinaryOperator::Create(FVI->getOpcode(),
 1113       return SimplifyBinOp(BO->getOpcode(), ReplaceOp, BO->getOperand(1), Q);
 1115       return SimplifyBinOp(BO->getOpcode(), BO->getOperand(0), ReplaceOp, Q);
 2064   if (AddSub->getOpcode() == Instruction::Add)
 2066   else if (AddSub->getOpcode() == Instruction::Sub)
 2152   auto ShiftOpcode0 = cast<BinaryOperator>(Or0)->getOpcode();
 2153   auto ShiftOpcode1 = cast<BinaryOperator>(Or1)->getOpcode();
 2572     switch (BO->getOpcode()) {
lib/Transforms/InstCombine/InstCombineShifts.cpp
   70   Instruction::BinaryOps ShiftOpcode = Sh0->getOpcode();
   71   bool IdenticalShOpcodes = Sh0->getOpcode() == Sh1->getOpcode();
  179   assert(OuterShift->getOpcode() == Instruction::BinaryOps::Shl &&
  276   auto *NewShift = BinaryOperator::Create(OuterShift->getOpcode(), X,
  294     return BinaryOperator::Create(I.getOpcode(), Op0, NewExt);
  323           I.getOpcode(), Builder.CreateBinOp(I.getOpcode(), Op0, C), A);
  323           I.getOpcode(), Builder.CreateBinOp(I.getOpcode(), Op0, C), A);
  471   bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl;
  590   switch (BO->getOpcode()) {
  594     return Shift.getOpcode() == Instruction::Shl;
  604   bool isLeftShift = I.getOpcode() == Instruction::Shl;
  612   if (I.getOpcode() != Instruction::AShr &&
  647       Value *NSh = Builder.CreateBinOp(I.getOpcode(), TrOp, ShAmt, I.getName());
  661       if (I.getOpcode() == Instruction::Shl)
  664         assert(I.getOpcode() == Instruction::LShr && "Unknown logical shift");
  683       switch (Op0BO->getOpcode()) {
  697           Value *X = Builder.CreateBinOp(Op0BO->getOpcode(), YS, V1,
  719           return BinaryOperator::Create(Op0BO->getOpcode(), YS, XM);
  732           Value *X = Builder.CreateBinOp(Op0BO->getOpcode(), V1, YS,
  754           return BinaryOperator::Create(Op0BO->getOpcode(), XM, YS);
  767           Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  771             Builder.CreateBinOp(I.getOpcode(), Op0BO->getOperand(0), Op1);
  774           return BinaryOperator::Create(Op0BO->getOpcode(), NewShift,
  782       if (isLeftShift && Op0BO->getOpcode() == Instruction::Sub &&
  784         Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  811         Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  815           Builder.CreateBinOp(I.getOpcode(), FalseVal, Op1);
  816         Value *NewOp = Builder.CreateBinOp(TBO->getOpcode(), NewShift,
  830         Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  834           Builder.CreateBinOp(I.getOpcode(), TrueVal, Op1);
  835         Value *NewOp = Builder.CreateBinOp(FBO->getOpcode(), NewShift,
  902             cast<BinaryOperator>(Op0)->getOpcode(), X, ShiftDiff);
 1099   assert(OldAShr.getOpcode() == Instruction::AShr &&
 1145   if (HighBitExtract->getOpcode() == OldAShr.getOpcode())
 1156       BinaryOperator::Create(OldAShr.getOpcode(), X, NumLowBitsToSkip);
lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  135           BinaryOperator::CreateWithCopiedFlags(B0->getOpcode(),
  382     return BinaryOperator::CreateWithCopiedFlags(BO->getOpcode(), E0, E1, BO);
 1238           BinaryOperator::Create(cast<BinaryOperator>(I)->getOpcode(),
 1446   switch (BO->getOpcode()) {
 1488   BinaryOperator::BinaryOps BOpcode = BO->getOpcode();
 1593   BinaryOperator::BinaryOps Opc0 = B0->getOpcode();
 1594   BinaryOperator::BinaryOps Opc1 = B1->getOpcode();
lib/Transforms/InstCombine/InstructionCombining.cpp
  209   Instruction::BinaryOps Opcode = I.getOpcode();
  269   auto AssocOpcode = BinOp1->getOpcode();
  271   if (!BinOp2 || !BinOp2->hasOneUse() || BinOp2->getOpcode() != AssocOpcode)
  314   Instruction::BinaryOps Opcode = I.getOpcode();
  330       if (Op0 && Op0->getOpcode() == Opcode) {
  363       if (Op1 && Op1->getOpcode() == Opcode) {
  391       if (Op0 && Op0->getOpcode() == Opcode) {
  411       if (Op1 && Op1->getOpcode() == Opcode) {
  435           Op0->getOpcode() == Opcode && Op1->getOpcode() == Opcode &&
  435           Op0->getOpcode() == Opcode && Op1->getOpcode() == Opcode &&
  536   return Op->getOpcode();
  549   Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
  650   Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
  683   if (Op0 && rightDistributesOverLeft(Op0->getOpcode(), TopLevelOpcode)) {
  687     Instruction::BinaryOps InnerOpcode = Op0->getOpcode(); // op'
  720   if (Op1 && leftDistributesOverRight(TopLevelOpcode, Op1->getOpcode())) {
  724     Instruction::BinaryOps InnerOpcode = Op1->getOpcode(); // op'
  762   Instruction::BinaryOps Opcode = I.getOpcode();
  849   Value *RI = Builder.CreateBinOp(BO->getOpcode(), Op0, Op1,
  914       return ConstantExpr::get(I->getOpcode(), InC, C);
  915     return ConstantExpr::get(I->getOpcode(), C, InC);
  922   Value *RI = Builder.CreateBinOp(I->getOpcode(), Op0, Op1, "phitmp");
 1225       if (BO->getOpcode() == Instruction::Mul) {
 1263       if (logScale > 0 && BO->getOpcode() == Instruction::Shl &&
 1405   BinaryOperator::BinaryOps Opcode = Inst.getOpcode();
 1571   if (BO.getOpcode() == Instruction::Sub)
 1598   if (BO.getOpcode() == Instruction::Sub)
 1603   if (!willNotOverflow(BO.getOpcode(), X, Y, BO, IsSext))
 1608   Value *NarrowBO = Builder.CreateBinOp(BO.getOpcode(), X, Y, "narrow");
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 1460     if (BO->getOpcode() != Instruction::Sub)
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 2386     Value *Shift = IRB.CreateBinOp(I.getOpcode(), S1, V2);
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  622           if (BO->getOpcode() == Instruction::SDiv ||
  623               BO->getOpcode() == Instruction::UDiv)
lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
  222   if (!CmpBO || CmpBO->getOpcode() != Instruction::And)
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  620   assert(Instr->getOpcode() == Instruction::UDiv ||
  621          Instr->getOpcode() == Instruction::URem);
  648   auto *BO = B.CreateBinOp(Instr->getOpcode(), LHS, RHS, Instr->getName());
  651     if (BinOp->getOpcode() == Instruction::UDiv)
  756   Instruction::BinaryOps Opcode = BinOp->getOpcode();
lib/Transforms/Scalar/EarlyCSE.cpp
  174     return hash_combine(BinOp->getOpcode(), LHS, RHS);
  822       return BOp->getOpcode() == Opcode;
lib/Transforms/Scalar/IndVarSimplify.cpp
  321   if (Incr == nullptr || Incr->getOpcode() != Instruction::FAdd) return false;
 1131   auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS,
 1222   auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS,
 1504   auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS,
lib/Transforms/Scalar/JumpThreading.cpp
  757         Constant *Folded = ConstantExpr::get(BO->getOpcode(), V, CI);
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
 1326         !((SubOneOp->getOpcode() == Instruction::Sub && Dec->isOne()) ||
 1327           (SubOneOp->getOpcode() == Instruction::Add &&
lib/Transforms/Scalar/LoopRerollPass.cpp
  541       if (BO->getOpcode() == Instruction::Add) {
  765   if ((BO && BO->getOpcode() != Instruction::Add) ||
  791       if (BO->getOpcode() == Instruction::Add ||
  792           BO->getOpcode() == Instruction::Or)
lib/Transforms/Scalar/LoopStrengthReduce.cpp
 2145     if (Incr->getOpcode() != Instruction::Add
 2146         && Incr->getOpcode() != Instruction::Sub)
 2170       BinaryOperator::Create(Incr->getOpcode() == Instruction::Add ?
lib/Transforms/Scalar/LoopUnswitch.cpp
  449     if (BO->getOpcode() == Instruction::And ||
  450         BO->getOpcode() == Instruction::Or) {
  455         NewChain = BO->getOpcode() == Instruction::And ? OC_OpChainAnd :
  459         NewChain = BO->getOpcode() == Instruction::Or ? OC_OpChainOr :
  463         NewChain = BO->getOpcode() == Instruction::And ? OC_OpChainAnd :
lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
  132     if (!BinOp || BinOp->getOpcode() != Instruction::Xor)
lib/Transforms/Scalar/NaryReassociate.cpp
  482   switch (I->getOpcode()) {
  498   switch (I->getOpcode()) {
  512   switch (I->getOpcode()) {
lib/Transforms/Scalar/Reassociate.cpp
  650   unsigned Opcode = I->getOpcode();
  835     if (I->getOpcode() == Instruction::Add) {
 1838   unsigned Opcode = I->getOpcode();
 2173   unsigned Opcode = BO->getOpcode();
 2186   if (BO->hasOneUse() && BO->getOpcode() == Instruction::Add &&
 2189   if (BO->hasOneUse() && BO->getOpcode() == Instruction::FAdd &&
 2242     if (I->getOpcode() == Instruction::Mul &&
 2248     } else if (I->getOpcode() == Instruction::FMul &&
 2284     unsigned Idx = I->getOpcode() - Instruction::BinaryOpsBegin;
lib/Transforms/Scalar/Scalarizer.cpp
  146     return Builder.CreateBinOp(BO.getOpcode(), Op0, Op1, Name);
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  490   if (BO->getOpcode() != Instruction::Add &&
  491       BO->getOpcode() != Instruction::Sub &&
  492       BO->getOpcode() != Instruction::Or) {
  501   if (BO->getOpcode() == Instruction::Or &&
  516   if (BO->getOpcode() == Instruction::Add && !ZeroExtended && NonNegative) {
  537   if (BO->getOpcode() == Instruction::Add ||
  538       BO->getOpcode() == Instruction::Sub) {
  565   if (BO->getOpcode() == Instruction::Sub)
  674     NewBO = BinaryOperator::Create(BO->getOpcode(), NextInChain, TheOther,
  677     NewBO = BinaryOperator::Create(BO->getOpcode(), TheOther, NextInChain,
  703     if (CI->isZero() && !(BO->getOpcode() == Instruction::Sub && OpNo == 0))
  707   BinaryOperator::BinaryOps NewOp = BO->getOpcode();
  708   if (BO->getOpcode() == Instruction::Or) {
 1271       unsigned opc = BO->getOpcode();
lib/Transforms/Utils/Evaluator.cpp
  399       InstResult = ConstantExpr::get(BO->getOpcode(),
lib/Transforms/Utils/IntegerDivision.cpp
  376   assert((Rem->getOpcode() == Instruction::SRem ||
  377           Rem->getOpcode() == Instruction::URem) &&
  388   if (Rem->getOpcode() == Instruction::SRem) {
  418     assert(UDiv->getOpcode() == Instruction::UDiv && "Non-udiv in expansion?");
  434   assert((Div->getOpcode() == Instruction::SDiv ||
  435           Div->getOpcode() == Instruction::UDiv) &&
  446   if (Div->getOpcode() == Instruction::SDiv) {
  486   assert((Rem->getOpcode() == Instruction::SRem ||
  487           Rem->getOpcode() == Instruction::URem) &&
  511   if (Rem->getOpcode() == Instruction::SRem) {
  535   assert((Rem->getOpcode() == Instruction::SRem ||
  536           Rem->getOpcode() == Instruction::URem) &&
  559   if (Rem->getOpcode() == Instruction::SRem) {
  584   assert((Div->getOpcode() == Instruction::SDiv ||
  585           Div->getOpcode() == Instruction::UDiv) &&
  608   if (Div->getOpcode() == Instruction::SDiv) {
  632   assert((Div->getOpcode() == Instruction::SDiv ||
  633           Div->getOpcode() == Instruction::UDiv) &&
  657   if (Div->getOpcode() == Instruction::SDiv) {
lib/Transforms/Utils/Local.cpp
 1692     switch (BI->getOpcode()) {
lib/Transforms/Utils/PredicateInfo.cpp
  379       assert(BinOp->getOpcode() == Instruction::And &&
  429     if (BinOp->getOpcode() == Instruction::And)
  431     else if (BinOp->getOpcode() == Instruction::Or)
  447       assert((BinOp->getOpcode() == Instruction::And ||
  448               BinOp->getOpcode() == Instruction::Or) &&
lib/Transforms/Utils/SimplifyIndVar.cpp
  623     bool IsSRem = Bin->getOpcode() == Instruction::SRem;
  624     if (IsSRem || Bin->getOpcode() == Instruction::URem) {
  629     if (Bin->getOpcode() == Instruction::SDiv)
  735   if (BO->getOpcode() != Instruction::Add &&
  736       BO->getOpcode() != Instruction::Sub &&
  737       BO->getOpcode() != Instruction::Mul)
  745       willNotOverflow(SE, BO->getOpcode(), /* Signed */ false, LHS, RHS)) {
  752       willNotOverflow(SE, BO->getOpcode(), /* Signed */ true, LHS, RHS)) {
  768   if (BO->getOpcode() == Instruction::Shl) {
lib/Transforms/Vectorize/LoopVectorize.cpp
 2855            (InductionBinOp->getOpcode() == Instruction::FAdd ||
 2856             InductionBinOp->getOpcode() == Instruction::FSub) &&
 2870     Value *BOp = B.CreateBinOp(InductionBinOp->getOpcode(), StartValue, MulExp,
 3324         NewI = B.CreateBinOp(BO->getOpcode(), ShrinkOperand(BO->getOperand(0)),
lib/Transforms/Vectorize/SLPVectorizer.cpp
 6141       return OperationData(cast<BinaryOperator>(V)->getOpcode(), LHS, RHS,
tools/clang/lib/CodeGen/CGExprScalar.cpp
 3327     if (LHSBinOp->getOpcode() == llvm::Instruction::FMul &&
 3332     if (RHSBinOp->getOpcode() == llvm::Instruction::FMul &&
tools/polly/lib/Analysis/ScopBuilder.cpp
  457     auto Opcode = BinOp->getOpcode();
 2655   switch (BinOp->getOpcode()) {
 3114       (BinOp->getOpcode() == Instruction::Mul ||
 3115        BinOp->getOpcode() == Instruction::FMul))
tools/polly/lib/Analysis/ScopDetection.cpp
  564     auto Opcode = BinOp->getOpcode();
tools/polly/lib/CodeGen/BlockGenerators.cpp
 1184   Value *NewInst = Builder.CreateBinOp(Inst->getOpcode(), NewOpZero, NewOpOne,
tools/polly/lib/Support/SCEVValidator.cpp
  684     auto Opcode = BinOp->getOpcode();
unittests/Analysis/ScalarEvolutionTest.cpp
 1560       EXPECT_EQ(NextBinOp->getOpcode(), Instruction::Add);