[LLVMdev] Problem getting LoopInfo inside non-LoopPass
Ryan Taylor
ryta1203 at gmail.com
Thu Dec 1 15:08:02 PST 2011
So it seems that Polly has what I am looking for but when installing, the
polly-test is unable to see libisl.so.8 even though it's installed. I've
set all the paths correctly according to their website. I realize they have
their own mailing list but figured someone here might know also.
On Wed, Nov 30, 2011 at 10:29 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
>
> 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 then call merge return that might do it.
> Ideas?
>
> On Thu, Dec 1, 2011 at 12:32 AM, Pankaj Gode <godepankaj at yahoo.com> wrote:
>
>> 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] Problem getting LoopInfo inside non-LoopPass
>>
>> Ryan,
>>
>> See http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-November/045423.html
>>
>> -
>> Devang
>>
>> On Nov 29, 2011, at 6:59 PM, Ryan Taylor wrote:
>>
>> > 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) {
>> > for (CallGraphSCC::iterator CGNodeItr = SCC.begin(),
>> CFNodeItrE=SCC.end();CGNodeItr!=CGNodeItrE;++CGNodeItr) }
>> > const CallGraphNode *CGNode = *CGNodeItr;
>> > Function *F = CGNode->getFunction();
>> > if (!F->isDeclaration())
>> > LoopInfo &LI = getAnalysis<LoopInfo>(*F);
>> > }
>> > return false;
>> > }
>> > };
>> > char myPass::ID = 0;
>> > static RegisterPass<myPass> X("myPass", "This is my pass", false,
>> false);
>> > }
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111201/55932de7/attachment.html>
More information about the llvm-dev
mailing list