/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86PartialReduction.cpp | 168 if (auto *BO = dyn_cast<BinaryOperator>(Op)) { in tryMAddReplacement() local 169 if (BO->getParent() == Mul->getParent() && in tryMAddReplacement() 170 IsFreeTruncation(BO->getOperand(0)) && in tryMAddReplacement() 171 IsFreeTruncation(BO->getOperand(1)) && in tryMAddReplacement() 362 const auto *BO = dyn_cast<BinaryOperator>(EE.getVectorOperand()); in matchAddReduction() local 363 if (!BO || BO->getOpcode() != Instruction::Add || !BO->hasOneUse()) in matchAddReduction() 365 if (EE.getParent() != BO->getParent()) in matchAddReduction() 368 unsigned NumElems = cast<FixedVectorType>(BO->getType())->getNumElements(); in matchAddReduction() 373 const Value *Op = BO; in matchAddReduction() 376 const auto *BO = dyn_cast<BinaryOperator>(Op); in matchAddReduction() local [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVGatherScatterLowering.cpp | 137 auto *BO = dyn_cast<BinaryOperator>(Start); in matchStridedStart() local 138 if (!BO || (BO->getOpcode() != Instruction::Add && in matchStridedStart() 139 BO->getOpcode() != Instruction::Or && in matchStridedStart() 140 BO->getOpcode() != Instruction::Shl && in matchStridedStart() 141 BO->getOpcode() != Instruction::Mul)) in matchStridedStart() 144 if (BO->getOpcode() == Instruction::Or && in matchStridedStart() 145 !cast<PossiblyDisjointInst>(BO)->isDisjoint()) in matchStridedStart() 150 Value *Splat = getSplatValue(BO->getOperand(1)); in matchStridedStart() 151 if (!Splat && Instruction::isCommutative(BO->getOpcode())) { in matchStridedStart() 152 Splat = getSplatValue(BO->getOperand(0)); in matchStridedStart() [all …]
|
H A D | RISCVCodeGenPrepare.cpp | 59 bool visitAnd(BinaryOperator &BO); 69 bool RISCVCodeGenPrepare::visitAnd(BinaryOperator &BO) { in visitAnd() argument 73 if (!BO.getType()->isIntegerTy(64)) in visitAnd() 80 if (!match(BO.getOperand(0), m_NNegZExt(m_Value(LHSSrc)))) in visitAnd() 87 Value *RHS = BO.getOperand(1); in visitAnd() 102 BO.setOperand(1, ConstantInt::get(RHS->getType(), C)); in visitAnd()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | SeparateConstOffsetFromGEP.cpp | 267 APInt findInEitherOperand(BinaryOperator *BO, bool SignExtended, 319 bool CanTraceInto(bool SignExtended, bool ZeroExtended, BinaryOperator *BO, 513 BinaryOperator *BO, in CanTraceInto() argument 518 if (BO->getOpcode() != Instruction::Add && in CanTraceInto() 519 BO->getOpcode() != Instruction::Sub && in CanTraceInto() 520 BO->getOpcode() != Instruction::Or) { in CanTraceInto() 524 Value *LHS = BO->getOperand(0), *RHS = BO->getOperand(1); in CanTraceInto() 527 if (BO->getOpcode() == Instruction::Or && in CanTraceInto() 528 !cast<PossiblyDisjointInst>(BO)->isDisjoint()) in CanTraceInto() 534 if (ZeroExtended && !SignExtended && BO->getOpcode() == Instruction::Sub) in CanTraceInto() [all …]
|
H A D | BDCE.cpp | 135 if (auto *BO = dyn_cast<BinaryOperator>(&I)) { in bitTrackingDCE() local 136 APInt Demanded = DB.getDemandedBits(BO); in bitTrackingDCE() 139 if (match(BO->getOperand(1), m_APInt(Mask))) { in bitTrackingDCE() 141 switch (BO->getOpcode()) { in bitTrackingDCE() 155 clearAssumptionsOfUsers(BO, DB); in bitTrackingDCE() 156 BO->replaceAllUsesWith(BO->getOperand(0)); in bitTrackingDCE() 157 Worklist.push_back(BO); in bitTrackingDCE()
|
H A D | Reassociate.cpp | 164 auto *BO = dyn_cast<BinaryOperator>(V); in isReassociableOp() local 165 if (BO && BO->hasOneUse() && BO->getOpcode() == Opcode) in isReassociableOp() 166 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO)) in isReassociableOp() 167 return BO; in isReassociableOp() 173 auto *BO = dyn_cast<BinaryOperator>(V); in isReassociableOp() local 174 if (BO && BO->hasOneUse() && in isReassociableOp() 175 (BO->getOpcode() == Opcode1 || BO->getOpcode() == Opcode2)) in isReassociableOp() 176 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO)) in isReassociableOp() 177 return BO; in isReassociableOp() 444 if (BinaryOperator *BO = isReassociableOp(Op, Opcode)) { in LinearizeExprTree() local [all …]
|
H A D | CorrelatedValuePropagation.cpp | 437 static bool willNotOverflow(BinaryOpIntrinsic *BO, LazyValueInfo *LVI) { in willNotOverflow() argument 439 LVI->getConstantRangeAtUse(BO->getOperandUse(0), /*UndefAllowed*/ false); in willNotOverflow() 441 LVI->getConstantRangeAtUse(BO->getOperandUse(1), /*UndefAllowed*/ false); in willNotOverflow() 443 BO->getBinaryOp(), RRange, BO->getNoWrapKind()); in willNotOverflow() 524 if (auto *BO = dyn_cast<BinaryOperator>(NegX)) in processAbsIntrinsic() local 525 processBinOp(BO, LVI); in processAbsIntrinsic() 627 if (auto *BO = dyn_cast<BinaryOperator>(NewOp)) in processOverflowIntrinsic() local 628 processBinOp(BO, LVI); in processOverflowIntrinsic() 647 if (auto *BO = dyn_cast<BinaryOperator>(BinOp)) in processSaturatingInst() local 648 processBinOp(BO, LVI); in processSaturatingInst() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ExpandLargeDivRem.cpp | 57 static void scalarize(BinaryOperator *BO, in scalarize() argument 59 VectorType *VTy = cast<FixedVectorType>(BO->getType()); in scalarize() 61 IRBuilder<> Builder(BO); in scalarize() 66 Value *LHS = Builder.CreateExtractElement(BO->getOperand(0), Idx); in scalarize() 67 Value *RHS = Builder.CreateExtractElement(BO->getOperand(1), Idx); in scalarize() 68 Value *Op = Builder.CreateBinOp(BO->getOpcode(), LHS, RHS); in scalarize() 75 BO->replaceAllUsesWith(Result); in scalarize() 76 BO->dropAllReferences(); in scalarize() 77 BO->eraseFromParent(); in scalarize() 124 BinaryOperator *BO = ReplaceVector.pop_back_val(); in runImpl() local [all …]
|
/freebsd/contrib/llvm-project/clang/lib/Analysis/ |
H A D | ThreadSafetyCommon.cpp | 525 const BinaryOperator *BO, in translateBinOp() argument 527 til::SExpr *E0 = translate(BO->getLHS(), Ctx); in translateBinOp() 528 til::SExpr *E1 = translate(BO->getRHS(), Ctx); in translateBinOp() 536 const BinaryOperator *BO, in translateBinAssign() argument 539 const Expr *LHS = BO->getLHS(); in translateBinAssign() 540 const Expr *RHS = BO->getRHS(); in translateBinAssign() 561 til::SExpr *SExprBuilder::translateBinaryOperator(const BinaryOperator *BO, in translateBinaryOperator() argument 563 switch (BO->getOpcode()) { in translateBinaryOperator() 566 return new (Arena) til::Undefined(BO); in translateBinaryOperator() 568 case BO_Mul: return translateBinOp(til::BOP_Mul, BO, Ctx); in translateBinaryOperator() [all …]
|
H A D | UninitializedValues.cpp | 305 void VisitBinaryOperator(BinaryOperator *BO); 367 if (const auto *BO = dyn_cast<BinaryOperator>(E)) { in classify() local 368 switch (BO->getOpcode()) { in classify() 371 classify(BO->getLHS(), C); in classify() 374 classify(BO->getRHS(), C); in classify() 395 void ClassifyRefs::VisitBinaryOperator(BinaryOperator *BO) { in VisitBinaryOperator() argument 401 if (BO->isCompoundAssignmentOp()) in VisitBinaryOperator() 402 classify(BO->getLHS(), Use); in VisitBinaryOperator() 403 else if (BO->getOpcode() == BO_Assign || BO->getOpcode() == BO_Comma) in VisitBinaryOperator() 404 classify(BO->getLHS(), Ignore); in VisitBinaryOperator() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | InstrTypes.h | 249 BinaryOperator *BO = Create(Opc, V1, V2, Name, InsertBefore); 250 BO->copyIRFlags(CopyO); 251 return BO; 258 BinaryOperator *BO = Create(Opc, V1, V2, Name, InsertBefore); 259 BO->setFastMathFlags(FMF); 260 return BO; 308 BinaryOperator *BO = Create(Opc, V1, V2, Name); 309 BO->setHasNoSignedWrap(true); 310 return BO; 314 BinaryOperator *BO = Create(Opc, V1, V2, Name, BB); [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ScalarEvolutionAliasAnalysis.cpp | 108 Value *BO = GetBaseValue(BS); in alias() local 109 if ((AO && AO != LocA.Ptr) || (BO && BO != LocB.Ptr)) in alias() 114 MemoryLocation(BO ? BO : LocB.Ptr, in alias() 115 BO ? LocationSize::beforeOrAfterPointer() in alias() 117 BO ? AAMDNodes() : LocB.AATags), in alias()
|
H A D | PHITransAddr.cpp | 281 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(U)) in translateSubExpr() local 282 if (BO->getOpcode() == Instruction::Add && in translateSubExpr() 283 BO->getOperand(0) == LHS && BO->getOperand(1) == RHS && in translateSubExpr() 284 BO->getParent()->getParent() == CurBB->getParent() && in translateSubExpr() 285 (!DT || DT->dominates(BO->getParent(), PredBB))) in translateSubExpr() 286 return BO; in translateSubExpr()
|
/freebsd/contrib/llvm-project/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()
|
/freebsd/contrib/llvm-project/clang/lib/Sema/ |
H A D | SemaConcept.cpp | 46 if (auto *BO = dyn_cast<BinaryOperator>(E)) { in LogicalBinOp() local 47 Op = BinaryOperator::getOverloadedOperator(BO->getOpcode()); in LogicalBinOp() 48 LHS = BO->getLHS(); in LogicalBinOp() 49 RHS = BO->getRHS(); in LogicalBinOp() 50 Loc = BO->getExprLoc(); in LogicalBinOp() 100 if (LogicalBinOp BO = ConstraintExpression) { in CheckConstraintExpression() local 101 return CheckConstraintExpression(BO.getLHS(), NextToken, in CheckConstraintExpression() 103 CheckConstraintExpression(BO.getRHS(), NextToken, in CheckConstraintExpression() 331 if (LogicalBinOp BO = ConstraintExpr) in calculateConstraintSatisfaction() local 333 S, BO.getLHS(), BO.getOp(), BO.getRHS(), Satisfaction, Evaluator); in calculateConstraintSatisfaction() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | InvalidatedIteratorChecker.cpp | 44 void checkPreStmt(const BinaryOperator *BO, CheckerContext &C) const; 84 void InvalidatedIteratorChecker::checkPreStmt(const BinaryOperator *BO, in checkPreStmt() argument 87 BinaryOperatorKind OK = BO->getOpcode(); in checkPreStmt() 88 SVal LVal = State->getSVal(BO->getLHS(), C.getLocationContext()); in checkPreStmt()
|
H A D | DirectIvarAssignment.cpp | 76 void VisitBinaryOperator(const BinaryOperator *BO); 166 const BinaryOperator *BO) { in VisitBinaryOperator() argument 167 if (!BO->isAssignmentOp()) in VisitBinaryOperator() 171 dyn_cast<ObjCIvarRefExpr>(BO->getLHS()->IgnoreParenCasts()); in VisitBinaryOperator()
|
H A D | IteratorRangeChecker.cpp | 52 void checkPreStmt(const BinaryOperator *BO, CheckerContext &C) const; 161 void IteratorRangeChecker::checkPreStmt(const BinaryOperator *BO, in checkPreStmt() argument 164 BinaryOperatorKind OK = BO->getOpcode(); in checkPreStmt() 165 SVal LVal = State->getSVal(BO->getLHS(), C.getLocationContext()); in checkPreStmt() 170 SVal RVal = State->getSVal(BO->getRHS(), C.getLocationContext()); in checkPreStmt() 171 if (!BO->getRHS()->getType()->isIntegralOrEnumerationType()) in checkPreStmt()
|
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/ |
H A D | Compiler.cpp | 687 bool Compiler<Emitter>::VisitBinaryOperator(const BinaryOperator *BO) { in VisitBinaryOperator() argument 689 if (BO->isLogicalOp()) in VisitBinaryOperator() 690 return this->VisitLogicalBinOp(BO); in VisitBinaryOperator() 692 const Expr *LHS = BO->getLHS(); in VisitBinaryOperator() 693 const Expr *RHS = BO->getRHS(); in VisitBinaryOperator() 697 if (BO->isCommaOp()) { in VisitBinaryOperator() 706 if (BO->getType()->isAnyComplexType()) in VisitBinaryOperator() 707 return this->VisitComplexBinOp(BO); in VisitBinaryOperator() 710 BO->isComparisonOp()) in VisitBinaryOperator() 711 return this->emitComplexComparison(LHS, RHS, BO); in VisitBinaryOperator() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineCasts.cpp | 1722 auto *BO = dyn_cast<BinaryOperator>(FPT.getOperand(0)); in visitFPTrunc() local 1723 if (BO && BO->hasOneUse()) { in visitFPTrunc() 1725 getMinimumFPType(BO->getOperand(0), /*PreferBFloat=*/Ty->isBFloatTy()); in visitFPTrunc() 1727 getMinimumFPType(BO->getOperand(1), /*PreferBFloat=*/Ty->isBFloatTy()); in visitFPTrunc() 1728 unsigned OpWidth = BO->getType()->getFPMantissaWidth(); in visitFPTrunc() 1733 switch (BO->getOpcode()) { in visitFPTrunc() 1756 Value *LHS = Builder.CreateFPTrunc(BO->getOperand(0), Ty); in visitFPTrunc() 1757 Value *RHS = Builder.CreateFPTrunc(BO->getOperand(1), Ty); in visitFPTrunc() 1758 Instruction *RI = BinaryOperator::Create(BO->getOpcode(), LHS, RHS); in visitFPTrunc() 1759 RI->copyFastMathFlags(BO); in visitFPTrunc() [all …]
|
H A D | InstCombineMulDivRem.cpp | 238 BinaryOperator *BO = BinaryOperator::CreateMul(NewOp, Shl); in visitMul() local 240 BO->setHasNoUnsignedWrap(); in visitMul() 242 BO->setHasNoSignedWrap(); in visitMul() 243 return BO; in visitMul() 316 auto *BO = BinaryOperator::CreateAdd(NewMul, NewC); in visitMul() local 321 BO->setHasNoUnsignedWrap(); in visitMul() 323 return BO; in visitMul() 1238 auto *BO = BinaryOperator::Create(I.getOpcode(), X, in commonIDivTransforms() local 1240 BO->setIsExact(I.isExact()); in commonIDivTransforms() 1241 return BO; in commonIDivTransforms() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/AST/ |
H A D | ExprCXX.cpp | 79 if (auto *BO = dyn_cast<BinaryOperator>(E)) { in getDecomposedForm() local 80 assert(!SkippedNot || BO->getOpcode() == BO_EQ); in getDecomposedForm() 81 Result.Opcode = SkippedNot ? BO_NE : BO->getOpcode(); in getDecomposedForm() 82 Result.LHS = BO->getLHS(); in getDecomposedForm() 83 Result.RHS = BO->getRHS(); in getDecomposedForm() 84 Result.InnerBinOp = BO; in getDecomposedForm() 85 } else if (auto *BO = dyn_cast<CXXOperatorCallExpr>(E)) { in getDecomposedForm() local 86 assert(!SkippedNot || BO->getOperator() == OO_EqualEqual); in getDecomposedForm() 87 assert(BO->isInfixBinaryOp()); in getDecomposedForm() 88 switch (BO->getOperator()) { in getDecomposedForm() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/WebKit/ |
H A D | UncountedLocalVarsChecker.cpp | 144 bool VisitBinaryOperator(const BinaryOperator *BO) { in checkASTDecl() 145 if (BO->isAssignmentOp()) { in checkASTDecl() 146 if (auto *VarRef = dyn_cast<DeclRefExpr>(BO->getLHS())) { in checkASTDecl() 148 Checker->visitVarDecl(V, BO->getRHS()); in checkASTDecl()
|
/freebsd/sys/powerpc/powerpc/ |
H A D | db_disasm.c | 620 u_int BO, BI; in disasm_fields() local 621 BO = extract_field(instr, 31 - 10, 5); in disasm_fields() 624 if (BO & 4) { in disasm_fields() 626 if (BO & 16) { in disasm_fields() 633 APP_PSTRS(condstr[((BO & 8) >> 1) + (BI & 3)]); in disasm_fields() 640 if (BO & 2) in disasm_fields() 644 if ((BO & 24) == 0) in disasm_fields() 646 else if ((BO & 24) == 8) in disasm_fields() 655 if ((BO & 20) != 20 && (func & Op_BO) == 0) in disasm_fields() 762 u_int BO; in disasm_fields() local [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Support/ |
H A D | FormatVariadic.cpp | 97 std::size_t BO = Fmt.find_first_of('{'); in splitLiteralAndReplacement() local 98 return std::make_pair(ReplacementItem{Fmt.substr(0, BO)}, Fmt.substr(BO)); in splitLiteralAndReplacement()
|