|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/Analysis/RegionInfo.h 66 class Region;
881 class Region;
tools/polly/include/polly/ScopDetectionDiagnostic.h 35 class Region;
tools/polly/include/polly/Support/ScopHelper.h 26 class Region;
tools/polly/include/polly/Support/ScopLocation.h 19 class Region;
References
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/SmallSet.h 249 class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {};
include/llvm/Analysis/RegionInfo.h 89 using RegionT = Region;
733 void updateRegionTree(RegionInfoT &RI, TheRegionT *R) {
885 inline RegionNode(Region *Parent, BasicBlock *Entry, bool isSubRegion = false)
888 bool operator==(const Region &RN) const {
896 Region *Parent = nullptr);
927 void updateStatistics(Region *R) final;
1007 inline Region *
1008 RegionNodeBase<RegionTraits<Function>>::getNodeAs<Region>() const {
include/llvm/Analysis/RegionIterator.h 92 return getNode()->template getNodeAs<RegionT>()->getExit();
101 using Self = RNSuccIterator<NodeRef, BlockT, RegionT>;
176 using Self = RNSuccIterator<FlatIt<NodeRef>, BlockT, RegionT>;
215 RegionT *Parent = Node->getParent();
326 return GraphTraits<FlatIt<Region*>>::getEntryNode(RI->getTopLevelRegion());
include/llvm/Analysis/RegionPass.h 49 virtual bool runOnRegion(Region *R, RGPassManager &RGM) = 0;
63 virtual bool doInitialization(Region *R, RGPassManager &RGM) { return false; }
84 bool skipRegion(Region &R) const;
89 std::deque<Region*> RQ;
93 Region *CurrentRegion;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
lib/Analysis/RegionInfo.cpp 48 static cl::opt<Region::PrintStyle, true> printStyleX("print-region-style",
65 DominatorTree *DT, Region *Parent) :
89 void RegionInfo::updateStatistics(Region *R) {
103 TopLevelRegion = new Region(&F.getEntryBlock(), nullptr,
lib/Analysis/RegionPass.cpp 40 static void addRegionIntoQueue(Region &R, std::deque<Region *> &RQ) {
40 static void addRegionIntoQueue(Region &R, std::deque<Region *> &RQ) {
67 for (Region *R : RQ) {
195 bool runOnRegion(Region *R, RGPassManager &RGM) override {
281 static std::string getDescription(const Region &R) {
285 bool RegionPass::skipRegion(Region &R) const {
lib/Analysis/RegionPrinter.cpp 85 Region *R = G->getRegionFor(destBB);
101 static void printRegionCluster(const Region &R, GraphWriter<RegionInfo *> &GW,
lib/Transforms/Instrumentation/ControlHeightReduction.cpp 163 RegInfo(Region *RegionIn) : R(RegionIn), HasBranch(false) {}
164 Region *R;
169 typedef DenseMap<Region *, DenseSet<Instruction *>> HoistStopMapTy;
181 Region *getParentRegion() {
183 Region *Parent = RegInfos[0].R->getParent();
206 Region *LastRegion = RegInfos.back().R;
243 CHRScope *split(Region *Boundary) {
257 DenseSet<Region *> TailRegionSet;
263 Region *Parent = Sub->getParentRegion();
300 DenseSet<Region *> TrueBiasedRegions;
301 DenseSet<Region *> FalseBiasedRegions;
340 Region *R = RI.getTopLevelRegion();
346 CHRScope *findScopes(Region *R, Region *NextRegion, Region *ParentRegion,
346 CHRScope *findScopes(Region *R, Region *NextRegion, Region *ParentRegion,
346 CHRScope *findScopes(Region *R, Region *NextRegion, Region *ParentRegion,
348 CHRScope *findScope(Region *R);
378 Region *LastRegion,
388 void fixupBranch(Region *R,
411 DenseSet<Region *> TrueBiasedRegionsGlobal;
413 DenseSet<Region *> FalseBiasedRegionsGlobal;
419 DenseMap<Region *, BranchProbability> BranchBiasMap;
641 static bool checkBias(K *Key, BranchProbability TrueProb,
659 static bool checkBiasedBranch(BranchInst *BI, Region *R,
660 DenseSet<Region *> &TrueBiasedRegionsGlobal,
661 DenseSet<Region *> &FalseBiasedRegionsGlobal,
662 DenseMap<Region *, BranchProbability> &BranchBiasMap) {
691 SelectInst *SI, Region *R,
711 Region *R = RI.R;
746 CHRScope * CHR::findScope(Region *R) {
889 Region *R = RI.R;
991 CHRScope * CHR::findScopes(Region *R, Region *NextRegion, Region *ParentRegion,
991 CHRScope * CHR::findScopes(Region *R, Region *NextRegion, Region *ParentRegion,
991 CHRScope * CHR::findScopes(Region *R, Region *NextRegion, Region *ParentRegion,
999 const std::unique_ptr<Region> &SubR = *It;
1001 Region *NextSubR = NextIt != R->end() ? NextIt->get() : nullptr;
1309 Region *R = RI.R;
1399 Region *R = RI.R;
1449 static void hoistValue(Value *V, Instruction *HoistPoint, Region *R,
1502 Region *R = RI.R;
1664 Region *R = RI.R;
1699 Region *FirstRegion = Scope->RegInfos[0].R;
1701 Region *LastRegion = Scope->RegInfos[Scope->RegInfos.size() - 1].R;
1765 Region *LastRegion,
1850 Region *R = RI.R;
1882 void CHR::fixupBranch(Region *R, CHRScope *Scope,
lib/Transforms/Scalar/StructurizeCFG.cpp 189 Region *ParentRegion;
269 bool doInitialization(Region *R, RGPassManager &RGM) override;
271 bool runOnRegion(Region *R, RGPassManager &RGM) override;
301 bool StructurizeCFG::doInitialization(Region *R, RGPassManager &RGM) {
315 Region *SubRegion = RN->getNodeAs<Region>();
315 Region *SubRegion = RN->getNodeAs<Region>();
325 Region *SubR = RN->getNodeAs<Region>();
325 Region *SubR = RN->getNodeAs<Region>();
334 ReversePostOrderTraversal<Region*> RPOT(ParentRegion);
387 BasicBlock *Exit = N->getNodeAs<Region>()->getExit();
460 Region *R = RI->getRegionFor(P);
679 Region *SubRegion = Node->getNodeAs<Region>();
679 Region *SubRegion = Node->getNodeAs<Region>();
939 static bool hasOnlyUniformBranches(Region *R, unsigned UniformMDKindID,
970 for (auto BB : E->getNodeAs<Region>()->blocks()) {
997 bool StructurizeCFG::runOnRegion(Region *R, RGPassManager &RGM) {
tools/opt/PassPrinters.cpp 179 bool runOnRegion(Region *R, RGPassManager &RGM) override {
tools/polly/include/polly/CodeGen/IslExprBuilder.h 24 static inline const Region *getFromVoidPointer(void *P) {
tools/polly/include/polly/ScopBuilder.h 124 void buildScop(Region &R, AssumptionCache &AC);
140 bool buildDomains(Region *R,
152 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap);
210 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap);
253 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap);
485 Region *NonAffineSubRegion, bool IsExitBlock = false);
516 void buildStmts(Region &SR);
525 Region *NonAffineSubRegion = nullptr);
796 void buildSchedule(Region *R, LoopStackTy &LoopStack);
814 explicit ScopBuilder(Region *R, AssumptionCache &AC, AliasAnalysis &AA,
tools/polly/include/polly/ScopDetection.h 114 using RegionSet = SetVector<const Region *>;
121 Region &CurRegion; // The region to check.
164 DetectionContext(Region &R, AliasAnalysis &AA, bool Verify)
205 void removeCachedResults(const Region &R);
208 void removeCachedResultsRecursively(const Region &R);
226 bool addOverApproximatedRegion(Region *AR, DetectionContext &Context) const;
281 Region *expandRegion(Region &R);
281 Region *expandRegion(Region &R);
286 void findScops(Region &R);
373 bool isInvariant(Value &Val, const Region &Reg, DetectionContext &Ctx) const;
400 bool hasScalarDependency(Instruction &Inst, Region &RefRegion) const;
505 bool isReducibleRegion(Region &R, DebugLoc &DbgLoc) const;
536 bool isMaxRegionInScop(const Region &R, bool Verify = true) const;
539 DetectionContext *getDetectionContext(const Region *R) const;
542 const RejectLog *lookupRejectionLog(const Region *R) const;
545 bool isNonAffineSubRegion(const Region *SubR, const Region *ScopR) const;
545 bool isNonAffineSubRegion(const Region *SubR, const Region *ScopR) const;
552 std::string regionIsInvalidBecause(const Region *R) const;
587 void verifyRegion(const Region &R) const;
598 countBeneficialLoops(Region *R, ScalarEvolution &SE, LoopInfo &LI,
tools/polly/include/polly/ScopDetectionDiagnostic.h 45 BBPair getBBPairForRegion(const Region *R);
158 Region *R;
162 explicit RejectLog(Region *R) : R(R) {}
177 const Region *region() const { return R; }
222 Region *R;
226 ReportIrreducibleRegion(Region *R, DebugLoc DbgLoc)
810 Region *R;
813 ReportUnprofitable(Region *R);
tools/polly/include/polly/ScopInfo.h 1169 ScopStmt(Scop &parent, Region &R, StringRef Name, Loop *SurroundingLoop,
1264 Region *R = nullptr;
1343 Region *getRegion() const { return R; }
1734 Region &R;
1946 Scop(Region &R, ScalarEvolution &SE, LoopInfo &LI, DominatorTree &DT,
1997 void addScopStmt(Region *R, StringRef Name, Loop *SurroundingLoop,
2189 inline const Region &getRegion() const { return R; }
2190 inline Region &getRegion() { return R; }
2220 Region::block_range blocks() const { return R.blocks(); }
2426 ArrayRef<ScopStmt *> getStmtListFor(Region *R) const;
2475 bool isNonAffineSubRegion(const Region *R) {
2786 bool runOnRegion(Region *R, RGPassManager &RGM) override;
2797 using RegionToScopMapTy = MapVector<Region *, std::unique_ptr<Scop>>;
2827 Scop *getScop(Region *R) const {
tools/polly/include/polly/ScopPass.h 168 bool runOnRegion(Region *R, RGPassManager &RGM) override;
182 SPMUpdater(SmallPriorityWorklist<Region *, 4> &Worklist,
199 SmallPriorityWorklist<Region *, 4> &Worklist;
217 SmallPriorityWorklist<Region *, 4> Worklist;
234 Region *R = Worklist.pop_back_val();
tools/polly/include/polly/Support/SCEVValidator.h 64 bool hasScalarDepsInsideRegion(const llvm::SCEV *Expr, const llvm::Region *R,
67 bool isAffineExpr(const llvm::Region *R, llvm::Loop *Scope,
72 bool isAffineConstraint(llvm::Value *V, const llvm::Region *R,
76 ParameterSetTy getParamsInAffineExpr(const llvm::Region *R, llvm::Loop *Scope,
95 const llvm::SCEV *tryForwardThroughPHI(const llvm::SCEV *Expr, llvm::Region &R,
105 llvm::Value *getUniqueNonErrorValue(llvm::PHINode *PHI, llvm::Region *R,
tools/polly/include/polly/Support/ScopHelper.h 307 void simplifyRegion(llvm::Region *R, llvm::DominatorTree *DT,
371 bool isErrorBlock(llvm::BasicBlock &BB, const llvm::Region &R,
414 bool isHoistableLoad(llvm::LoadInst *LInst, llvm::Region &R, llvm::LoopInfo &LI,
tools/polly/include/polly/Support/ScopLocation.h 30 void getDebugLocation(const llvm::Region *R, unsigned &LineBegin,
tools/polly/lib/Analysis/PolyhedralInfo.cpp 103 Region *R = It.first;
tools/polly/lib/Analysis/ScopBuilder.cpp 163 return RN->isSubRegion() ? RN->getNodeAs<Region>()->getEntry()
172 return RN->getNodeAs<Region>()->getExit();
177 static bool containsErrorBlock(RegionNode *RN, const Region &R, LoopInfo &LI,
181 for (BasicBlock *BB : RN->getNodeAs<Region>()->blocks())
317 auto &R = scop->getRegion();
484 Region &R = scop->getRegion();
584 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap) {
594 ReversePostOrderTraversal<Region *> RTraversal(R);
599 Region *SubRegion = RN->getNodeAs<Region>();
599 Region *SubRegion = RN->getNodeAs<Region>();
632 auto *BBReg = RI ? RI->getRegionFor(BB) : nullptr;
686 SmallSet<Region *, 8> PropagatedRegions;
702 auto *PredR = RI.getRegionFor(PredBB);
826 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap) {
866 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap) {
879 ReversePostOrderTraversal<Region *> RTraversal(R);
884 Region *SubRegion = RN->getNodeAs<Region>();
884 Region *SubRegion = RN->getNodeAs<Region>();
994 Region *R, DenseMap<BasicBlock *, isl::set> &InvalidDomainMap) {
995 ReversePostOrderTraversal<Region *> RTraversal(R);
1001 Region *SubRegion = RN->getNodeAs<Region>();
1001 Region *SubRegion = RN->getNodeAs<Region>();
1076 Region *NonAffineSubRegion,
1204 void ScopBuilder::buildSchedule(Region *R, LoopStackTy &LoopStack) {
1207 ReversePostOrderTraversal<Region *> RTraversal(R);
1250 auto *LocalRegion = RN->getNodeAs<Region>();
1250 auto *LocalRegion = RN->getNodeAs<Region>();
1538 auto &R = scop->getRegion();
1909 Region *R = Stmt.getRegion();
1957 static std::string makeStmtName(Region *R, long RIdx) {
2177 void ScopBuilder::buildStmts(Region &SR) {
2193 buildStmts(*I->getNodeAs<Region>());
2211 Region *NonAffineSubRegion) {
3599 void ScopBuilder::buildScop(Region &R, AssumptionCache &AC) {
3750 ScopBuilder::ScopBuilder(Region *R, AssumptionCache &AC, AliasAnalysis &AA,
tools/polly/lib/Analysis/ScopDetection.cpp 336 Region *TopRegion = RI.getTopLevelRegion();
402 bool ScopDetection::isMaxRegionInScop(const Region &R, bool Verify) const {
418 std::string ScopDetection::regionIsInvalidBecause(const Region *R) const {
432 bool ScopDetection::addOverApproximatedRegion(Region *AR,
452 Region &CurRegion = Context.CurRegion;
639 Region &CurRegion = Context.CurRegion;
786 bool ScopDetection::isInvariant(Value &Val, const Region &Reg,
915 Region &CurRegion = Context.CurRegion;
1323 Region *R = RI.getRegionFor(L->getHeader());
1360 ScopDetection::countBeneficialLoops(Region *R, ScalarEvolution &SE,
1388 Region *ScopDetection::expandRegion(Region &R) {
1388 Region *ScopDetection::expandRegion(Region &R) {
1390 std::unique_ptr<Region> LastValidRegion;
1444 static bool regionWithoutLoops(Region &R, LoopInfo &LI) {
1452 void ScopDetection::removeCachedResultsRecursively(const Region &R) {
1461 void ScopDetection::removeCachedResults(const Region &R) {
1465 void ScopDetection::findScops(Region &R) {
1494 std::vector<Region *> ToExpand;
1499 for (Region *CurrentRegion : ToExpand) {
1510 Region *ExpandedR = expandRegion(*CurrentRegion);
1523 Region &CurRegion = Context.CurRegion;
1602 Region &CurRegion = Context.CurRegion;
1638 Region &CurRegion = Context.CurRegion;
1690 for (const Region *R : *this) {
1708 bool ScopDetection::isReducibleRegion(Region &R, DebugLoc &DbgLoc) const {
1824 ScopDetection::getDetectionContext(const Region *R) const {
1831 const RejectLog *ScopDetection::lookupRejectionLog(const Region *R) const {
1836 void ScopDetection::verifyRegion(const Region &R) const {
1847 for (const Region *R : ValidRegions)
1874 for (const Region *R : Result->ValidRegions)
1912 for (const Region *R : SD.ValidRegions)
tools/polly/lib/Analysis/ScopDetectionDiagnostic.cpp 108 BBPair getBBPairForRegion(const Region *R) {
775 ReportUnprofitable::ReportUnprofitable(Region *R)
tools/polly/lib/Analysis/ScopGraphPrinter.cpp 105 Region *R = RI->getRegionFor(destBB);
139 static void printRegionCluster(const ScopDetection *SD, const Region *R,
tools/polly/lib/Analysis/ScopInfo.cpp 1188 ScopStmt::ScopStmt(Scop &parent, Region &R, StringRef Name,
1680 auto *BBR = RI.getRegionFor(BB);
1698 Scop::Scop(Region &R, ScalarEvolution &ScalarEvolution, LoopInfo &LI,
2382 void Scop::addScopStmt(Region *R, StringRef Name, Loop *SurroundingLoop,
2454 return getStmtListFor(RN->getNodeAs<Region>());
2458 ArrayRef<ScopStmt *> Scop::getStmtListFor(Region *R) const {
2664 bool ScopInfoRegionPass::runOnRegion(Region *R, RGPassManager &RGM) {
2731 Region *R = const_cast<Region *>(It);
tools/polly/lib/Analysis/ScopPass.cpp 24 bool ScopPass::runOnRegion(Region *R, RGPassManager &RGM) {
tools/polly/lib/CodeGen/BlockGenerators.cpp 1420 static bool isDominatingSubregionExit(const DominatorTree &DT, Region *R,
1436 static BasicBlock *findExitDominator(DominatorTree &DT, Region *R) {
1471 Region *R = Stmt.getRegion();
1624 Region *SubR = Stmt->getRegion();
tools/polly/lib/CodeGen/CodeGeneration.cpp 106 static void fixRegionInfo(Function &F, Region &ParentRegion, RegionInfo &RI) {
143 static void removeLifetimeMarkers(Region *R) {
200 Region *R = &S.getRegion();
tools/polly/lib/CodeGen/Utils.cpp 54 Region *PrevRegion = RI->getRegionFor(Prev);
55 Region *SuccRegion = RI->getRegionFor(Succ);
80 Region &R = S.getRegion();
108 Region *PrevRegion = RI.getRegionFor(EnteringBB);
tools/polly/lib/Support/SCEVValidator.cpp 135 const Region *R;
141 SCEVValidator(const Region *R, Loop *Scope, ScalarEvolution &SE,
496 const Region *R;
503 SCEVInRegionDependences(const Region *R, Loop *Scope, bool AllowLoops,
626 bool hasScalarDepsInsideRegion(const SCEV *Expr, const Region *R,
635 bool isAffineExpr(const Region *R, llvm::Loop *Scope, const SCEV *Expr,
659 static bool isAffineExpr(Value *V, const Region *R, Loop *Scope,
676 bool isAffineConstraint(Value *V, const Region *R, llvm::Loop *Scope,
699 ParameterSetTy getParamsInAffineExpr(const Region *R, Loop *Scope,
772 const SCEV *tryForwardThroughPHI(const SCEV *Expr, Region &R,
798 Value *getUniqueNonErrorValue(PHINode *PHI, Region *R, LoopInfo &LI,
tools/polly/lib/Support/ScopHelper.cpp 44 static void simplifyRegionEntry(Region *R, DominatorTree *DT, LoopInfo *LI,
72 Region *RegionOfPred = RI->getRegionFor(ExitPred);
84 Region *AncestorR = R->getParent();
108 static void simplifyRegionExit(Region *R, DominatorTree *DT, LoopInfo *LI,
156 void polly::simplifyRegion(Region *R, DominatorTree *DT, LoopInfo *LI,
185 Region *R = RI->getRegionFor(Old);
233 explicit ScopExpander(const Region &R, ScalarEvolution &SE,
263 const Region &R;
402 bool polly::isErrorBlock(BasicBlock &BB, const Region &R, LoopInfo &LI,
499 Region *R = RN->getNodeAs<Region>();
499 Region *R = RN->getNodeAs<Region>();
531 Region *NonAffineSubRegion = RN->getNodeAs<Region>();
531 Region *NonAffineSubRegion = RN->getNodeAs<Region>();
538 static bool hasVariantIndex(GetElementPtrInst *Gep, Loop *L, Region &R,
549 bool polly::isHoistableLoad(LoadInst *LInst, Region &R, LoopInfo &LI,
tools/polly/lib/Support/ScopLocation.cpp 21 void getDebugLocation(const Region *R, unsigned &LineBegin, unsigned &LineEnd,
usr/include/c++/7.4.0/bits/alloc_traits.h 474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/bits/stl_list.h 570 _M_create_node(_Args&&... __args)
1131 emplace_back(_Args&&... __args)
1799 _M_insert(iterator __position, _Args&&... __args)
usr/include/c++/7.4.0/bits/unique_ptr.h 68 default_delete(const default_delete<_Up>&) noexcept { }
72 operator()(_Tp* __ptr) const
74 static_assert(!is_void<_Tp>::value,
76 static_assert(sizeof(_Tp)>0,
122 using type = _Up*;
137 using pointer = typename _Ptr<_Tp, _Dp>::type;
161 typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
163 __uniq_ptr_impl<_Tp, _Dp> _M_t;
166 using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
167 using element_type = _Tp;
252 unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
297 __safe_conversion_up<_Up, _Ep>,
301 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/ext/new_allocator.h 135 construct(_Up* __p, _Args&&... __args)
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1633 { typedef _Tp type; };
1645 { typedef _Tp& type; };
1650 : public __add_lvalue_reference_helper<_Tp>
1983 { typedef _Up type; };