search for: setnormalctor

Displaying 10 results from an estimated 10 matches for "setnormalctor".

Did you mean: getnormalctor
2007 Sep 14
2
[LLVMdev] RegisterAnalysisGroup
Can someone explain how RegisterPass and RegisterAnalysisGroup conspire to pick the right member of an analysis group when command-line options dictate non-default implementations? For example, when I pass -anders-aa to opt, where in the code is that option parsed and setNormalCtor called on the analysis group to change from the default basicaa? -Dave
2007 Sep 14
2
[LLVMdev] RegisterAnalysisGroup
...sAnalysis interface > RegisterAnalysisGroup<AliasAnalysis, true> Y(X); > > The "true" says that it is the default, Right, I get that. My question is how a pass that requires AliasAnalysis gets Andersens when -anders-aa is passed on the command-line. Someone has to call setNormalCtor on the PassInfo for the AliasAnalysis group but I can't fgind that code anywhere. Another question: I'm debugging some analysis group code and I instrumented the registration constructors. I see weird things like this: Adding No Alias Analysis (always returns 'may' alias) to gro...
2007 Sep 14
0
[LLVMdev] RegisterAnalysisGroup
...one explain how RegisterPass and RegisterAnalysisGroup > conspire to pick the right member of an analysis group when command- > line > options dictate non-default implementations? > > For example, when I pass -anders-aa to opt, where in the code is > that option > parsed and setNormalCtor called on the analysis group to change > from the > default basicaa? When basicaa registers itself as part of the analysis group, it uses: RegisterPass<BasicAliasAnalysis> X("basicaa", "Basic Alias Analysis (default AA impl)"); // Declare that we implem...
2007 Sep 14
0
[LLVMdev] RegisterAnalysisGroup
...egisterAnalysisGroup<AliasAnalysis, true> Y(X); > > > > The "true" says that it is the default, > > Right, I get that. My question is how a pass that requires AliasAnalysis > gets Andersens when -anders-aa is passed on the command-line. > Someone has to call setNormalCtor on the PassInfo for the AliasAnalysis > group but I can't fgind that code anywhere. Hmm, I'm not quite correct here. I seem to recall someone at some point saying that when searching for a member of an analysis group, the first implementation constructed will be used. Is the searchin...
2013 Dec 25
3
[LLVMdev] Crash in opt.cpp:739 when loading custom pass (only on system-wide debug install of llvm)
Hi, I'm trying to write custom pass. However opt started crashed in opt.cpp. After debugging it looks like PassInf->NormalCtor points to unmapped memory (rest of struct contains correct data about my pass) - it pointed high in user memory (0x756e672e006e6f69). It happens only when I tried to install debug version of llvm system-wide (I've check that it wasn't caused by stale .a
2007 Sep 15
1
[LLVMdev] RegisterAnalysisGroup
...ysis, true> Y(X); >>> >>> The "true" says that it is the default, >> >> Right, I get that. My question is how a pass that requires >> AliasAnalysis >> gets Andersens when -anders-aa is passed on the command-line. >> Someone has to call setNormalCtor on the PassInfo for the >> AliasAnalysis >> group but I can't fgind that code anywhere. > > Hmm, I'm not quite correct here. I seem to recall someone at some > point > saying that when searching for a member of an analysis group, the > first > implementa...
2007 Aug 10
2
[LLVMdev] Choosing Alias Analysis
...inject the constructor selected by --coalescer back into the analysis group so it knows to use that when getAnalysis<RegisterCoalescer> is called? All these registration and manager classes are really confusing. I think what I need to do is get at PassInfo::getNormalCtor and PassInfo::setNormalCtor for the InterfaceInfo member of RegisterAnalysisGroup. Unfortunately, it's private and doesn't have an accessor. So I will have to do some hacking if this is the right direction to go. Where does the code that actually constructs the implementation of an analysis group member live? Wher...
2007 Aug 10
0
[LLVMdev] Choosing Alias Analysis
On Aug 10, 2007, at 10:15 AM, David Greene wrote: > However, what happens when alias analysis information gets > invalidated? > Is Andersen's still "available" in the sense analysis groups use it? > > If not, it seems it would be tough to make sure Andersen's is always > used everywhere that AliasAnalysis is asked for because there are > passes > llvm
2007 Aug 10
3
[LLVMdev] Choosing Alias Analysis
On Thursday 09 August 2007 19:21, Chris Lattner wrote: > Interesting question, I don't have an answer to this. To make things more > complicated, you can have multiple instances of an analysis group and may > want different things at different times: > > -basicaa -licm -something_that_invalidates_aa -andersaa -licm -whatever Some questions about that: How does this
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
...rd(*Lock); - // Make sure we keep track of the fact that the implementation implements // the interface. ImplementationInfo->addInterfaceImplemented(InterfaceInfo); @@ -180,20 +177,18 @@ void PassRegistry::registerAnalysisGroup(const void *InterfaceID, InterfaceInfo->setNormalCtor(ImplementationInfo->getNormalCtor()); } } - + PassRegistryImpl *Impl = static_cast<PassRegistryImpl*>(getImpl()); if (ShouldFree) Impl->ToFree.push_back(&Registeree); } void PassRegistry::addRegistrationListener(PassRegistrationListener *L) { - sys::SmartScopedL...