LLVM test-suite

How do I get the LLVM test-suite to work I have followed the /docs/TestingGuide.html but cannot seem to get it to work. I have tried many variations, but get no joy. The docmunetation does not appear very clear.

Aaron

Some things that are not so obvious:
The testsuite has to be checked out as a subdirectory of llvm/projects; llvm/projects/llvmtest or some such.
After doing that, you need to re-configure from the top level. There must be a working llvm-gcc in your path when you do this.
After that, cd to projects/llvmtest; make -k should work from there.

Thanks for the reply.

Do I check it out under src or build directory ?

I am sure I had all this working fine with no problems 2 years ago.

Aaron

Thanks for the reply.

Do I check it out under src or build directory ?

src

Hi Aaron,

How do I get the LLVM test-suite to work I have followed the /docs/TestingGuide.html but cannot seem to get it to work. I have tried many variations, but get no joy. The docmunetation does not appear very clear.

(1) check out the testsuite. The default name of the checkout is "test-suite".
(2) move it into llvm/projects/, changing the name to llvm-test, so now you
have an "llvm/projects/llvm-test" directory. I don't know if the name change
really matters.
(3) configure/reconfigure llvm (as if about to build llvm). This way the
configure machinery will notice that the testsuite is now there.
(4) if building in a separate objects directory you should have a
"projects/llvm-test/" subdirectory of the objects directory now.
Change directory into it. If building in the llvm tree, change
directory to llvm/projects/llvm-test/. You should now be inside a
directory called "llvm-test".
(5) run "make".

Ciao,

Duncan.

Thanks Duncan,

I figured it out after a couple of tries, but the docs are not as clear as your instructions. If there’s no specific maintainer of TestingGuide.html, I’d be happy to update the docs to be as clear as your instructions.

llvm/projects/Makefile filters out “test-suite” and “llvm-test” when builds are done, so it looks like those two names work.

John

Thanks Duncan,

I figured it out after a couple of tries, but the docs are not as clear as your instructions. If there's no specific maintainer of TestingGuide.html, I'd be happy to update the docs to be as clear as your instructions.

Please! :slight_smile: Maybe the wiki too.

-bw

2009/3/28 John Mosby <ojomojo@gmail.com>

Thanks Duncan,

I figured it out after a couple of tries, but the docs are not as clear as your instructions. If there’s no specific maintainer of TestingGuide.html, I’d be happy to update the docs to be as clear as your instructions.

llvm/projects/Makefile filters out “test-suite” and “llvm-test” when builds are done, so it looks like those two names work.

John

Hi Aaron,

How do I get the LLVM test-suite to work I have followed the /docs/TestingGuide.html but cannot seem to get it to work. I have tried many variations, but get no joy. The docmunetation does not appear very clear.

(1) check out the testsuite. The default name of the checkout is “test-suite”.
(2) move it into llvm/projects/, changing the name to llvm-test, so now you
have an “llvm/projects/llvm-test” directory. I don’t know if the name change
really matters.
(3) configure/reconfigure llvm (as if about to build llvm). This way the
configure machinery will notice that the testsuite is now there.
(4) if building in a separate objects directory you should have a
“projects/llvm-test/” subdirectory of the objects directory now.
Change directory into it. If building in the llvm tree, change
directory to llvm/projects/llvm-test/. You should now be inside a
directory called “llvm-test”.
(5) run “make”.

[root@cybercomms test-suite]# make
make[1]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource' make[2]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests’
make[3]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector' make[4]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector/SSE’
make[4]: *** No rule to make target Output/sse.expandfft.linked.rbc', needed by Output/sse.expandfft.linked.bc’. Stop.
make[4]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector/SSE' make[3]: *** [all] Error 1 make[3]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector’
make[2]: *** [all] Error 1
make[2]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests' make[1]: *** [UnitTests/.makeall] Error 2 make[1]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource’
make: *** [SingleSource/.makeall] Error 2

Get the same results in llvm-test as in test-suite

Aaron

This usually means you didn't have an llvm-gcc in your path when you did the latest configure.

Will do.

John

2009/3/28 John Mosby <ojomojo@gmail.com>

Thanks Duncan,

I figured it out after a couple of tries, but the docs are not as clear as your instructions. If there’s no specific maintainer of TestingGuide.html, I’d be happy to update the docs to be as clear as your instructions.

llvm/projects/Makefile filters out “test-suite” and “llvm-test” when builds are done, so it looks like those two names work.

John

Hi Aaron,

How do I get the LLVM test-suite to work I have followed the /docs/TestingGuide.html but cannot seem to get it to work. I have tried many variations, but get no joy. The docmunetation does not appear very clear.

(1) check out the testsuite. The default name of the checkout is “test-suite”.
(2) move it into llvm/projects/, changing the name to llvm-test, so now you
have an “llvm/projects/llvm-test” directory. I don’t know if the name change
really matters.
(3) configure/reconfigure llvm (as if about to build llvm). This way the
configure machinery will notice that the testsuite is now there.
(4) if building in a separate objects directory you should have a
“projects/llvm-test/” subdirectory of the objects directory now.
Change directory into it. If building in the llvm tree, change
directory to llvm/projects/llvm-test/. You should now be inside a
directory called “llvm-test”.
(5) run “make”.

[root@cybercomms test-suite]# make
make[1]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource' make[2]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests’
make[3]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector' make[4]: Entering directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector/SSE’
make[4]: *** No rule to make target Output/sse.expandfft.linked.rbc', needed by Output/sse.expandfft.linked.bc’. Stop.
make[4]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector/SSE' make[3]: *** [all] Error 1 make[3]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests/Vector’
make[2]: *** [all] Error 1
make[2]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource/UnitTests' make[1]: *** [UnitTests/.makeall] Error 2 make[1]: Leaving directory /usr/build/llvm/projects/test-suite/SingleSource’
make: *** [SingleSource/.makeall] Error 2

Get the same results in llvm-test as in test-suite

It can’t find llvm-gcc. You need to reconfigure at the LLVM level with it in your path or specified as a configure option.

-Tanya

This usually means you didn't have an llvm-gcc in your path when you did the latest configure.

Okay, thanks that did the trick, I was working with an old instillation...

Aaron

Hi John,

I figured it out after a couple of tries, but the docs are not as clear as
your instructions. If there's no specific maintainer of TestingGuide.html,
I'd be happy to update the docs to be as clear as your instructions.

that would be great! I forgot to mention that you should have llvm-gcc
in your path when configuring - can you please add that.

Ciao,

Duncan.

I've got a makefile that tries to build llvm and llvm-gcc from source,
and then run the test suite. I've found that I have to

1. build llvm
2. build llvm-gcc (which uses libraries built as part of llvm)
3. as you say, *reconfigure* llvm (without using a config.cache!) now
that there is a working llvm-gcc for it to find

Is this reconfigure step really fundamentally necessary? It's a pain
for me because there's no simple way to represent the fact that that
step has been done as a dependency in my makefile, and because after
the reconfigure "make" thinks that it needs to rebuild llvm.

Thanks,
Jay.

It should not be fundamentally necessary, but right now that's the way it works. I'm sure a patch to fix this would be welcome.