|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/Analysis/CallGraphSCCPass.h 34 class CallGraphSCCPass : public Pass {
include/llvm/Analysis/LoopPass.h 28 class LoopPass : public Pass {
include/llvm/Analysis/RegionPass.h 33 class RegionPass : public Pass {
include/llvm/Pass.h 224 class ModulePass : public Pass {
284 class FunctionPass : public Pass {
321 class BasicBlockPass : public Pass {
lib/IR/LegacyPassManager.cpp 381 class FunctionPassManagerImpl : public Pass,
452 class MPPassManager : public Pass, public PMDataManager {
538 class PassManagerImpl : public Pass,
Declarations
include/llvm/Analysis/InstructionSimplify.h 50 class Pass;
include/llvm/Analysis/OptimizationRemarkEmitter.h 27 class Pass;
include/llvm/Analysis/Passes.h 22 class Pass;
include/llvm/Bitcode/BitcodeWriterPass.h 23 class Pass;
include/llvm/CodeGen/GlobalISel/RegBankSelect.h 83 class Pass;
include/llvm/CodeGen/MachineBasicBlock.h 41 class Pass;
include/llvm/CodeGen/MachineFunction.h 67 class Pass;
include/llvm/CodeGen/Passes.h 26 class Pass;
include/llvm/IR/IRPrintingPasses.h 25 class Pass;
include/llvm/IR/LegacyPassManager.h 24 class Pass;
include/llvm/IR/LegacyPassManagers.h 95 class Pass;
include/llvm/IR/Module.h 49 class Pass;
include/llvm/IR/OptBisect.h 21 class Pass;
include/llvm/IR/PassTimingInfo.h 27 class Pass;
include/llvm/PassAnalysisSupport.h 31 class Pass;
include/llvm/PassInfo.h 22 class Pass;
include/llvm/PassSupport.h 31 class Pass;
include/llvm/Transforms/Coroutines.h 16 class Pass;
include/llvm/Transforms/IPO.h 27 class Pass;
include/llvm/Transforms/IPO/FunctionAttrs.h 27 class Pass;
include/llvm/Transforms/IPO/PassManagerBuilder.h 24 class Pass;
include/llvm/Transforms/ObjCARC.h 19 class Pass;
include/llvm/Transforms/Scalar.h 25 class Pass;
include/llvm/Transforms/Utils.h 21 class Pass;
include/llvm/Transforms/Vectorize.h 20 class Pass;
lib/Target/AMDGPU/AMDGPU.h 21 class Pass;
tools/polly/include/polly/CodeGen/Utils.h 18 class Pass;
tools/polly/include/polly/DeLICM.h 24 class Pass;
tools/polly/include/polly/FlattenSchedule.h 20 class Pass;
tools/polly/include/polly/LinkAllPasses.h 26 class Pass;
tools/polly/include/polly/PruneUnprofitable.h 18 class Pass;
tools/polly/include/polly/Simplify.h 20 class Pass;
tools/polly/include/polly/Support/ScopHelper.h 27 class Pass;
References
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
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/Analysis/AliasAnalysis.h 1176 using CallbackT = std::function<void(Pass &, Function &, AAResults &)>;
1206 std::function<void(Pass &, Function &, AAResults &)> Callback);
1215 AAResults createLegacyPMAAResults(Pass &P, Function &F, BasicAAResult &BAR);
include/llvm/Analysis/BasicAliasAnalysis.h 256 BasicAAResult createLegacyPMBasicAAResult(Pass &P, Function &F);
262 Pass &P;
267 LegacyAARGetter(Pass &P) : P(P) {}
include/llvm/Analysis/CallGraphSCCPass.h 34 class CallGraphSCCPass : public Pass {
40 Pass *createPrinterPass(raw_ostream &OS,
include/llvm/Analysis/IVUsers.h 165 Pass *createIVUsersPass();
include/llvm/Analysis/InstructionSimplify.h 295 const SimplifyQuery getBestSimplifyQuery(Pass &, Function &);
include/llvm/Analysis/LoopPass.h 28 class LoopPass : public Pass {
34 Pass *createPrinterPass(raw_ostream &O,
112 Pass *getAsPass() override { return this; }
include/llvm/Analysis/RegionPass.h 33 class RegionPass : public Pass {
57 Pass *createPrinterPass(raw_ostream &O,
111 Pass *getAsPass() override { return this; }
117 Pass *getContainedPass(unsigned N) {
119 Pass *FP = static_cast<Pass *>(PassVector[N]);
include/llvm/Bitcode/BitcodeWriterPass.h 44 bool isBitcodeWriterPass(Pass *P);
include/llvm/CodeGen/GlobalISel/RegBankSelect.h 194 virtual uint64_t frequency(const Pass &P) const { return 1; }
229 uint64_t frequency(const Pass &P) const override;
267 uint64_t frequency(const Pass &P) const override;
283 Pass &P;
300 EdgeInsertPoint(MachineBasicBlock &Src, MachineBasicBlock &Dst, Pass &P)
307 uint64_t frequency(const Pass &P) const override;
347 Pass &P;
356 const TargetRegisterInfo &TRI, Pass &P,
include/llvm/CodeGen/MachineBasicBlock.h 591 MachineBasicBlock *SplitCriticalEdge(MachineBasicBlock *Succ, Pass &P);
include/llvm/CodeGen/MachineFunction.h 629 bool verify(Pass *p = nullptr, const char *Banner = nullptr,
include/llvm/CodeGen/MachineFunctionPass.h 72 Pass *createPrinterPass(raw_ostream &O,
include/llvm/CodeGen/Passes.h 406 Pass *createGlobalMergePass(const TargetMachine *TM, unsigned MaximalOffset,
include/llvm/CodeGen/SelectionDAG.h 227 Pass *SDAGISelPass = nullptr;
403 Pass *PassPtr, const TargetLibraryInfo *LibraryInfo,
415 const Pass *getPass() const { return SDAGISelPass; }
include/llvm/CodeGen/TargetPassConfig.h 55 Pass *P;
62 IdentifyingPassPtr(Pass *InstancePtr) : P(InstancePtr), IsInstance(true) {}
72 Pass *getInstance() const {
442 void addPass(Pass *P, bool verifyAfter = true, bool printAfter = true);
include/llvm/IR/IRPrintingPasses.h 58 bool isIRPrintingPass(Pass *P);
include/llvm/IR/LegacyPassManager.h 44 virtual void add(Pass *P) = 0;
54 void add(Pass *P) override;
74 void add(Pass *P) override;
include/llvm/IR/LegacyPassManagers.h 117 Pass *P;
122 explicit PassManagerPrettyStackEntry(Pass *p)
124 PassManagerPrettyStackEntry(Pass *p, Value &v)
126 PassManagerPrettyStackEntry(Pass *p, Module &m)
183 void schedulePass(Pass *P);
186 void setLastUser(ArrayRef<Pass*> AnalysisPasses, Pass *P);
186 void setLastUser(ArrayRef<Pass*> AnalysisPasses, Pass *P);
189 void collectLastUses(SmallVectorImpl<Pass *> &LastUses, Pass *P);
189 void collectLastUses(SmallVectorImpl<Pass *> &LastUses, Pass *P);
194 Pass *findAnalysisPass(AnalysisID AID);
200 AnalysisUsage *findAnalysisUsage(Pass *P);
239 DenseMap<Pass *, Pass *> LastUser;
239 DenseMap<Pass *, Pass *> LastUser;
244 DenseMap<Pass *, SmallPtrSet<Pass *, 8> > InversedLastUser;
244 DenseMap<Pass *, SmallPtrSet<Pass *, 8> > InversedLastUser;
288 DenseMap<Pass *, AnalysisUsage*> AnUsageMap;
310 virtual Pass *getAsPass() = 0;
313 void recordAvailableAnalysis(Pass *P);
316 void verifyPreservedAnalysis(Pass *P);
319 void removeNotPreservedAnalysis(Pass *P);
322 void removeDeadPasses(Pass *P, StringRef Msg,
326 void freePass(Pass *P, StringRef Msg,
331 void add(Pass *P, bool ProcessAnalysis = true);
336 virtual void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass);
336 virtual void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass);
338 virtual Pass *getOnTheFlyPass(Pass *P, AnalysisID PI, Function &F);
338 virtual Pass *getOnTheFlyPass(Pass *P, AnalysisID PI, Function &F);
349 bool preserveHigherLevelAnalysis(Pass *P);
355 SmallVectorImpl<Pass *> &UsedPasses,
356 SmallVectorImpl<AnalysisID> &ReqPassNotAvailable, Pass *P);
362 void initializeAnalysisImpl(Pass *P);
366 Pass *findAnalysisPass(AnalysisID AID, bool Direction);
376 void dumpLastUses(Pass *P, unsigned Offset) const;
378 void dumpPassInfo(Pass *P, enum PassDebuggingString S1,
380 void dumpRequiredSet(const Pass *P) const;
381 void dumpPreservedSet(const Pass *P) const;
382 void dumpUsedSet(const Pass *P) const;
393 DenseMap<AnalysisID, Pass*> *getAvailableAnalysis() {
422 Pass *P, Module &M, int64_t Delta, unsigned CountBefore,
431 SmallVector<Pass *, 16> PassVector;
436 DenseMap<AnalysisID, Pass *> *InheritedAnalysis[PMT_Last];
443 void dumpAnalysisUsage(StringRef Msg, const Pass *P,
450 DenseMap<AnalysisID, Pass*> AvailableAnalysis;
454 SmallVector<Pass *, 16> HigherLevelAnalysis;
499 Pass *getAsPass() override { return this; }
include/llvm/IR/Module.h 260 std::unique_ptr<RandomNumberGenerator> createRNG(const Pass* P) const;
include/llvm/IR/OptBisect.h 31 virtual bool shouldRunPass(const Pass *P, StringRef IRDescription) {
67 bool shouldRunPass(const Pass *P, StringRef IRDescription) override;
include/llvm/IR/PassTimingInfo.h 37 Timer *getPassTimer(Pass *);
include/llvm/Pass.h 87 Pass(const Pass &) = delete;
88 Pass &operator=(const Pass &) = delete;
88 Pass &operator=(const Pass &) = delete;
123 virtual Pass *createPrinterPass(raw_ostream &OS,
184 static Pass *createPass(AnalysisID ID);
224 class ModulePass : public Pass {
232 Pass *createPrinterPass(raw_ostream &OS,
284 class FunctionPass : public Pass {
289 Pass *createPrinterPass(raw_ostream &OS,
321 class BasicBlockPass : public Pass {
326 Pass *createPrinterPass(raw_ostream &OS,
include/llvm/PassAnalysisSupport.h 155 Pass *findImplPass(AnalysisID PI) {
156 Pass *ResultPass = nullptr;
167 Pass *findImplPass(Pass *P, AnalysisID PI, Function &F);
167 Pass *findImplPass(Pass *P, AnalysisID PI, Function &F);
169 void addAnalysisImplsPair(AnalysisID PI, Pass *P) {
172 std::pair<AnalysisID, Pass*> pir = std::make_pair(PI,P);
182 Pass *getAnalysisIfAvailable(AnalysisID ID, bool Direction) const;
187 std::vector<std::pair<AnalysisID, Pass *>> AnalysisImpls;
206 Pass *ResultPass = Resolver->getAnalysisIfAvailable(PI, true);
226 AnalysisType &Pass::getAnalysisID(AnalysisID PI) const {
232 Pass *ResultPass = Resolver->findImplPass(PI);
261 Pass *ResultPass = Resolver->findImplPass(this, PI, F);
include/llvm/PassInfo.h 32 using NormalCtor_t = Pass* (*)();
96 Pass *createPass() const {
include/llvm/PassSupport.h 76 template <typename PassName> Pass *callDefaultCtor() { return new PassName(); }
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 };
include/llvm/Transforms/Coroutines.h 23 Pass *createCoroEarlyPass();
26 Pass *createCoroSplitPass();
30 Pass *createCoroElidePass();
33 Pass *createCoroCleanupPass();
include/llvm/Transforms/IPO.h 94 Pass *createFunctionImportPass();
105 Pass *createFunctionInliningPass();
106 Pass *createFunctionInliningPass(int Threshold);
107 Pass *createFunctionInliningPass(unsigned OptLevel, unsigned SizeOptLevel,
109 Pass *createFunctionInliningPass(InlineParams &Params);
115 Pass *createPruneEHPass();
151 Pass *createArgumentPromotionPass(unsigned maxElements = 3);
171 Pass *createLoopExtractorPass();
176 Pass *createSingleLoopExtractorPass();
199 Pass *createReversePostOrderFunctionAttrsPass();
include/llvm/Transforms/IPO/AlwaysInliner.h 41 Pass *createAlwaysInlinerLegacyPass(bool InsertLifetime = true);
include/llvm/Transforms/IPO/Attributor.h 1524 Pass *createAttributorLegacyPass();
include/llvm/Transforms/IPO/ForceFunctionAttrs.h 28 Pass *createForceFunctionAttrsLegacyPass();
include/llvm/Transforms/IPO/FunctionAttrs.h 57 Pass *createPostOrderFunctionAttrsLegacyPass();
include/llvm/Transforms/IPO/InferFunctionAttrs.h 31 Pass *createInferFunctionAttrsLegacyPass();
include/llvm/Transforms/IPO/PassManagerBuilder.h 142 Pass *Inliner;
include/llvm/Transforms/ObjCARC.h 25 Pass *createObjCARCAPElimPass();
31 Pass *createObjCARCExpandPass();
37 Pass *createObjCARCContractPass();
43 Pass *createObjCARCOptPass();
include/llvm/Transforms/Scalar.h 56 Pass *createDeadInstEliminationPass();
105 Pass *createLoopGuardWideningPass();
126 Pass *createInductiveRangeCheckEliminationPass();
133 Pass *createIndVarSimplifyPass();
139 Pass *createLICMPass();
140 Pass *createLICMPass(unsigned LicmMssaOptCap,
148 Pass *createLoopSinkPass();
154 Pass *createLoopPredicationPass();
161 Pass *createLoopInterchangePass();
168 Pass *createLoopStrengthReducePass();
174 Pass *createLoopUnswitchPass(bool OptimizeForSize = false,
181 Pass *createLoopInstSimplifyPass();
187 Pass *createLoopUnrollPass(int OptLevel = 2, bool OnlyWhenForced = false,
193 Pass *createSimpleLoopUnrollPass(int OptLevel = 2, bool OnlyWhenForced = false,
200 Pass *createLoopUnrollAndJamPass(int OptLevel = 2);
206 Pass *createLoopRerollPass();
212 Pass *createLoopRotatePass(int MaxHeaderSize = -1);
218 Pass *createLoopIdiomPass();
224 Pass *createLoopVersioningLICMPass();
276 Pass *createStructurizeCFGPass(bool SkipUniformRegions = false);
338 Pass *createLoopDeletionPass();
356 Pass *createLowerAtomicPass();
362 Pass *createLowerGuardIntrinsicPass();
368 Pass *createLowerWidenableConditionPass();
374 Pass *createMergeICmpsLegacyPass();
380 Pass *createCorrelatedValuePropagationPass();
511 Pass *createLoopSimplifyCFGPass();
518 Pass *createWarnMissedTransformationsPass();
include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h 75 Pass *createSimpleLoopUnswitchLegacyPass(bool NonTrivial = false);
include/llvm/Transforms/Scalar/WarnMissedTransforms.h 33 Pass *createWarnMissedTransformationsPass();
include/llvm/Transforms/Utils.h 79 Pass *createLCSSAPass();
109 Pass *createLoopSimplifyPass();
include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h 49 Pass *createUnifyFunctionExitNodesPass();
include/llvm/Transforms/Vectorize.h 112 Pass *createLoopVectorizePass();
113 Pass *createLoopVectorizePass(bool InterleaveOnlyWhenForced,
120 Pass *createSLPVectorizerPass();
132 bool vectorizeBasicBlock(Pass *P, BasicBlock &BB,
140 Pass *createLoadStoreVectorizerPass();
include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h 22 Pass *createLoadStoreVectorizerPass();
lib/Analysis/AliasAnalysis.cpp 841 AAResults llvm::createLegacyPMAAResults(Pass &P, Function &F,
lib/Analysis/BasicAliasAnalysis.cpp 2095 BasicAAResult llvm::createLegacyPMBasicAAResult(Pass &P, Function &F) {
lib/Analysis/CallGraphSCCPass.cpp 82 Pass *getAsPass() override { return this; }
88 Pass *P = getContainedPass(Index);
94 Pass *getContainedPass(unsigned N) {
107 bool RunPassOnSCC(Pass *P, CallGraphSCC &CurSCC,
118 bool CGPassManager::RunPassOnSCC(Pass *P, CallGraphSCC &CurSCC,
419 Pass *P = getContainedPass(PassNo);
593 Pass *P = CGP;
679 Pass *CallGraphSCCPass::createPrinterPass(raw_ostream &OS,
lib/Analysis/IVUsers.cpp 54 Pass *llvm::createIVUsersPass() { return new IVUsersWrapperPass(); }
lib/Analysis/InstructionSimplify.cpp 5493 const SimplifyQuery getBestSimplifyQuery(Pass &P, Function &F) {
lib/Analysis/LoopAccessAnalysis.cpp 2460 Pass *createLAAPass() {
lib/Analysis/LoopPass.cpp 295 Pass *P = getContainedPass(Index);
317 Pass *P = getContainedPass(Index);
327 Pass *LoopPass::createPrinterPass(raw_ostream &O,
379 Pass *P = LPPM->getAsPass();
lib/Analysis/RegionPass.cpp 140 Pass *P = getContainedPass(Index);
172 Pass *P = getContainedPass(Index);
276 Pass *RegionPass::createPrinterPass(raw_ostream &O,
lib/Bitcode/Writer/BitcodeWriterPass.cpp 83 bool llvm::isBitcodeWriterPass(Pass *P) {
lib/CodeGen/GlobalISel/RegBankSelect.cpp 723 MachineInstr &MI, unsigned OpIdx, const TargetRegisterInfo &TRI, Pass &P,
880 uint64_t RegBankSelect::InstrInsertPoint::frequency(const Pass &P) const {
890 uint64_t RegBankSelect::MBBInsertPoint::frequency(const Pass &P) const {
911 uint64_t RegBankSelect::EdgeInsertPoint::frequency(const Pass &P) const {
lib/CodeGen/GlobalMerge.cpp 675 Pass *llvm::createGlobalMergePass(const TargetMachine *TM, unsigned Offset,
lib/CodeGen/MachineBasicBlock.cpp 875 Pass &P) {
lib/CodeGen/MachineFunctionPass.cpp 33 Pass *MachineFunctionPass::createPrinterPass(raw_ostream &O,
lib/CodeGen/MachineVerifier.cpp 87 MachineVerifier(Pass *pass, const char *b) : PASS(pass), Banner(b) {}
91 Pass *const PASS;
328 bool MachineFunction::verify(Pass *p, const char *Banner, bool AbortOnErrors)
lib/CodeGen/SelectionDAG/SelectionDAG.cpp 1007 Pass *PassPtr, const TargetLibraryInfo *LibraryInfo,
lib/CodeGen/TargetPassConfig.cpp 297 Pass *getInsertedPass() const {
301 Pass *NP = Pass::createPass(InsertedPassID.getID());
301 Pass *NP = Pass::createPass(InsertedPassID.getID());
518 void TargetPassConfig::addPass(Pass *P, bool verifyAfter, bool printAfter) {
574 Pass *P;
578 P = Pass::createPass(FinalPtr.getID());
lib/IR/IRPrintingPasses.cpp 162 bool llvm::isIRPrintingPass(Pass *P) {
lib/IR/LegacyPassManager.cpp 166 Pass *P, Module &M, int64_t Delta, unsigned CountBefore,
347 Pass *getAsPass() override { return this; }
381 class FunctionPassManagerImpl : public Pass,
394 void add(Pass *P) {
399 Pass *createPrinterPass(raw_ostream &O,
422 Pass *getAsPass() override { return this; }
452 class MPPassManager : public Pass, public PMDataManager {
467 Pass *createPrinterPass(raw_ostream &O,
487 void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) override;
487 void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) override;
492 Pass* getOnTheFlyPass(Pass *MP, AnalysisID PI, Function &F) override;
492 Pass* getOnTheFlyPass(Pass *MP, AnalysisID PI, Function &F) override;
497 Pass *getAsPass() override { return this; }
505 MapVector<Pass *, FunctionPassManagerImpl *>::const_iterator I =
525 MapVector<Pass *, FunctionPassManagerImpl *> OnTheFlyManagers;
538 class PassManagerImpl : public Pass,
550 void add(Pass *P) {
555 Pass *createPrinterPass(raw_ostream &O,
573 Pass *getAsPass() override { return this; }
603 PMTopLevelManager::setLastUser(ArrayRef<Pass*> AnalysisPasses, Pass *P) {
603 PMTopLevelManager::setLastUser(ArrayRef<Pass*> AnalysisPasses, Pass *P) {
608 for (Pass *AP : AnalysisPasses) {
617 SmallVector<Pass *, 12> LastUses;
618 SmallVector<Pass *, 12> LastPMUses;
620 Pass *AnalysisPass = findAnalysisPass(ID);
652 void PMTopLevelManager::collectLastUses(SmallVectorImpl<Pass *> &LastUses,
653 Pass *P) {
654 DenseMap<Pass *, SmallPtrSet<Pass *, 8> >::iterator DMI =
654 DenseMap<Pass *, SmallPtrSet<Pass *, 8> >::iterator DMI =
659 SmallPtrSet<Pass *, 8> &LU = DMI->second;
660 for (Pass *LUP : LU) {
666 AnalysisUsage *PMTopLevelManager::findAnalysisUsage(Pass *P) {
702 void PMTopLevelManager::schedulePass(Pass *P) {
730 Pass *AnalysisPass = findAnalysisPass(ID);
742 Pass *AnalysisPass2 = findAnalysisPass(ID2);
788 Pass *PP = P->createPrinterPass(
797 Pass *PP = P->createPrinterPass(
806 Pass *PMTopLevelManager::findAnalysisPass(AnalysisID AID) {
809 if (Pass *P = ImmutablePassMap.lookup(AID))
814 if (Pass *P = PassManager->findAnalysisPass(AID, false))
819 if (Pass *P = IndirectPassManager->findAnalysisPass(AID, false))
899 SmallPtrSet<Pass *, 8> &L = InversedLastUser[LU.second];
917 void PMDataManager::recordAvailableAnalysis(Pass *P) {
935 bool PMDataManager::preserveHigherLevelAnalysis(Pass *P) {
941 for (Pass *P1 : HigherLevelAnalysis) {
951 void PMDataManager::verifyPreservedAnalysis(Pass *P) {
961 if (Pass *AP = findAnalysisPass(AID, true)) {
969 void PMDataManager::removeNotPreservedAnalysis(Pass *P) {
975 for (DenseMap<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(),
977 DenseMap<AnalysisID, Pass*>::iterator Info = I++;
982 Pass *S = Info->second;
997 for (DenseMap<AnalysisID, Pass*>::iterator
1000 DenseMap<AnalysisID, Pass *>::iterator Info = I++;
1005 Pass *S = Info->second;
1016 void PMDataManager::removeDeadPasses(Pass *P, StringRef Msg,
1019 SmallVector<Pass *, 12> DeadPasses;
1033 for (Pass *P : DeadPasses)
1037 void PMDataManager::freePass(Pass *P, StringRef Msg,
1058 DenseMap<AnalysisID, Pass*>::iterator Pos =
1068 void PMDataManager::add(Pass *P, bool ProcessAnalysis) {
1076 SmallVector<Pass *, 12> TransferLastUses;
1085 SmallVector<Pass *, 12> LastUses;
1086 SmallVector<Pass *, 8> UsedPasses;
1092 for (Pass *PUsed : UsedPasses) {
1118 Pass *My_PM = getAsPass();
1126 Pass *AnalysisPass = PI->createPass();
1144 SmallVectorImpl<Pass *> &UP, SmallVectorImpl<AnalysisID> &RP_NotAvail,
1145 Pass *P) {
1149 if (Pass *AnalysisPass = findAnalysisPass(UsedID, true))
1153 if (Pass *AnalysisPass = findAnalysisPass(RequiredID, true))
1159 if (Pass *AnalysisPass = findAnalysisPass(RequiredID, true))
1170 void PMDataManager::initializeAnalysisImpl(Pass *P) {
1174 Pass *Impl = findAnalysisPass(ID, true);
1187 Pass *PMDataManager::findAnalysisPass(AnalysisID AID, bool SearchParent) {
1190 DenseMap<AnalysisID, Pass*>::const_iterator I = AvailableAnalysis.find(AID);
1203 void PMDataManager::dumpLastUses(Pass *P, unsigned Offset) const{
1205 SmallVector<Pass *, 12> LUses;
1213 for (Pass *P : LUses) {
1220 for (Pass *P : PassVector) {
1231 void PMDataManager::dumpPassInfo(Pass *P, enum PassDebuggingString S1,
1275 void PMDataManager::dumpRequiredSet(const Pass *P) const {
1284 void PMDataManager::dumpPreservedSet(const Pass *P) const {
1293 void PMDataManager::dumpUsedSet(const Pass *P) const {
1302 void PMDataManager::dumpAnalysisUsage(StringRef Msg, const Pass *P,
1326 void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
1326 void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
1348 Pass *PMDataManager::getOnTheFlyPass(Pass *P, AnalysisID PI, Function &F) {
1348 Pass *PMDataManager::getOnTheFlyPass(Pass *P, AnalysisID PI, Function &F) {
1354 for (Pass *P : PassVector)
1361 Pass *AnalysisResolver::getAnalysisIfAvailable(AnalysisID ID, bool dir) const {
1365 Pass *AnalysisResolver::findImplPass(Pass *P, AnalysisID AnalysisPI,
1365 Pass *AnalysisResolver::findImplPass(Pass *P, AnalysisID AnalysisPI,
1498 void FunctionPassManager::add(Pass *P) {
1795 void MPPassManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
1795 void MPPassManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
1815 Pass *FoundPass = nullptr;
1827 SmallVector<Pass *, 1> LU;
1835 Pass* MPPassManager::getOnTheFlyPass(Pass *MP, AnalysisID PI, Function &F){
1835 Pass* MPPassManager::getOnTheFlyPass(Pass *MP, AnalysisID PI, Function &F){
1886 void PassManager::add(Pass *P) {
lib/IR/Module.cpp 92 std::unique_ptr<RandomNumberGenerator> Module::createRNG(const Pass* P) const {
lib/IR/OptBisect.cpp 42 bool OptBisect::shouldRunPass(const Pass *P, StringRef IRDescription) {
lib/IR/Pass.cpp 49 Pass *ModulePass::createPrinterPass(raw_ostream &OS,
153 Pass *FunctionPass::createPrinterPass(raw_ostream &OS,
183 Pass *BasicBlockPass::createPrinterPass(raw_ostream &OS,
232 Pass *Pass::createPass(AnalysisID ID) {
308 const PassInfo *PI = Pass::lookupPassInfo(Arg);
lib/IR/PassTimingInfo.cpp 84 Timer *getPassTimer(Pass *, PassInstanceID);
128 Timer *PassTimingInfo::getPassTimer(Pass *P, PassInstanceID Pass) {
139 if (const PassInfo *PI = Pass::lookupPassInfo(P->getPassID()))
150 Timer *getPassTimer(Pass *P) {
lib/Target/AMDGPU/AMDGPU.h 73 Pass *createAMDGPUAnnotateKernelFeaturesPass();
183 Pass *createAMDGPUStructurizeCFGPass();
233 Pass *createAMDGPUFunctionInliningPass();
lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp 374 Pass *llvm::createAMDGPUAnnotateKernelFeaturesPass() {
lib/Target/AMDGPU/AMDGPUInline.cpp 97 Pass *llvm::createAMDGPUFunctionInliningPass() { return new AMDGPUInliner(); }
lib/Target/ARM/ARM.h 38 Pass *createMVETailPredicationPass();
40 Pass *createARMParallelDSPPass();
lib/Target/ARM/ARMParallelDSP.cpp 809 Pass *llvm::createARMParallelDSPPass() {
lib/Target/ARM/MVETailPredication.cpp 512 Pass *llvm::createMVETailPredicationPass() {
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 110 Pass *createHexagonLoopIdiomPass();
2441 Pass *llvm::createHexagonLoopIdiomPass() {
lib/Target/Hexagon/HexagonTargetMachine.cpp 143 Pass *createHexagonLoopIdiomPass();
144 Pass *createHexagonVectorLoopCarriedReusePass();
lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp 163 Pass *createHexagonVectorLoopCarriedReusePass();
746 Pass *llvm::createHexagonVectorLoopCarriedReusePass() {
lib/Target/XCore/XCoreLowerThreadLocal.cpp 128 static bool replaceConstantExprOp(ConstantExpr *CE, Pass *P) {
160 static bool rewriteNonInstructionUses(GlobalVariable *GV, Pass *P) {
lib/Transforms/Coroutines/CoroCleanup.cpp 139 Pass *llvm::createCoroCleanupPass() { return new CoroCleanup(); }
lib/Transforms/Coroutines/CoroEarly.cpp 274 Pass *llvm::createCoroEarlyPass() { return new CoroEarly(); }
lib/Transforms/Coroutines/CoroElide.cpp 343 Pass *llvm::createCoroElidePass() { return new CoroElide(); }
lib/Transforms/Coroutines/CoroSplit.cpp 1601 Pass *llvm::createCoroSplitPass() { return new CoroSplit(); }
lib/Transforms/IPO/AlwaysInliner.cpp 137 Pass *llvm::createAlwaysInlinerLegacyPass(bool InsertLifetime) {
lib/Transforms/IPO/ArgumentPromotion.cpp 1112 Pass *llvm::createArgumentPromotionPass(unsigned MaxElements) {
lib/Transforms/IPO/Attributor.cpp 4994 Pass *llvm::createAttributorLegacyPass() { return new AttributorLegacyPass(); }
lib/Transforms/IPO/ForceFunctionAttrs.cpp 126 Pass *llvm::createForceFunctionAttrsLegacyPass() {
lib/Transforms/IPO/FunctionAttrs.cpp 1487 Pass *llvm::createPostOrderFunctionAttrsLegacyPass() {
1551 Pass *llvm::createReversePostOrderFunctionAttrsPass() {
lib/Transforms/IPO/FunctionImport.cpp 1307 Pass *createFunctionImportPass() {
lib/Transforms/IPO/InferFunctionAttrs.cpp 82 Pass *llvm::createInferFunctionAttrsLegacyPass() {
lib/Transforms/IPO/InlineSimple.cpp 97 Pass *llvm::createFunctionInliningPass() { return new SimpleInliner(); }
99 Pass *llvm::createFunctionInliningPass(int Threshold) {
103 Pass *llvm::createFunctionInliningPass(unsigned OptLevel,
112 Pass *llvm::createFunctionInliningPass(InlineParams &Params) {
lib/Transforms/IPO/LoopExtractor.cpp 83 Pass *llvm::createLoopExtractorPass() { return new LoopExtractor(); }
165 Pass *llvm::createSingleLoopExtractorPass() {
lib/Transforms/IPO/PruneEH.cpp 60 Pass *llvm::createPruneEHPass() { return new PruneEH(); }
lib/Transforms/ObjCARC/ObjCARCAPElim.cpp 60 Pass *llvm::createObjCARCAPElimPass() {
lib/Transforms/ObjCARC/ObjCARCContract.cpp 767 Pass *llvm::createObjCARCContractPass() { return new ObjCARCContract(); }
lib/Transforms/ObjCARC/ObjCARCExpand.cpp 70 Pass *llvm::createObjCARCExpandPass() {
lib/Transforms/ObjCARC/ObjCARCOpts.cpp 580 Pass *llvm::createObjCARCOptPass() {
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp 121 Pass *llvm::createCorrelatedValuePropagationPass() {
lib/Transforms/Scalar/DCE.cpp 79 Pass *llvm::createDeadInstEliminationPass() {
lib/Transforms/Scalar/GuardWidening.cpp 944 Pass *llvm::createLoopGuardWideningPass() {
lib/Transforms/Scalar/IndVarSimplify.cpp 3196 Pass *llvm::createIndVarSimplifyPass() {
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 1894 Pass *llvm::createInductiveRangeCheckEliminationPass() {
lib/Transforms/Scalar/LICM.cpp 314 Pass *llvm::createLICMPass() { return new LegacyLICMPass(); }
315 Pass *llvm::createLICMPass(unsigned LicmMssaOptCap,
lib/Transforms/Scalar/LoopDeletion.cpp 249 Pass *llvm::createLoopDeletionPass() { return new LoopDeletionLegacyPass(); }
lib/Transforms/Scalar/LoopIdiomRecognize.cpp 339 Pass *llvm::createLoopIdiomPass() { return new LoopIdiomRecognizeLegacyPass(); }
lib/Transforms/Scalar/LoopInstSimplify.cpp 253 Pass *llvm::createLoopInstSimplifyPass() {
lib/Transforms/Scalar/LoopInterchange.cpp 1599 Pass *llvm::createLoopInterchangePass() { return new LoopInterchange(); }
lib/Transforms/Scalar/LoopPredication.cpp 344 Pass *llvm::createLoopPredicationPass() {
lib/Transforms/Scalar/LoopRerollPass.cpp 493 Pass *llvm::createLoopRerollPass() {
lib/Transforms/Scalar/LoopRotation.cpp 122 Pass *llvm::createLoopRotatePass(int MaxHeaderSize) {
lib/Transforms/Scalar/LoopSimplifyCFG.cpp 760 Pass *llvm::createLoopSimplifyCFGPass() {
lib/Transforms/Scalar/LoopSink.cpp 384 Pass *llvm::createLoopSinkPass() { return new LegacyLoopSinkPass(); }
lib/Transforms/Scalar/LoopStrengthReduce.cpp 5776 Pass *llvm::createLoopStrengthReducePass() { return new LoopStrengthReduce(); }
lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp 490 Pass *llvm::createLoopUnrollAndJamPass(int OptLevel) {
lib/Transforms/Scalar/LoopUnrollPass.cpp 1271 Pass *llvm::createLoopUnrollPass(int OptLevel, bool OnlyWhenForced,
1288 Pass *llvm::createSimpleLoopUnrollPass(int OptLevel, bool OnlyWhenForced,
lib/Transforms/Scalar/LoopUnswitch.cpp 398 Pass *llvm::createLoopUnswitchPass(bool Os, bool hasBranchDivergence) {
lib/Transforms/Scalar/LoopVersioningLICM.cpp 640 Pass *llvm::createLoopVersioningLICMPass() { return new LoopVersioningLICM(); }
lib/Transforms/Scalar/LowerAtomic.cpp 177 Pass *llvm::createLowerAtomicPass() { return new LowerAtomicLegacyPass(); }
lib/Transforms/Scalar/LowerGuardIntrinsic.cpp 79 Pass *llvm::createLowerGuardIntrinsicPass() {
lib/Transforms/Scalar/LowerWidenableCondition.cpp 75 Pass *llvm::createLowerWidenableConditionPass() {
lib/Transforms/Scalar/MergeICmps.cpp 930 Pass *llvm::createMergeICmpsLegacyPass() { return new MergeICmpsLegacyPass(); }
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp 2992 Pass *llvm::createSimpleLoopUnswitchLegacyPass(bool NonTrivial) {
lib/Transforms/Scalar/StructurizeCFG.cpp 1061 Pass *llvm::createStructurizeCFGPass(bool SkipUniformRegions) {
lib/Transforms/Scalar/WarnMissedTransforms.cpp 146 Pass *llvm::createWarnMissedTransformationsPass() {
lib/Transforms/Utils/LCSSA.cpp 466 Pass *llvm::createLCSSAPass() { return new LCSSAWrapperPass(); }
lib/Transforms/Utils/LoopSimplify.cpp 792 Pass *llvm::createLoopSimplifyPass() { return new LoopSimplify(); }
lib/Transforms/Utils/UnifyFunctionExitNodes.cpp 28 Pass *llvm::createUnifyFunctionExitNodesPass() {
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp 245 Pass *llvm::createLoadStoreVectorizerPass() {
lib/Transforms/Vectorize/LoopVectorize.cpp 6342 Pass *createLoopVectorizePass() { return new LoopVectorize(); }
6344 Pass *createLoopVectorizePass(bool InterleaveOnlyWhenForced,
lib/Transforms/Vectorize/SLPVectorizer.cpp 7147 Pass *llvm::createSLPVectorizerPass() { return new SLPVectorizer(); }
tools/bugpoint/bugpoint.cpp 108 void add(Pass *P) override {
tools/llc/llc.cpp 376 Pass *P;
tools/llvm-exegesis/lib/Assembler.cpp 65 Pass *P = PI->getNormalCtor()();
tools/opt/PassPrinters.cpp 50 getAnalysisID<Pass>(PassToPrint->getTypeInfo()).print(Out, F.getParent());
85 getAnalysisID<Pass>(PassToPrint->getTypeInfo())
119 getAnalysisID<Pass>(PassToPrint->getTypeInfo()).print(Out, &M);
151 getAnalysisID<Pass>(PassToPrint->getTypeInfo())
186 getAnalysisID<Pass>(PassToPrint->getTypeInfo())
220 getAnalysisID<Pass>(PassToPrint->getTypeInfo())
tools/opt/opt.cpp 316 void add(Pass *P) override {
352 static inline void addPass(legacy::PassManagerBase &PM, Pass *P) {
738 Pass *TPC = LTM.createPassConfig(Passes);
781 Pass *P = nullptr;
tools/polly/include/polly/DeLICM.h 30 llvm::Pass *createDeLICMPass();
tools/polly/include/polly/FlattenSchedule.h 24 llvm::Pass *createFlattenSchedulePass();
tools/polly/include/polly/LinkAllPasses.h 31 llvm::Pass *createCodePreparationPass();
32 llvm::Pass *createScopInlinerPass();
33 llvm::Pass *createDeadCodeElimPass();
34 llvm::Pass *createDependenceInfoPass();
35 llvm::Pass *createDependenceInfoWrapperPassPass();
36 llvm::Pass *createDOTOnlyPrinterPass();
37 llvm::Pass *createDOTOnlyViewerPass();
38 llvm::Pass *createDOTPrinterPass();
39 llvm::Pass *createDOTViewerPass();
40 llvm::Pass *createJSONExporterPass();
41 llvm::Pass *createJSONImporterPass();
42 llvm::Pass *createPollyCanonicalizePass();
43 llvm::Pass *createPolyhedralInfoPass();
44 llvm::Pass *createScopDetectionWrapperPassPass();
45 llvm::Pass *createScopInfoRegionPassPass();
46 llvm::Pass *createScopInfoWrapperPassPass();
47 llvm::Pass *createRewriteByrefParamsPass();
48 llvm::Pass *createIslAstInfoWrapperPassPass();
49 llvm::Pass *createCodeGenerationPass();
58 llvm::Pass *createIslScheduleOptimizerPass();
59 llvm::Pass *createFlattenSchedulePass();
60 llvm::Pass *createDeLICMPass();
61 llvm::Pass *createMaximalStaticExpansionPass();
tools/polly/include/polly/PruneUnprofitable.h 26 llvm::Pass *createPruneUnprofitablePass();
tools/polly/include/polly/Simplify.h 52 llvm::Pass *createSimplifyPass(int CallNo = 0);
tools/polly/include/polly/Support/ScopHelper.h 316 void splitEntryBlockForAlloca(llvm::BasicBlock *EntryBlock, llvm::Pass *P);
tools/polly/lib/Analysis/DependenceInfo.cpp 900 Pass *polly::createDependenceInfoPass() { return new DependenceInfo(); }
952 Pass *polly::createDependenceInfoWrapperPassPass() {
tools/polly/lib/Analysis/PolyhedralInfo.cpp 154 Pass *polly::createPolyhedralInfoPass() { return new PolyhedralInfo(); }
tools/polly/lib/Analysis/PruneUnprofitable.cpp 99 Pass *polly::createPruneUnprofitablePass() { return new PruneUnprofitable(); }
tools/polly/lib/Analysis/ScopDetection.cpp 1919 Pass *polly::createScopDetectionWrapperPassPass() {
tools/polly/lib/Analysis/ScopGraphPrinter.cpp 258 Pass *polly::createDOTViewerPass() { return new ScopViewer(); }
260 Pass *polly::createDOTOnlyViewerPass() { return new ScopOnlyViewer(); }
262 Pass *polly::createDOTPrinterPass() { return new ScopPrinter(); }
264 Pass *polly::createDOTOnlyPrinterPass() { return new ScopOnlyPrinter(); }
tools/polly/lib/Analysis/ScopInfo.cpp 2702 Pass *polly::createScopInfoRegionPassPass() { return new ScopInfoRegionPass(); }
2830 Pass *polly::createScopInfoWrapperPassPass() {
tools/polly/lib/CodeGen/CodeGeneration.cpp 373 Pass *polly::createCodeGenerationPass() { return new CodeGeneration(); }
tools/polly/lib/CodeGen/IslAst.cpp 826 Pass *polly::createIslAstInfoWrapperPassPass() {
tools/polly/lib/Exchange/JSONExporter.cpp 756 Pass *polly::createJSONExporterPass() { return new JSONExporter(); }
794 Pass *polly::createJSONImporterPass() { return new JSONImporter(); }
tools/polly/lib/Support/ScopHelper.cpp 212 void polly::splitEntryBlockForAlloca(BasicBlock *EntryBlock, Pass *P) {
tools/polly/lib/Transform/Canonicalization.cpp 94 Pass *polly::createPollyCanonicalizePass() { return new PollyCanonicalize(); }
tools/polly/lib/Transform/CodePreparation.cpp 113 Pass *polly::createCodePreparationPass() { return new CodePreparation(); }
tools/polly/lib/Transform/DeLICM.cpp 1417 Pass *polly::createDeLICMPass() { return new DeLICM(); }
tools/polly/lib/Transform/DeadCodeElimination.cpp 168 Pass *polly::createDeadCodeElimPass() { return new DeadCodeElim(); }
tools/polly/lib/Transform/FlattenSchedule.cpp 101 Pass *polly::createFlattenSchedulePass() { return new FlattenSchedule(); }
tools/polly/lib/Transform/MaximalStaticExpansion.cpp 475 Pass *polly::createMaximalStaticExpansionPass() {
tools/polly/lib/Transform/RewriteByReferenceParameters.cpp 93 Pass *polly::createRewriteByrefParamsPass() { return new RewriteByrefParams(); }
tools/polly/lib/Transform/ScheduleOptimizer.cpp 1669 Pass *polly::createIslScheduleOptimizerPass() {
tools/polly/lib/Transform/ScopInliner.cpp 106 Pass *polly::createScopInlinerPass() {
tools/polly/lib/Transform/Simplify.cpp 719 Pass *polly::createSimplifyPass(int CallNo) { return new Simplify(CallNo); }
unittests/IR/LegacyPassManagerTest.cpp 403 bool shouldRunPass(const Pass *P, StringRef IRDescription) {
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/bits/std_function.h 314 _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
usr/include/c++/7.4.0/type_traits 1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1983 { typedef _Up type; };