Yes. Intially the pass was crashing when the module when the module verifier was running. I was able to solve that and now it is crashing when the bit writer pass is running. On Wed, May 5, 2010 at 8:39 PM, Nick Lewycky <nlewycky at google.com> wrote:> On 5 May 2010 17:12, Adarsh Yoga <ayoga at umail.iu.edu> wrote: > >> Hi, >> >> I've written a pass that basically does some code transformations to >> enable parallel execution of loops. After the transformation llvm runs >> BitCode Writer pass , which is aborting with Unreachable Executed error. >> I have attached the input llvm code and the output llvm code for >> reference. I am stuck at this problem for a few days now. Please let me know >> if you are able to find anything unusual. >> > > Have you tried running the module verifier after your transform, before > writing out to bitcode? > > Nick > > >> Regards, >> Adarsh >> >> -- >> Adarsh Yoga >> Graduate Student, Computer Science >> Indiana University, Bloomington >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> >-- Adarsh Yoga Graduate Student, Computer Science Indiana University, Bloomington -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100505/1c96951d/attachment.html>
Adarsh Yoga wrote:> Yes. Intially the pass was crashing when the module when the module > verifier was running. I was able to solve that and now it is crashing > when the bit writer pass is running.The output is wrong in @thread_pool_init: <stdin>:44:27: error: '%4' defined with type 'i1' %5 = getelementptr i32* %4, i64 %indvar ; <i32*> [#uses=1] ^ where %4 = icmp slt i32 %threadnumber, 1 ; <i1> [#uses=2] meaning that %4 is an i1 not an i32*. I'm not sure how you managed to do this, and how the verifier didn't catch it. Maybe the %4 operand is actually an instruction in another function? I'll try to reproduce this and fix the verifier to catch it. Nick> On Wed, May 5, 2010 at 8:39 PM, Nick Lewycky <nlewycky at google.com > <mailto:nlewycky at google.com>> wrote: > > On 5 May 2010 17:12, Adarsh Yoga <ayoga at umail.iu.edu > <mailto:ayoga at umail.iu.edu>> wrote: > > Hi, > > I've written a pass that basically does some code > transformations to enable parallel execution of loops. After the > transformation llvm runs BitCode Writer pass , which is aborting > with Unreachable Executed error. > I have attached the input llvm code and the output llvm code for > reference. I am stuck at this problem for a few days now. Please > let me know if you are able to find anything unusual. > > > Have you tried running the module verifier after your transform, > before writing out to bitcode? > > Nick > > Regards, > Adarsh > > -- > Adarsh Yoga > Graduate Student, Computer Science > Indiana University, Bloomington > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > > > -- > Adarsh Yoga > Graduate Student, Computer Science > Indiana University, Bloomington > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
I was able to solve that but still crashing with the same error saying "Unreachable executed". I have attached the output with this mail. Thanks in advance. On Thu, May 6, 2010 at 2:38 AM, Nick Lewycky <nicholas at mxc.ca> wrote:> Adarsh Yoga wrote: > >> Yes. Intially the pass was crashing when the module when the module >> verifier was running. I was able to solve that and now it is crashing >> when the bit writer pass is running. >> > > The output is wrong in @thread_pool_init: > > <stdin>:44:27: error: '%4' defined with type 'i1' > %5 = getelementptr i32* %4, i64 %indvar ; <i32*> [#uses=1] > ^ > where > > %4 = icmp slt i32 %threadnumber, 1 ; <i1> [#uses=2] > > meaning that %4 is an i1 not an i32*. I'm not sure how you managed to do > this, and how the verifier didn't catch it. Maybe the %4 operand is actually > an instruction in another function? > > I'll try to reproduce this and fix the verifier to catch it. > > Nick > > On Wed, May 5, 2010 at 8:39 PM, Nick Lewycky <nlewycky at google.com >> <mailto:nlewycky at google.com>> wrote: >> >> On 5 May 2010 17:12, Adarsh Yoga <ayoga at umail.iu.edu >> <mailto:ayoga at umail.iu.edu>> wrote: >> >> Hi, >> >> I've written a pass that basically does some code >> transformations to enable parallel execution of loops. After the >> transformation llvm runs BitCode Writer pass , which is aborting >> with Unreachable Executed error. >> I have attached the input llvm code and the output llvm code for >> reference. I am stuck at this problem for a few days now. Please >> let me know if you are able to find anything unusual. >> >> >> Have you tried running the module verifier after your transform, >> before writing out to bitcode? >> >> Nick >> >> Regards, >> Adarsh >> >> -- >> Adarsh Yoga >> Graduate Student, Computer Science >> Indiana University, Bloomington >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> >> >> http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> >> >> >> >> -- >> Adarsh Yoga >> Graduate Student, Computer Science >> Indiana University, Bloomington >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> > >-- Adarsh Yoga Graduate Student, Computer Science Indiana University, Bloomington -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100506/dcfbb94d/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: new-output Type: application/octet-stream Size: 4837 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100506/dcfbb94d/attachment.obj>