search for: loopsimplifyid

Displaying 20 results from an estimated 31 matches for "loopsimplifyid".

Did you mean: loopsimplify
2012 Mar 23
3
[LLVMdev] Function Pass Manager
...9;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); AU.addRequiredID(LCSSAID); AU.addPreservedID(LCSSAID); AU.addRequired<ScalarEvolution>(); AU.addPreserved<ScalarEvolution>(); } When I run it with opt -load, I'm getting the following error: Unable to sch...
2012 Apr 12
0
[LLVMdev] Function Pass Manager
...truct MyPass : public FunctionPass { static char ID; // Pass identification, replacement for typeid MyPass() : FunctionPass(ID) { initializeMyPassPass(*PassRegistry::getPassRegistry()); } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequiredID(LoopSimplifyID); AU.addPreservedID(LoopSimplifyID); } virtual bool runOnFunction(Function &F); }; } char MyPass::ID = 0; INITIALIZE_PASS_BEGIN(MyPass, "mypass", "mypass", false, false) INITIALIZE_PASS_DEPENDENCY(LoopSimplify) INITIALIZE_PASS_END(MyPass...
2012 Jun 05
2
[LLVMdev] Function Pass Manager
...{ > static char ID; // Pass identification, replacement for typeid > MyPass() : FunctionPass(ID) { > initializeMyPassPass(*PassRegistry::getPassRegistry()); > } > virtual void getAnalysisUsage(AnalysisUsage&AU) const { > AU.addRequiredID(LoopSimplifyID); > AU.addPreservedID(LoopSimplifyID); > } > virtual bool runOnFunction(Function&F); > }; > } Is LoopSimplifyID an analysis pass or a transform (optimization) pass? You cannot reliably use the addRequired() method to force a transform pass to run before...
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 make it...
2012 Jun 05
2
[LLVMdev] Function Pass Manager
...cation, replacement for typeid >>> MyPass() : FunctionPass(ID) { >>> initializeMyPassPass(*PassRegistry::getPassRegistry()); >>> } >>> virtual void getAnalysisUsage(AnalysisUsage&AU) const { >>> AU.addRequiredID(LoopSimplifyID); >>> AU.addPreservedID(LoopSimplifyID); >>> } >>> virtual bool runOnFunction(Function&F); >>> }; >>> } >> >> Is LoopSimplifyID an analysis pass or a transform (optimization) pass? > > It is a transform p...
2012 Jun 05
0
[LLVMdev] Function Pass Manager
...ID; // Pass identification, replacement for typeid >> MyPass() : FunctionPass(ID) { >> initializeMyPassPass(*PassRegistry::getPassRegistry()); >> } >> virtual void getAnalysisUsage(AnalysisUsage&AU) const { >> AU.addRequiredID(LoopSimplifyID); >> AU.addPreservedID(LoopSimplifyID); >> } >> virtual bool runOnFunction(Function&F); >> }; >> } > > Is LoopSimplifyID an analysis pass or a transform (optimization) pass? It is a transform pass (it can alter the CFG). > You...
2012 Aug 06
3
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
...I don't want to use opt). I wrote a Module pass which already calls other analysis and transformation passes in its getAnalysisUsage method: void MyPass::getAnalysisUsage(AnalysisUsage& AU) const { AU.addRequired<LoopInfo>(); AU.addPreserved<LoopInfo>(); AU.addRequiredID(LoopSimplifyID); AU.addPreservedID(LoopSimplifyID); AU.addRequiredID(LCSSAID); AU.addPreservedID(LCSSAID); } However, I couldn't figure out how to call the LoopRotate and LoopUnroll passes since I cannot use addRequiredID or addRequired for these two transformations. In Scalar.h, I found: > Pa...
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
2005 Apr 29
0
[LLVMdev] about AnalysisUsage
.... 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. For this, just use: AU.addRequiredID(LoopSimplifyID); "LoopSimplifyID" is a marker that is used to identify the pass, which is exported from the .cpp file. > Also, it would be nice to have support for some sort of a > "addPreservedTransitive" method ... so that when a pass uses > "setPreservesCFG", other pas...
2005 Oct 25
2
[LLVMdev] newbie llc build problem: BreakCriticalEdges.cpp:44: undefined reference to `llvm::LoopSimplifyID'
...instructions, all went well until gmake reported this error while trying to link llc: In function `(anonymous namespace)::BreakCriticalEdges::getAnalysisUsage(llvm::AnalysisUsage&) const': /home/kh/llvm.cvs/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp:44: undefined reference to `llvm::LoopSimplifyID' collect2: ld returned 1 exit status gmake[2]: *** [/home/kh/llvm/obj/Debug/bin/llc] Error 1 AFAICT, 'LoopSimplifyID' does in fact appear to be present in libLLVMScalarOpts.a, and that library does appear to be specified in the linker command line displayed by gmake. What should I do...
2005 Oct 25
0
[LLVMdev] newbie llc build problem: BreakCriticalEdges.cpp:44: undefined reference to `llvm::LoopSimplifyID'
...M for a database query engine project... > > After downloading the latest source from CVS, it's my first time trying > to build LLVM. Following the "Getting Started" instructions, all went well > until gmake reported this error while trying to link llc: > AFAICT, 'LoopSimplifyID' does in fact appear to be present in > libLLVMScalarOpts.a, and > that library does appear to be specified in the linker command line displayed > by gmake. > > What should I do to solve the link error? This appears to be a problem exposed by some recent reorg of the libraries...
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>();       }       virtual bool runOnLoop(llvm::Loop* IncomingLoop,                              llvm::LPPassManager& LPM_Ref)      { return false; }       LoopParser() : llvmLoopPass(ID)       {}  ...
2012 Jul 23
1
[LLVMdev] llvm::LoopPass
...nt 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>(); > } > > virtual bool runOnLoop(llvm::Loop* IncomingLoop, > llvm::LPPassManager& LPM_Ref) > { return false; } > >...
2013 Apr 03
1
[LLVMdev] YSU_Student
...on't want to use opt). I wrote a Module pass which already calls other analysis and transformation passes in its getAnalysisUsage method: void MyPass::getAnalysisUsage(AnalysisUsage& AU) const { AU.addRequired<LoopInfo>(); AU.addPreserved<LoopInfo>(); AU.addRequiredID(LoopSimplifyID); AU.addPreservedID(LoopSimplifyID); AU.addRequiredID(LCSSAID); AU.addPreservedID(LCSSAID); } However, I couldn't figure out how to call the LoopRotate and LoopUnroll passes since I cannot use addRequiredID or addRequired for these two transformations. how can I do it ?
2008 Jul 12
0
[LLVMdev] Little bug in LoopInfo after Rotate?
..., 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 transformation pass. -Eli
2012 Jul 13
4
[LLVMdev] adding new data types to llvm
Hello . I would like to add new custom data type to llvm C parser, I use LLVM/Clang version 3.1. Adding new type instructions from llvm.org site are out of date (http://llvm.org/docs/ExtendingLLVM.html#type). Could you please provide me with guidance? Thanks in advance, Edvard  -------------- next part -------------- An HTML attachment was scrubbed... URL:
2011 Aug 22
1
[LLVMdev] Infinite loop when adding a new analysis pass
...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>(); AU.addRequired<MyAnalysis>(); // Add this AU.addPreserved<AliasAnalysis>(); AU.addPreserved("scalar-evolution"); AU.addPreservedID(LoopSimplifyID); } char LICM::ID = 0; INITIA...
2011 Dec 14
2
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
...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>(); AU.addRequiredID(LoopSimplifyID); AU.addRequired<MemoryDependenceAnalysis>(); // <--- added AU.addRequired<AliasAnalysis>(); AU.addPreserved<AliasAnalysis>(); AU.addPreserved("scalar-evolution"); AU.addPreservedID(LoopSimplifyID); AU.addRequired<TargetLibraryI...
2012 Aug 06
0
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
...a Module > pass which already calls other analysis and transformation passes in > its getAnalysisUsage method: > > > void MyPass::getAnalysisUsage(AnalysisUsage& AU) const { > AU.addRequired<LoopInfo>(); > AU.addPreserved<LoopInfo>(); > AU.addRequiredID(LoopSimplifyID); > AU.addPreservedID(LoopSimplifyID); > AU.addRequiredID(LCSSAID); > AU.addPreservedID(LCSSAID); > } > > However, I couldn't figure out how to call the LoopRotate and > LoopUnroll passes since I cannot use addRequiredID or addRequired for > these two transformat...
2005 Apr 30
0
[LLVMdev] about AnalysisUsage
On Fri, 29 Apr 2005, Sameer D. Sahasrabuddhe wrote: > 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 > won...