Home
last modified time | relevance | path

Searched refs:BinOp (Results 1 – 25 of 62) sorted by relevance

123

/freebsd-12-stable/contrib/llvm-project/clang/include/clang/Analysis/Analyses/
DThreadSafetyLogical.h54 class BinOp : public LExpr {
58 BinOp(LExpr *LHS, LExpr *RHS, Opcode Code) : LExpr(Code), LHS(LHS), RHS(RHS) {} in BinOp() function
68 class And : public BinOp {
70 And(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::And) {} in And()
75 class Or : public BinOp {
77 Or(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::Or) {} in Or()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
DCorrelatedValuePropagation.cpp446 static bool processBinOp(BinaryOperator *BinOp, LazyValueInfo *LVI);
552 BinaryOperator *BinOp = BinaryOperator::Create( in processSaturatingInst() local
554 BinOp->setDebugLoc(SI->getDebugLoc()); in processSaturatingInst()
555 setDeducedOverflowingFlags(BinOp, Opcode, NSW, NUW); in processSaturatingInst()
557 SI->replaceAllUsesWith(BinOp); in processSaturatingInst()
562 if (auto *BO = dyn_cast<BinaryOperator>(BinOp)) in processSaturatingInst()
715 if (auto *BinOp = dyn_cast<BinaryOperator>(BO)) in narrowSDivOrSRem() local
716 if (BinOp->getOpcode() == Instruction::SDiv) in narrowSDivOrSRem()
717 BinOp->setIsExact(Instr->isExact()); in narrowSDivOrSRem()
759 if (auto *BinOp = dyn_cast<BinaryOperator>(BO)) in processUDivOrURem() local
[all …]
DLowerExpectIntrinsic.cpp151 BinaryOperator *BinOp = dyn_cast<BinaryOperator>(V); in handlePhiDef() local
152 if (!BinOp || BinOp->getOpcode() != Instruction::Xor) in handlePhiDef()
155 ConstantInt *CInt = dyn_cast<ConstantInt>(BinOp->getOperand(1)); in handlePhiDef()
159 V = BinOp->getOperand(0); in handlePhiDef()
160 Operations.push_back(BinOp); in handlePhiDef()
DEarlyCSE.cpp213 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Inst)) { in getHashValueImpl() local
214 Value *LHS = BinOp->getOperand(0); in getHashValueImpl()
215 Value *RHS = BinOp->getOperand(1); in getHashValueImpl()
216 if (BinOp->isCommutative() && BinOp->getOperand(0) > BinOp->getOperand(1)) in getHashValueImpl()
219 return hash_combine(BinOp->getOpcode(), LHS, RHS); in getHashValueImpl()
DFloat2Int.cpp269 auto BinOp = (Instruction::BinaryOps) I->getOpcode(); in walkForwards() local
270 return Ops[0].binaryOp(BinOp, Ops[1]); in walkForwards()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/X86/
DX86LegalizerInfo.cpp81 for (unsigned BinOp : {G_SUB, G_MUL, G_AND, G_OR, G_XOR}) in X86LegalizerInfo()
82 LegacyInfo.setLegalizeScalarToDifferentSizeStrategy(BinOp, 0, widen_1); in X86LegalizerInfo()
122 for (unsigned BinOp : {G_ADD, G_SUB, G_MUL, G_AND, G_OR, G_XOR}) in setLegalizerInfo32bit()
124 LegacyInfo.setAction({BinOp, Ty}, LegacyLegalizeActions::Legal); in setLegalizerInfo32bit()
222 for (unsigned BinOp : {G_ADD, G_SUB, G_MUL, G_AND, G_OR, G_XOR}) in setLegalizerInfo64bit()
223 LegacyInfo.setAction({BinOp, s64}, LegacyLegalizeActions::Legal); in setLegalizerInfo64bit()
302 for (unsigned BinOp : {G_FADD, G_FSUB, G_FMUL, G_FDIV}) in setLegalizerInfoSSE1()
304 LegacyInfo.setAction({BinOp, Ty}, LegacyLegalizeActions::Legal); in setLegalizerInfoSSE1()
342 for (unsigned BinOp : {G_FADD, G_FSUB, G_FMUL, G_FDIV}) in setLegalizerInfoSSE2()
344 LegacyInfo.setAction({BinOp, Ty}, LegacyLegalizeActions::Legal); in setLegalizerInfoSSE2()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/RISCV/
DRISCVExpandAtomicPseudoInsts.cpp51 MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp,
56 AtomicRMWInst::BinOp, bool IsMasked, int Width,
220 AtomicRMWInst::BinOp BinOp, int Width) { in doAtomicBinOpExpansion() argument
235 switch (BinOp) { in doAtomicBinOpExpansion()
281 MachineBasicBlock *DoneMBB, AtomicRMWInst::BinOp BinOp, int Width) { in doMaskedAtomicBinOpExpansion() argument
301 switch (BinOp) { in doMaskedAtomicBinOpExpansion()
343 AtomicRMWInst::BinOp BinOp, bool IsMasked, int Width, in expandAtomicBinOp() argument
364 doAtomicBinOpExpansion(TII, MI, DL, &MBB, LoopMBB, DoneMBB, BinOp, Width); in expandAtomicBinOp()
366 doMaskedAtomicBinOpExpansion(TII, MI, DL, &MBB, LoopMBB, DoneMBB, BinOp, in expandAtomicBinOp()
392 AtomicRMWInst::BinOp BinOp, bool IsMasked, int Width, in expandAtomicMinMaxOp() argument
[all …]
/freebsd-12-stable/contrib/llvm-project/clang/lib/Analysis/
DThreadSafetyLogical.cpp23 const auto LeftAndOperator = [=](const BinOp *A) { in implies()
27 const auto RightAndOperator = [=](const BinOp *A) { in implies()
33 const auto LeftOrOperator = [=](const BinOp *A) { in implies()
37 const auto RightOrOperator = [=](const BinOp *A) { in implies()
DConsumed.cpp500 void VisitBinaryOperator(const BinaryOperator *BinOp);
701 void ConsumedStmtVisitor::VisitBinaryOperator(const BinaryOperator *BinOp) { in VisitBinaryOperator() argument
702 switch (BinOp->getOpcode()) { in VisitBinaryOperator()
705 InfoEntry LEntry = findInfo(BinOp->getLHS()), in VisitBinaryOperator()
706 REntry = findInfo(BinOp->getRHS()); in VisitBinaryOperator()
725 PropagationMap.insert(PairType(BinOp, PropagationInfo(BinOp, in VisitBinaryOperator()
726 static_cast<EffectiveOp>(BinOp->getOpcode() == BO_LOr), LTest, RTest))); in VisitBinaryOperator()
732 forwardInfo(BinOp->getLHS(), BinOp); in VisitBinaryOperator()
1254 } else if (const auto *BinOp = in splitState() local
1256 PInfo = Visitor.getInfo(BinOp->getLHS()); in splitState()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
DAMDGPUAtomicOptimizer.cpp36 AtomicRMWInst::BinOp Op;
51 Value *buildReduction(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V,
53 Value *buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V,
56 void optimizeAtomic(Instruction &I, AtomicRMWInst::BinOp Op, unsigned ValIdx,
120 AtomicRMWInst::BinOp Op = I.getOperation(); in visitAtomicRMWInst()
166 AtomicRMWInst::BinOp Op; in visitIntrinsicInst()
249 static Value *buildNonAtomicBinOp(IRBuilder<> &B, AtomicRMWInst::BinOp Op, in buildNonAtomicBinOp()
287 AtomicRMWInst::BinOp Op, Value *V, in buildReduction()
325 Value *AMDGPUAtomicOptimizer::buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op, in buildScan()
427 static APInt getIdentityValueForAtomicOp(AtomicRMWInst::BinOp Op, in getIdentityValueForAtomicOp()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/IR/
DConstantRange.h147 static ConstantRange makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp,
153 static ConstantRange makeExactNoWrapRegion(Instruction::BinaryOps BinOp,
346 ConstantRange binaryOp(Instruction::BinaryOps BinOp,
353 ConstantRange overflowingBinaryOp(Instruction::BinaryOps BinOp,
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/
DWebAssemblyWasmObjectWriter.cpp54 if (auto BinOp = dyn_cast<MCBinaryExpr>(Expr)) { in getTargetSection() local
55 auto SectionLHS = getTargetSection(BinOp->getLHS()); in getTargetSection()
56 auto SectionRHS = getTargetSection(BinOp->getRHS()); in getTargetSection()
/freebsd-12-stable/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
DIterator.cpp238 auto BinOp = (Op == OO_Plus || Op == OO_PlusEqual) ? BO_Add : BO_Sub; in advancePosition() local
248 BinOp = (BinOp == BO_Add) ? BO_Sub : BO_Add; in advancePosition()
251 Pos->setTo(SVB.evalBinOp(State, BinOp, in advancePosition()
DNullabilityChecker.cpp1030 if (auto *BinOp = dyn_cast<BinaryOperator>(S)) { in matchValueExprForBind() local
1031 if (BinOp->getOpcode() == BO_Assign) in matchValueExprForBind()
1032 return BinOp->getRHS(); in matchValueExprForBind()
1189 const auto *BinOp = dyn_cast<BinaryOperator>(S); in checkBind() local
1194 const Stmt *NullabilitySource = BinOp ? BinOp->getRHS() : S; in checkBind()
1202 const Stmt *NullabilitySource = BinOp ? BinOp->getLHS() : S; in checkBind()
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/
DOMPIRBuilder.h987 AtomicRMWInst::BinOp RMWOp,
996 AtomicRMWInst::BinOp RMWOp);
1056 AtomicRMWInst::BinOp RMWOp,
1092 AtomicOrdering AO, AtomicRMWInst::BinOp RMWOp,
/freebsd-12-stable/contrib/llvm-project/llvm/lib/IR/
DConstantRange.cpp231 ConstantRange::makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp, in makeGuaranteedNoWrapRegion() argument
236 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!"); in makeGuaranteedNoWrapRegion()
245 switch (BinOp) { in makeGuaranteedNoWrapRegion()
302 ConstantRange ConstantRange::makeExactNoWrapRegion(Instruction::BinaryOps BinOp, in makeExactNoWrapRegion() argument
307 return makeGuaranteedNoWrapRegion(BinOp, ConstantRange(Other), NoWrapKind); in makeExactNoWrapRegion()
797 ConstantRange ConstantRange::binaryOp(Instruction::BinaryOps BinOp, in binaryOp() argument
799 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!"); in binaryOp()
801 switch (BinOp) { in binaryOp()
842 ConstantRange ConstantRange::overflowingBinaryOp(Instruction::BinaryOps BinOp, in overflowingBinaryOp() argument
845 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!"); in overflowingBinaryOp()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
DInstCombinePHI.cpp461 BinaryOperator *BinOp = cast<BinaryOperator>(FirstInst); in foldPHIArgBinOpIntoPHI() local
463 BinaryOperator::Create(BinOp->getOpcode(), LHSVal, RHSVal); in foldPHIArgBinOpIntoPHI()
916 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst)) { in foldPHIArgOpIntoPHI() local
917 BinOp = BinaryOperator::Create(BinOp->getOpcode(), PhiVal, ConstantOp); in foldPHIArgOpIntoPHI()
918 BinOp->copyIRFlags(PN.getIncomingValue(0)); in foldPHIArgOpIntoPHI()
921 BinOp->andIRFlags(PN.getIncomingValue(i)); in foldPHIArgOpIntoPHI()
923 PHIArgMergedDebugLoc(BinOp, PN); in foldPHIArgOpIntoPHI()
924 return BinOp; in foldPHIArgOpIntoPHI()
DInstCombineCasts.cpp646 BinaryOperator *BinOp; in narrowBinOp() local
647 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp()
650 Value *BinOp0 = BinOp->getOperand(0); in narrowBinOp()
651 Value *BinOp1 = BinOp->getOperand(1); in narrowBinOp()
652 switch (BinOp->getOpcode()) { in narrowBinOp()
664 return BinaryOperator::Create(BinOp->getOpcode(), NarrowC, TruncX); in narrowBinOp()
670 return BinaryOperator::Create(BinOp->getOpcode(), TruncX, NarrowC); in narrowBinOp()
676 return BinaryOperator::Create(BinOp->getOpcode(), X, NarrowOp1); in narrowBinOp()
681 return BinaryOperator::Create(BinOp->getOpcode(), NarrowOp0, X); in narrowBinOp()
DInstCombineAndOrXor.cpp111 Value *BinOp = Builder.CreateBinOp(I.getOpcode(), NewLHS, NewRHS); in SimplifyBSwap() local
114 return Builder.CreateCall(F, BinOp); in SimplifyBSwap()
1853 BinaryOperator::BinaryOps BinOp = cast<BinaryOperator>(Op0)->getOpcode(); in visitAnd() local
1858 return BinaryOperator::Create(BinOp, X, NewRHS); in visitAnd()
1864 return BinaryOperator::Create(BinOp, NewLHS, Y); in visitAnd()
1926 Value *BinOp; in visitAnd() local
1929 BinOp = Builder.CreateBinOp(Op0I->getOpcode(), X, TruncC1); in visitAnd()
1931 BinOp = Builder.CreateBinOp(Op0I->getOpcode(), TruncC1, X); in visitAnd()
1933 auto *And = Builder.CreateAnd(BinOp, TruncC2); in visitAnd()
2244 Value *BinOp = Builder.CreateOr(NewLower, NewUpper); in matchOrConcat() local
[all …]
/freebsd-12-stable/contrib/llvm-project/clang/include/clang/AST/
DStmtVisitor.h47 if (PTR(BinaryOperator) BinOp = dyn_cast<BinaryOperator>(S)) { in Visit()
48 switch (BinOp->getOpcode()) { in Visit()
/freebsd-12-stable/contrib/llvm-project/clang/lib/CodeGen/
DCGExprScalar.cpp140 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) { in isFixedPointOp() local
141 QualType LHSType = BinOp->getLHS()->getType(); in isFixedPointOp()
142 QualType RHSType = BinOp->getRHS()->getType(); in isFixedPointOp()
2402 BinOpInfo BinOp; in createBinOpInfoFromIncDec() local
2403 BinOp.LHS = InVal; in createBinOpInfoFromIncDec()
2404 BinOp.RHS = llvm::ConstantInt::get(InVal->getType(), 1, false); in createBinOpInfoFromIncDec()
2405 BinOp.Ty = E->getType(); in createBinOpInfoFromIncDec()
2406 BinOp.Opcode = IsInc ? BO_Add : BO_Sub; in createBinOpInfoFromIncDec()
2407 BinOp.FPFeatures = FPFeatures; in createBinOpInfoFromIncDec()
2408 BinOp.E = E; in createBinOpInfoFromIncDec()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/
DRuntimeDyldChecker.cpp645 BinOpToken BinOp; in evalComplexExpr() local
646 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalComplexExpr()
649 if (BinOp == BinOpToken::Invalid) in evalComplexExpr()
662 EvalResult ThisResult(computeBinOpResult(BinOp, LHSResult, RHSResult)); in evalComplexExpr()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Analysis/
DIVDescriptors.cpp1112 const BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Val); in getCastsForInductionPHI() local
1113 if (!BinOp) in getCastsForInductionPHI()
1115 Value *Op0 = BinOp->getOperand(0); in getCastsForInductionPHI()
1116 Value *Op1 = BinOp->getOperand(1); in getCastsForInductionPHI()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/
DAtomicExpandPass.cpp286 AtomicRMWInst::BinOp Op = RMWI->getOperation(); in runOnFunction()
533 static Value *performAtomicOp(AtomicRMWInst::BinOp Op, IRBuilder<> &Builder, in performAtomicOp()
756 static Value *performMaskedAtomicOp(AtomicRMWInst::BinOp Op, in performMaskedAtomicOp()
848 AtomicRMWInst::BinOp Op = AI->getOperation(); in widenPartwordAtomicRMW()
1028 AtomicRMWInst::BinOp RMWOp = AI->getOperation(); in expandAtomicRMWToMaskedIntrinsic()
1413 AtomicRMWInst::BinOp Op = RMWI->getOperation(); in isIdempotentRMW()
1596 static ArrayRef<RTLIB::Libcall> GetRMWLibcall(AtomicRMWInst::BinOp Op) { in GetRMWLibcall()
/freebsd-12-stable/contrib/llvm-project/clang/lib/Index/
DIndexBody.cpp236 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) in VisitObjCMessageExpr() local
237 E = BinOp->getLHS(); in VisitObjCMessageExpr()

123