search for: initialize_pass_begin

Displaying 20 results from an estimated 53 matches for "initialize_pass_begin".

2016 Feb 03
4
opt with Polly doesn't find the passes
...cumentation that there was the option to link opt statically with the polly library which I did not select. But that's likely not the problem since a lot of polly options are apparently there. Out of ideas for now. Thanks, Frank fwinter at frank-vaio:~/svn/llvm-3.8/tools/polly$ grep -r INITIALIZE_PASS_BEGIN * lib/CodeGen/CodegenCleanup.cpp:INITIALIZE_PASS_BEGIN(CodegenCleanup, "polly-cleanup", lib/CodeGen/CodeGeneration.cpp:INITIALIZE_PASS_BEGIN(CodeGeneration, "polly-codegen", lib/CodeGen/IslAst.cpp:INITIALIZE_PASS_BEGIN(IslAstInfo, "polly-ast", lib/Transform/CodePrepa...
2015 Aug 21
2
Guidelines for pass initialization?
...r RegisterPass? Seems to make sense. Is there also an implicit assumption here that any RegisterPass pass is a leaf in the dependency graph? i.e. you couldn't use this to define your own Analysis? > > INITIALIZE_PASS is used for a pass that is a leaf in the dependency graph, whereas INITIALIZE_PASS_BEGIN is used for interior nodes. Almost all transform passes - with the exception of LoopSimplify and the like - do not have passes which require them. As a result, most transform passes are leaves in the dependency graph and should use the INITIALIZE_PASS mechanism. All Analysis passes are expecte...
2015 Aug 21
2
Guidelines for pass initialization?
Does anyone know what the guidelines are supposed to be for properly initializing a pass? Looking around, we seem to have three styles of pass registration in use. INITIALIZE_PASS(...) INITIALIZE_PASS_BEGIN(...) INITIALIZE_PASS_DEPENDENCY(...) ... INITIALIZE_PASS_END(...) static RegisterPass<FooPass> X(...); (This is the one encouraged in the docs, but seemingly the least widely used in tree?) As far as I can tell, these often appear to work interchangeably. (At least for passes with only &q...
2016 Feb 03
3
opt with Polly doesn't find the passes
I just checkout release_38 branches of llvm, clang and polly and built it on and x86 Ubuntu with cmake: CMAKE_BUILD_TYPE="Debug" CMAKE_INSTALL_PREFIX="$HOME/toolchain/install/llvm-3.8" LLVM_TARGETS_TO_BUILD="X86" cmake -G "Unix Makefiles" \ -DBUILD_SHARED_LIBS="ON" \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
2015 Sep 28
2
Registering a MachineFunctionPass
I had INITIALIZE_PASS_BEGIN and INITIALIZE_PASS_END macros. I replaced them with INITIALIZE_PASS but I get the same error. If I understand correctly, I need to modify Passes.h, InitializePasses.h, and Codegen.cpp files to register my pass, right? Another question is: Is it necessary to have the createNoopInserterPass function...
2020 Jun 24
4
Renaming passes
...een NPM and legacy PM. But now there is a reason to make them match, so that we don't have to touch every single test that uses `opt`. There are a couple of names that don't match though, for example the "basic alias analysis" pass is named "basicaa" under the legacy PM INITIALIZE_PASS_BEGIN(BasicAAWrapperPass, "basicaa", "Basic Alias Analysis (stateless AA impl)", true, true) but named "basic-aa" under the NPM FUNCTION_ALIAS_ANALYSIS("basic-aa", BasicAA()) . Almost all the other AA passes have a dash in them so I think it m...
2017 Oct 03
2
About LLVM Pass dependency
Hello I am working on pass which has dependency on multiple passes. Say D1,D2,D3 I used INITIALIZE_PASS_BEGIN INITIALIZE_PASS_DEPENDENCY(D1) INITIALIZE_PASS_DEPENDENCY(D2) INITIALIZE_PASS_DEPENDENCY(D3) INITIALIZE_PASS_END. While running it through opt tool it, I had to specify this D1,D2,D3 pass names to get this pass executed before my pass. Is there way, to let llvm pass manager to know execute all de...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...quired' by pass!"), function getAnalysisID But I already have: void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); } And changed the bottom of my pass too: char Hello::ID = 0; namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) INITIALIZE_PASS_DEPENDENCY(DominatorTree) INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) class StaticInitializer { public: StaticInitializer() { PassRegistry &Registry = *PassRegis...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...to remain loadable by opt. The pass also requires DominatorTree(for PromoteMemToReg). Looking for examples the only way I found to require a dependecny is by doing something like this: char Hello::ID = 0; namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) INITIALIZE_PASS_DEPENDENCY(DominatorTree) INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) Unfortunately this gives me(when I try to run it). opt: Unknown command line...
2011 Nov 08
4
[LLVMdev] loadable passes with dependencies?
...nalysisUsage(AnalysisUsage&AU) const { >>                AU.addRequired<DominatorTree>(); >> } >> >> And changed the bottom of my pass too: >> >> char Hello::ID = 0; >> namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } >> INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) >> INITIALIZE_PASS_DEPENDENCY(DominatorTree) >> INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) >> >> class StaticInitializer { >> public: >>        Stat...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
...> > But I already have: > void getAnalysisUsage(AnalysisUsage&AU) const { > AU.addRequired<DominatorTree>(); > } > > And changed the bottom of my pass too: > > char Hello::ID = 0; > namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } > INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) > INITIALIZE_PASS_DEPENDENCY(DominatorTree) > INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) > > class StaticInitializer { > public: > StaticInitializer() { > PassR...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...   AU.addRequired<DominatorTree>(); >> >> } >> >> >> >> And changed the bottom of my pass too: >> >> >> >> char Hello::ID = 0; >> >> namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } >> >> INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) >> >> INITIALIZE_PASS_DEPENDENCY(DominatorTree) >> >> INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) >> >> >> >> class StaticInitializer { &...
2020 Jun 24
2
Renaming passes
...;> make them match, so that we don't have to touch every single test >> that uses `opt`. >> >> There are a couple of names that don't match though, for example the >> "basic alias analysis" pass is named "basicaa" under the legacy PM >> INITIALIZE_PASS_BEGIN(BasicAAWrapperPass, "basicaa", >>                       "Basic Alias Analysis (stateless AA impl)", >> true, true) >> but named "basic-aa" under the NPM >> FUNCTION_ALIAS_ANALYSIS("basic-aa", BasicAA()) >> . Almost all the other...
2011 Aug 22
1
[LLVMdev] Infinite loop when adding a new analysis pass
...lifyID); AU.addRequired<AliasAnalysis>(); AU.addRequired<MyAnalysis>(); // Add this AU.addPreserved<AliasAnalysis>(); AU.addPreserved("scalar-evolution"); AU.addPreservedID(LoopSimplifyID); } char LICM::ID = 0; INITIALIZE_PASS_BEGIN(LICM, "licm", "Loop Invariant Code Motion", false, false) INITIALIZE_PASS_DEPENDENCY(DominatorTree) INITIALIZE_PASS_DEPENDENCY(LoopInfo) INITIALIZE_PASS_DEPENDENCY(LoopSimplify) INITIALIZE_PASS_DEPENDENCY(MyAnalysis) // add this dependency INITIALIZE_AG_DEPENDENCY(A...
2018 Apr 14
0
Error: Verify if there is a pass dependency cycle
Hi, You need to initialize your pass with: INITIALIZE_PASS_BEGIN(YourPass, "your-pass", "Your Pass", /*cfgonly=*/false, /*analysis=*/false) INITIALIZE_PASS_DEPENDENCY(PostDominatorTreeWrapperPass) INITIALIZE_PASS_END(YourPass, "your-pass", "Your Pass", /*cfgonly=*/false, /*analysis=*/false) So as to both register your pas...
2020 Jun 24
2
Renaming passes
...a reason to make them match, so that we don't have to touch every single test that uses `opt`. >>> >>> There are a couple of names that don't match though, for example the "basic alias analysis" pass is named "basicaa" under the legacy PM >>> INITIALIZE_PASS_BEGIN(BasicAAWrapperPass, "basicaa", >>> "Basic Alias Analysis (stateless AA impl)", true, true) >>> but named "basic-aa" under the NPM >>> FUNCTION_ALIAS_ANALYSIS("basic-aa", BasicAA()) >>> . Almost all the...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
...ass also requires DominatorTree(for PromoteMemToReg). > > Looking for examples the only way I found to require a dependecny is > by doing something like this: > char Hello::ID = 0; > namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } > INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) > INITIALIZE_PASS_DEPENDENCY(DominatorTree) > INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) > > Unfortunately this gives me(when I try to run it). >...
2013 Sep 05
1
[LLVMdev] why functionattrs doesn't add dependency of AliasAnalysis
....addRequired<TargetLibraryInfo>(); CallGraphSCCPass::getAnalysisUsage(AU); } My changeset is almost like this. the issue has gone away. --- a/lib/Transforms/IPO/FunctionAttrs.cpp +++ b/lib/Transforms/IPO/FunctionAttrs.cpp @@ -76,6 +76,7 @@ namespace { char FunctionAttrs::ID = 0; INITIALIZE_PASS_BEGIN(FunctionAttrs, "functionattrs", "Deduce function attributes", false, false) +INITIALIZE_AG_DEPENDENCY(AliasAnalysis) INITIALIZE_AG_DEPENDENCY(CallGraph) INITIALIZE_PASS_END(FunctionAttrs, "functionattrs", "Deduce function attrib...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
...{ > >> AU.addRequired<DominatorTree>(); > >> } > >> > >> And changed the bottom of my pass too: > >> > >> char Hello::ID = 0; > >> namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } > >> INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true) > >> INITIALIZE_PASS_DEPENDENCY(DominatorTree) > >> INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true) > >> > >> class StaticInitializer { > >> pub...
2017 Oct 03
1
About LLVM Pass dependency
...gt; AU.addRequired<D3>(); > } > > On Tue, Oct 3, 2017 at 2:00 AM, Mahesh Attarde via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hello >> I am working on pass which has dependency on multiple passes. Say >> D1,D2,D3 >> I used >> INITIALIZE_PASS_BEGIN >> INITIALIZE_PASS_DEPENDENCY(D1) >> INITIALIZE_PASS_DEPENDENCY(D2) >> INITIALIZE_PASS_DEPENDENCY(D3) >> INITIALIZE_PASS_END. >> >> While running it through opt tool it, I had to specify this D1,D2,D3 pass >> names >> to get this pass executed before...