search for: interfaceinfo

Displaying 8 results from an estimated 8 matches for "interfaceinfo".

2007 Sep 14
0
[LLVMdev] RegisterAnalysisGroup
...group is constructed. There's no mechanism to determine order of construction. I still don't understand how constructing members of an analysis group before the analysis group is constructed can work at all. Oh, I guess this clase in RegisterAGBase's constructor takes care of it: InterfaceInfo = const_cast<PassInfo*>(Pass::lookupPassInfo(InterfaceID)); if (InterfaceInfo == 0) { // First reference to Interface, register it now. registerPass(); InterfaceInfo = &PIObj; } Is that right? This PassManager stuff is extremely confusing and not well documented. Does...
2007 Sep 14
2
[LLVMdev] RegisterAnalysisGroup
On Friday 14 September 2007 15:51, Chris Lattner wrote: > 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 implement the AliasAnalysis interface > RegisterAnalysisGroup<AliasAnalysis, true> Y(X);
2007 Sep 15
1
[LLVMdev] RegisterAnalysisGroup
...e required. The analysisgroup is created on demand. > I still don't understand how constructing members of an analysis group > before the analysis group is constructed can work at all. Oh, I > guess this > clase in RegisterAGBase's constructor takes care of it: > > InterfaceInfo = const_cast<PassInfo*>(Pass::lookupPassInfo > (InterfaceID)); > if (InterfaceInfo == 0) { > // First reference to Interface, register it now. > registerPass(); > InterfaceInfo = &PIObj; > } > > Is that right? Yes. > This PassManager stuff is...
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
...mp;& "Must register pass before adding to AnalysisGroup!"); - sys::SmartScopedLock<true> Guard(*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...
2007 Aug 10
2
[LLVMdev] Choosing Alias Analysis
...or 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? Where's the code that...
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
2018 Aug 17
0
Wine release 3.14
...an internal helper for SetupDiSetDeviceRegistryProperty(). setupapi: Merge the DeviceInstance and DeviceInfo structs. setupapi: Don't use SP_DEVINFO_DATA in internal structs. setupapi: Add helper functions to get the path of the device instance keys. setupapi: Merge the InterfaceInfo and InterfaceInstances structs. setupapi: Correctly implement SetupDiCreateDeviceInterfaceRegKey(). setupapi: Correctly implement SetupDiDeleteDeviceInterfaceRegKey(). msi: Don't start the custom action server inside of custom_client_thread(). msi: Protect communication...