[LLVMdev] compiling the full SPEC CPU2000 suite to LLVM bytecode
Kenneth Hoste
kenneth.hoste at elis.ugent.be
Wed Aug 30 13:14:36 PDT 2006
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
More information about the llvm-dev
mailing list