search for: getnormalctor

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

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
2012 Jun 28
1
[LLVMdev] Any way to use a pass in opt, that does not have normal constructor?
Dear LLVM, The TargetData pass needs target data layout to be specified in constructor, and therefore its normal ctor is defined, but always gives a fatal error. Still, is there any way to make it loadable into the opt tool? I need this to make use of bugpoint in reducing backend test case. Thanks, - Dima.
2006 Aug 20
0
[LLVMdev] Weird behavior of llvm-ld
...*/ > + > + // Create a new optimization pass for each one specified on the command line > + std::auto_ptr<TargetMachine> target; > + for (unsigned i = 0; i < OptimizationList.size(); ++i) { > + const PassInfo *Opt = OptimizationList[i]; > + > + if (Opt->getNormalCtor()) > + Passes.add(Opt->getNormalCtor()()); > + else if (Opt->getTargetCtor()) { > +#if 0 > + if (target.get() == NULL) > + target.reset(allocateSparcTargetMachine()); // FIXME: target option > +#endif > + assert(target.get() && "Could not al...
2003 Aug 13
1
[LLVMdev] Running a pass
...re); mem2reg_pass = NULL; for(It i = PassList.begin(); i != PassList.end(); i++) { std::cout << (*i)->getPassName() << endl; if(string("mem2reg") == (*i)->getPassName()) { mem2reg_pass = *i; break; } } assert(mem2reg_pass); assert(mem2reg_pass->getNormalCtor()); The first assert always fails, and none of the pass names appear on the output. So how can I obtain a pointer to the pass I want to run, so that I can use the pass manager? >I'm not sure what is causing this problem, if main is not even executing >yet, then it shouldn't matter...
2006 Aug 18
2
[LLVMdev] Weird behavior of llvm-ld
Hi, Reid Spencer wrote: >> That's interesting! So, one only needs to add a 2-arg function called >> RunOptimizations to the module (can't check it right now)? >> > > That is correct. That function and only that function will be called. > What happens in that function is up to you :) > So, I tried this the last two days, but to no avail. I first
2007 Aug 10
2
[LLVMdev] Choosing Alias Analysis
...erCoalescer>? How do I 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 analy...
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
2017 Aug 22
5
[RFC] mir-canon: A new tool for canonicalizing MIR for cleaner diffing.
Patch for review. On Mon, Aug 21, 2017 at 11:45 PM Puyan Lotfi <puyan.lotfi.llvm at gmail.com> wrote: > Ping. > > Still working on preparing code for review. Will have a patch for review > ready in the coming days. > > PL > > On Tue, Aug 15, 2017 at 12:06 PM Puyan Lotfi <puyan.lotfi.llvm at gmail.com> > wrote: > >> Hi, >> >> >>
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
...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::SmartScopedLock<true> Guard(*Lock); Pass...