Proposal for GSoC project for improving llvm-test testsuite

Hello, Everyone

Tests that run a *lot* of complicated code would test the correctness of
the compiler. Think code written by crazy people that does crazy things;

Just my two cents. From time to time I'm testing LLVM via compiling &
running such big beasts as Qt and Mozilla. Also, at 2.0 time I tried to
compile & test bunch of software from KDE and many others.

They cannot be easily included into LLVM testsuite: their build system
usually is pretty complicated. But some solution definitely needs to be
introduced.

Just my two cents. From time to time I'm testing LLVM via
compiling & running such big beasts as Qt and Mozilla. Also,
at 2.0 time I tried to compile & test bunch of software from
KDE and many others.

I tried to compile the 3D game engine "darkplaces" with llvm-gcc
4.2, but the produced binary didn't work. However, I didn't find
out how debug this further :-/

If you want, I can send the commands to get darkplaces, Nexuiz
data files, patch to makefile & makefile.inc for llvm-gcc
compilation.

> Just my two cents. From time to time I'm testing LLVM via
> compiling & running such big beasts as Qt and Mozilla. Also,
> at 2.0 time I tried to compile & test bunch of software from
> KDE and many others.

I tried to compile the 3D game engine "darkplaces" with llvm-gcc
4.2, but the produced binary didn't work.

"Didn't work" means... what? Compilation failed? Program doesn't work?
Either way: what mesages do you get?
Are there any differences when compiling with the standard 4.2 gcc?
(Some distributions install gcc 4.0, you have to explicitly install
gcc-4.2 to get the equivalent GNU compiler.)

However, I didn't find out how debug this further :-/

No problem, just run a few preliminary tests. This will allow people to
determine what component the problem is in: code generator (if gcc works
but gcc-llvm doesn't), language semantics (if neither gcc nor llvm-gcc
work - probably a gcc problem then, playing around with -O2 or -O0 might
make the problem go away; if that still doesn't help, there's a real
possibility that the 3D driver or hardware is broken).

Darkplaces is probably not a good test for the LLVM test suite. Any
failure may be due to problems with the 3D hardware or the drivers,

Regards,
Jo

"Didn't work" means... what? Compilation failed? Program
doesn't work? Either way: what mesages do you get?

Hey, this was two weeks ago.

Compilation was fine, I get a binary. The game engine also emits
various log statemtens when it starts, but then stopped somehow.
Sorry for being so scarce on details, but I did this at home and
am now at work. At about 20:30 hours german time my kids are in
bed and I can give more details, even the exact llvm svn
revision that I used for my test.

Are there any differences when compiling with the standard 4.2
gcc? (Some distributions install gcc 4.0, you have to
explicitly install gcc-4.2 to get the equivalent GNU
compiler.)

I'm on debian unstable, so I have lot's of different GCCs to try
against. Normally I compile with the debian brand of gcc-4.2 and
there it works. It's an actively maintained project, it works
even with gcc-4.3 (this is from hearsay, not my own
experiments).

Darkplaces is probably not a good test for the LLVM test
suite.

I tried darkplaces because a) it's a complicated program, b) I
play it once in a while with the nexuiz data and c) it has a
benchmark mode, called "time demo".

However, I too think that darkplaces in it's current for isn't
for the automatic test suite because of the 3D hardware
requirements.

Any failure may be due to problems with the 3D hardware
or the drivers,

Maybe, but the game works correctly with several gcc compilers.

"Didn't work" means... what? Compilation failed? Program doesn't work?
Either way: what mesages do you get?

The graphical screen was just blank. darkplaces emits some log messages as usual. But step by step...

Used LLVM-GCC

Makefile (5.81 KB)

llvm.patch (3.58 KB)

Let's use llvm to build more games! :slight_smile: How about Marathon?

http://source.bungie.org/

Evan