/freebsd/contrib/llvm-project/clang/include/clang/Analysis/Analyses/ |
H A D | ThreadSafetyLogical.h | 54 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 D | RISCVExpandAtomicPseudoInsts.cpp | 52 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 D | ThreadSafetyLogical.cpp | 23 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 D | CorrelatedValuePropagation.cpp | 494 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 D | LowerExpectIntrinsic.cpp | 159 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 D | EarlyCSE.cpp | 238 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 D | Float2Int.cpp | 271 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 D | SPIRVInstrInfo.td | 38 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 D | LoongArchExpandAtomicPseudoInsts.cpp | 51 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 D | AMDGPUAtomicOptimizer.cpp | 45 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 D | WebAssemblyWasmObjectWriter.cpp | 54 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 D | ConstantRange.h | 169 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 D | LowerAtomic.h | 33 Value *buildAtomicRMWValue(AtomicRMWInst::BinOp Op, IRBuilderBase &Builder,
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | NullabilityChecker.cpp | 1188 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 D | CodeGenPGO.cpp | 251 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 D | CGExprScalar.cpp | 141 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 D | RuntimeDyldChecker.cpp | 258 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 D | InstCombinePHI.cpp | 489 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 D | InstCombineCasts.cpp | 553 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 D | StmtVisitor.h | 48 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 D | ConstantRange.cpp | 314 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 D | LowerAtomic.cpp | 41 Value *llvm::buildAtomicRMWValue(AtomicRMWInst::BinOp Op, in buildAtomicRMWValue()
|
/freebsd/contrib/llvm-project/clang/lib/Index/ |
H A D | IndexBody.cpp | 254 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 D | AtomicExpandPass.cpp | 648 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 D | IVDescriptors.cpp | 1379 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()
|