similar to: [LLVMdev] adding new data types to llvm

Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] adding new data types to llvm"

2012 Jul 23
0
[LLVMdev] llvm::LoopPass
Hello . I'm trying to implement LoopPass. Here is simple code :    class LoopParser: public llvm::LoopPass   {     public:       static char ID;     public:       virtual void getAnalysisUsage(llvm::AnalysisUsage &AU) const       {         AU.addRequiredID(llvm::LoopSimplifyID);         AU.addPreservedID(llvm::LoopSimplifyID);         AU.addRequired<llvm::LoopInfo>();       }    
2012 Jul 23
1
[LLVMdev] llvm::LoopPass
Hi Edvard, _ZTIN4llvm8LoopPassE is "typeinfo for llvm::LoopPass". LLVM is built without typeinfo, so you will need to build your pass with -fno-rtti. Ciao, Duncan. > I'm trying to implement LoopPass. > Here is simple code : > > class LoopParser: public llvm::LoopPass > { > public: > static char ID; > > public: > virtual
2012 Jul 24
4
[LLVMdev] loop detection
Hello . I'm trying to implement FunctionPass for detecting loops in llvm IR. How can I get <condition> for loop from llvm::Loop object.? Is there any example? Thanks in advance, Edvard  -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120723/85e7f2f9/attachment.html>
2012 Jul 25
2
[LLVMdev] regarding opt -indvars
Hello . opt -indvars pass does not generate canonical induction variable.  (NULL == loop->getCanonicalInductionVariable();) PLEASE explain why? and how can I fix it? Thanks in advance, Edvard  -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120724/92a28ed5/attachment.html>
2012 Mar 23
3
[LLVMdev] Function Pass Manager
Hi, I'm writing a function pass which is dynamically loaded by opt and I need some analysis and passes to be run before my pass: virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<LoopInfo>(); AU.addPreserved<LoopInfo>(); AU.addRequiredID(LoopSimplifyID); AU.addPreservedID(LoopSimplifyID);
2008 Mar 08
10
rspec groups?
One of the things I really liked about TestNG was the grouping feature. Are there any plans for rSpec to incorporate that? Is there any way to emulate that functionality in rspec? Will.
2012 Apr 12
0
[LLVMdev] Function Pass Manager
Hi again, I come back to this issue with an example. It's a pass which does nothing but throw the 'Unable to schedule' error. namespace { struct MyPass : public FunctionPass { static char ID; // Pass identification, replacement for typeid MyPass() : FunctionPass(ID) { initializeMyPassPass(*PassRegistry::getPassRegistry()); } virtual void
2012 Jun 05
2
[LLVMdev] Function Pass Manager
On 4/12/12 3:32 AM, Ivan Llopard wrote: > Hi again, > > I come back to this issue with an example. It's a pass which does > nothing but throw the 'Unable to schedule' error. > > namespace { > struct MyPass : public FunctionPass { > static char ID; // Pass identification, replacement for typeid > MyPass() : FunctionPass(ID) { >
2005 Apr 29
2
[LLVMdev] about AnalysisUsage
Just noticed that quite a few passes like LoopSimplify are implemented in a single .cpp file ... this makes it impossible to specify LoopSimplify using the "addRequired" method. Was there any particular reason to do it this way? I wouldn't mind doing the splitting myself, though I am not using the CVS versions right now. Also, it would be nice to have support for some sort of a
2012 Aug 06
3
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
Hello, I wrote my own pass which needs to do some loop unrolling. I can perform loop unrolling via opt: opt -mem2reg -loops -loop-simplify -loop-rotate -lcssa -loop-unroll -unroll-count=50 mytest.bc -o mytest.bc This command works perfectly. However, what I really want is to produce the **same behavior** but from my own pass (i.e., I don't want to use opt). I wrote a Module pass which
2012 Jun 05
2
[LLVMdev] Function Pass Manager
On 6/5/12 10:39 AM, Ralf Karrenberg wrote: > Hi John, > > On 6/5/12 4:31 PM, John Criswell wrote: >> On 4/12/12 3:32 AM, Ivan Llopard wrote: >>> Hi again, >>> >>> I come back to this issue with an example. It's a pass which does >>> nothing but throw the 'Unable to schedule' error. >>> >>> namespace { >>>
2005 Apr 29
2
[LLVMdev] about AnalysisUsage
On Fri, Apr 29, 2005 at 08:10:17AM -0500, Chris Lattner wrote: > AU.addRequiredID(LoopSimplifyID); > > "LoopSimplifyID" is a marker that is used to identify the pass, which is > exported from the .cpp file. I'll have to declare a PassInfo* called LoopSimplifyID inside namespace llvm, in order for that to compile correctly, right? I was wondering why not simply
2005 Apr 29
0
[LLVMdev] about AnalysisUsage
On Fri, 29 Apr 2005, Sameer D. Sahasrabuddhe wrote: > Just noticed that quite a few passes like LoopSimplify are implemented > in a single .cpp file ... this makes it impossible to specify > LoopSimplify using the "addRequired" method. Was there any particular > reason to do it this way? I wouldn't mind doing the splitting myself, > though I am not using the CVS
2012 Jun 05
0
[LLVMdev] Function Pass Manager
Hi John, On 6/5/12 4:31 PM, John Criswell wrote: > On 4/12/12 3:32 AM, Ivan Llopard wrote: >> Hi again, >> >> I come back to this issue with an example. It's a pass which does >> nothing but throw the 'Unable to schedule' error. >> >> namespace { >> struct MyPass : public FunctionPass { >> static char ID; // Pass
2008 Jul 12
3
[LLVMdev] Little bug in LoopInfo after Rotate?
Hello, I have two for loops (one inside the other), that after indvars, looprotate, etc. (the important here is the loop rotate), is similar to this (I've stripped the real operations): define i32 @f() nounwind { entry: br label %bb1 bb1: ; preds = %bb3, %bb1, %entry %i.0.reg2mem.0.ph = phi i32 [ 0, %entry ], [ %i.0.reg2mem.0.ph, %bb1 ], [ %indvar.next9, %bb3 ] ;
2008 Jan 27
8
Textmate RSpec Bundle ''it'' snippet
It seems to me that the RSpec bundle''s ''it'' snippet is in need of some love. By default, a newly inserted spec passes. This seems odd as it is misleading. It also makes it harder find what specs still need to be completed if you return to an RSpec module after a break. I propose that the ''it'' snippet is changed to the following: it
2008 Jul 12
0
[LLVMdev] Little bug in LoopInfo after Rotate?
On Sat, Jul 12, 2008 at 3:45 PM, Julio <julio.martin.hidalgo at gmail.com> wrote: > I would need to operate in the two loops in rotated form. It can be > considered a bug or I have to introduce manually the header (or modify > myself the ConsiderForLoop to my particular problem)? Try adding "AU.addRequiredID(LoopSimplifyID);AU.addPreservedID(LoopSimplifyID);" to your
2013 Apr 03
1
[LLVMdev] YSU_Student
Hello, I wrote my own pass which needs to do some loop unrolling. I can perform loop unrolling via opt: opt -mem2reg -loops -loop-simplify -loop-rotate -lcssa -loop-unroll -unroll-count=50 mytest.bc -o mytest.bc This command works perfectly. However, what I really want is to produce the **same behavior** but from my own pass (i.e., I don't want to use opt). I wrote a Module pass which
2011 Dec 14
2
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
I'm attempting to add some support for hoisting/sinking of memory-using intrinsics in loops, and so I want to use MemoryDependenceAnalysis in LICM, but when I modify getAnalysisUsge to include this : virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addRequired<DominatorTree>(); AU.addRequired<LoopInfo>();
2011 Aug 22
1
[LLVMdev] Infinite loop when adding a new analysis pass
I am trying to add an analysis pass as a FunctionPass, and let LICM (LoopPass) depends upon it. So in LICM.cpp, I have the following: virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addRequired<DominatorTree>(); AU.addRequired<LoopInfo>(); AU.addRequiredID(LoopSimplifyID); AU.addRequired<AliasAnalysis>();