Home
last modified time | relevance | path

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

1234

/freebsd/contrib/llvm-project/clang/include/clang/Analysis/Analyses/
H A 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/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVExpandAtomicPseudoInsts.cpp52 MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp,
57 AtomicRMWInst::BinOp, bool IsMasked, int Width,
263 AtomicRMWInst::BinOp BinOp, int Width, in doAtomicBinOpExpansion()
279 switch (BinOp) { in insertMaskedMerge()
281 llvm_unreachable("Unexpected AtomicRMW BinOp"); in insertMaskedMerge()
327 AtomicRMWInst::BinOp BinOp, int Width, in doMaskedAtomicBinOpExpansion()
348 switch (BinOp) { in doMaskedAtomicBinOpExpansion()
350 llvm_unreachable("Unexpected AtomicRMW BinOp"); in doMaskedAtomicBinOpExpansion()
239 doAtomicBinOpExpansion(const RISCVInstrInfo * TII,MachineInstr & MI,DebugLoc DL,MachineBasicBlock * ThisMBB,MachineBasicBlock * LoopMBB,MachineBasicBlock * DoneMBB,AtomicRMWInst::BinOp BinOp,int Width) doAtomicBinOpExpansion() argument
300 doMaskedAtomicBinOpExpansion(const RISCVInstrInfo * TII,MachineInstr & MI,DebugLoc DL,MachineBasicBlock * ThisMBB,MachineBasicBlock * LoopMBB,MachineBasicBlock * DoneMBB,AtomicRMWInst::BinOp BinOp,int Width) doMaskedAtomicBinOpExpansion() argument
362 expandAtomicBinOp(MachineBasicBlock & MBB,MachineBasicBlock::iterator MBBI,AtomicRMWInst::BinOp BinOp,bool IsMasked,int Width,MachineBasicBlock::iterator & NextMBBI) expandAtomicBinOp() argument
411 expandAtomicMinMaxOp(MachineBasicBlock & MBB,MachineBasicBlock::iterator MBBI,AtomicRMWInst::BinOp BinOp,bool IsMasked,int Width,MachineBasicBlock::iterator & NextMBBI) expandAtomicMinMaxOp() argument
[all...]
/freebsd/contrib/llvm-project/clang/lib/Analysis/
H A 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()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCorrelatedValuePropagation.cpp494 static bool processBinOp(BinaryOperator *BinOp, LazyValueInfo *LVI);
637 BinaryOperator *BinOp = BinaryOperator::Create( in processSaturatingInst() local
639 BinOp->setDebugLoc(SI->getDebugLoc()); in processSaturatingInst()
640 setDeducedOverflowingFlags(BinOp, Opcode, NSW, NUW); in processSaturatingInst()
642 SI->replaceAllUsesWith(BinOp); in processSaturatingInst()
647 if (auto *BO = dyn_cast<BinaryOperator>(BinOp)) in processSaturatingInst()
783 if (auto *BinOp = dyn_cast<BinaryOperator>(BO)) in narrowSDivOrSRem() local
784 if (BinOp->getOpcode() == Instruction::SDiv) in narrowSDivOrSRem()
785 BinOp->setIsExact(Instr->isExact()); in narrowSDivOrSRem()
903 if (auto *BinOp = dyn_cast<BinaryOperator>(BO)) in narrowUDivOrURem() local
[all …]
H A DLowerExpectIntrinsic.cpp159 BinaryOperator *BinOp = dyn_cast<BinaryOperator>(V); in handlePhiDef() local
160 if (!BinOp || BinOp->getOpcode() != Instruction::Xor) in handlePhiDef()
163 ConstantInt *CInt = dyn_cast<ConstantInt>(BinOp->getOperand(1)); in handlePhiDef()
167 V = BinOp->getOperand(0); in handlePhiDef()
168 Operations.push_back(BinOp); in handlePhiDef()
H A DEarlyCSE.cpp238 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Inst)) { in getHashValueImpl() local
239 Value *LHS = BinOp->getOperand(0); in getHashValueImpl()
240 Value *RHS = BinOp->getOperand(1); in getHashValueImpl()
241 if (BinOp->isCommutative() && BinOp->getOperand(0) > BinOp->getOperand(1)) in getHashValueImpl()
244 return hash_combine(BinOp->getOpcode(), LHS, RHS); in getHashValueImpl()
H A DFloat2Int.cpp271 auto BinOp = (Instruction::BinaryOps) I->getOpcode(); in calcRange() local
272 return OpRanges[0].binaryOp(BinOp, OpRanges[1]); in calcRange()
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVInstrInfo.td38 class BinOp<string name, bits<16> opCode, list<dag> pattern=[]>
334 def OpSampledImage: BinOp<"OpSampledImage", 86>;
383 def OpImageQuerySizeLod: BinOp<"OpImageQuerySizeLod", 103>;
385 def OpImageQueryLod: BinOp<"OpImageQueryLod", 105>;
510 def OpSMod: BinOp<"OpSMod", 139>;
513 def OpFMod: BinOp<"OpFMod", 141>;
515 def OpVectorTimesScalar: BinOp<"OpVectorTimesScalar", 142>;
516 def OpMatrixTimesScalar: BinOp<"OpMatrixTimesScalar", 143>;
517 def OpVectorTimesMatrix: BinOp<"OpVectorTimesMatrix", 144>;
518 def OpMatrixTimesVector: BinOp<"OpMatrixTimesVector", 145>;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchExpandAtomicPseudoInsts.cpp51 MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp,
56 AtomicRMWInst::BinOp, bool IsMasked, int Width,
151 AtomicRMWInst::BinOp BinOp, int Width) { in doAtomicBinOpExpansion() argument
166 switch (BinOp) { in doAtomicBinOpExpansion()
168 llvm_unreachable("Unexpected AtomicRMW BinOp"); in doAtomicBinOpExpansion()
241 MachineBasicBlock *DoneMBB, AtomicRMWInst::BinOp BinOp, int Width) { in insertMaskedMerge()
260 switch (BinOp) { in doMaskedAtomicBinOpExpansion()
262 llvm_unreachable("Unexpected AtomicRMW BinOp"); in doMaskedAtomicBinOpExpansion()
247 doMaskedAtomicBinOpExpansion(const LoongArchInstrInfo * TII,MachineInstr & MI,DebugLoc DL,MachineBasicBlock * ThisMBB,MachineBasicBlock * LoopMBB,MachineBasicBlock * DoneMBB,AtomicRMWInst::BinOp BinOp,int Width) doMaskedAtomicBinOpExpansion() argument
314 expandAtomicBinOp(MachineBasicBlock & MBB,MachineBasicBlock::iterator MBBI,AtomicRMWInst::BinOp BinOp,bool IsMasked,int Width,MachineBasicBlock::iterator & NextMBBI) expandAtomicBinOp() argument
363 expandAtomicMinMaxOp(MachineBasicBlock & MBB,MachineBasicBlock::iterator MBBI,AtomicRMWInst::BinOp BinOp,bool IsMasked,int Width,MachineBasicBlock::iterator & NextMBBI) expandAtomicMinMaxOp() argument
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUAtomicOptimizer.cpp45 AtomicRMWInst::BinOp Op;
77 Value *buildReduction(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V,
79 Value *buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V,
84 buildScanIteratively(IRBuilder<> &B, AtomicRMWInst::BinOp Op,
88 void optimizeAtomic(Instruction &I, AtomicRMWInst::BinOp Op, unsigned ValIdx,
205 AtomicRMWInst::BinOp Op = I.getOperation(); in visitAtomicRMWInst()
264 AtomicRMWInst::BinOp Op; in visitIntrinsicInst()
359 static Value *buildNonAtomicBinOp(IRBuilder<> &B, AtomicRMWInst::BinOp Op, in buildNonAtomicBinOp()
405 AtomicRMWInst::BinOp Op, in buildReduction()
451 AtomicRMWInst::BinOp Op, Value *V, in buildScan()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/
H A 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/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantRange.h169 static ConstantRange makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp,
175 static ConstantRange makeExactNoWrapRegion(Instruction::BinaryOps BinOp,
390 ConstantRange binaryOp(Instruction::BinaryOps BinOp,
397 ConstantRange overflowingBinaryOp(Instruction::BinaryOps BinOp,
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLowerAtomic.h33 Value *buildAtomicRMWValue(AtomicRMWInst::BinOp Op, IRBuilderBase &Builder,
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DNullabilityChecker.cpp1188 if (auto *BinOp = dyn_cast<BinaryOperator>(S)) { in matchValueExprForBind() local
1189 if (BinOp->getOpcode() == BO_Assign) in matchValueExprForBind()
1190 return BinOp->getRHS(); in matchValueExprForBind()
1347 const auto *BinOp = dyn_cast<BinaryOperator>(S); in checkBind() local
1352 const Stmt *NullabilitySource = BinOp ? BinOp->getRHS() : S; in checkBind()
1360 const Stmt *NullabilitySource = BinOp ? BinOp->getLHS() : S; in checkBind()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCodeGenPGO.cpp251 const BinaryOperator *BinOp = dyn_cast<BinaryOperator>(E->IgnoreParens()); in dataTraverseStmtPre() local
252 if (BinOp && BinOp->isLogicalOp()) { in dataTraverseStmtPre()
262 LogOpStack.push_back(BinOp); in dataTraverseStmtPre()
284 const BinaryOperator *BinOp = dyn_cast<BinaryOperator>(E->IgnoreParens()); in dataTraverseStmtPost() local
285 if (BinOp && BinOp->isLogicalOp()) { in dataTraverseStmtPost()
286 assert(LogOpStack.back() == BinOp); in dataTraverseStmtPost()
314 MCDCState.DecisionByStmt[BinOp].BitmapIdx = 0; in dataTraverseStmtPost()
H A DCGExprScalar.cpp141 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) { in isFixedPointOp() local
142 QualType LHSType = BinOp->getLHS()->getType(); in isFixedPointOp()
143 QualType RHSType = BinOp->getRHS()->getType(); in isFixedPointOp()
153 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) { in rhsHasSignedIntegerRepresentation() local
154 QualType RHSType = BinOp->getRHS()->getType(); in rhsHasSignedIntegerRepresentation()
2736 BinOpInfo BinOp; in createBinOpInfoFromIncDec() local
2737 BinOp.LHS = InVal; in createBinOpInfoFromIncDec()
2738 BinOp.RHS = llvm::ConstantInt::get(InVal->getType(), 1, false); in createBinOpInfoFromIncDec()
2739 BinOp.Ty = E->getType(); in createBinOpInfoFromIncDec()
2740 BinOp.Opcode = IsInc ? BO_Add : BO_Sub; in createBinOpInfoFromIncDec()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/
H A DRuntimeDyldChecker.cpp258 BinOpToken BinOp; in evalDecodeOperand() local
259 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalDecodeOperand()
260 switch (BinOp) { in evalDecodeOperand()
715 BinOpToken BinOp; in evalComplexExpr() local
716 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalComplexExpr()
719 if (BinOp == BinOpToken::Invalid) in evalComplexExpr()
732 EvalResult ThisResult(computeBinOpResult(BinOp, LHSResult, RHSResult)); in evalComplexExpr()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp489 BinaryOperator *BinOp = cast<BinaryOperator>(FirstInst); in foldPHIArgBinOpIntoPHI() local
491 BinaryOperator::Create(BinOp->getOpcode(), LHSVal, RHSVal); in foldPHIArgBinOpIntoPHI()
957 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst)) { in foldPHIArgOpIntoPHI() local
958 BinOp = BinaryOperator::Create(BinOp->getOpcode(), PhiVal, ConstantOp); in foldPHIArgOpIntoPHI()
959 BinOp->copyIRFlags(PN.getIncomingValue(0)); in foldPHIArgOpIntoPHI()
962 BinOp->andIRFlags(V); in foldPHIArgOpIntoPHI()
964 PHIArgMergedDebugLoc(BinOp, PN); in foldPHIArgOpIntoPHI()
965 return BinOp; in foldPHIArgOpIntoPHI()
H A DInstCombineCasts.cpp553 BinaryOperator *BinOp; in narrowBinOp() local
554 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp()
557 Value *BinOp0 = BinOp->getOperand(0); in narrowBinOp()
558 Value *BinOp1 = BinOp->getOperand(1); in narrowBinOp()
559 switch (BinOp->getOpcode()) { in narrowBinOp()
571 return BinaryOperator::Create(BinOp->getOpcode(), NarrowC, TruncX); in narrowBinOp()
577 return BinaryOperator::Create(BinOp->getOpcode(), TruncX, NarrowC); in narrowBinOp()
583 return BinaryOperator::Create(BinOp->getOpcode(), X, NarrowOp1); in narrowBinOp()
588 return BinaryOperator::Create(BinOp->getOpcode(), NarrowOp0, X); in narrowBinOp()
/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DStmtVisitor.h48 if (PTR(BinaryOperator) BinOp = dyn_cast<BinaryOperator>(S)) { in Visit()
49 switch (BinOp->getOpcode()) { in Visit()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstantRange.cpp314 ConstantRange::makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp, in makeGuaranteedNoWrapRegion() argument
319 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!"); in makeGuaranteedNoWrapRegion()
328 switch (BinOp) { in makeGuaranteedNoWrapRegion()
388 ConstantRange ConstantRange::makeExactNoWrapRegion(Instruction::BinaryOps BinOp, in makeExactNoWrapRegion() argument
393 return makeGuaranteedNoWrapRegion(BinOp, ConstantRange(Other), NoWrapKind); in makeExactNoWrapRegion()
934 ConstantRange ConstantRange::binaryOp(Instruction::BinaryOps BinOp, in binaryOp() argument
936 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!"); in binaryOp()
938 switch (BinOp) { in binaryOp()
979 ConstantRange ConstantRange::overflowingBinaryOp(Instruction::BinaryOps BinOp, in overflowingBinaryOp() argument
982 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!"); in overflowingBinaryOp()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerAtomic.cpp41 Value *llvm::buildAtomicRMWValue(AtomicRMWInst::BinOp Op, in buildAtomicRMWValue()
/freebsd/contrib/llvm-project/clang/lib/Index/
H A DIndexBody.cpp254 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) in VisitObjCMessageExpr() local
255 E = BinOp->getLHS(); in VisitObjCMessageExpr()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp648 AtomicRMWInst::BinOp Op = AI->getOperation(); in tryExpandAtomicRMW()
835 static Value *performMaskedAtomicOp(AtomicRMWInst::BinOp Op, in performMaskedAtomicOp()
895 AtomicRMWInst::BinOp Op = AI->getOperation(); in expandPartwordAtomicRMW()
974 AtomicRMWInst::BinOp Op = AI->getOperation(); in widenPartwordAtomicRMW()
1156 AtomicRMWInst::BinOp RMWOp = AI->getOperation(); in expandAtomicRMWToMaskedIntrinsic()
1539 AtomicRMWInst::BinOp Op = RMWI->getOperation(); in isIdempotentRMW()
1729 static ArrayRef<RTLIB::Libcall> GetRMWLibcall(AtomicRMWInst::BinOp Op) { in GetRMWLibcall()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp1379 const BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Val); in getCastsForInductionPHI() local
1380 if (!BinOp) in getCastsForInductionPHI()
1382 Value *Op0 = BinOp->getOperand(0); in getCastsForInductionPHI()
1383 Value *Op1 = BinOp->getOperand(1); in getCastsForInductionPHI()

1234