Kenneth Hoste
2006-Aug-30 20:14 UTC
[LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
Hi Chris,> > I use NAG with llvm-gcc4. What sort of errors do you get? Did you > configure llvm-test with the appropriate flags to find it? >Yes, I did. llvm-test is configured as follows: (in /work/LLVM/1.8/ llvm/project/llvm-test): ./configure --with-spec2000=/work/SPEC_CPU2000_1.3_src/benchspec -- without-f2c --with-f95-bin=/work/NAG_f95/bin --with-f95-lib=/work/ NAG_f95/lib --with-f95-inc=/work/NAG_f95/lib --with-llvmsrc=/work/ LLVM/1.8/llvm --with-llvmobj=/work/LLVM/1.8/llvm (the inc=.../lib part is correct, the headers files are indeed located in the lib dir of NAG f95). which returns the following messages concerning my setup: checking for spec2000 benchmark sources... yes, in /work/ SPEC_CPU2000_1.3_src/benchspec ... checking for nag-fortran bin/lib/include locations... found via -- with options checking sanity for program f95... yes I then cd into llvm-test/External/SPEC and run make to compile the benchmarks to LLVM bytecode. Make stops with the following error messages: /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ lucas_distrib_spec.f90:2995: error: syntax error before ‘(’ token /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ lucas_distrib_spec.f90:2999: error: redefinition of ‘pTmp4’ /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ lucas_distrib_spec.f90:225: error: previous definition of ‘pTmp4’ was here /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ lucas_distrib_spec.f90:2999: warning: data definition has no type or storage class /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ lucas_distrib_spec.f90:2999: error: syntax error before numeric constant /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ lucas_distrib_spec.f90:2999: warning: data definition has no type or storage class make[2]: [Output/lucas_distrib_spec.o] Error 1 (ignored) g++ -o Output/189.lucas.native Output/lucas_distrib_spec.o -lm / lib/NAGWare/quickfit.o -Xlinker -flat_namespace /lib/NAGWare/ libf97.dylib /lib/NAGWare/libf96.a g++: Output/lucas_distrib_spec.o: No such file or directory g++: /lib/NAGWare/quickfit.o: No such file or directory g++: /lib/NAGWare/libf97.dylib: No such file or directory g++: /lib/NAGWare/libf96.a: No such file or directory make[2]: [Output/189.lucas.native] Error 1 (ignored) Any further suggestions what might be wrong are welcome... Especially the /lib/NAGWare/... part puzzles me.. I did show with configure where the NAGWare lib dir is located, so why this error?>> Also, with the new gcc4 frontend, it seems the Fortran issue will >> disappear in the near future (with the use of gfortran). Is that >> correct? Or will there >> be other problems? > Someone needs to do the work to test gfortran and fix any problems > it runs into. I'm not aware of anyone doing this, though it's > probably not hard. >So, in the future it will be possible to use gcc/g++/gfortran to generate LLVM bytecode? That would be really cool... because GCC is really friendly to people doing research for various reasons. Also, the Fortran-to-C translation is only a temporary solution. Being able to use GCC as a whole for all SPEC benchmarks would be a great plus. If you can give me more specific details on how to test gfortan to emit llvm bytecode, I'll be glad to try it. I'm not all that familiar with LLVM at all, but if I can find the time (which I won't in the next few weeks), I'll be glad to help. greetings, Kenneth -- Statistics are like a bikini. What they reveal is suggestive, but what they conceal is vital (Aaron Levenstein) Kenneth Hoste ELIS - Ghent University kenneth.hoste at elis.ugent.be http://www.elis.ugent.be/~kehoste
Chris Lattner
2006-Aug-30 21:04 UTC
[LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
On Wed, 30 Aug 2006, Kenneth Hoste wrote:>> I use NAG with llvm-gcc4. What sort of errors do you get? Did you >> configure llvm-test with the appropriate flags to find it? > Yes, I did. llvm-test is configured as follows: (in /work/LLVM/1.8/ > llvm/project/llvm-test): > ./configure --with-spec2000=/work/SPEC_CPU2000_1.3_src/benchspec -- > without-f2c --with-f95-bin=/work/NAG_f95/bin --with-f95-lib=/work/NAG_f95/lib > --with-f95-inc=/work/NAG_f95/lib --with-llvmsrc=/work/LLVM/1.8/llvm > --with-llvmobj=/work/LLVM/1.8/llvmWhat does this print? $ grep F95 .../projects/llvm-test/Makefile.config ?> I then cd into llvm-test/External/SPEC and run make to compile the benchmarks > to LLVM bytecode. Make stops with the following error messages: > > /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ > lucas_distrib_spec.f90:2995: error: syntax error before ‘(’ tokenVery strange. Have you *looked* at the file? Does it looks reasonable? What's going on on that line? Have you tried to debug this at all?> Any further suggestions what might be wrong are welcome... Especially the > /lib/NAGWare/... part puzzles me.. I did show with configure where the > NAGWare lib dir is located, so why this error?I don't know, maybe your Makefile.config entries will shed light on this.>> > Also, with the new gcc4 frontend, it seems the Fortran issue will >> > disappear in the near future (with the use of gfortran). Is that >> > correct? Or will there >> > be other problems? >> Someone needs to do the work to test gfortran and fix any problems it runs >> into. I'm not aware of anyone doing this, though it's probably not hard. >> > > So, in the future it will be possible to use gcc/g++/gfortran to generate > LLVM bytecode?Yes, if someone does the work.> If you can give me more specific details on how to test gfortan to emit llvm > bytecode, I'll be glad to try it. I'm not all that familiar with LLVM at all, > but if I can find the time (which I won't in the next few weeks), I'll be > glad to help.I don't have any specific details to give you, as I haven't tried it before. I would suggest getting LLVM CVS HEAD, llvm-gcc SVN head, and then configuring llvm-gcc with gfortran enabled. See what works and what doesn't, debug, fix, submit patch, repeat. -Chris -- http://nondot.org/sabre/ http://llvm.org/
Kenneth Hoste
2006-Aug-31 05:10 UTC
[LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
On 30 Aug 2006, at 23:04, Chris Lattner wrote:> On Wed, 30 Aug 2006, Kenneth Hoste wrote: >>> I use NAG with llvm-gcc4. What sort of errors do you get? Did >>> you configure llvm-test with the appropriate flags to find it? >> Yes, I did. llvm-test is configured as follows: (in /work/LLVM/ >> 1.8/ llvm/project/llvm-test): >> ./configure --with-spec2000=/work/SPEC_CPU2000_1.3_src/benchspec >> -- without-f2c --with-f95-bin=/work/NAG_f95/bin --with-f95-lib=/ >> work/NAG_f95/lib --with-f95-inc=/work/NAG_f95/lib --with-llvmsrc=/ >> work/LLVM/1.8/llvm --with-llvmobj=/work/LLVM/1.8/llvm > > What does this print? > > $ grep F95 .../projects/llvm-test/Makefile.config-bash-3.00$ grep F95 projects/llvm-test/Makefile.config # F95: Enable LLVM to run Fortran benchmarks without a Fortran front-end USE_F95=1 F95_DIR :F95 := /work/NAG_f95/bin/f95 F95_INC := /work/NAG_f95/lib F95_LIB := /work/NAG_f95/lib Looks ok to me...> >> I then cd into llvm-test/External/SPEC and run make to compile the >> benchmarks to LLVM bytecode. Make stops with the following error >> messages: >> >> /work/SPEC_CPU2000_1.3_src/benchspec/CFP2000/189.lucas/src/ >> lucas_distrib_spec.f90:2995: error: syntax error before ‘(’ token > > Very strange. Have you *looked* at the file? Does it looks > reasonable? What's going on on that line? > > Have you tried to debug this at all? > >> Any further suggestions what might be wrong are welcome... >> Especially the /lib/NAGWare/... part puzzles me.. I did show with >> configure where the NAGWare lib dir is located, so why this error? > > I don't know, maybe your Makefile.config entries will shed light on > this. > >>> > Also, with the new gcc4 frontend, it seems the Fortran issue >>> will > disappear in the near future (with the use of gfortran). >>> Is that > correct? Or will there >>> > be other problems? >>> Someone needs to do the work to test gfortran and fix any >>> problems it runs into. I'm not aware of anyone doing this, >>> though it's probably not hard. >> >> So, in the future it will be possible to use gcc/g++/gfortran to >> generate LLVM bytecode? > > Yes, if someone does the work.This is just a single error appearing, I'm getting hundreds, if not thousands, of these error, for various benchmarks/files. Which LLVM version is working for you with F95? Kenneth -- Statistics are like a bikini. What they reveal is suggestive, but what they conceal is vital (Aaron Levenstein) Kenneth Hoste ELIS - Ghent University kenneth.hoste at elis.ugent.be http://www.elis.ugent.be/~kehoste
Possibly Parallel Threads
- [LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
- [LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
- [LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
- [LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
- [LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode