| /llvm-project-15.0.7/llvm/test/Transforms/InstCombine/ |
| H A D | inselt-binop.ll | 8 ; CHECK-NEXT: ret <2 x i8> [[BO]] 19 ; CHECK-NEXT: ret <2 x i8> [[BO]] 32 ; CHECK-NEXT: ret <2 x i8> [[BO]] 43 ; CHECK-NEXT: ret <2 x i8> [[BO]] 54 ; CHECK-NEXT: ret <2 x i8> [[BO]] 65 ; CHECK-NEXT: ret <2 x i8> [[BO]] 76 ; CHECK-NEXT: ret <3 x i8> [[BO]] 87 ; CHECK-NEXT: ret <3 x i8> [[BO]] 98 ; CHECK-NEXT: ret <2 x i8> [[BO]] 109 ; CHECK-NEXT: ret <2 x i8> [[BO]] [all …]
|
| H A D | inselt-binop-inseltpoison.ll | 8 ; CHECK-NEXT: ret <2 x i8> [[BO]] 19 ; CHECK-NEXT: ret <2 x i8> [[BO]] 32 ; CHECK-NEXT: ret <2 x i8> [[BO]] 43 ; CHECK-NEXT: ret <2 x i8> [[BO]] 54 ; CHECK-NEXT: ret <2 x i8> [[BO]] 65 ; CHECK-NEXT: ret <2 x i8> [[BO]] 76 ; CHECK-NEXT: ret <3 x i8> [[BO]] 87 ; CHECK-NEXT: ret <3 x i8> [[BO]] 98 ; CHECK-NEXT: ret <2 x i8> [[BO]] 109 ; CHECK-NEXT: ret <2 x i8> [[BO]] [all …]
|
| H A D | operand-complexity.ll | 8 ; CHECK-NEXT: [[BO:%.*]] = udiv i8 [[X:%.*]], 42 10 ; CHECK-NEXT: [[R:%.*]] = xor i8 [[BO]], [[NEGX]] 23 ; CHECK-NEXT: [[R:%.*]] = xor <2 x i8> [[BO]], [[NEGX]] 36 ; CHECK-NEXT: [[R:%.*]] = xor <2 x i8> [[BO]], [[NEGX]] 49 ; CHECK-NEXT: [[BO:%.*]] = udiv i8 [[X:%.*]], 42 51 ; CHECK-NEXT: [[R:%.*]] = mul i8 [[BO]], [[NOTX]] 64 ; CHECK-NEXT: [[R:%.*]] = mul <2 x i8> [[BO]], [[NOTX]] 77 ; CHECK-NEXT: [[R:%.*]] = mul <2 x i8> [[BO]], [[NOTX]] 96 ; CHECK-NEXT: [[R:%.*]] = fmul float [[BO]], [[FNEGX]] 111 ; CHECK-NEXT: [[R:%.*]] = fmul float [[BO]], [[FNEGX]] [all …]
|
| H A D | vec_demanded_elts.ll | 251 ; CHECK-NEXT: [[BO:%.*]] = or <3 x i8> [[X:%.*]], <i8 1, i8 2, i8 poison> 273 ; CHECK-NEXT: [[BO:%.*]] = lshr <3 x i8> <i8 1, i8 2, i8 3>, [[X:%.*]] 295 ; CHECK-NEXT: [[BO:%.*]] = lshr <3 x i8> <i8 1, i8 2, i8 3>, [[X:%.*]] 317 ; CHECK-NEXT: [[BO:%.*]] = shl nsw <3 x i8> <i8 1, i8 2, i8 3>, [[X:%.*]] 328 ; CHECK-NEXT: [[BO:%.*]] = shl nuw <3 x i8> [[X:%.*]], <i8 1, i8 2, i8 3> 350 ; CHECK-NEXT: [[BO:%.*]] = sdiv <3 x i8> [[X:%.*]], <i8 1, i8 2, i8 3> 361 ; CHECK-NEXT: [[BO:%.*]] = srem <3 x i8> <i8 1, i8 2, i8 3>, [[X:%.*]] 372 ; CHECK-NEXT: [[BO:%.*]] = srem <3 x i8> [[X:%.*]], <i8 1, i8 2, i8 3> 394 ; CHECK-NEXT: [[BO:%.*]] = udiv <3 x i8> [[X:%.*]], <i8 1, i8 2, i8 3> 405 ; CHECK-NEXT: [[BO:%.*]] = urem <3 x i8> <i8 1, i8 2, i8 3>, [[X:%.*]] [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/VectorCombine/X86/ |
| H A D | insert-binop-with-constant.ll | 9 ; CHECK-NEXT: ret <2 x i64> [[BO]] 20 ; CHECK-NEXT: ret <2 x i64> [[BO]] 32 ; CHECK-NEXT: ret <2 x i64> [[BO]] 46 ; CHECK-NEXT: ret <4 x i32> [[BO]] 57 ; CHECK-NEXT: ret <4 x i32> [[BO]] 68 ; CHECK-NEXT: ret <8 x i16> [[BO]] 79 ; CHECK-NEXT: ret <8 x i16> [[BO]] 90 ; CHECK-NEXT: ret <16 x i8> [[BO]] 101 ; CHECK-NEXT: ret <3 x i64> [[BO]] 135 ; CHECK-NEXT: ret <2 x i64> [[BO]] [all …]
|
| H A D | insert-binop-with-constant-inseltpoison.ll | 9 ; CHECK-NEXT: ret <2 x i64> [[BO]] 20 ; CHECK-NEXT: ret <2 x i64> [[BO]] 32 ; CHECK-NEXT: ret <2 x i64> [[BO]] 46 ; CHECK-NEXT: ret <4 x i32> [[BO]] 57 ; CHECK-NEXT: ret <4 x i32> [[BO]] 68 ; CHECK-NEXT: ret <8 x i16> [[BO]] 79 ; CHECK-NEXT: ret <8 x i16> [[BO]] 90 ; CHECK-NEXT: ret <16 x i8> [[BO]] 101 ; CHECK-NEXT: ret <3 x i64> [[BO]] 135 ; CHECK-NEXT: ret <2 x i64> [[BO]] [all …]
|
| /llvm-project-15.0.7/clang/unittests/Tooling/RecursiveASTVisitorTests/ |
| H A D | CallbacksBinaryOperator.cpp | 17 bool TraverseBinaryOperator(BinaryOperator *BO) { in TEST() argument 18 recordCallback(__func__, BO, [&]() { in TEST() 19 RecordingVisitorBase::TraverseBinaryOperator(BO); in TEST() 71 bool TraverseBinaryOperator(BinaryOperator *BO) { in TEST() argument 72 recordCallback(__func__, BO, [&]() { in TEST() 73 RecordingVisitorBase::TraverseBinaryOperator(BO); in TEST() 90 bool WalkUpFromBinaryOperator(BinaryOperator *BO) { in TEST() argument 91 recordCallback(__func__, BO, [&]() { in TEST() 92 RecordingVisitorBase::WalkUpFromBinaryOperator(BO); in TEST() 161 bool WalkUpFromBinaryOperator(BinaryOperator *BO) { in TEST() argument [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/X86/ |
| H A D | X86PartialReduction.cpp | 363 if (!BO || BO->getOpcode() != Instruction::Add || !BO->hasOneUse()) in matchAddReduction() 373 const Value *Op = BO; in matchAddReduction() 377 if (!BO || BO->getOpcode() != Instruction::Add) in matchAddReduction() 384 if (i != 0 && !BO->hasNUses(2)) in matchAddReduction() 387 Value *LHS = BO->getOperand(0); in matchAddReduction() 388 Value *RHS = BO->getOperand(1); in matchAddReduction() 422 if (U == BO) in isReachableFromPHI() 428 return U == BO; in isReachableFromPHI() 460 if (BO->hasNUses(BO == Root ? 2 : 1)) { in collectLeaves() 467 if (BO->hasNUses(BO == Root ? 3 : 2)) { in collectLeaves() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVGatherScatterLowering.cpp | 144 if (!BO || BO->getOpcode() != Instruction::Add) in matchStridedStart() 164 Builder.SetInsertPoint(BO); in matchStridedStart() 224 if (!BO) in matchStridedRecurrence() 228 BO->getOpcode() != Instruction::Or && in matchStridedRecurrence() 230 BO->getOpcode() != Instruction::Shl) in matchStridedRecurrence() 234 if (BO->getOpcode() == Instruction::Shl && !isa<Constant>(BO->getOperand(1))) in matchStridedRecurrence() 238 if (BO->getOpcode() == Instruction::Or && in matchStridedRecurrence() 239 !haveNoCommonBitsSet(BO->getOperand(0), BO->getOperand(1), *DL)) in matchStridedRecurrence() 247 OtherOp = BO->getOperand(1); in matchStridedRecurrence() 251 OtherOp = BO->getOperand(0); in matchStridedRecurrence() [all …]
|
| H A D | RISCVCodeGenPrepare.cpp | 54 bool optimizeAndExt(BinaryOperator *BO); 106 bool RISCVCodeGenPrepare::optimizeAndExt(BinaryOperator *BO) { in optimizeAndExt() argument 110 if (BO->getOpcode() != Instruction::And) in optimizeAndExt() 113 if (!BO->getType()->isIntegerTy(64)) in optimizeAndExt() 117 Instruction *LHS = dyn_cast<Instruction>(BO->getOperand(0)); in optimizeAndExt() 126 Value *RHS = BO->getOperand(1); in optimizeAndExt() 148 BO->setOperand(1, ConstantInt::get(LHS->getType(), C)); in optimizeAndExt()
|
| /llvm-project-15.0.7/libc/benchmarks/ |
| H A D | LibcMemoryBenchmarkMain.cpp | 113 BenchmarkOptions &BO = RI.BenchmarkOptions; in createStudy() local 115 BO.MaxDuration = std::chrono::seconds(1); in createStudy() 116 BO.MaxIterations = 10'000'000U; in createStudy() 117 BO.MinSamples = 4; in createStudy() 118 BO.MaxSamples = 1000; in createStudy() 119 BO.Epsilon = 0.01; // 1% in createStudy() 120 BO.ScalingFactor = 1.4; in createStudy() 185 BO.InitialIterations = 100; in run() 190 runTrials(BO, Measurements); in run() 222 BO.InitialIterations = BatchSize * 10; in run() [all …]
|
| H A D | JSONTest.cpp | 76 auto equals(const BenchmarkOptions &BO) -> auto { in equals() argument 78 Field(&BenchmarkOptions::MinDuration, BO.MinDuration), in equals() 79 Field(&BenchmarkOptions::MaxDuration, BO.MaxDuration), in equals() 80 Field(&BenchmarkOptions::InitialIterations, BO.InitialIterations), in equals() 81 Field(&BenchmarkOptions::MaxIterations, BO.MaxIterations), in equals() 82 Field(&BenchmarkOptions::MinSamples, BO.MinSamples), in equals() 83 Field(&BenchmarkOptions::MaxSamples, BO.MaxSamples), in equals() 84 Field(&BenchmarkOptions::Epsilon, BO.Epsilon), in equals() 85 Field(&BenchmarkOptions::ScalingFactor, BO.ScalingFactor), in equals() 86 Field(&BenchmarkOptions::Log, BO.Log)); in equals()
|
| H A D | JSON.cpp | 262 static void serialize(const BenchmarkOptions &BO, json::OStream &JOS) { in serialize() argument 263 JOS.attribute("MinDuration", seconds(BO.MinDuration)); in serialize() 264 JOS.attribute("MaxDuration", seconds(BO.MaxDuration)); in serialize() 265 JOS.attribute("InitialIterations", BO.InitialIterations); in serialize() 266 JOS.attribute("MaxIterations", BO.MaxIterations); in serialize() 267 JOS.attribute("MinSamples", BO.MinSamples); in serialize() 268 JOS.attribute("MaxSamples", BO.MaxSamples); in serialize() 269 JOS.attribute("Epsilon", BO.Epsilon); in serialize() 270 JOS.attribute("ScalingFactor", BO.ScalingFactor); in serialize() 271 JOS.attribute("Log", serialize(BO.Log)); in serialize()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | SeparateConstOffsetFromGEP.cpp | 509 if (BO->getOpcode() != Instruction::Add && in CanTraceInto() 510 BO->getOpcode() != Instruction::Sub && in CanTraceInto() 511 BO->getOpcode() != Instruction::Or) { in CanTraceInto() 515 Value *LHS = BO->getOperand(0), *RHS = BO->getOperand(1); in CanTraceInto() 520 if (BO->getOpcode() == Instruction::Or && in CanTraceInto() 556 if (BO->getOpcode() == Instruction::Add || in CanTraceInto() 592 if (BO->getOpcode() == Instruction::Sub) in findInEitherOperand() 722 assert((BO->use_empty() || BO->hasOneUse()) && in removeConstOffset() 740 if (BO->getOpcode() == Instruction::Or) { in removeConstOffset() 763 NewBO->takeName(BO); in removeConstOffset() [all …]
|
| H A D | Reassociate.cpp | 158 if (BO && BO->hasOneUse() && BO->getOpcode() == Opcode) in isReassociableOp() 159 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO)) in isReassociableOp() 167 if (BO && BO->hasOneUse() && in isReassociableOp() 719 if (BO && !NotRewritable.count(BO)) in RewriteExprTree() 725 if (BO && !NotRewritable.count(BO)) in RewriteExprTree() 750 if (BO && !NotRewritable.count(BO)) in RewriteExprTree() 764 if (BO && !NotRewritable.count(BO)) { in RewriteExprTree() 1159 if (!BO) in RemoveFactorFromExpression() 1218 V = BO; in RemoveFactorFromExpression() 1234 if (!BO) { in FindSingleUseMultiplyFactors() [all …]
|
| H A D | CorrelatedValuePropagation.cpp | 442 ConstantRange LRange = LVI->getConstantRange(BO->getLHS(), BO); in willNotOverflow() 443 ConstantRange RRange = LVI->getConstantRange(BO->getRHS(), BO); in willNotOverflow() 445 BO->getBinaryOp(), RRange, BO->getNoWrapKind()); in willNotOverflow() 552 processBinOp(BO, LVI); in processAbsIntrinsic() 593 processBinOp(BO, LVI); in processOverflowIntrinsic() 613 processBinOp(BO, LVI); in processSaturatingInst() 843 auto *BO = in processSRem() local 846 Op.V = BO; in processSRem() 899 auto *BO = in processSDiv() local 902 Op.V = BO; in processSDiv() [all …]
|
| /llvm-project-15.0.7/clang/lib/Analysis/ |
| H A D | ThreadSafetyCommon.cpp | 507 til::SExpr *E0 = translate(BO->getLHS(), Ctx); in translateBinOp() 508 til::SExpr *E1 = translate(BO->getRHS(), Ctx); in translateBinOp() 519 const Expr *LHS = BO->getLHS(); in translateBinAssign() 520 const Expr *RHS = BO->getRHS(); in translateBinAssign() 543 switch (BO->getOpcode()) { in translateBinaryOperator() 546 return new (Arena) til::Undefined(BO); in translateBinaryOperator() 548 case BO_Mul: return translateBinOp(til::BOP_Mul, BO, Ctx); in translateBinaryOperator() 549 case BO_Div: return translateBinOp(til::BOP_Div, BO, Ctx); in translateBinaryOperator() 550 case BO_Rem: return translateBinOp(til::BOP_Rem, BO, Ctx); in translateBinaryOperator() 582 return translate(BO->getRHS(), Ctx); in translateBinaryOperator() [all …]
|
| /llvm-project-15.0.7/clang/lib/AST/Interp/ |
| H A D | ByteCodeExprGen.cpp | 147 const Expr *LHS = BO->getLHS(); in VisitBinaryOperator() 148 const Expr *RHS = BO->getRHS(); in VisitBinaryOperator() 151 switch (BO->getOpcode()) { in VisitBinaryOperator() 166 return this->bail(BO); in VisitBinaryOperator() 181 switch (BO->getOpcode()) { in VisitBinaryOperator() 183 return Discard(this->emitEQ(*LT, BO)); in VisitBinaryOperator() 185 return Discard(this->emitNE(*LT, BO)); in VisitBinaryOperator() 187 return Discard(this->emitLT(*LT, BO)); in VisitBinaryOperator() 189 return Discard(this->emitLE(*LT, BO)); in VisitBinaryOperator() 201 return this->bail(BO); in VisitBinaryOperator() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | ScalarEvolutionAliasAnalysis.cpp | 94 Value *BO = GetBaseValue(BS); in alias() local 95 if ((AO && AO != LocA.Ptr) || (BO && BO != LocB.Ptr)) in alias() 100 MemoryLocation(BO ? BO : LocB.Ptr, in alias() 101 BO ? LocationSize::beforeOrAfterPointer() in alias() 103 BO ? AAMDNodes() : LocB.AATags), in alias()
|
| /llvm-project-15.0.7/clang-tools-extra/clang-tidy/readability/ |
| H A D | SimplifyBooleanExprCheck.cpp | 399 if (!BO || BO->getOpcode() != BO_Assign) in VisitIfStmt() 516 return Func(BO->getLHS()) || Func(BO->getRHS()); in checkEitherSide() 521 if (!BO) in nestedDemorgan() 523 if (!BO->getType()->isBooleanType()) in nestedDemorgan() 525 switch (BO->getOpcode()) { in nestedDemorgan() 770 assert(BO->isLogicalOp()); in flipDemorganOperator() 771 if (BO->getOperatorLoc().isMacroID()) in flipDemorganOperator() 774 BO->getOperatorLoc(), BO->getOpcode() == BO_LAnd ? "||" : "&&")); in flipDemorganOperator() 779 assert(BinaryOperator::isLogicalOp(BO)); in getDemorganFlippedOperator() 905 if (BO->isAssignmentOp()) in shouldRemoveParens() [all …]
|
| /llvm-project-15.0.7/clang/lib/Sema/ |
| H A D | SemaConcept.cpp | 39 if (auto *BO = dyn_cast<BinaryOperator>(E)) { in LogicalBinOp() local 41 LHS = BO->getLHS(); in LogicalBinOp() 42 RHS = BO->getRHS(); in LogicalBinOp() 70 if (LogicalBinOp BO = ConstraintExpression) { in CheckConstraintExpression() local 131 if (LogicalBinOp BO = ConstraintExpr) { in calculateConstraintSatisfaction() local 138 if (BO.isOr() && IsLHSSatisfied) in calculateConstraintSatisfaction() 147 if (BO.isAnd() && !IsLHSSatisfied) in calculateConstraintSatisfaction() 571 switch (BO->getOpcode()) { in diagnoseWellFormedUnsatisfiedConstraintExpr() 606 if (BO->getLHS()->getType()->isIntegerType() && in diagnoseWellFormedUnsatisfiedConstraintExpr() 607 BO->getRHS()->getType()->isIntegerType()) { in diagnoseWellFormedUnsatisfiedConstraintExpr() [all …]
|
| /llvm-project-15.0.7/clang/lib/ARCMigrate/ |
| H A D | TransZeroOutPropsInDealloc.cpp | 151 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) in isZeroingPropIvar() local 152 return isZeroingPropIvar(BO); in isZeroingPropIvar() 191 BinaryOperator *BO = dyn_cast<BinaryOperator>(PO->getSyntacticForm()); in isZeroingPropIvar() local 192 if (!BO) return false; in isZeroingPropIvar() 193 if (BO->getOpcode() != BO_Assign) return false; in isZeroingPropIvar() 196 dyn_cast<ObjCPropertyRefExpr>(BO->getLHS()->IgnoreParens()); in isZeroingPropIvar() 208 return isZero(cast<OpaqueValueExpr>(BO->getRHS())->getSourceExpr()); in isZeroingPropIvar()
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/DataFlowSanitizer/ |
| H A D | origin_other_ops.ll | 21 …; CHECK: [[BO:%.*]] = load i32, i32* getelementptr inbounds ([200 x i32], [200 x i32]* @__dfsan_ar… 25 ; CHECK: [[MO:%.*]] = select i1 [[NE]], i32 [[BO]], i32 [[AO]] 43 …; CHECK: [[BO:%.*]] = load i32, i32* getelementptr inbounds ([200 x i32], [200 x i32]* @__dfsan_ar… 47 ; CHECK: [[MO:%.*]] = select i1 [[NE]], i32 [[BO]], i32 [[AO]] 57 …; CHECK: [[BO:%.*]] = load i32, i32* getelementptr inbounds ([200 x i32], [200 x i32]* @__dfsan_ar… 66 ; CHECK: [[ABPO:%.*]] = select i1 [[BS_NE]], i32 [[BO]], i32 [[APO]] 77 …; CHECK: [[BO:%.*]] = load i32, i32* getelementptr inbounds ([200 x i32], [200 x i32]* @__dfsan_ar… 81 ; CHECK: [[MO:%.*]] = select i1 [[NE]], i32 [[BO]], i32 [[AO]] 98 ; CHECK: [[ABPO:%.*]] = select i1 [[BS_NE]], i32 [[BO]], i32 [[APO]] 111 ; CHECK: [[MO:%.*]] = select i1 [[NE]], i32 [[BO]], i32 [[AO]] [all …]
|
| /llvm-project-15.0.7/clang-tools-extra/clang-tidy/utils/ |
| H A D | ASTUtils.cpp | 56 if (const auto *BO = dyn_cast<BinaryOperator>(Flags)) in exprHasBitFlagWithSpelling() local 57 if (BO->getOpcode() == BinaryOperatorKind::BO_Or) in exprHasBitFlagWithSpelling() 58 return exprHasBitFlagWithSpelling(BO->getLHS()->IgnoreParenCasts(), SM, in exprHasBitFlagWithSpelling() 60 exprHasBitFlagWithSpelling(BO->getRHS()->IgnoreParenCasts(), SM, in exprHasBitFlagWithSpelling()
|
| /llvm-project-15.0.7/clang-tools-extra/clang-tidy/bugprone/ |
| H A D | ImplicitWideningOfMultiplicationResultCheck.cpp | 31 const auto *BO = dyn_cast<BinaryOperator>(E); in getLHSOfMulBinOp() local 32 if (!BO || BO->getOpcode() != BO_Mul) in getLHSOfMulBinOp() 35 return BO->getLHS()->IgnoreParens(); in getLHSOfMulBinOp() 156 if (const auto *BO = dyn_cast<BinaryOperator>(E)) { in handlePointerOffsetting() local 157 PointerExpr = BO->getLHS(); in handlePointerOffsetting() 158 IndexExpr = BO->getRHS(); in handlePointerOffsetting()
|