Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Interactions between module and loop passes"
2012 Mar 02
0
[LLVMdev] Interactions between module and loop passes
Hi Pablo,
> I have a code with three passes (one loop pass and two module passes)
> and my own pass manager. If I schedule the loop pass between the others,
> my code segfaults.
when developing with LLVM you should configure with --enable-assertions.
That way you should get an assert failure with a helpful message rather
than a crash.
Is there any explanation why loop passes cannot
2009 Apr 09
3
[LLVMdev] Pass Manager Restriction?
Having a ModulePass that requires a FunctionPass that in turn requires
another ModulePass results in an assertion being fired. Is this
expected behavior (that seems to be undocumented), or a bug?
Specifically, the following code will emit the assertion:
[VMCore/PassManager.cpp:1597: virtual void
llvm::ModulePass::assignPassManager(llvm::PMStack&,
llvm::PassManagerType): Assertion
2009 Apr 10
0
[LLVMdev] Pass Manager Restriction?
"A module pass can use function level passes (e.g. dominators) using
getAnalysis interfacegetAnalysis<DominatorTree>(Function), if the
function pass does not require any module passes."
http://llvm.org/docs/WritingAnLLVMPass.html
In your case, A module pass (ModPass2) is trying tu use function level
pass (FunPass1) which uses module level pass (ModPass1). This is not
2009 Apr 10
2
[LLVMdev] Pass Manager Restriction?
Good to know. I was referencing a local copy of 2.3 docs which didn't
include the "does not require any module passes" statement. It appears
the docs were changed two days before 2.4 was released in November. I
suppose I should update my docs more often.
Are there any plans to change this restriction, or any best practices
to get similar behavior? Since immutable pass is a subclass
2010 May 11
0
[LLVMdev] [Fwd: Error while running my pass with opt]
John Criswell wrote:
> ambika wrote:
>> Here is getAnalysisUsage() i am using,
>>
>> void getAnalysisUsage(AnalysisUsage&AU) const {
>> AU.setPreservesAll();
>> AU.addRequired<DominatorTree>();
>> }
>>
>> and then I use it as,
>>
>>
>> bool ptrTest::runOnModule(Module&M) {
>>
>>
2020 Oct 02
2
Pass dependency error
Hi all,
I am getting the infamous error:
Assertion `ResultPass && "getAnalysis*() called on an analysis that was
not " "'required' by pass!"'
but i really don't understand why.
I have:
voidInstrumentationPass::getAnalysisUsage(llvm::AnalysisUsage&AU) const{
AU.setPreservesAll();
AU.addRequired<DetectKernelsPass>();
2011 Nov 21
5
[LLVMdev] Fwd: Problem getting LoopInfo inside non-LoopPass
I would have thought this would have been possible.
On Thu, Nov 17, 2011 at 3:49 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> So is this simply not possible?
>
>
> On Thu, Nov 17, 2011 at 10:31 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
>> Nick,
>>
>> Thanks for this info, though this didn't help my problem at all.
>>
>>
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);
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]
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
2010 May 10
2
[LLVMdev] [Fwd: Error while running my pass with opt]
ambika wrote:
> Here is getAnalysisUsage() i am using,
>
> void getAnalysisUsage(AnalysisUsage &AU) const {
> AU.setPreservesAll();
> AU.addRequired<DominatorTree>();
> }
>
> and then I use it as,
>
>
> bool ptrTest::runOnModule(Module &M) {
>
> DominatorTree &DT = getAnalysis<DominatorTree>();
> ......
>
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 08
0
[LLVMdev] loadable passes with dependencies?
On 11/8/11 4:34 PM, ret val wrote:
> I still have the addRequired:
> virtual void getAnalysisUsage(AnalysisUsage&AU) const {
> AU.addRequired<DominatorTree>();
> }
>
> The other line
> DominatorTree *dt =&getAnalysis<DominatorTree>();
> Is for later use when I try to use PromoteMemToReg
Isn't DominatorTree a
2011 Nov 09
1
[LLVMdev] loadable passes with dependencies?
Awesome, that let me get far enough to trip:
Assertion failed: (ResultPass && "Unable to find requested analysis
info"), function getAnalysisID
Is there something else I forgot?
On Tue, Nov 8, 2011 at 5:47 PM, John Criswell <criswell at illinois.edu> wrote:
> On 11/8/11 4:34 PM, ret val wrote:
>>
>> I still have the addRequired:
>> virtual
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 {
>>>
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 &&
2009 Nov 16
3
[LLVMdev] Compilation error while cross compiling LLVM for ARM - the __clear_cache issue - now the __sync_val_compare_and_swap issue - now the internal compiler error issue.
Prasanth J wrote:
> Hi,
>
> As you said i downloaded arm toolchain from codesourcery(2009q3 with
> gcc 4.4.1 version).. if i use this toolchain i am getting the
> following error..
>
> make[2]: Entering directory
> `/home/prasanth/LLVM_ARM/llvm-with-armgcc441/llvm-obj/lib/Analysis'
> llvm[2]: Compiling LoopPass.cpp for Release build
> if arm-none-linux-gnueabi-g++
2009 Nov 14
0
[LLVMdev] Compilation error while cross compiling LLVM for ARM - the __clear_cache issue - now the __sync_val_compare_and_swap issue
Hi,
As you said i downloaded arm toolchain from codesourcery(2009q3 with gcc
4.4.1 version).. if i use this toolchain i am getting the following error..
make[2]: Entering directory
`/home/prasanth/LLVM_ARM/llvm-with-armgcc441/llvm-obj/lib/Analysis'
llvm[2]: Compiling LoopPass.cpp for Release build
if arm-none-linux-gnueabi-g++
-I/home/prasanth/LLVM_ARM/llvm-with-armgcc433/llvm/include
2019 Jan 31
4
Confusing ERROR with LoopAccessLegacyAnalysis: Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized.
Dear all,
I write a new LoopPass which wants to use passes including LoopInfoWrapperPass, ScalarEvolutionWrapperPass and LoopAccessLegacyAnalysis.
Therefore, I implement the following code based on LLVM 9.0.0:
=====================================================================
bool LoopInformationCollect::runOnLoop(Loop *L, LPPassManager &)
{
auto &SE =
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&