2.4 Pre-release (v2)

LLVMers,

The 2.4 pre-release (v2) is available for testing:
http://llvm.org/prereleases/2.4/

If you have time, I'd appreciate anyone who can help test the release.
Please do the following:

1) Download/compile llvm source, and either compile llvm-gcc source or use
     llvm-gcc binary.
2) Run make check, send me the testrun.log
3) Run "make TEST=nightly report" and send me the report.nightly.txt
4) Please provide details on what platform you compiled LLVM on and how
     you built LLMV (src == obj, or src != obj)

Please COMPLETE ALL TESTING BY the end of the day on November 5th.

Thanks,
Tanya

P.S. PPC llvm-gcc binary will be up later today. Sorry for the delay.

"Tanya M. Lattner" <tonic@nondot.org> writes:

Tanya,

There is no reason to include the CMake build system on this release. It
is undocumented and immature.

Please remove the cmake/ directory and all files named CMakeLists.txt
from the LLVM source tree.

If there is no harm of including it, I'd prefer to just leave it in. We don't want to have to respin builds unless absolutely necessary,

-Chris

Tanya M. Lattner dixit:

LLVMers,

The 2.4 pre-release (v2) is available for testing:
http://llvm.org/prereleases/2.4/

Is it correct that there is no matching clang distfile?
A checkout of clang r58548 does not build with the prerelease,
seems to require a newer version of llvm-current.

(But then, maybe it’d be best anyway if I port llvm-current to
MirBSD, because it’ll be easier for you to merge the diffs back in.)

bye,
//mirabilos

Dixi quod…

A checkout of clang r58548 does not build with the prerelease,
seems to require a newer version of llvm-current.

However, clang r58565 does not build with llvm r58565 either:

llvm[4]: Compiling BasicConstraintManager.cpp for Release-Asserts build
mpcxx -I/usr/ports/lang/llvm/w-llvm-58565-0/llvm/include -I/usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis -DNDEBUG -I/usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis/../../include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fno-exceptions -fno-rtti -Woverloaded-virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter -c BasicConstraintManager.cpp -o /usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis/Release-Asserts/BasicConstraintManager.o
In file included from /usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/PathSensitive/Store.h:18,
                 from /usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/PathSensitive/ConstraintManager.h:18,
                 from BasicConstraintManager.cpp:15:
/usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/PathSensitive/MemRegion.h:246: error: base `clang::AnonTypedRegion' with only non-default constructor in class without a constructor
gmake[4]: *** [/usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis/Release-Asserts/BasicConstraintManager.o] Error 1
gmake[4]: Leaving directory `/usr/ports/lang/llvm/w-llvm-58565-0/llvm/tools/clang/lib/Analysis'

Any suggestions?

bye,
//mirabilos

Hello, Thorsten

A checkout of clang r58548 does not build with the prerelease,
seems to require a newer version of llvm-current.

That's correct.

Any suggestions?

Please do read http://clang.llvm.org/get_started.html about correct
way of building clang.

Tanya M. Lattner dixit:

LLVMers,

The 2.4 pre-release (v2) is available for testing:
http://llvm.org/prereleases/2.4/

Is it correct that there is no matching clang distfile?
A checkout of clang r58548 does not build with the prerelease,
seems to require a newer version of llvm-current.

clang is not yet a part of the normal LLVM release process. Once its ready, we will incorporate it into the release process.

For now, if you want to use clang, you need to use LLVM svn TOT.

-Tanya

Anton Korobeynikov dixit:

Any suggestions?

Please do read http://clang.llvm.org/get_started.html about correct
way of building clang.

Oh, I did. I took LLVM and Clang from the very same SVN revision even,
placed clang in llvm/tools/ and built. This has worked on GNU/Linux
for me once, but clang-current seems to rely on things not yet in llvm.

Like I said, I’m using r58565 for both llvm and clang (now).

bye,
//mirabilos

So, will it be included or not? I see no mention of CMake in the
release notes. Could it be that you simply forgot to add it?

Regards,

Kevin André

If it works, it should be mentioned, if it doesn't it shouldn't.

-Chris

I have a patch with the info about cmake for the release notes. I will apply it today.

-Tanya

Hi, I've just tried out version 2.4, and it doesn't work for me in
situations where 2.3 seems fine. The current trunk code appears to have
the same problem.

When I compile a simple program in llvm-gcc, I get a .bc file as output
as expected. When running lli or llc on this file, however, I get
various errors and an assert, stopping the .s file from being created.

Example output of llc:

[bens@BenSCentOS llvm]$ llc hello.bc -o hello.s
Value still in symbol table! Type = 'i32' Name = 'tmp3.3'
Value still in symbol table! Type = 'i32' Name = 'tmp3.4'
Value still in symbol table! Type = 'i32' Name = 'tmp1'
Value still in symbol table! Type = 'i32' Name = 'tmp3'
Value still in symbol table! Type = 'i32' Name = 'tmp3.1'
Value still in symbol table! Type = 'i32' Name = 'tmp3.2'
llc: ValueSymbolTable.cpp:29:
llvm::ValueSymbolTable::~ValueSymbolTable(): Assertion `vmap.empty() &&
"Values remain in symbol table!"' failed.
llc[0x89482d6]
/lib/libc.so.6(abort+0x101)[0xc7a631]
/lib/libc.so.6(__assert_fail+0xfb)[0xc7216b]
llc[0x88e92ba]
Aborted

When I run lli, I get pretty much the same, except that the program's
expected output appears before all the errors (so I guess it is doing
some good in there, looks like something just isn't tidying itself up
afterwards).

Opening hello.bc as-is in an editor shows that there is some data in
there (about the same amount as I had when compiling with 2.3), but when
I run llvm-dis on it, it outputs blank.

I ran the llvm/configure file with the same options as I did for 2.3
(--enable-optimized, that's it)

I'm building with a Linux machine,
CentOS 5
Dual core Pentium 4, 3.2GHz x 2
1GB RAM

Am I somehow getting something wrong, or is 2.4 broken? The problem
isn't with my test program, I've tried it with a few c files of varying
simplicity.

Ben

Hi, Ben

Hi, I've just tried out version 2.4, and it doesn't work for me in
situations where 2.3 seems fine. The current trunk code appears to have
the same problem.
Value still in symbol table! Type = 'i32' Name = 'tmp3.3'

It seems, that you're using gcc, which is known to be broken
http://llvm.org/docs/GettingStarted.html#brokengcc

Hi Anton,

I'm using llvm-gcc 4.2.1, which doesn't appear on the list of known
broken gcc builds. What should I be using?

Ben

Hello, Ben

I'm using llvm-gcc 4.2.1, which doesn't appear on the list of known
broken gcc builds. What should I be using?

What are you using to build llvm itself?

gmake 3.81

Ben Swire a écrit :

gmake 3.81

the question was which version of gcc have you used to build llvm-gcc (I think). I seem to remember that some version of gcc compile llvm-gcc incorrectly.

Ben,

gmake 3.81

At least I'm assuming that you're using a compiler to build llvm.
Seeing that error message I also assume, that you're using gcc, right?
If yes - what is the version of gcc you're using to build llvm? If no
- which compiler you're using to build llvm itself?

Oh yes, I am using the gcc version which is marked as incompatible with
2.4 for that (4.1.2). Thanks.
Is there a known working version for llvm 2.4?

Ben

Hi, Ben

Oh yes, I am using the gcc version which is marked as incompatible with
2.4 for that (4.1.2). Thanks.
Is there a known working version for llvm 2.4?

Everything not listed there. I think 4.2.x should be fine.