/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/ |
H A D | SimplifyIndVar.cpp | 83 bool eliminateOverflowIntrinsic(WithOverflowInst *WO); 441 bool SimplifyIndvar::eliminateOverflowIntrinsic(WithOverflowInst *WO) { in eliminateOverflowIntrinsic() argument 442 const SCEV *LHS = SE->getSCEV(WO->getLHS()); in eliminateOverflowIntrinsic() 443 const SCEV *RHS = SE->getSCEV(WO->getRHS()); in eliminateOverflowIntrinsic() 444 if (!willNotOverflow(SE, WO->getBinaryOp(), WO->isSigned(), LHS, RHS)) in eliminateOverflowIntrinsic() 451 WO->getBinaryOp(), WO->getLHS(), WO->getRHS(), "", WO); in eliminateOverflowIntrinsic() [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
H A D | CorrelatedValuePropagation.cpp | 495 static void processOverflowIntrinsic(WithOverflowInst *WO, LazyValueInfo *LVI) { in processOverflowIntrinsic() argument 496 IRBuilder<> B(WO); in processOverflowIntrinsic() 497 Instruction::BinaryOps Opcode = WO->getBinaryOp(); in processOverflowIntrinsic() 498 bool NSW = WO->isSigned(); in processOverflowIntrinsic() 499 bool NUW = !WO->isSigned(); in processOverflowIntrinsic() 502 B.CreateBinOp(Opcode, WO->getLHS(), WO->getRHS(), WO->getName()); in processOverflowIntrinsic() 505 StructType *ST = cast<StructType>(WO->getType()); in processOverflowIntrinsic() 510 WO in processOverflowIntrinsic() [all...] |
H A D | GVN.cpp | 335 WithOverflowInst *WO = dyn_cast<WithOverflowInst>(EI->getAggregateOperand()); in createExtractvalueExpr() local 336 if (WO != nullptr && EI->getNumIndices() == 1 && *EI->idx_begin() == 0) { in createExtractvalueExpr() 340 e.opcode = WO->getBinaryOp(); in createExtractvalueExpr() 341 e.varargs.push_back(lookupOrAdd(WO->getLHS())); in createExtractvalueExpr() 342 e.varargs.push_back(lookupOrAdd(WO->getRHS())); in createExtractvalueExpr()
|
H A D | NewGVN.cpp | 1823 auto *WO = dyn_cast<WithOverflowInst>(EI->getAggregateOperand()); 1824 if (WO && EI->getNumIndices() == 1 && *EI->idx_begin() == 0) 1828 return createBinaryExpression(WO->getBinaryOp(), EI->getType(), 1829 WO->getLHS(), WO->getRHS(), I);
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
H A D | LazyValueInfo.cpp | 438 ValueLatticeElement &BBLV, WithOverflowInst *WO, BasicBlock *BB); 1120 ValueLatticeElement &BBLV, WithOverflowInst *WO, BasicBlock *BB) { 1121 return solveBlockValueBinaryOpImpl(BBLV, WO, BB, 1122 [WO](const ConstantRange &CR1, const ConstantRange &CR2) { 1123 return CR1.binaryOp(WO->getBinaryOp(), CR2); 1169 if (auto *WO = dyn_cast<WithOverflowInst>(EVI->getAggregateOperand())) 1171 return solveBlockValueOverflowIntrinsic(BBLV, WO, BB); 1260 Value *Val, WithOverflowInst *WO, bool IsTrueDest) { 1265 if (WO->getLHS() != Val || !match(WO [all...] |
H A D | ScalarEvolution.cpp | 4557 auto *WO = dyn_cast<WithOverflowInst>(EVI->getAggregateOperand()); 4558 if (!WO) 4561 Instruction::BinaryOps BinOp = WO->getBinaryOp(); 4562 bool Signed = WO->isSigned(); 4564 if (BinOp == Instruction::Mul || !isOverflowIntrinsicNoWrap(WO, DT)) 4565 return BinaryOp(BinOp, WO->getLHS(), WO->getRHS()); 4570 return BinaryOp(BinOp, WO->getLHS(), WO->getRHS(),
|
H A D | ValueTracking.cpp | 4338 bool llvm::isOverflowIntrinsicNoWrap(const WithOverflowInst *WO, in isOverflowIntrinsicNoWrap() argument 4343 for (const User *U : WO->users()) { in isOverflowIntrinsicNoWrap()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/ |
H A D | InstructionCombining.cpp | 2755 if (WithOverflowInst *WO = dyn_cast<WithOverflowInst>(Agg)) { in visitExtractValueInst() 2759 if (WO->hasOneUse()) { in visitExtractValueInst() 2763 Instruction::BinaryOps BinOp = WO->getBinaryOp(); in visitExtractValueInst() 2764 Value *LHS = WO->getLHS(), *RHS = WO->getRHS(); in visitExtractValueInst() 2765 replaceInstUsesWith(*WO, UndefValue::get(WO->getType())); in visitExtractValueInst() 2766 eraseInstFromFunction(*WO); in visitExtractValueInst() 2773 if (WO->getIntrinsicID() == Intrinsic::uadd_with_overflow) in visitExtractValueInst() 2774 if (ConstantInt *CI = dyn_cast<ConstantInt>(WO in visitExtractValueInst() [all...] |
H A D | InstCombineCalls.cpp | 1776 WithOverflowInst *WO = cast<WithOverflowInst>(II); in foldIntrinsicWithOverflowCommon() local 1779 if (OptimizeOverflowCheck(WO->getBinaryOp(), WO->isSigned(), WO->getLHS(), in foldIntrinsicWithOverflowCommon() 1780 WO->getRHS(), *WO, OperationResult, OverflowResult)) in foldIntrinsicWithOverflowCommon() 1781 return CreateOverflowTuple(WO, OperationResult, OverflowResult); in foldIntrinsicWithOverflowCommon()
|
/third_party/python/Lib/test/ |
H A D | test_enum.py | 2889 WO = 1 variable in OldTestFlag.Open 2960 self.assertIs(Open.WO & ~Open.WO, Open.RO) 2961 self.assertIs((Open.WO|Open.CE) & ~Open.WO, Open.CE) 3037 self.assertEqual(list(Open), [Open.WO, Open.RW, Open.CE]) 3396 WO = 1 variable in OldTestIntFlag.Open 3428 self.assertTrue(isinstance(Open.WO | Open.RW, Open)) 3429 self.assertEqual(Open.WO | Open.RW, 3) 3559 self.assertIs(Open.WO [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/ |
H A D | ValueTracking.h | 500 /// Returns true if the arithmetic part of the \p WO 's result is 502 /// not overflowing, \p WO being an <op>.with.overflow intrinsic. 503 bool isOverflowIntrinsicNoWrap(const WithOverflowInst *WO,
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/IR/ |
H A D | ModuleSummaryIndex.h | 782 void setWriteOnly(bool WO) { VarFlags.MaybeWriteOnly = WO; } in setWriteOnly() argument
|