Lines Matching refs:Immediate

260 class Immediate : public details::FixedOrScalableQuantity<Immediate, int64_t> {  class
261 constexpr Immediate(ScalarTy MinVal, bool Scalable) in Immediate() function in __anonc21373340111::Immediate
264 constexpr Immediate(const FixedOrScalableQuantity<Immediate, int64_t> &V) in Immediate() argument
268 constexpr Immediate() = delete;
270 static constexpr Immediate getFixed(ScalarTy MinVal) { in getFixed()
273 static constexpr Immediate getScalable(ScalarTy MinVal) { in getScalable()
276 static constexpr Immediate get(ScalarTy MinVal, bool Scalable) { in get()
279 static constexpr Immediate getZero() { return {0, false}; } in getZero()
280 static constexpr Immediate getFixedMin() { in getFixedMin()
283 static constexpr Immediate getFixedMax() { in getFixedMax()
286 static constexpr Immediate getScalableMin() { in getScalableMin()
289 static constexpr Immediate getScalableMax() { in getScalableMax()
297 constexpr bool isCompatibleImmediate(const Immediate &Imm) const { in isCompatibleImmediate()
310 constexpr Immediate addUnsigned(const Immediate &RHS) const { in addUnsigned()
316 constexpr Immediate subUnsigned(const Immediate &RHS) const { in subUnsigned()
323 constexpr Immediate mulUnsigned(const ScalarTy RHS) const { in mulUnsigned()
356 bool operator()(const Immediate &LHS, const Immediate &RHS) const { in operator ()()
369 bool operator()(const std::pair<size_t, Immediate> &LHS, in operator ()()
370 const std::pair<size_t, Immediate> &RHS) const { in operator ()()
488 Immediate BaseOffset = Immediate::getZero();
519 Immediate UnfoldedOffset = Immediate::getZero();
929 static Immediate ExtractImmediate(const SCEV *&S, ScalarEvolution &SE) { in ExtractImmediate()
933 return Immediate::getFixed(C->getValue()->getSExtValue()); in ExtractImmediate()
937 Immediate Result = ExtractImmediate(NewOps.front(), SE); in ExtractImmediate()
943 Immediate Result = ExtractImmediate(NewOps.front(), SE); in ExtractImmediate()
954 return Immediate::getScalable(C->getValue()->getSExtValue()); in ExtractImmediate()
958 return Immediate::getZero(); in ExtractImmediate()
1273 Immediate Offset = Immediate::getZero();
1336 Immediate MinOffset = Immediate::getFixedMax();
1337 Immediate MaxOffset = Immediate::getFixedMin();
1373 if (Immediate::isKnownGT(f.Offset, MaxOffset)) in pushFixup()
1375 if (Immediate::isKnownLT(f.Offset, MinOffset)) in pushFixup()
1393 GlobalValue *BaseGV, Immediate BaseOffset,
1548 Immediate Offset = Fixup.Offset.addUnsigned(F.BaseOffset); in RateFormula()
1817 GlobalValue *BaseGV, Immediate BaseOffset, in isAMCompletelyFolded()
1880 Immediate MinOffset, Immediate MaxOffset, in isAMCompletelyFolded()
1882 GlobalValue *BaseGV, Immediate BaseOffset, in isAMCompletelyFolded()
1894 MinOffset = Immediate::get((uint64_t)Base + Min, MinOffset.isScalable()); in isAMCompletelyFolded()
1897 MaxOffset = Immediate::get((uint64_t)Base + Max, MaxOffset.isScalable()); in isAMCompletelyFolded()
1906 Immediate MinOffset, Immediate MaxOffset, in isAMCompletelyFolded()
1922 static bool isLegalUse(const TargetTransformInfo &TTI, Immediate MinOffset, in isLegalUse()
1923 Immediate MaxOffset, LSRUse::KindType Kind, in isLegalUse()
1925 Immediate BaseOffset, bool HasBaseReg, int64_t Scale) { in isLegalUse()
1936 static bool isLegalUse(const TargetTransformInfo &TTI, Immediate MinOffset, in isLegalUse()
1937 Immediate MaxOffset, LSRUse::KindType Kind, in isLegalUse()
1944 Immediate Offset) { in isLegalAddImmediate()
2015 GlobalValue *BaseGV, Immediate BaseOffset, in isAlwaysFoldable()
2046 ScalarEvolution &SE, Immediate MinOffset, in isAlwaysFoldable()
2047 Immediate MaxOffset, LSRUse::KindType Kind, in isAlwaysFoldable()
2055 Immediate BaseOffset = ExtractImmediate(S, SE); in isAlwaysFoldable()
2215 bool reconcileNewOffset(LSRUse &LU, Immediate NewOffset, bool HasBaseReg,
2218 std::pair<size_t, Immediate> getUse(const SCEV *&Expr, LSRUse::KindType Kind,
2245 const SmallVectorImpl<Immediate> &Worklist,
2755 bool LSRInstance::reconcileNewOffset(LSRUse &LU, Immediate NewOffset, in reconcileNewOffset()
2758 Immediate NewMinOffset = LU.MinOffset; in reconcileNewOffset()
2759 Immediate NewMaxOffset = LU.MaxOffset; in reconcileNewOffset()
2779 if (Immediate::isKnownLT(NewOffset, LU.MinOffset)) { in reconcileNewOffset()
2784 } else if (Immediate::isKnownGT(NewOffset, LU.MaxOffset)) { in reconcileNewOffset()
2808 std::pair<size_t, Immediate> LSRInstance::getUse(const SCEV *&Expr, in getUse()
2812 Immediate Offset = ExtractImmediate(Expr, SE); in getUse()
2818 Offset = Immediate::getFixed(0); in getUse()
3361 Immediate IncOffset = Immediate::getZero(); in canFoldIVIncExpr()
3365 IncOffset = Immediate::getFixed(IncConst->getValue()->getSExtValue()); in canFoldIVIncExpr()
3375 IncOffset = Immediate::getScalable(Scale->getValue()->getSExtValue()); in canFoldIVIncExpr()
3615 std::pair<size_t, Immediate> P = getUse(S, Kind, AccessTy); in CollectFixupsAndInitialFormulae()
3617 Immediate Offset = P.second; in CollectFixupsAndInitialFormulae()
3807 std::pair<size_t, Immediate> P = in CollectLoopInvariantFixupsAndFormulae()
3810 Immediate Offset = P.second; in CollectLoopInvariantFixupsAndFormulae()
3975 Immediate::getFixed((uint64_t)F.UnfoldedOffset.getFixedValue() + in GenerateReassociationsImpl()
3992 Immediate::getFixed((uint64_t)F.UnfoldedOffset.getFixedValue() + in GenerateReassociationsImpl()
4088 NewBase.UnfoldedOffset = Immediate::getFixed(0); in GenerateCombinations()
4128 const SmallVectorImpl<Immediate> &Worklist, size_t Idx, bool IsScaledReg) { in GenerateConstantOffsetsImpl()
4130 auto GenerateOffset = [&](const SCEV *G, Immediate Offset) { in GenerateConstantOffsetsImpl()
4175 for (Immediate Offset : Worklist) { in GenerateConstantOffsetsImpl()
4177 Offset = Immediate::getFixed(Offset.getFixedValue() - Step); in GenerateConstantOffsetsImpl()
4184 for (Immediate Offset : Worklist) in GenerateConstantOffsetsImpl()
4187 Immediate Imm = ExtractImmediate(G, SE); in GenerateConstantOffsetsImpl()
4211 SmallVector<Immediate, 2> Worklist; in GenerateConstantOffsets()
4256 Immediate NewBaseOffset = Base.BaseOffset.mulUnsigned(Factor); in GenerateICmpZeroScales()
4267 Immediate Offset = LU.MinOffset; in GenerateICmpZeroScales()
4484 Immediate Imm;
4487 WorkItem(size_t LI, Immediate I, const SCEV *R) in WorkItem()
4511 using ImmMapTy = std::map<Immediate, const SCEV *, KeyOrderTargetImmediate>; in GenerateCrossUseConstantOffsets()
4518 Immediate Imm = ExtractImmediate(Reg, SE); in GenerateCrossUseConstantOffsets()
4530 SmallSet<std::pair<size_t, Immediate>, 32, KeyOrderSizeTAndImmediate> in GenerateCrossUseConstantOffsets()
4550 Immediate JImm = J->first; in GenerateCrossUseConstantOffsets()
4562 Immediate First = Imms.begin()->first; in GenerateCrossUseConstantOffsets()
4563 Immediate Last = std::prev(Imms.end())->first; in GenerateCrossUseConstantOffsets()
4582 Imms.lower_bound(Immediate::get(Avg, Scalable))}; in GenerateCrossUseConstantOffsets()
4589 Immediate Imm = JImm.subUnsigned(M->first); in GenerateCrossUseConstantOffsets()
4607 Immediate Imm = WI.Imm; in GenerateCrossUseConstantOffsets()
4626 Immediate Offset = F.BaseOffset.addUnsigned(Imm.mulUnsigned(F.Scale)); in GenerateCrossUseConstantOffsets()
4674 Immediate NewUnfoldedOffset = NewF.UnfoldedOffset.addUnsigned(Imm); in GenerateCrossUseConstantOffsets()
4893 Immediate::getFixed(NewF.BaseOffset.getFixedValue() + in NarrowSearchSpaceByDetectingSupersets()
5791 Immediate Offset = F.BaseOffset.addUnsigned(LF.Offset); in Expand()
5811 Immediate UnfoldedOffset = F.UnfoldedOffset; in Expand()