Searched refs:BinOp (Results 1 - 25 of 59) sorted by relevance

123

/freebsd-12-stable/contrib/llvm-project/clang/include/clang/Analysis/Analyses/
H A DThreadSafetyLogical.h54 class BinOp : public LExpr { class in namespace:clang::threadSafety::lexpr
58 BinOp(LExpr *LHS, LExpr *RHS, Opcode Code) : LExpr(Code), LHS(LHS), RHS(RHS) {} function in class:clang::threadSafety::lexpr::BinOp
68 class And : public BinOp {
70 And(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::And) {}
75 class Or : public BinOp {
77 Or(LExpr *LHS, LExpr *RHS) : BinOp(LHS, RHS, LExpr::Or) {}
/freebsd-12-stable/contrib/llvm-project/clang/lib/Analysis/
H A DThreadSafetyLogical.cpp23 const auto LeftAndOperator = [=](const BinOp *A) {
27 const auto RightAndOperator = [=](const BinOp *A) {
33 const auto LeftOrOperator = [=](const BinOp *A) {
37 const auto RightOrOperator = [=](const BinOp *A) {
H A DConsumed.cpp500 void VisitBinaryOperator(const BinaryOperator *BinOp);
701 void ConsumedStmtVisitor::VisitBinaryOperator(const BinaryOperator *BinOp) { argument
702 switch (BinOp->getOpcode()) {
705 InfoEntry LEntry = findInfo(BinOp->getLHS()),
706 REntry = findInfo(BinOp->getRHS());
725 PropagationMap.insert(PairType(BinOp, PropagationInfo(BinOp,
726 static_cast<EffectiveOp>(BinOp->getOpcode() == BO_LOr), LTest, RTest)));
732 forwardInfo(BinOp->getLHS(), BinOp);
[all...]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/
H A DWebAssemblyWasmObjectWriter.cpp53 if (auto BinOp = dyn_cast<MCBinaryExpr>(Expr)) {
54 auto SectionLHS = getFixupSection(BinOp->getLHS());
55 auto SectionRHS = getFixupSection(BinOp->getRHS());
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86LegalizerInfo.cpp74 for (unsigned BinOp : {G_SUB, G_MUL, G_AND, G_OR, G_XOR})
75 setLegalizeScalarToDifferentSizeStrategy(BinOp, 0, widen_1);
122 for (unsigned BinOp : {G_ADD, G_SUB, G_MUL, G_AND, G_OR, G_XOR})
124 setAction({BinOp, Ty}, Legal);
219 for (unsigned BinOp : {G_ADD, G_SUB, G_MUL, G_AND, G_OR, G_XOR})
220 setAction({BinOp, s64}, Legal);
293 for (unsigned BinOp : {G_FADD, G_FSUB, G_FMUL, G_FDIV})
295 setAction({BinOp, Ty}, Legal);
329 for (unsigned BinOp : {G_FADD, G_FSUB, G_FMUL, G_FDIV})
331 setAction({BinOp, T
[all...]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCorrelatedValuePropagation.cpp492 static bool processBinOp(BinaryOperator *BinOp, LazyValueInfo *LVI);
523 BinaryOperator *BinOp = BinaryOperator::Create( local
525 BinOp->setDebugLoc(SI->getDebugLoc());
526 setDeducedOverflowingFlags(BinOp, Opcode, NSW, NUW);
528 SI->replaceAllUsesWith(BinOp);
533 if (auto *BO = dyn_cast<BinaryOperator>(BinOp))
651 if (auto *BinOp = dyn_cast<BinaryOperator>(BO))
652 if (BinOp->getOpcode() == Instruction::UDiv)
653 BinOp->setIsExact(Instr->isExact());
741 static bool processBinOp(BinaryOperator *BinOp, LazyValueInf argument
784 processAnd(BinaryOperator *BinOp, LazyValueInfo *LVI) argument
[all...]
H A DLowerExpectIntrinsic.cpp132 BinaryOperator *BinOp = dyn_cast<BinaryOperator>(V); local
133 if (!BinOp || BinOp->getOpcode() != Instruction::Xor)
136 ConstantInt *CInt = dyn_cast<ConstantInt>(BinOp->getOperand(1));
140 V = BinOp->getOperand(0);
141 Operations.push_back(BinOp);
H A DEarlyCSE.cpp206 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Inst)) {
207 Value *LHS = BinOp->getOperand(0);
208 Value *RHS = BinOp->getOperand(1);
209 if (BinOp->isCommutative() && BinOp->getOperand(0) > BinOp->getOperand(1))
212 return hash_combine(BinOp->getOpcode(), LHS, RHS);
H A DFloat2Int.cpp270 auto BinOp = (Instruction::BinaryOps) I->getOpcode();
271 return Ops[0].binaryOp(BinOp, Ops[1]);
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVExpandPseudoInsts.cpp47 MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp,
52 AtomicRMWInst::BinOp, bool IsMasked, int Width,
237 AtomicRMWInst::BinOp BinOp, int Width) {
252 switch (BinOp) {
254 llvm_unreachable("Unexpected AtomicRMW BinOp");
298 MachineBasicBlock *DoneMBB, AtomicRMWInst::BinOp BinOp, int Width) {
318 switch (BinOp) {
320 llvm_unreachable("Unexpected AtomicRMW BinOp");
233 doAtomicBinOpExpansion(const RISCVInstrInfo *TII, MachineInstr &MI, DebugLoc DL, MachineBasicBlock *ThisMBB, MachineBasicBlock *LoopMBB, MachineBasicBlock *DoneMBB, AtomicRMWInst::BinOp BinOp, int Width) argument
295 doMaskedAtomicBinOpExpansion( const RISCVInstrInfo *TII, MachineInstr &MI, DebugLoc DL, MachineBasicBlock *ThisMBB, MachineBasicBlock *LoopMBB, MachineBasicBlock *DoneMBB, AtomicRMWInst::BinOp BinOp, int Width) argument
358 expandAtomicBinOp( MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp BinOp, bool IsMasked, int Width, MachineBasicBlock::iterator &NextMBBI) argument
407 expandAtomicMinMaxOp( MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp BinOp, bool IsMasked, int Width, MachineBasicBlock::iterator &NextMBBI) argument
[all...]
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantRange.h127 /// Produce the largest range containing all X such that "X BinOp Y" is
143 static ConstantRange makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp,
147 /// Produce the range that contains X if and only if "X BinOp Other" does
149 static ConstantRange makeExactNoWrapRegion(Instruction::BinaryOps BinOp,
326 ConstantRange binaryOp(Instruction::BinaryOps BinOp,
333 ConstantRange overflowingBinaryOp(Instruction::BinaryOps BinOp,
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUAtomicOptimizer.cpp35 AtomicRMWInst::BinOp Op;
50 Value *buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V,
53 void optimizeAtomic(Instruction &I, AtomicRMWInst::BinOp Op, unsigned ValIdx,
117 AtomicRMWInst::BinOp Op = I.getOperation();
163 AtomicRMWInst::BinOp Op;
246 static Value *buildNonAtomicBinOp(IRBuilder<> &B, AtomicRMWInst::BinOp Op,
283 Value *AMDGPUAtomicOptimizer::buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op,
386 static APInt getIdentityValueForAtomicOp(AtomicRMWInst::BinOp Op,
408 AtomicRMWInst::BinOp Op,
485 const AtomicRMWInst::BinOp ScanO
[all...]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DPredicateInfo.cpp378 } else if (auto *BinOp = dyn_cast<BinaryOperator>(Cond)) {
380 assert(BinOp->getOpcode() == Instruction::And &&
382 auto *PA = new PredicateAssume(BinOp, II, BinOp);
383 addInfoFor(OpsToRename, BinOp, PA);
429 auto *BinOp = cast<BinaryOperator>(BI->getCondition()); local
430 if (BinOp->getOpcode() == Instruction::And)
432 else if (BinOp->getOpcode() == Instruction::Or)
434 ConditionsToProcess.push_back(BinOp->getOperand(0));
435 ConditionsToProcess.push_back(BinOp
[all...]
/freebsd-12-stable/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DIterator.cpp193 auto BinOp = (Op == OO_Plus || Op == OO_PlusEqual) ? BO_Add : BO_Sub; local
197 Pos->setTo(SVB.evalBinOp(State, BinOp,
H A DNullabilityChecker.cpp984 if (auto *BinOp = dyn_cast<BinaryOperator>(S)) {
985 if (BinOp->getOpcode() == BO_Assign)
986 return BinOp->getRHS();
1145 const auto *BinOp = dyn_cast<BinaryOperator>(S); local
1150 const Stmt *NullabilitySource = BinOp ? BinOp->getRHS() : S;
1158 const Stmt *NullabilitySource = BinOp ? BinOp->getLHS() : S;
/freebsd-12-stable/contrib/llvm-project/clang/include/clang/AST/
H A DStmtVisitor.h47 if (PTR(BinaryOperator) BinOp = dyn_cast<BinaryOperator>(S)) {
48 switch (BinOp->getOpcode()) {
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp375 BinaryOperator *BinOp = cast<BinaryOperator>(FirstInst); local
377 BinaryOperator::Create(BinOp->getOpcode(), LHSVal, RHSVal);
825 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst)) {
826 BinOp = BinaryOperator::Create(BinOp->getOpcode(), PhiVal, ConstantOp);
827 BinOp->copyIRFlags(PN.getIncomingValue(0));
830 BinOp->andIRFlags(PN.getIncomingValue(i));
832 PHIArgMergedDebugLoc(BinOp, PN);
833 return BinOp;
H A DInstCombineCasts.cpp586 BinaryOperator *BinOp;
587 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp))))
590 Value *BinOp0 = BinOp->getOperand(0);
591 Value *BinOp1 = BinOp->getOperand(1);
592 switch (BinOp->getOpcode()) {
604 return BinaryOperator::Create(BinOp->getOpcode(), NarrowC, TruncX);
610 return BinaryOperator::Create(BinOp->getOpcode(), TruncX, NarrowC);
616 return BinaryOperator::Create(BinOp->getOpcode(), X, NarrowOp1);
621 return BinaryOperator::Create(BinOp->getOpcode(), NarrowOp0, X);
/freebsd-12-stable/contrib/llvm-project/llvm/lib/IR/
H A DConstantRange.cpp225 ConstantRange::makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp, argument
230 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!");
239 switch (BinOp) {
296 ConstantRange ConstantRange::makeExactNoWrapRegion(Instruction::BinaryOps BinOp, argument
301 return makeGuaranteedNoWrapRegion(BinOp, ConstantRange(Other), NoWrapKind);
776 ConstantRange ConstantRange::binaryOp(Instruction::BinaryOps BinOp,
778 assert(Instruction::isBinaryOp(BinOp) && "Binary operators only!");
780 switch (BinOp) {
819 ConstantRange ConstantRange::overflowingBinaryOp(Instruction::BinaryOps BinOp,
822 assert(Instruction::isBinaryOp(BinOp)
[all...]
/freebsd-12-stable/contrib/llvm-project/clang/lib/Sema/
H A DSemaConcept.cpp40 if (auto *BinOp = dyn_cast<BinaryOperator>(ConstraintExpression)) {
41 if (BinOp->getOpcode() == BO_LAnd || BinOp->getOpcode() == BO_LOr)
42 return CheckConstraintExpression(BinOp->getLHS(), NextToken,
44 CheckConstraintExpression(BinOp->getRHS(), NextToken,
/freebsd-12-stable/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/
H A DRuntimeDyldChecker.cpp642 BinOpToken BinOp;
643 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr);
646 if (BinOp == BinOpToken::Invalid)
659 EvalResult ThisResult(computeBinOpResult(BinOp, LHSResult, RHSResult));
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp953 const BinaryOperator *BinOp = dyn_cast<BinaryOperator>(Val);
954 if (!BinOp)
956 Value *Op0 = BinOp->getOperand(0);
957 Value *Op1 = BinOp->getOperand(1);
/freebsd-12-stable/contrib/llvm-project/clang/lib/CodeGen/
H A DCGExprScalar.cpp93 BinaryOperator::Opcode Opcode; // Opcode of BinOp to perform
139 if (const auto *BinOp = dyn_cast<BinaryOperator>(E)) {
140 QualType LHSType = BinOp->getLHS()->getType();
141 QualType RHSType = BinOp->getRHS()->getType();
2333 BinOpInfo BinOp; local
2334 BinOp.LHS = InVal;
2335 BinOp.RHS = llvm::ConstantInt::get(InVal->getType(), 1, false);
2336 BinOp.Ty = E->getType();
2337 BinOp.Opcode = IsInc ? BO_Add : BO_Sub;
2339 BinOp
3469 const auto *BinOp = cast<BinaryOperator>(op.E); local
[all...]
/freebsd-12-stable/contrib/llvm-project/clang/lib/Index/
H A DIndexBody.cpp236 if (const auto *BinOp = dyn_cast<BinaryOperator>(E))
237 E = BinOp->getLHS();
/freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp317 AtomicRMWInst::BinOp Op = RMWI->getOperation();
526 static Value *performAtomicOp(AtomicRMWInst::BinOp Op, IRBuilder<> &Builder,
688 static Value *performMaskedAtomicOp(AtomicRMWInst::BinOp Op,
778 AtomicRMWInst::BinOp Op = AI->getOperation();
958 AtomicRMWInst::BinOp RMWOp = AI->getOperation();
1322 AtomicRMWInst::BinOp Op = RMWI->getOperation();
1511 static ArrayRef<RTLIB::Libcall> GetRMWLibcall(AtomicRMWInst::BinOp Op) {

Completed in 189 milliseconds

123