similar to: [LLVMdev] Help with pass registration

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Help with pass registration"

2006 Sep 09
0
[LLVMdev] Help with pass registration
On Fri, 8 Sep 2006, Fernando Magno Quintao Pereira wrote: > I have updated my LLVM to the top of CVS, and now I am getting > errors like this one below when I write new passes: What does your getAnalysisUsage method look like? -Chris > "llc: PassManagerT.h:387: void > llvm::PassManagerT<Trait>::markPassUsed(const llvm::PassInfo*, > llvm::Pass*) [with Trait =
2006 Jun 03
1
[LLVMdev] Help with pass ordering
Dear llvm guys, I am trying to add the BreakCriticalEdges pass to my application. I tried to add it to the PNE pass (e.g. PHIElimination.cpp - AU.addRequiredID(BreakCriticalEdgesID); ), but I get this error: llc -f -regalloc=simple Base1Sum.bc -o simple.s ----------------------------------------------- llc: PassManagerT.h:387: void llvm::PassManagerT<Trait>::markPassUsed(const
2006 May 03
2
[LLVMdev] Conflicting passes?
Hi all, Why are these two passes conflicting: UnifyFunctionExitNodes and LowerSwitch? AU.addRequired(LowerSwitchID) works, so does AU.addRequired<unifyFunctionExitNodes>(), but the two together don't... opt: PassManagerT.h:387: void llvm::PassManagerT<Trait>::markPassUsed(const llvm::PassInfo*, llvm::Pass*) [with Trait = llvm::MTraits]: Assertion `getAnalysisOrNullUp(P)
2007 Mar 26
2
[LLVMdev] Problems with one pass using another
Hi, I have two function passes: AvailOut and HashGVN. AvailOut needs to use HashGVN. And they're built in the same shared object file. But addRequired<HashGVN> fails with this error: # opt -load ../../../build/Release/lib/LLVMGVN.so -hashgvn -availout --debug-pass=Structure <basic.s.bc >basic.out.bc opt: /proj/tbres/shanth/llvm/llvm-1.9/lib/VMCore/PassManagerT.h:387: void
2006 May 30
3
[LLVMdev] Adding an object to llc (analysis pass)
Hi > One would expect this, its a facility of the C++ language. The anonymous > namespace is, essentially, the same as declaring everything in it > static. That is, the symbols are not exported and not available for > linking. Yes, it was pretty clear after finding out that this isn't a linking error which i suspected... > > So for all those trying to add an analysis path:
2006 Mar 22
1
[LLVMdev] problem loading analysis results from Inliner pass
On Tue, 21 Mar 2006, Michael McCracken wrote: > opt: /home/mmccrack/lens/obj-llvm-darcslocal/../llvm-darcslocal/llvm/lib/VMCore/PassManagerT.h:426: > void llvm::PassManagerT<UnitType>::markPassUsed(const llvm::PassInfo*, > llvm::Pass*) [with UnitType = llvm::Module]: Assertion > `getAnalysisOrNullUp(P) && > dynamic_cast<ImmutablePass*>(getAnalysisOrNullUp(P))
2006 Mar 21
0
[LLVMdev] problem loading analysis results from Inliner pass
A On 3/21/06, Michael McCracken <michael.mccracken at gmail.com> wrote: > On 3/21/06, Chris Lattner <sabre at nondot.org> wrote: > > On Mon, 20 Mar 2006, Michael McCracken wrote: > > > > > Hi, I'm trying to access an analysis pass from the Inliner pass, and > > > I'm having a lot of trouble getting that to work - I can verify that > >
2007 Apr 07
1
[LLVMdev] Pass management
Dear guys, I need help fixing a little piece of code. I have a pass that I really want to execute after the TwoAddressinstructionPass. But if I write "AU.addRequiredID(TwoAddressInstructionPassID);" in my pass' getAnalysisUsage, I end up getting the infamous: PassManagerT.h:387: failed assertion `getAnalysisOrNullUp(P) &&
2006 May 31
0
[LLVMdev] Adding an object to llc (analysis pass)
On Wed, 31 May 2006, Silken Tiger wrote: >> that requires a BasicBlockPass, it will fail the same was as when a >> ModulePass requires a FunctionPass. > void MParSchedule::getAnalysisUsage(AnalysisUsage &AU) const { > AU.setPreservesAll(); > } > > MParSchedule requires nothing and changes nothing. So hopefully the above code > represents this fact? Right
2006 Jun 01
2
[LLVMdev] Adding an object to llc (analysis pass)
Hi > Right it does. However, does something *else* require MParSchedule? If > so, what? Ok, i am writing on a different backend based on the cbackend. The test usage of this pass looks like this: void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<LoopInfo>(); AU.addRequired<MParSchedule>(); AU.setPreservesAll(); } and then in the
2006 May 31
2
[LLVMdev] Adding an object to llc (analysis pass)
Hi Am Dienstag, 30. Mai 2006 19:21 schrieb Chris Lattner: > On Tue, 30 May 2006, Silken Tiger wrote: > > Everthing now compiles fine, but when running llc with invoking my own > > backend derived from the cbackend i get the following error: > > namespace llvm { > > class MParSchedule : public BasicBlockPass { > > public: > > > >
2006 May 30
0
[LLVMdev] Adding an object to llc
On Tue, 2006-05-30 at 14:48 +0200, Silken Tiger wrote: > Hi > > Thanks for all your feedback. I just found the reason for the compile failure > for my analysis pass: I had to add my object to the namespace llvm instead of > anonymous. This took me some time since i was looking for an linking > failure... but as errors go i should have looked at the error message a >
2006 May 30
2
[LLVMdev] Adding an object to llc
Hi Thanks for all your feedback. I just found the reason for the compile failure for my analysis pass: I had to add my object to the namespace llvm instead of anonymous. This took me some time since i was looking for an linking failure... but as errors go i should have looked at the error message a little closer. So for all those trying to add an analysis path: * add the object name to the
2007 Mar 26
0
[LLVMdev] Problems with one pass using another
Hi Prashanth, On Mar 25, 2007, at 11:43 PM, Prashanth Radhakrishnan wrote: > Hi, > > I have two function passes: AvailOut and HashGVN. AvailOut needs to > use > HashGVN. And they're built in the same shared object file. > > But addRequired<HashGVN> fails with this error: > > # opt -load ../../../build/Release/lib/LLVMGVN.so -hashgvn - > availout
2004 Aug 05
2
[LLVMdev] How to get LoopInfo within Pass subclass?
Hi, I have a hopefully quick question. I'm writing a Pass that needs to see a whole module at a time and keep some state, so I subclassed Pass. However, I want to be able to see the Loops in each Function. Roughly, here's what I want: virtual bool run(Module &M){ // do stuff... for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I){ if(! I->isExternal())
2006 Mar 21
3
[LLVMdev] problem loading analysis results from Inliner pass
On 3/21/06, Chris Lattner <sabre at nondot.org> wrote: > On Mon, 20 Mar 2006, Michael McCracken wrote: > > > Hi, I'm trying to access an analysis pass from the Inliner pass, and > > I'm having a lot of trouble getting that to work - I can verify that > > my pass is loaded and run (it is a dynamically loaded pass that is > > part of an analysisgroup),
2006 Jun 23
2
[LLVMdev] Help with error in pass
Dear LLVM guys, I am getting an error with my pass implementation, and I cannot figure it out. Basically, I've implemented part of a register allocation algorithm, but I am having problems to set the passes correctly. For instance, for this program below, the following error message is produced: .c ----------------------| .bc ---------------------------------
2006 Jun 24
0
[LLVMdev] Help with error in pass
On Fri, 23 Jun 2006, Fernando Magno Quintao Pereira wrote: > I am getting an error with my pass implementation, and I cannot figure > it out. Basically, I've implemented part of a register allocation > algorithm, but I am having problems to set the passes correctly. For > instance, for this program below, the following error message is > produced: It's hard to say
2006 Apr 13
1
[LLVMdev] standalone llvm
On Wed, 12 Apr 2006 22:48:16 -0500 Patrick Meredith <pmeredit at uiuc.edu> wrote: > > On Apr 12, 2006, at 10:23 PM, Simon Burton wrote: > > > > > Is it possible to get llvm to generate native machine code > > without using gcc and friends ? Do I use lli ? > > llc. llc --help lists all the options. it compiles llvm bytecode > files. It seems this
2006 Jun 24
1
[LLVMdev] Help with error in pass
Dear LLVM guys, I've solved my problem with the passes, and compiled my first code using the new register allocator! Debugging was quite easy, using gdb. The problem was that I was forgetting to initialize the array that records the physical registers ever used (MachineFunction::UsedPhysRegs). This is a very minor thing, but I would suggest asserting that the vector has been initialized