Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Loop Info Stability"
2010 Aug 14
0
[LLVMdev] Questions about trip count
On Thu, Aug 12, 2010 at 5:22 PM, Tobias Grosser
<grosser at fim.uni-passau.de>wrote:
> On 08/12/2010 09:41 PM, Douglas do Couto Teixeira wrote:
>
>> Dear guys,
>>
>> I am having problems to obtain good information from the LoopInfo.
>> I am always getting a trip count of 0, even though I am clearly passing
>> a loop with a constant bound. I am using
2011 Dec 01
1
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
In addition to the link below, please check for functions like "llvm.debug.declare", "llvm.debug.value", as you will not get LoopInfo for these.
Pankaj
________________________________
From: Devang Patel <dpatel at apple.com>
To: Ryan Taylor <ryta1203 at gmail.com>
Cc: llvmdev at cs.uiuc.edu
Sent: Wednesday, November 30, 2011 11:08 PM
Subject: Re: [LLVMdev]
2011 Nov 30
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
The following code is causing an "UNREACHABLE executed!" and a stack dump,
any ideas?
namespace {
struct myPass : public CallGraphSCCPass {
static char ID;
myPass() : CallGraphSCCPass(ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
AU.addRequired<LoopInfo>();
}
virtual bool runOnSCC(CallGraphSCC &SCC)
2011 Dec 01
0
[LLVMdev] Problem getting LoopInfo inside non-LoopPass
Thanks for the info. Curious, do you know if there is an opt that will put
all loops, including nested ones, in functions (ie each loop in it's own
function)? What I'm trying to do is create a way for each loop to have only
one exit. I want all loops to be single exit loops?
I can write my own pass but I'd rather not. I think that if I can put
each loop into it's own function
2011 Nov 30
2
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
On Tue, Nov 29, 2011 at 6:59 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> The following code is causing an "UNREACHABLE executed!" and a stack dump,
> any ideas?
The stack might be handy.
> namespace {
> struct myPass : public CallGraphSCCPass {
> static char ID;
> myPass() : CallGraphSCCPass(ID) {}
> virtual void getAnalysisUsage(AnalysisUsage
2011 Feb 28
1
[LLVMdev] LoopInfo of a basic block
On Mon, Feb 28, 2011 at 6:04 PM, Naznin Fauzia <laboni14 at gmail.com> wrote:
> Thanks Devang and John. My pass is actually a loop pass, not a function
> pass. So, I couldnt override the getAnalysisUsage.
>
A LoopPass is no different from a FunctionPass here. You can use
getAnalysisUsage and getAnalysis in a LoopPass.
> I am in a loop pass, I know the outermost loop. Now How
2010 Sep 15
2
[LLVMdev] getAnalysis<LoopInfo> from ModulePass
Hi,
I wrote tiny ModulePass which iterates over functions and then uses getAnalysis<LoopInfo> in order to get informations about the loop.
It compiles smoothly, but whenever I try to run it I got error like this:
opt: .. PassAnalysisSupport.h:203: AnalysisType& llvm::Pass::getAnalysisID(const llvm::PassInfo*) const [with AnalysisType = llvm::LoopInfo]: Assertion `ResultPass &&
2010 Sep 15
0
[LLVMdev] getAnalysis<LoopInfo> from ModulePass
hi,
On Wed, Sep 15, 2010 at 8:21 PM, Mariusz Grad <mariusz.grad at gmail.com> wrote:
> Hi,
>
> I wrote tiny ModulePass which iterates over functions and then uses getAnalysis<LoopInfo> in order to get informations about the loop.
> It compiles smoothly, but whenever I try to run it I got error like this:
> opt: .. PassAnalysisSupport.h:203: AnalysisType&
2011 Nov 30
0
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
UNREACHABLE executed!
0 opt 0x00000000008edc2f
1 opt 0x00000000008edfda
2 libpthread.so.0 0x00007f9c8e69bc60
3 libc.so.6 0x00007f9c8d986d05 gsignal + 53
4 libc.so.6 0x00007f9c8d98aab6 abort + 390
5 opt 0x00000000008da974 llvm::llvm_unreachable_internal(char
const*, char const*, unsigned int) + 356
6 opt 0x000000000087e046
7 opt
2008 Nov 30
3
[LLVMdev] Error when using getAnalysis
Hi,
I'm trying to use the function getAnalysis. This is the code I'm using :
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<LoopInfo>();
AU.setPreservesAll();
}
virtual bool runOnModule(Module &M) {
LoopInfo &LI = getAnalysis<LoopInfo>();
}
I get following error when I try to run my pass :
opt:
2011 Feb 28
0
[LLVMdev] LoopInfo of a basic block
Thanks Devang and John. My pass is actually a loop pass, not a function
pass. So, I couldnt override the getAnalysisUsage.
I am in a loop pass, I know the outermost loop. Now How can I get the
loopInfo from here? I couldn't find helpful methods in the LoopInfo class
documents.
On Mon, Feb 28, 2011 at 5:52 PM, John Criswell <criswell at illinois.edu>wrote:
> On 2/28/11 4:43 PM,
2011 Feb 28
2
[LLVMdev] LoopInfo of a basic block
On 2/28/11 4:43 PM, Devang Patel wrote:
>
> On Feb 28, 2011, at 2:35 PM, Naznin Fauzia wrote:
>
>> Hi all,
>>
>> How Can I get the Loops around an Instruction?
>>
>> I know I can get the basic block of an instruction using
>> inst.getParent() which returns a BasicBlock*. Now I want to use the
>> getLoopFor(BasicBlock) method of the class
2011 Feb 28
0
[LLVMdev] LoopInfo of a basic block
On Feb 28, 2011, at 2:35 PM, Naznin Fauzia wrote:
> Hi all,
>
> How Can I get the Loops around an Instruction?
>
> I know I can get the basic block of an instruction using inst.getParent() which returns a BasicBlock*. Now I want to use the getLoopFor(BasicBlock) method of the class LoopInfo.
> But I dont know how to get the LoopInfo.
>
> BasicBlock* bb =
2012 Nov 06
1
[LLVMdev] Adding function attributes
Below is a stripped down version of the pass.
The compile line is: clang -O0 -S -emit-llvm -o test.S test.c && opt -S
-mem2reg -load <path to extract lib> -extract < test.S > test_opt.S
#include "llvm/Analysis/DependenceAnalysis.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/LoopPass.h"
#include
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
2008 Dec 01
0
[LLVMdev] Error when using getAnalysis
nitisha warkari wrote:
> Hi,
>
> I'm trying to use the function getAnalysis. This is the code I'm using :
>
> void getAnalysisUsage(AnalysisUsage &AU) const {
> AU.addRequired<LoopInfo>();
> AU.setPreservesAll();
> }
>
> virtual bool runOnModule(Module &M) {
> LoopInfo &LI = getAnalysis<LoopInfo>();
>
>
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);
2018 Jan 29
1
Polly Dependency Analysis in MyPass
Thank You.
Actually i pass polly canonaclize IR to my new created polly pass called
"mypass". Mypass should first detect scops then find depedndencies as the
mechanism conventional approach.
Now i know how to write llvm pass here i am writing pass as loadable module
first afterwards i will integrate it with opt in the end.
I tried writing following code. Could you please help me on
2015 Jul 29
1
[LLVMdev] Loop Dependence Analysis(getDistance())
Hi,
I am trying to use the DependenceAnalysis pass to get the Distance vector
for the innermost loop. I am in LLVM learing process. I have used the
following code inside my original code to get the distance vector. It is
not giving any syntax error but it is has some logical but and giving
segmentation fault.
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
2010 Nov 22
0
[LLVMdev] pass visibility question
Hi developers,
I have some problems using a non-default alias analysis. I wrote a
modulepass which needs a functionpass. The functionpass needs a type
bases alias analysis instead of the basicaa. I added the command line
parameter for this analysis to the opt invocation as follows:
opt -tbaa -global-live-values test.bc
The 'global-live-values' pass preserves all and requires a