search for: initialize_ag_pass

Displaying 9 results from an estimated 9 matches for "initialize_ag_pass".

2014 Apr 29
4
[LLVMdev] writing an alias analysis pass?
...tAlias::ID = 0; > static RegisterPass<EverythingMustAlias> A("must-aa", "Everything must alias"); > > static RegisterPass<EverythingMustAlias> A("must-aa", "Everything must alias", false, true); > > Can you try this? > > INITIALIZE_AG_PASS(EverythingMustAlias, AliasAnalysis, "must-aa", > "Everything must alias", false, true, false) > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >...
2014 Apr 24
4
[LLVMdev] writing an alias analysis pass?
...ng must alias!\n"); return AliasAnalysis::MustAlias; } }; } namespace llvm { void initializeEverythingMustAliasPass(PassRegistry &Registry); } char EverythingMustAlias::ID = 0; static RegisterPass<EverythingMustAlias> A("must-aa", "Everything must alias"); INITIALIZE_AG_PASS(EverythingMustAlias, AliasAnalysis, "must-aa", "Everything must alias", false, true, false) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140424/e840ea66/attachment.ht...
2012 Mar 29
1
[LLVMdev] What is the right way to register an alias analysis pass
...way to register an alias analysis pass. My alias analysis pass is implemented in a dynamic load module. As I can see, a general way to register a pass looks like: llvm::RegisterPass<Analyzer> X("rci", "RCI Pass"); However, registering a type-based analysis uses: INITIALIZE_AG_PASS(...) I think, registering an alias analysis is special, as an alias analysis should be chained to other alias analysis. So, my question is how to register an alias analysis properly. Thanks. Xiaolong
2013 Jan 24
1
[LLVMdev] llvm pass INITIALIZE
Hello everyone, Till now I have succesfully running passes using RegisterPass template. I have encountered a segfault in my pass. Assertion `AA && "AA didn't call InitializeAliasAnalysis in its run method!"' failed. Then, I tried to use INITIALIZE_PASS_XXXX or INITIALIZE_AG_PASS template, together with `*llvm::createMyMemDepPrinter()` and `initializeMemDepPrinterPass(*PassRegistry::getPassRegistry())` methods. Therefore, I got two compilation errors: MyMemDepPrinter.cpp:101:1: error: ‘void llvm::initializeMyMemDepPrinterPass(llvm::PassRegistry&)’ should have been...
2011 Jul 27
0
[LLVMdev] Analysis Groups in Mainline LLVM
Dear All, What is the appropriate way to create analysis groups when using mainline LLVM? Following the directions in the "Writing an LLVM Pass" doesn't appear to work, and the INITIALIZE_ANALYSIS_GROUP() and INITIALIZE_AG_PASS() macros seem to each call a function defined by the other. -- John T.
2012 Mar 29
0
[LLVMdev] What is the right way to register an alias analysis pass
...way to register an alias analysis pass. My alias analysis pass is implemented in a dynamic load module. As I can see, a general way to register a pass looks like: llvm::RegisterPass<Analyzer> X("rci", "RCI Pass"); However, registering a type-based analysis uses: INITIALIZE_AG_PASS(...) I think, registering an alias analysis is special, as an alias analysis should be chained to other alias analysis. So, my question is how to register an alias analysis properly. Thanks. Xiaolong
2010 Oct 08
1
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...he cost of static constructors. Don't use them if you don't want static constructors. * WHAT THIS MEANS FOR LLVM DEVELOPERS I have already done this work for all passes already in the LLVM tree, but developers need to be aware for future work: You MUST use the new-style INITIALIZE_PASS, INITIALIZE_AG_PASS, and INITIALIZE_ANALYSIS_GROUP macros in place of the old-style RegisterPass<> templates. These macros will create an initializeMyPass() method, which you *MUST* declare in InitializePasses.h, and which you must add to your library's batch initialization method. --Owen Anderson
2010 Oct 08
0
[LLVMdev] Fwd: Re: MAJOR API CHANGE: Pass initialization without static constructors
.... Don't use them if you don't want static constructors. > > * WHAT THIS MEANS FOR LLVM DEVELOPERS > > I have already done this work for all passes already in the LLVM tree, but developers need to be aware for future work: > > You MUST use the new-style INITIALIZE_PASS, INITIALIZE_AG_PASS, and INITIALIZE_ANALYSIS_GROUP macros in place of the old-style RegisterPass<> templates. These macros will create an initializeMyPass() method, which you *MUST* declare in InitializePasses.h, and which you must add to your library's batch initialization method. > > --Owen Ander...
2015 Apr 21
2
[LLVMdev] Using an alias analysis pass
...approaches to insert my AA pass. The first was to add the AA pass before calling `populateModulePassManager`, since the AA passes are the first ones to be added, and this would put mine first. This didn’t help: `runOnFunction` was called, but `alias` never was. Additionally, now that I moved from `INITIALIZE_AG_PASS` to `RegisterPass<T>`, trying this causes an assert to trigger with the message "No default implementation found for analysis group!" The second was to use the `EP_ModuleOptimizerEarly` extension point, since it is called right after the other AA passes are added. This makes my pas...