Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] Help with pass ordering"
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:
2009 May 13
3
[LLVMdev] ModulePass using BreakCriticalEdges
Hi,
I'm writing a ModulePass that needs critical edges split up. I have the
statement
AU.addRequiredID(BreakCriticalEdgesID);
in my getAnalysisUsage() but the pass never gets executed.
I guess I have to request pass execution for each function, but I can't
get behind how to do that, since there is no analysis group for that
kind of transformation.
Thanks, Andi
2009 May 13
0
[LLVMdev] ModulePass using BreakCriticalEdges [Followup]
Hi,
Andreas Neustifter wrote:
> I'm writing a ModulePass that needs critical edges split up. I have the
> statement
>
> AU.addRequiredID(BreakCriticalEdgesID);
>
> in my getAnalysisUsage() but the pass never gets executed.
>
> I guess I have to request pass execution for each function, but I can't
> get behind how to do that, since there is no analysis group
2006 Sep 09
2
[LLVMdev] Help with pass registration
Dear guys,
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:
"llc: PassManagerT.h:387: void
llvm::PassManagerT<Trait>::markPassUsed(const llvm::PassInfo*,
llvm::Pass*) [with Trait = llvm::FTraits]: Assertion
`getAnalysisOrNullUp(P) &&
dynamic_cast<ImmutablePass*>(getAnalysisOrNullUp(P)) &&
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 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 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
> >
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 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 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
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:
> >
> >
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
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) &&
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())
2004 Aug 06
0
[LLVMdev] How to get LoopInfo within Pass subclass?
On Thu, 5 Aug 2004, Michael McCracken wrote:
> 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,
ok.
> However, when running I'm informed that:
>
> PassManagerT.h:421: failed assertion
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 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),
2004 Aug 06
2
[LLVMdev] How to get LoopInfo within Pass subclass?
On Aug 5, 2004, at 5:30 PM, Chris Lattner wrote:
> On Thu, 5 Aug 2004, Michael McCracken wrote:
>
>> 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,
>
> ok.
>
>>