Searched refs:ConstantRange (Results 1 - 25 of 40) sorted by relevance

12

/netbsd-current/external/apache2/llvm/dist/llvm/include/llvm/IR/
H A DConstantRange.h1 //===- ConstantRange.h - Represent a range ----------------------*- C++ -*-===//
26 // Note that ConstantRange can be used to represent either signed or
47 class LLVM_NODISCARD ConstantRange { class in namespace:llvm
51 ConstantRange getEmpty() const {
52 return ConstantRange(getBitWidth(), false);
56 ConstantRange getFull() const {
57 return ConstantRange(getBitWidth(), true);
62 explicit ConstantRange(uint32_t BitWidth, bool isFullSet);
65 ConstantRange(APInt Value);
70 ConstantRange(APIn
[all...]
H A DGlobalValue.h35 class ConstantRange;
562 Optional<ConstantRange> getAbsoluteSymbolRange() const;
H A DModuleSummaryIndex.h26 #include "llvm/IR/ConstantRange.h"
585 ConstantRange Offsets{/*BitWidth=*/RangeWidth, /*isFullSet=*/true};
588 Call(uint64_t ParamNo, ValueInfo Callee, const ConstantRange &Offsets)
597 ConstantRange Use{/*BitWidth=*/RangeWidth, /*isFullSet=*/true};
605 ParamAccess(uint64_t ParamNo, const ConstantRange &Use)
/netbsd-current/external/apache2/llvm/dist/llvm/lib/IR/
H A DConstantRange.cpp1 //===- ConstantRange.cpp - ConstantRange implementation -------------------===//
25 #include "llvm/IR/ConstantRange.h"
43 ConstantRange::ConstantRange(uint32_t BitWidth, bool Full) function in class:ConstantRange
47 ConstantRange::ConstantRange(APInt V) function in class:ConstantRange
50 ConstantRange::ConstantRange(APInt L, APInt U) function in class:ConstantRange
53 "ConstantRange wit
[all...]
H A DMetadata.cpp33 #include "llvm/IR/ConstantRange.h"
978 static bool isContiguous(const ConstantRange &A, const ConstantRange &B) {
982 static bool canBeMerged(const ConstantRange &A, const ConstantRange &B) {
988 ConstantRange NewRange(Low->getValue(), High->getValue());
992 ConstantRange LastRange(LB, LE);
994 ConstantRange Union = LastRange.unionWith(NewRange);
1075 ConstantRange Range(EndPoints[0]->getValue(), EndPoints[1]->getValue());
/netbsd-current/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/
H A DFloat2Int.h20 #include "llvm/IR/ConstantRange.h"
35 void seen(Instruction *I, ConstantRange R);
36 ConstantRange badRange();
37 ConstantRange unknownRange();
38 ConstantRange validateRange(ConstantRange R);
45 MapVector<Instruction *, ConstantRange> SeenInsts;
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DFloat2Int.cpp149 void Float2IntPass::seen(Instruction *I, ConstantRange R) {
159 ConstantRange Float2IntPass::badRange() {
160 return ConstantRange::getFull(MaxIntegerBW + 1);
162 ConstantRange Float2IntPass::unknownRange() {
163 return ConstantRange::getEmpty(MaxIntegerBW + 1);
165 ConstantRange Float2IntPass::validateRange(ConstantRange R) {
207 auto Input = ConstantRange::getFull(BW);
246 std::function<ConstantRange(ArrayRef<ConstantRange>)> O
[all...]
H A DCorrelatedValuePropagation.cpp26 #include "llvm/IR/ConstantRange.h"
392 ConstantRange LRange = LVI->getConstantRange(BO->getLHS(), BO);
393 ConstantRange RRange = LVI->getConstantRange(BO->getRHS(), BO);
394 ConstantRange NWRegion = ConstantRange::makeGuaranteedNoWrapRegion(
684 std::array<Optional<ConstantRange>, 2> CRs;
739 ConstantRange CR = LVI->getConstantRange(Operand, Instr);
945 ConstantRange LRange = LVI->getConstantRange(LHS, BinOp);
946 ConstantRange RRange = LVI->getConstantRange(RHS, BinOp);
951 ConstantRange NUWRang
[all...]
H A DGuardWidening.cpp51 #include "llvm/IR/ConstantRange.h"
512 ConstantRange CR0 =
513 ConstantRange::makeExactICmpRegion(Pred0, RHS0->getValue());
514 ConstantRange CR1 =
515 ConstantRange::makeExactICmpRegion(Pred1, RHS1->getValue());
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DStackSafetyAnalysis.cpp19 #include "llvm/IR/ConstantRange.h"
72 bool isUnsafe(const ConstantRange &R) {
76 ConstantRange addOverflowNever(const ConstantRange &L, const ConstantRange &R) {
80 ConstantRange::OverflowResult::NeverOverflows)
81 return ConstantRange::getFull(L.getBitWidth());
82 ConstantRange Result = L.add(R);
87 ConstantRange unionNoWrap(const ConstantRange
[all...]
H A DLazyValueInfo.cpp26 #include "llvm/IR/ConstantRange.h"
124 ConstantRange Range =
413 Optional<ConstantRange> getRangeFor(Value *V, Instruction *CxtI,
417 std::function<ConstantRange(const ConstantRange &,
418 const ConstantRange &)> OpFn);
811 const ConstantRange &TrueCR = TrueVal.getConstantRange();
812 const ConstantRange &FalseCR = FalseVal.getConstantRange();
820 ConstantRange ResultCR = [&]() {
849 ConstantRange Zer
[all...]
H A DValueTracking.cpp39 #include "llvm/IR/ConstantRange.h"
466 ConstantRange Range(Lower->getValue(), Upper->getValue());
578 // All other predicates - rely on generic ConstantRange handling.
583 ConstantRange TrueValues = ConstantRange::makeExactICmpRegion(Pred, *C);
2195 ConstantRange Range(Lower->getValue(), Upper->getValue());
4630 /// Convert ConstantRange OverflowResult into ValueTracking OverflowResult.
4631 static OverflowResult mapOverflowResult(ConstantRange::OverflowResult OR) {
4633 case ConstantRange::OverflowResult::MayOverflow:
4635 case ConstantRange
[all...]
H A DScalarEvolution.cpp91 #include "llvm/IR/ConstantRange.h"
1603 ConstantRange CR = getUnsignedRange(X);
1910 ConstantRange CR = getSignedRange(X);
2290 auto NSWRegion = ConstantRange::makeGuaranteedNoWrapRegion(
2298 auto NUWRegion = ConstantRange::makeGuaranteedNoWrapRegion(
4436 ConstantRange AddRecRange = getSignedRange(AR);
4437 ConstantRange IncRange = getSignedRange(AR->getStepRecurrence(*this));
4439 auto NSWRegion = ConstantRange::makeGuaranteedNoWrapRegion(
4446 ConstantRange AddRecRange = getUnsignedRange(AR);
4447 ConstantRange IncRang
[all...]
H A DLoads.cpp464 ConstantRange LoadRange(LoadOffset,
466 ConstantRange StoreRange(StoreOffset,
/netbsd-current/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
H A DValueLattice.h12 #include "llvm/IR/ConstantRange.h"
88 ConstantRange Range;
102 Range.~ConstantRange();
155 new (&Range) ConstantRange(Other.Range);
174 new (&Range) ConstantRange(std::move(Other.Range));
215 static ValueLatticeElement getRange(ConstantRange CR,
270 const ConstantRange &getConstantRange(bool UndefAllowed = true) const {
313 ConstantRange(CI->getValue()),
326 ConstantRange(CI->getValue() + 1, CI->getValue()));
348 bool markConstantRange(ConstantRange New
[all...]
H A DLazyValueInfo.h23 class ConstantRange;
92 /// Return the ConstantRange constraint that is known to hold for the
95 ConstantRange getConstantRange(Value *V, Instruction *CxtI,
106 ConstantRange getConstantRangeOnEdge(Value *V, BasicBlock *FromBB,
H A DScalarEvolution.h34 #include "llvm/IR/ConstantRange.h"
851 ConstantRange getUnsignedRange(const SCEV *S) {
867 ConstantRange getSignedRange(const SCEV *S) {
1529 DenseMap<const SCEV *, ConstantRange> UnsignedRanges;
1532 DenseMap<const SCEV *, ConstantRange> SignedRanges;
1538 const ConstantRange &setRange(const SCEV *S, RangeSignHint Hint,
1539 ConstantRange CR) {
1540 DenseMap<const SCEV *, ConstantRange> &Cache =
1552 const ConstantRange &getRangeRef(const SCEV *S, RangeSignHint Hint);
1556 ConstantRange getRangeForAffineA
[all...]
/netbsd-current/external/apache2/llvm/lib/libLLVMIR/
H A DMakefile20 ConstantRange.cpp \
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DSCCPSolver.cpp600 const ConstantRange &Range = SCValue.getConstantRange();
784 ConstantRange OpRange = OpSt.getConstantRange();
796 ConstantRange Res =
969 ConstantRange A = ConstantRange::getFull(I.getType()->getScalarSizeInBits());
970 ConstantRange B = ConstantRange::getFull(I.getType()->getScalarSizeInBits());
976 ConstantRange R = A.binaryOp(cast<BinaryOperator>(&I)->getOpcode(), B);
1261 ConstantRange::getFull(DL.getTypeSizeInBits(CopyOf->getType()));
1265 ImposedCR = ConstantRange
[all...]
H A DLowerSwitch.cpp25 #include "llvm/IR/ConstantRange.h"
401 ConstantRange KnownBitsRange =
402 ConstantRange::fromKnownBits(Known, /*IsSigned=*/false);
403 const ConstantRange LVIRange = LVI->getConstantRange(Val, SI);
404 ConstantRange ValRange = KnownBitsRange.intersectWith(LVIRange);
H A DSimplifyIndVar.cpp798 ConstantRange IVRange = SE->getUnsignedRange(SE->getSCEV(IVOperand));
1036 // a ConstantRange representing possible values of the def at the given
1038 DenseMap<DefUserPair, ConstantRange> PostIncRangeInfos;
1040 Optional<ConstantRange> getPostIncRangeInfo(Value *Def,
1045 ? Optional<ConstantRange>(None)
1046 : Optional<ConstantRange>(It->second);
1052 void updatePostIncRangeInfo(Value *Def, Instruction *UseI, ConstantRange R) {
2005 ConstantRange::makeAllowedICmpRegion(P, CmpRHSRange);
/netbsd-current/external/apache2/llvm/dist/llvm/include/llvm/Transforms/IPO/
H A DAttributor.h114 #include "llvm/IR/ConstantRange.h"
2096 ConstantRange Assumed;
2099 ConstantRange Known;
2102 : BitWidth(BitWidth), Assumed(ConstantRange::getEmpty(BitWidth)),
2103 Known(ConstantRange::getFull(BitWidth)) {}
2105 IntegerRangeState(const ConstantRange &CR)
2110 static ConstantRange getWorstState(uint32_t BitWidth) {
2111 return ConstantRange::getFull(BitWidth);
2115 static ConstantRange getBestState(uint32_t BitWidth) {
2116 return ConstantRange
[all...]
/netbsd-current/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DSafeStack.cpp38 #include "llvm/IR/ConstantRange.h"
241 ConstantRange AccessStartRange = SE.getUnsignedRange(Expr);
242 ConstantRange SizeRange =
243 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, AccessSize));
244 ConstantRange AccessRange = AccessStartRange.add(SizeRange);
245 ConstantRange AllocaRange =
246 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, AllocaSize));
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/X86/
H A DX86Subtarget.cpp25 #include "llvm/IR/ConstantRange.h"
131 if (Optional<ConstantRange> CR = GV->getAbsoluteSymbolRange()) {
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/
H A DAttributorAttributes.cpp375 ConstantRange Range = UseAssumed ? ValueConstantRangeAA.getAssumed()
7025 ConstantRange getConstantRangeFromSCEV(Attributor &A,
7043 ConstantRange
7060 ConstantRange
7066 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI);
7067 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI);
7072 ConstantRange
7083 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI);
7084 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI);
7100 const ConstantRange
[all...]

Completed in 437 milliseconds

12