search for: registerpasses

Displaying 20 results from an estimated 317 matches for "registerpasses".

Did you mean: registerpass
2010 Nov 15
1
[LLVMdev] --enable-optimized breaks pass registration for dynamically loadable passes?
Hello all, Is it well known that building LLVM with --enable-optimized causes RegisterPass calls to be removed from dynamically loadable libraries (i.e., those built with LOADABLE_MODULE=1)? For example, here's what happens to the Hello pass (ToT on Darwin, both with and without --enable-optimized): $ pwd /Users/ransford/llvm/lib/Transforms/Hello $ nm -j Release+Asserts/Hello.o | c++filt -p
2010 Mar 01
1
[LLVMdev] RegisterPass isAnalysis parameter
On Feb 26, 2010, at 7:42 PM, Tom Prince wrote: > You cannot refer to anything in anonymous namespace by name from > another file, however, if you have a pointer, say, then you can > still use the > pointer. Yes, that would make sense, except I don't see any pointers being passed. The relevant line in lib/Transforms/Hello.cpp is: static RegisterPass<Hello>
2010 Feb 26
3
[LLVMdev] RegisterPass isAnalysis parameter
Hi, I'm confused about the is_analysis parameter of the RegisterPass constructor (defined in PassSupport.h). The only explanation I can find is that is_analysis should be set to true if the pass is "an analysis pass, for example dominator tree pass". Can someone please clarify what is meant by "analysis pass"? Also -- and this is more of a C++ question than an
2014 Jun 01
3
[LLVMdev] PassRegistry thread safety and ManagedStatic interaction
+cc original authors of these changes. Is PassRegistry intended to be thread-safe? The header file explicitly says that PassRegistry is not thread-safe, but there are mutexes and locking used in the code. This is actually creating a problem, because of a subtle bug involving static initialization order and shutdown. In particular, the RegisterPass<> static template will get invoked
2010 Feb 26
0
[LLVMdev] RegisterPass isAnalysis parameter
On Thursday 25 February 2010 19:24:30 Trevor Harmon wrote: > Hi, > > I'm confused about the is_analysis parameter of the RegisterPass > constructor (defined in PassSupport.h). The only explanation I can > find is that is_analysis should be set to true if the pass is "an > analysis pass, for example dominator tree pass". Can someone please > clarify what is meant
2009 May 23
0
[LLVMdev] why RegisterPass<TargetData> initialize itself twice in my system
HI, Developers: I linked libLTO.so in $LLVMROOT/Debug/lib however, my program crashes in assertion at 149line [Pass.cpp] void RegisterPass(const PassInfo &PI) { bool Inserted = PassInfoMap.insert(std::make_pair(PI.getTypeInfo(),&PI)).second; assert(Inserted && "Pass registered multiple times!"); } i confirm that there is only one static variable
2010 Feb 27
2
[LLVMdev] RegisterPass isAnalysis parameter
On Feb 25, 2010, at 5:45 PM, David A. Greene wrote: > The RegisterPass template takes care of notifying the PassManager > that the pass exists. One of the advantages of PassManager is > that it decouples pass execution from the rest of the infrastructure > so the class need not be visible to anything outside the > implementation > of the pass itself. Even though the
2008 Oct 27
3
[LLVMdev] Is it possible to use EE within optimization pass?
Thanks John! My pass is registered only in 1 cpp file. It registers and executes fine without the EE. I only get the Pass registered multiple times error when I try to link to the EE by using LINK_COMPONENTS=engine in the Makefile. Without that line in the Makefile, my pass gets registered fine but it is not able to create EE(Error reading Symbol). So, how do I link LLVMExecutionEngine.o without
2010 Jul 21
0
[LLVMdev] API CHANGE: RegisterPass going away
Hey folks, As part of our ongoing quest to eliminate static constructors from the LLVM libraries (in order to improve startup times for applications that link against them), I'm going to be eliminating the RegisterPass class. They will be replaced with an initialization-function based system that I will detail in a future email. But, for now, what you need to know is that these classes are
2008 Oct 27
0
[LLVMdev] Is it possible to use EE within optimization pass?
bhavani krishnan wrote: > Hi all, > > I am repeating my question from yesterday coz I need to find a solution to this ASAP. > > How do I link the executionengine to an optimization pass. If I use LINK_COMPONENTS=engine in the Makefile, I get the Pass registered multiple times error. And if i dont use anything, it is not able to load the EE. It gives error loading symbol error. So,
2014 Jun 02
2
[LLVMdev] PassRegistry thread safety and ManagedStatic interaction
I actually had an idea about how to fix this in a relatively painless manner. Although given my experience over the past 4 days, it might not be best to call it painless without first trying :) The idea is to make a StaticPassRegistry. RegisterPass<> only touches the StaticPassRegistry, and nothing else touches the StaticPassRegistry. So once you enter main(), StaticPassRegistry can be
2008 Oct 27
2
[LLVMdev] Is it possible to use EE within optimization pass?
Hi all, I am repeating my question from yesterday coz I need to find a solution to this ASAP. How do I link the executionengine to an optimization pass. If I use LINK_COMPONENTS=engine in the Makefile, I get the Pass registered multiple times error. And if i dont use anything, it is not able to load the EE. It gives error loading symbol error. So, 1. Is it possible to use the EE within an
2013 Oct 01
2
[LLVMdev] How to supply a non-default constructor to RegisterPass ?
Folks, I did read the documentation but I am at a loss still. I do have the following: Pass *createFooPass (char *foo1) { return new FooPass (foo1); } static RegisterPass<FooPass> X("foo-pass", "foo", false, true); Where exactly do I supply the non-default crore in this example ? Thanks /Dirk
2008 Oct 27
0
[LLVMdev] Is it possible to use EE within optimization pass?
bhavani krishnan wrote: > Thanks John! My pass is registered only in 1 cpp file. It registers and executes fine without the EE. > > I only get the Pass registered multiple times error when I try to link to the EE by using LINK_COMPONENTS=engine in the Makefile. Without that line in the Makefile, my pass gets registered fine but it is not able to create EE(Error reading Symbol). So, how do
2010 Feb 27
0
[LLVMdev] RegisterPass isAnalysis parameter
On Fri, Feb 26, 2010 at 05:22:49PM -0800, Trevor Harmon wrote: > On Feb 25, 2010, at 5:45 PM, David A. Greene wrote: > > > The RegisterPass template takes care of notifying the PassManager > > that the pass exists. One of the advantages of PassManager is > > that it decouples pass execution from the rest of the infrastructure > > so the class need not be visible to
2013 Oct 05
0
[LLVMdev] How to supply a non-default constructor to RegisterPass ?
On Sep 30, 2013, at 10:11 PM, Dirk Schroetter <dschroetter at googlemail.com> wrote: > Folks, > > I did read the documentation but I am at a loss still. > > I do have the following: > > Pass *createFooPass (char *foo1) { > return new FooPass (foo1); > } > > static RegisterPass<FooPass> X("foo-pass", "foo", false, true); >
2007 Jul 25
2
[LLVMdev] Writing a pass for the opt tool: likely documentation bug
Hi, I'm currently attempting to implement a pass that will hopefully run under the opt tool. Currently, I'm having some difficulties -- the sample code for the Hello pass (see http://llvm.org/docs/WritingAnLLVMPass.html) doesn't work. The first error is that the section starting 'As a while, the cpp file looks like:' omits the declaration for char Hello::ID = 0 that is
2014 Jun 02
2
[LLVMdev] PassRegistry thread safety and ManagedStatic interaction
The mutex could be made an actual global static instead of a ManagedStatic. This guarantees it would be constructed before main, and live until the end of main. So even in PassRegistry's destructor, which would get call during llvm_shutdown(), it would always have the same mutex. Ideally I'd like to just delete the mutex, as it doesn't seem like anyone is using it in a
2018 Sep 24
3
Porting Pass to New PassManager
Hi all, I'm attempting to move the AddressSanitizer pass from the legacy PassManager to the new one because the new one has various benefits over legacy and wanted to clarify on something. Does creating the static RegisterPass struct register the pass with the new PassManager? It seems that RegisterPass does the same things that the INITIALIZE_PASS_* macros do but it registers the pass with
2010 Mar 11
1
[LLVMdev] how to access loopInfo
Hi! > I'm not sure what you mean by this new pass being of no use to other passes. > It's not generating any new information about the program (or if it is, it's > writing it to disk), so other passes wouldn't need it anyway. > So I know that I'm on the right way. I just think it's a bit of overhead implementing an own pass and register it using