search for: passinfomixin

Displaying 4 results from an estimated 4 matches for "passinfomixin".

2018 Jun 06
2
Porting OptBisect to New Pass Manager
...ass support for new pass manager? In legacy pass manager, OptBisect will be checked by skip() function on certain types of passes. like skipRegion(), skipBasicBlocks(). But I did not see implementations of the passes I mentioned above in new passes. So any plan to have them any more? 4. Is PassInfoMixin the right place to put skipPass() function? The OptBisect works like this: At the beginning of each pass runs, it will call a skipFunction()/Module()/... function under pass.h to check if -opt-bisect is set and how much is counter accumulating. Seems all passes come from the structure PassInfoMixin...
2020 Jan 24
3
Module::createRNG() and new PassManager
Correct me if I'm wrong, but is Module::CreateRNG(Pass *) unusable with the new PassManager? Since each pass is defined as a llvm::PassInfoMixIn<DerivedT> instead of inheriting from llvm::Pass, it doesn't seem possible to obtain the underlying llvm::Pass * from e.g. llvm::ModuleAnalysisManager. Would it make sense to change the definition/implementation to Module::CreateRNG(StringRef PassName)? Please CC me on responses. Thanks,...
2020 Jan 07
2
Let CallGraphSCCPass Use Function-Level Analysis
Dear all, I would like to use the PostDominatorTree in ArgPromotion. I did not find an example of how to use function level analysis inside CallGraphSCCPass. I tried to follow an example of how to use function-level pass in a module pass, but I hit "llvm_unreachable" in PMDataManager::addLowerLevelRequiredPass. What would be a proper way to make PostDominatorTree available in
2020 Jan 07
2
Let CallGraphSCCPass Use Function-Level Analysis
...ule passes. > > In your case, it sounds like you'd want to use > 'llvm::FunctionAnalysisManagerCGSCCProxy', which allows you to access > function analyses from within an CGSCC pass. Here's an example of > using it: > > ``` > class MyCGSCCPass : public llvm::PassInfoMixin<MyCGSCCPass> { > public: > llvm::PreservedAnalyses run(llvm::LazyCallGraph::SCC &C, > llvm::CGSCCAnalysisManager &AM, > llvm::LazyCallGraph &CG, > llvm::CGSCCUpdateResult &am...