reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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/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 };lib/Transforms/Instrumentation/ControlHeightReduction.cpp
198 bool appendable(CHRScope *Next) { 215 void append(CHRScope *Next) { 224 for (CHRScope *Sub : Next->Subs) 228 void addSub(CHRScope *SubIn) { 243 CHRScope *split(Region *Boundary) { 254 SmallVector<CHRScope *, 8> TailSubs; 261 CHRScope *Sub = *It; 277 return new CHRScope(TailRegInfos, TailSubs); 291 SmallVector<CHRScope *, 8> Subs; // Subscopes. 316 SmallVector<CHRScope *, 8> &SubsIn) 328 for (CHRScope *Scope : Scopes) { 339 void findScopes(SmallVectorImpl<CHRScope *> &Output) { 341 CHRScope *Scope = findScopes(R, nullptr, nullptr, Output); 346 CHRScope *findScopes(Region *R, Region *NextRegion, Region *ParentRegion, 347 SmallVectorImpl<CHRScope *> &Scopes); 348 CHRScope *findScope(Region *R); 349 void checkScopeHoistable(CHRScope *Scope); 351 void splitScopes(SmallVectorImpl<CHRScope *> &Input, 352 SmallVectorImpl<CHRScope *> &Output); 353 SmallVector<CHRScope *, 8> splitScope(CHRScope *Scope, 360 void classifyBiasedScopes(SmallVectorImpl<CHRScope *> &Scopes); 361 void classifyBiasedScopes(CHRScope *Scope, CHRScope *OutermostScope); 361 void classifyBiasedScopes(CHRScope *Scope, CHRScope *OutermostScope); 363 void filterScopes(SmallVectorImpl<CHRScope *> &Input, 364 SmallVectorImpl<CHRScope *> &Output); 366 void setCHRRegions(SmallVectorImpl<CHRScope *> &Input, 367 SmallVectorImpl<CHRScope *> &Output); 368 void setCHRRegions(CHRScope *Scope, CHRScope *OutermostScope); 368 void setCHRRegions(CHRScope *Scope, CHRScope *OutermostScope); 370 void sortScopes(SmallVectorImpl<CHRScope *> &Input, 371 SmallVectorImpl<CHRScope *> &Output); 373 void transformScopes(SmallVectorImpl<CHRScope *> &CHRScopes); 374 void transformScopes(CHRScope *Scope, DenseSet<PHINode *> &TrivialPHIs); 375 void cloneScopeBlocks(CHRScope *Scope, 384 void fixupBranchesAndSelects(CHRScope *Scope, 389 CHRScope *Scope, 393 CHRScope *Scope, 398 CHRScope *Scope, 423 DenseSet<CHRScope *> Scopes; 436 raw_ostream &operator<<(raw_ostream &OS, const CHRScope &Scope) { 488 for (CHRScope *Sub : Subs) { 746 CHRScope * CHR::findScope(Region *R) { 747 CHRScope *Result = nullptr; 790 Result = new CHRScope(RI); 850 Result = new CHRScope(RI); 887 void CHR::checkScopeHoistable(CHRScope *Scope) { 991 CHRScope * CHR::findScopes(Region *R, Region *NextRegion, Region *ParentRegion, 992 SmallVectorImpl<CHRScope *> &Scopes) { 994 CHRScope *Result = findScope(R); 996 CHRScope *ConsecutiveSubscope = nullptr; 997 SmallVector<CHRScope *, 8> Subscopes; 1004 CHRScope *SubCHRScope = findScopes(SubR.get(), NextSubR, R, Scopes); 1028 for (CHRScope *Sub : Subscopes) { 1122 static void getSelectsInScope(CHRScope *Scope, 1127 for (CHRScope *Sub : Scope->Subs) 1131 void CHR::splitScopes(SmallVectorImpl<CHRScope *> &Input, 1132 SmallVectorImpl<CHRScope *> &Output) { 1133 for (CHRScope *Scope : Input) { 1141 for (CHRScope *Scope : Output) { 1147 SmallVector<CHRScope *, 8> CHR::splitScope( 1161 SmallVector<CHRScope *, 8> Splits; 1211 CHRScope *Tail = Scope->split(RI.R); 1243 CHRScope *Split = Splits[I]; 1246 SmallVector<CHRScope *, 8> NewSubs; 1249 for (CHRScope *Sub : Split->Subs) { 1250 SmallVector<CHRScope *, 8> SubSplits = splitScope( 1257 SmallVector<CHRScope *, 8> Result; 1259 CHRScope *Split = Splits[I]; 1277 void CHR::classifyBiasedScopes(SmallVectorImpl<CHRScope *> &Scopes) { 1278 for (CHRScope *Scope : Scopes) { 1306 void CHR::classifyBiasedScopes(CHRScope *Scope, CHRScope *OutermostScope) { 1306 void CHR::classifyBiasedScopes(CHRScope *Scope, CHRScope *OutermostScope) { 1326 for (CHRScope *Sub : Scope->Subs) { 1331 static bool hasAtLeastTwoBiasedBranches(CHRScope *Scope) { 1339 void CHR::filterScopes(SmallVectorImpl<CHRScope *> &Input, 1340 SmallVectorImpl<CHRScope *> &Output) { 1341 for (CHRScope *Scope : Input) { 1364 void CHR::setCHRRegions(SmallVectorImpl<CHRScope *> &Input, 1365 SmallVectorImpl<CHRScope *> &Output) { 1366 for (CHRScope *Scope : Input) { 1387 void CHR::setCHRRegions(CHRScope *Scope, CHRScope *OutermostScope) { 1387 void CHR::setCHRRegions(CHRScope *Scope, CHRScope *OutermostScope) { 1432 for (CHRScope *Sub : Scope->Subs) 1436 bool CHRScopeSorter(CHRScope *Scope1, CHRScope *Scope2) { 1436 bool CHRScopeSorter(CHRScope *Scope1, CHRScope *Scope2) { 1440 void CHR::sortScopes(SmallVectorImpl<CHRScope *> &Input, 1441 SmallVectorImpl<CHRScope *> &Output) { 1497 static void hoistScopeConditions(CHRScope *Scope, Instruction *HoistPoint, 1525 CHRScope *Scope) { 1572 static void insertTrivialPHIs(CHRScope *Scope, 1639 assertCHRRegionsHaveBiasedBranchOrSelect(CHRScope *Scope) { 1661 CHRScope *Scope, BasicBlock *PreEntryBlock) { 1695 void CHR::transformScopes(CHRScope *Scope, DenseSet<PHINode *> &TrivialPHIs) { 1762 void CHR::cloneScopeBlocks(CHRScope *Scope, 1841 void CHR::fixupBranchesAndSelects(CHRScope *Scope, 1882 void CHR::fixupBranch(Region *R, CHRScope *Scope, 1926 void CHR::fixupSelect(SelectInst *SI, CHRScope *Scope, 1953 CHRScope *Scope, 1976 void CHR::transformScopes(SmallVectorImpl<CHRScope *> &CHRScopes) { 1979 for (CHRScope *Scope : CHRScopes) { 1990 dumpScopes(SmallVectorImpl<CHRScope *> &Scopes, const char *Label) { 1992 for (CHRScope *Scope : Scopes) { 2011 SmallVector<CHRScope *, 8> AllScopes; 2020 SmallVector<CHRScope *, 8> SplitScopes; 2031 SmallVector<CHRScope *, 8> FilteredScopes; 2036 SmallVector<CHRScope *, 8> SetScopes; 2043 SmallVector<CHRScope *, 8> SortedScopes;usr/include/c++/7.4.0/type_traits
1983 { typedef _Up type; };