(2011/06/10 14:01), Tobias Grosser wrote:> On 06/10/2011 01:52 AM, MORIYAMA Tomohiro wrote: >> (2011/06/10 13:25), Tobias Grosser wrote: >>> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote: >>>> H, Tobias >>>> Thank you for your reply. >>>> >>>> >>>> Tobias Grosser wrote: >>>>> Interesting. On what kind of Platform are you running this? Is it >>>>> still >>>>> Ubuntu 11.04? I assume it's an intel platform, but is it a 32-bit or >>>>> 64bit? >>>> >>>> It is a little bit complicated. >>>> >>>> Intel Core i5 M520. >>>> Ubuntu 11.04-i386 using VMWare Player on Windows 7 Professional(64bit). >>> >>> So it's 32bit. >> >> Certainly. >> >>>>> >>>>> The test cases that are failing are the ones that use 'lli' to execute >>>>> the generated program. There seems to be something wrong in respect to >>>>> lli. Can you run e.g. single_loop.ll with llvm-lit (-v) and show the >>>>> error message. >>>> >>>> OK. This is the message. >>>> >>>> -------- >>>> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ llvm-lit -v >>>> single_loop.ll >>>> llvm-lit: lit.cfg:94: note: using out-of-tree build at >>>> '/home/tomohiro/build/ >>>> tools/polly' >>>> -- Testing: 1 tests, 2 threads -- >>>> FAIL: Polly :: CodeGen/single_loop.ll (1 of 1) >>>> ******************** TEST 'Polly :: CodeGen/single_loop.ll' FAILED >>>> ************* >>>> ******* >>>> Script: >>>> -- >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa >>>> -polly-prepare -polly >>>> -region-simplify -scev-aa -polly-cloog -analyze< >>>> /home/tomohiro/llvm/tools/ >>>> polly/test/CodeGen/single_loop.ll | FileCheck >>>> /home/tomohiro/llvm/tools/polly/ >>>> test/CodeGen/single_loop.ll >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa >>>> -polly-prepare -polly >>>> -region-simplify -scev-aa -polly-codegen< >>>> /home/tomohiro/llvm/tools/polly/test >>>> /CodeGen/single_loop.ll | lli - >>>> -- >>>> Exit Code: 139 >>>> Command Output (stderr): >>>> -- >>>> Stack dump: >>>> 0. Program arguments: lli - >>>> /home/tomohiro/build/tools/polly/test/CodeGen/Output/single_loop.ll.script: >>>> >>>> >>>> line >>>> 2: 3250 Done opt -load /home/tomohiro/build/lib/LLVMPolly.so >>>> -basicaa -polly-prepare -polly-region-simplify -scev-aa >>>> -polly-codegen< /home/ >>>> tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll >>>> 3251 Segmentation fault | lli - >>> >>> >>> Interesting. It seems lli is segfaulting. Can you try to use the >>> following command? >>> >>> opt -load /home/tomohiro/build/lib/LLVMPolly.so \ >>> -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >>> -polly-codegen \ >>> /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >>> | llc - out.s && gcc out.s && ./a.out >>> >>> This means we do not run the created LLVM-IR file with the lli JIT >>> compiler, but use the llc compiler and than gcc to statically compile >>> the binary. >> >> OK. This result is as follows. >> >> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ opt -load >> /home/tomohiro/build/lib/LLVMPolly.so \ >> > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >> > -polly-codegen \ >> > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >> > | llc - out.s && gcc out.s && ./a.out >> llc: Too many positional arguments specified! >> Can specify at most 1 positional arguments: See: llc -help > > Sorry, the last line should be: > | llc -o out.s && gcc out.s && ./a.outThis is the corrected result. tomohiro at ubuntu:~$ opt -load /home/tomohiro/build/lib/LLVMPolly.so \ > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ > -polly-codegen \ > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ > | llc -o out.s && gcc out.s && ./a.out out.s: Assembler messages: out.s:8: Error: bad register name `%rsp' out.s:9: Error: bad register name `%rsp)' out.s:12: Error: invalid instruction suffix for `call' out.s:14: Error: bad register name `%rax' out.s:18: Error: bad register name `%rcx' out.s:22: Error: bad register name `%rcx)' out.s:23: Error: bad register name `%rsp,%rcx,4)' out.s:24: Error: bad register name `%rdx' out.s:29: Error: bad register name `%rax' out.s:36: Error: bad register name `%rsp,%rax,4)' out.s:39: Error: bad register name `%rsp)' out.s:42: Error: bad register name `%rsp)' out.s:44: Error: bad register name `%rsp)' out.s:45: Error: bad register name `%rsp' tomohiro at ubuntu:~$>>> In case this does not work, I will investigate this on an i386 machine. >>> All our development machines are amd64 machines and I must admit we did >>> not test too much on i386. So issues on those machines are not too >>> unexpected. Though Raghesh runs i386. He may have seen such a problem >>> before. >> >> I see. I will try it amd64 version but now on VMWare. >> I'm glad if you tell me your environment in detail. > > Basically I have an Ubuntu amd64. So if you just want to go ahead with > some experiments I would us an 64bit operating system. Running Polly on > 64bit is possible (as raghesh did some work on this), but most probably > our implementation is not yet 100% bug free on 64bit.Thanks. I'll try it.> I just looked again at the lli test cases and they specifically contain > amd64 bit target triples. So most probably executing them on a 32bit > system will never work. If you want to stay with 32bit, I would try the > example on the webpage (from scratch) without using the pregenerated > LLVM-IR files. Let me know if/how this works. > > Cheers and thanks for your testing > Tobi > >-- Tomohiro moriyama at isit.or.jp
Hi,> out.s: Assembler messages: > out.s:8: Error: bad register name `%rsp' > out.s:9: Error: bad register name `%rsp)' > out.s:12: Error: invalid instruction suffix for `call' > out.s:14: Error: bad register name `%rax' > out.s:18: Error: bad register name `%rcx' > out.s:22: Error: bad register name `%rcx)' > out.s:23: Error: bad register name `%rsp,%rcx,4)' > out.s:24: Error: bad register name `%rdx' > out.s:29: Error: bad register name `%rax' > out.s:36: Error: bad register name `%rsp,%rax,4)' > out.s:39: Error: bad register name `%rsp)' > out.s:42: Error: bad register name `%rsp)' > out.s:44: Error: bad register name `%rsp)' > out.s:45: Error: bad register name `%rsp' > tomohiro at ubuntu:~$llc compiled the test for 64-bit X86, and you're assembling with a 32-bit assembler. Try the -m32 option. Cheers, James> -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of MORIYAMA Tomohiro > Sent: 10 June 2011 06:58 > To: Tobias Grosser > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] Polly test and example > > (2011/06/10 14:01), Tobias Grosser wrote: > > On 06/10/2011 01:52 AM, MORIYAMA Tomohiro wrote: > >> (2011/06/10 13:25), Tobias Grosser wrote: > >>> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote: > >>>> H, Tobias > >>>> Thank you for your reply. > >>>> > >>>> > >>>> Tobias Grosser wrote: > >>>>> Interesting. On what kind of Platform are you running this? Is it > >>>>> still > >>>>> Ubuntu 11.04? I assume it's an intel platform, but is it a 32-bit > or > >>>>> 64bit? > >>>> > >>>> It is a little bit complicated. > >>>> > >>>> Intel Core i5 M520. > >>>> Ubuntu 11.04-i386 using VMWare Player on Windows 7 > Professional(64bit). > >>> > >>> So it's 32bit. > >> > >> Certainly. > >> > >>>>> > >>>>> The test cases that are failing are the ones that use 'lli' to > execute > >>>>> the generated program. There seems to be something wrong in > respect to > >>>>> lli. Can you run e.g. single_loop.ll with llvm-lit (-v) and show > the > >>>>> error message. > >>>> > >>>> OK. This is the message. > >>>> > >>>> -------- > >>>> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ llvm-lit -v > >>>> single_loop.ll > >>>> llvm-lit: lit.cfg:94: note: using out-of-tree build at > >>>> '/home/tomohiro/build/ > >>>> tools/polly' > >>>> -- Testing: 1 tests, 2 threads -- > >>>> FAIL: Polly :: CodeGen/single_loop.ll (1 of 1) > >>>> ******************** TEST 'Polly :: CodeGen/single_loop.ll' FAILED > >>>> ************* > >>>> ******* > >>>> Script: > >>>> -- > >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa > >>>> -polly-prepare -polly > >>>> -region-simplify -scev-aa -polly-cloog -analyze< > >>>> /home/tomohiro/llvm/tools/ > >>>> polly/test/CodeGen/single_loop.ll | FileCheck > >>>> /home/tomohiro/llvm/tools/polly/ > >>>> test/CodeGen/single_loop.ll > >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa > >>>> -polly-prepare -polly > >>>> -region-simplify -scev-aa -polly-codegen< > >>>> /home/tomohiro/llvm/tools/polly/test > >>>> /CodeGen/single_loop.ll | lli - > >>>> -- > >>>> Exit Code: 139 > >>>> Command Output (stderr): > >>>> -- > >>>> Stack dump: > >>>> 0. Program arguments: lli - > >>>> > /home/tomohiro/build/tools/polly/test/CodeGen/Output/single_loop.ll.scr > ipt: > >>>> > >>>> > >>>> line > >>>> 2: 3250 Done opt -load /home/tomohiro/build/lib/LLVMPolly.so > >>>> -basicaa -polly-prepare -polly-region-simplify -scev-aa > >>>> -polly-codegen< /home/ > >>>> tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll > >>>> 3251 Segmentation fault | lli - > >>> > >>> > >>> Interesting. It seems lli is segfaulting. Can you try to use the > >>> following command? > >>> > >>> opt -load /home/tomohiro/build/lib/LLVMPolly.so \ > >>> -basicaa -polly-prepare -polly-region-simplify -scev-aa \ > >>> -polly-codegen \ > >>> /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ > >>> | llc - out.s && gcc out.s && ./a.out > >>> > >>> This means we do not run the created LLVM-IR file with the lli JIT > >>> compiler, but use the llc compiler and than gcc to statically > compile > >>> the binary. > >> > >> OK. This result is as follows. > >> > >> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ opt -load > >> /home/tomohiro/build/lib/LLVMPolly.so \ > >> > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ > >> > -polly-codegen \ > >> > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ > >> > | llc - out.s && gcc out.s && ./a.out > >> llc: Too many positional arguments specified! > >> Can specify at most 1 positional arguments: See: llc -help > > > > Sorry, the last line should be: > > | llc -o out.s && gcc out.s && ./a.out > > This is the corrected result. > > tomohiro at ubuntu:~$ opt -load /home/tomohiro/build/lib/LLVMPolly.so \ > > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ > > -polly-codegen \ > > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ > > | llc -o out.s && gcc out.s && ./a.out > out.s: Assembler messages: > out.s:8: Error: bad register name `%rsp' > out.s:9: Error: bad register name `%rsp)' > out.s:12: Error: invalid instruction suffix for `call' > out.s:14: Error: bad register name `%rax' > out.s:18: Error: bad register name `%rcx' > out.s:22: Error: bad register name `%rcx)' > out.s:23: Error: bad register name `%rsp,%rcx,4)' > out.s:24: Error: bad register name `%rdx' > out.s:29: Error: bad register name `%rax' > out.s:36: Error: bad register name `%rsp,%rax,4)' > out.s:39: Error: bad register name `%rsp)' > out.s:42: Error: bad register name `%rsp)' > out.s:44: Error: bad register name `%rsp)' > out.s:45: Error: bad register name `%rsp' > tomohiro at ubuntu:~$ > > > >>> In case this does not work, I will investigate this on an i386 > machine. > >>> All our development machines are amd64 machines and I must admit we > did > >>> not test too much on i386. So issues on those machines are not too > >>> unexpected. Though Raghesh runs i386. He may have seen such a > problem > >>> before. > >> > >> I see. I will try it amd64 version but now on VMWare. > >> I'm glad if you tell me your environment in detail. > > > > Basically I have an Ubuntu amd64. So if you just want to go ahead > with > > some experiments I would us an 64bit operating system. Running Polly > on > > 64bit is possible (as raghesh did some work on this), but most > probably > > our implementation is not yet 100% bug free on 64bit. > > Thanks. I'll try it. > > > I just looked again at the lli test cases and they specifically > contain > > amd64 bit target triples. So most probably executing them on a 32bit > > system will never work. If you want to stay with 32bit, I would try > the > > example on the webpage (from scratch) without using the pregenerated > > LLVM-IR files. Let me know if/how this works. > > > > Cheers and thanks for your testing > > Tobi > > > > > > -- > Tomohiro > moriyama at isit.or.jp > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Hi.>>> I see. I will try it amd64 version but now on VMWare. >>> I'm glad if you tell me your environment in detail.As a result, I successfully ran "make polly-test" on Ubuntu amd64. [100%] Running Polly regression tests Testing Time: 13.16s Expected Passes : 113 Expected Failures : 29 [100%] Built target polly-test MORIYAMA Tomohiro wrote. (Fri, 10 Jun 2011 14:57:37 +0900)>(2011/06/10 14:01), Tobias Grosser wrote: >> On 06/10/2011 01:52 AM, MORIYAMA Tomohiro wrote: >>> (2011/06/10 13:25), Tobias Grosser wrote: >>>> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote: >>>>> H, Tobias >>>>> Thank you for your reply. >>>>> >>>>> >>>>> Tobias Grosser wrote: >>>>>> Interesting. On what kind of Platform are you running this? Is it >>>>>> still >>>>>> Ubuntu 11.04? I assume it's an intel platform, but is it a 32-bit or >>>>>> 64bit? >>>>> >>>>> It is a little bit complicated. >>>>> >>>>> Intel Core i5 M520. >>>>> Ubuntu 11.04-i386 using VMWare Player on Windows 7 Professional(64bit). >>>> >>>> So it's 32bit. >>> >>> Certainly. >>> >>>>>> >>>>>> The test cases that are failing are the ones that use 'lli' to execute >>>>>> the generated program. There seems to be something wrong in respect to >>>>>> lli. Can you run e.g. single_loop.ll with llvm-lit (-v) and show the >>>>>> error message. >>>>> >>>>> OK. This is the message. >>>>> >>>>> -------- >>>>> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ llvm-lit -v >>>>> single_loop.ll >>>>> llvm-lit: lit.cfg:94: note: using out-of-tree build at >>>>> '/home/tomohiro/build/ >>>>> tools/polly' >>>>> -- Testing: 1 tests, 2 threads -- >>>>> FAIL: Polly :: CodeGen/single_loop.ll (1 of 1) >>>>> ******************** TEST 'Polly :: CodeGen/single_loop.ll' FAILED >>>>> ************* >>>>> ******* >>>>> Script: >>>>> -- >>>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa >>>>> -polly-prepare -polly >>>>> -region-simplify -scev-aa -polly-cloog -analyze< >>>>> /home/tomohiro/llvm/tools/ >>>>> polly/test/CodeGen/single_loop.ll | FileCheck >>>>> /home/tomohiro/llvm/tools/polly/ >>>>> test/CodeGen/single_loop.ll >>>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa >>>>> -polly-prepare -polly >>>>> -region-simplify -scev-aa -polly-codegen< >>>>> /home/tomohiro/llvm/tools/polly/test >>>>> /CodeGen/single_loop.ll | lli - >>>>> -- >>>>> Exit Code: 139 >>>>> Command Output (stderr): >>>>> -- >>>>> Stack dump: >>>>> 0. Program arguments: lli - >>>>> /home/tomohiro/build/tools/polly/test/CodeGen/Output/single_loop.ll.script: >>>>> >>>>> >>>>> line >>>>> 2: 3250 Done opt -load /home/tomohiro/build/lib/LLVMPolly.so >>>>> -basicaa -polly-prepare -polly-region-simplify -scev-aa >>>>> -polly-codegen< /home/ >>>>> tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll >>>>> 3251 Segmentation fault | lli - >>>> >>>> >>>> Interesting. It seems lli is segfaulting. Can you try to use the >>>> following command? >>>> >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so \ >>>> -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >>>> -polly-codegen \ >>>> /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >>>> | llc - out.s && gcc out.s && ./a.out >>>> >>>> This means we do not run the created LLVM-IR file with the lli JIT >>>> compiler, but use the llc compiler and than gcc to statically compile >>>> the binary. >>> >>> OK. This result is as follows. >>> >>> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ opt -load >>> /home/tomohiro/build/lib/LLVMPolly.so \ >>> > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >>> > -polly-codegen \ >>> > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >>> > | llc - out.s && gcc out.s && ./a.out >>> llc: Too many positional arguments specified! >>> Can specify at most 1 positional arguments: See: llc -help >> >> Sorry, the last line should be: >> | llc -o out.s && gcc out.s && ./a.out > >This is the corrected result. > >tomohiro at ubuntu:~$ opt -load /home/tomohiro/build/lib/LLVMPolly.so \ > > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ > > -polly-codegen \ > > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ > > | llc -o out.s && gcc out.s && ./a.out >out.s: Assembler messages: >out.s:8: Error: bad register name `%rsp' >out.s:9: Error: bad register name `%rsp)' >out.s:12: Error: invalid instruction suffix for `call' >out.s:14: Error: bad register name `%rax' >out.s:18: Error: bad register name `%rcx' >out.s:22: Error: bad register name `%rcx)' >out.s:23: Error: bad register name `%rsp,%rcx,4)' >out.s:24: Error: bad register name `%rdx' >out.s:29: Error: bad register name `%rax' >out.s:36: Error: bad register name `%rsp,%rax,4)' >out.s:39: Error: bad register name `%rsp)' >out.s:42: Error: bad register name `%rsp)' >out.s:44: Error: bad register name `%rsp)' >out.s:45: Error: bad register name `%rsp' >tomohiro at ubuntu:~$ > > >>>> In case this does not work, I will investigate this on an i386 machine. >>>> All our development machines are amd64 machines and I must admit we did >>>> not test too much on i386. So issues on those machines are not too >>>> unexpected. Though Raghesh runs i386. He may have seen such a problem >>>> before. >>> >>> I see. I will try it amd64 version but now on VMWare. >>> I'm glad if you tell me your environment in detail. >> >> Basically I have an Ubuntu amd64. So if you just want to go ahead with >> some experiments I would us an 64bit operating system. Running Polly on >> 64bit is possible (as raghesh did some work on this), but most probably >> our implementation is not yet 100% bug free on 64bit. > >Thanks. I'll try it. > >> I just looked again at the lli test cases and they specifically contain >> amd64 bit target triples. So most probably executing them on a 32bit >> system will never work. If you want to stay with 32bit, I would try the >> example on the webpage (from scratch) without using the pregenerated >> LLVM-IR files. Let me know if/how this works. >> >> Cheers and thanks for your testing >> Tobi >> >> > >-- >Tomohiro >moriyama at isit.or.jp > >_______________________________________________ >LLVM Developers mailing list >LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
hi, James. Thanks for your advice. "James Molloy" wrote. (Fri, 10 Jun 2011 08:38:44 +0100)>Hi, > >> out.s: Assembler messages: >> out.s:8: Error: bad register name `%rsp' >> out.s:9: Error: bad register name `%rsp)' >> out.s:12: Error: invalid instruction suffix for `call' >> out.s:14: Error: bad register name `%rax' >> out.s:18: Error: bad register name `%rcx' >> out.s:22: Error: bad register name `%rcx)' >> out.s:23: Error: bad register name `%rsp,%rcx,4)' >> out.s:24: Error: bad register name `%rdx' >> out.s:29: Error: bad register name `%rax' >> out.s:36: Error: bad register name `%rsp,%rax,4)' >> out.s:39: Error: bad register name `%rsp)' >> out.s:42: Error: bad register name `%rsp)' >> out.s:44: Error: bad register name `%rsp)' >> out.s:45: Error: bad register name `%rsp' >> tomohiro at ubuntu:~$ > >llc compiled the test for 64-bit X86, and you're assembling with a 32-bit >assembler. Try the -m32 option.I tried this option with 'llc -march=x86' as follows, tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ opt -load /home/tomohiro/build/ lib/LLVMPolly.so \ -basicaa -polly-prepare -polly-region-simplify -scev-aa \ -polly-codegen \ /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ | llc -march=x86 -o out.s && gcc -m32 out.s && ./a.out tomohiro at ubuntu:~/build$ then it successfully ran. So, on compiling llvm with Polly, is the suite of the tests are built as 64bit files as the default?>Cheers, > >James > >> -----Original Message----- >> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >> On Behalf Of MORIYAMA Tomohiro >> Sent: 10 June 2011 06:58 >> To: Tobias Grosser >> Cc: llvmdev at cs.uiuc.edu >> Subject: Re: [LLVMdev] Polly test and example >> >> (2011/06/10 14:01), Tobias Grosser wrote: >> > On 06/10/2011 01:52 AM, MORIYAMA Tomohiro wrote: >> >> (2011/06/10 13:25), Tobias Grosser wrote: >> >>> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote: >> >>>> H, Tobias >> >>>> Thank you for your reply. >> >>>> >> >>>> >> >>>> Tobias Grosser wrote: >> >>>>> Interesting. On what kind of Platform are you running this? Is it >> >>>>> still >> >>>>> Ubuntu 11.04? I assume it's an intel platform, but is it a 32-bit >> or >> >>>>> 64bit? >> >>>> >> >>>> It is a little bit complicated. >> >>>> >> >>>> Intel Core i5 M520. >> >>>> Ubuntu 11.04-i386 using VMWare Player on Windows 7 >> Professional(64bit). >> >>> >> >>> So it's 32bit. >> >> >> >> Certainly. >> >> >> >>>>> >> >>>>> The test cases that are failing are the ones that use 'lli' to >> execute >> >>>>> the generated program. There seems to be something wrong in >> respect to >> >>>>> lli. Can you run e.g. single_loop.ll with llvm-lit (-v) and show >> the >> >>>>> error message. >> >>>> >> >>>> OK. This is the message. >> >>>> >> >>>> -------- >> >>>> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ llvm-lit -v >> >>>> single_loop.ll >> >>>> llvm-lit: lit.cfg:94: note: using out-of-tree build at >> >>>> '/home/tomohiro/build/ >> >>>> tools/polly' >> >>>> -- Testing: 1 tests, 2 threads -- >> >>>> FAIL: Polly :: CodeGen/single_loop.ll (1 of 1) >> >>>> ******************** TEST 'Polly :: CodeGen/single_loop.ll' FAILED >> >>>> ************* >> >>>> ******* >> >>>> Script: >> >>>> -- >> >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa >> >>>> -polly-prepare -polly >> >>>> -region-simplify -scev-aa -polly-cloog -analyze< >> >>>> /home/tomohiro/llvm/tools/ >> >>>> polly/test/CodeGen/single_loop.ll | FileCheck >> >>>> /home/tomohiro/llvm/tools/polly/ >> >>>> test/CodeGen/single_loop.ll >> >>>> opt -load /home/tomohiro/build/lib/LLVMPolly.so -basicaa >> >>>> -polly-prepare -polly >> >>>> -region-simplify -scev-aa -polly-codegen< >> >>>> /home/tomohiro/llvm/tools/polly/test >> >>>> /CodeGen/single_loop.ll | lli - >> >>>> -- >> >>>> Exit Code: 139 >> >>>> Command Output (stderr): >> >>>> -- >> >>>> Stack dump: >> >>>> 0. Program arguments: lli - >> >>>> >> /home/tomohiro/build/tools/polly/test/CodeGen/Output/single_loop.ll.scr >> ipt: >> >>>> >> >>>> >> >>>> line >> >>>> 2: 3250 Done opt -load /home/tomohiro/build/lib/LLVMPolly.so >> >>>> -basicaa -polly-prepare -polly-region-simplify -scev-aa >> >>>> -polly-codegen< /home/ >> >>>> tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll >> >>>> 3251 Segmentation fault | lli - >> >>> >> >>> >> >>> Interesting. It seems lli is segfaulting. Can you try to use the >> >>> following command? >> >>> >> >>> opt -load /home/tomohiro/build/lib/LLVMPolly.so \ >> >>> -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >> >>> -polly-codegen \ >> >>> /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >> >>> | llc - out.s && gcc out.s && ./a.out >> >>> >> >>> This means we do not run the created LLVM-IR file with the lli JIT >> >>> compiler, but use the llc compiler and than gcc to statically >> compile >> >>> the binary. >> >> >> >> OK. This result is as follows. >> >> >> >> tomohiro at ubuntu:~/llvm/tools/polly/test/CodeGen$ opt -load >> >> /home/tomohiro/build/lib/LLVMPolly.so \ >> >> > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >> >> > -polly-codegen \ >> >> > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >> >> > | llc - out.s && gcc out.s && ./a.out >> >> llc: Too many positional arguments specified! >> >> Can specify at most 1 positional arguments: See: llc -help >> > >> > Sorry, the last line should be: >> > | llc -o out.s && gcc out.s && ./a.out >> >> This is the corrected result. >> >> tomohiro at ubuntu:~$ opt -load /home/tomohiro/build/lib/LLVMPolly.so \ >> > -basicaa -polly-prepare -polly-region-simplify -scev-aa \ >> > -polly-codegen \ >> > /home/tomohiro/llvm/tools/polly/test/CodeGen/single_loop.ll \ >> > | llc -o out.s && gcc out.s && ./a.out >> out.s: Assembler messages: >> out.s:8: Error: bad register name `%rsp' >> out.s:9: Error: bad register name `%rsp)' >> out.s:12: Error: invalid instruction suffix for `call' >> out.s:14: Error: bad register name `%rax' >> out.s:18: Error: bad register name `%rcx' >> out.s:22: Error: bad register name `%rcx)' >> out.s:23: Error: bad register name `%rsp,%rcx,4)' >> out.s:24: Error: bad register name `%rdx' >> out.s:29: Error: bad register name `%rax' >> out.s:36: Error: bad register name `%rsp,%rax,4)' >> out.s:39: Error: bad register name `%rsp)' >> out.s:42: Error: bad register name `%rsp)' >> out.s:44: Error: bad register name `%rsp)' >> out.s:45: Error: bad register name `%rsp' >> tomohiro at ubuntu:~$ >> >> >> >>> In case this does not work, I will investigate this on an i386 >> machine. >> >>> All our development machines are amd64 machines and I must admit we >> did >> >>> not test too much on i386. So issues on those machines are not too >> >>> unexpected. Though Raghesh runs i386. He may have seen such a >> problem >> >>> before. >> >> >> >> I see. I will try it amd64 version but now on VMWare. >> >> I'm glad if you tell me your environment in detail. >> > >> > Basically I have an Ubuntu amd64. So if you just want to go ahead >> with >> > some experiments I would us an 64bit operating system. Running Polly >> on >> > 64bit is possible (as raghesh did some work on this), but most >> probably >> > our implementation is not yet 100% bug free on 64bit. >> >> Thanks. I'll try it. >> >> > I just looked again at the lli test cases and they specifically >> contain >> > amd64 bit target triples. So most probably executing them on a 32bit >> > system will never work. If you want to stay with 32bit, I would try >> the >> > example on the webpage (from scratch) without using the pregenerated >> > LLVM-IR files. Let me know if/how this works. >> > >> > Cheers and thanks for your testing >> > Tobi >> > >> > >> >> -- >> Tomohiro >> moriyama at isit.or.jp >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >
On 06/10/2011 08:29 AM, MORIYAMA Tomohiro wrote:> Hi. > >>>> I see. I will try it amd64 version but now on VMWare. >>>> I'm glad if you tell me your environment in detail. > > As a result, I successfully ran "make polly-test" on Ubuntu amd64. > > [100%] Running Polly regression tests > Testing Time: 13.16s > Expected Passes : 113 > Expected Failures : 29 > [100%] Built target polly-testNice. Thanks for testing. Tobi