Possibly using a broken version of GCC to build LLVM (file won't finish compiling).


Does there exist a list of relative compile times for source files in LLVM?
I am doing a build for ARM on an actual ARM device, and CodeGenDAGPatterns.cpp is taking a really long time to compile (it’s been like 20 minutes or more).
I don’t even get an error. All the files before it compile pretty quickly but this file in particular just won’t finish.

The version of gcc I have on my Nokia N800 (that I got from the Maemo SDK repository) is:

gcc (GCC) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)

I’m kind of worried it may be a broken version as far as compiling for LLVM goes, but a lot of the docs and things on the LLVM website seem to be down this weekend.

Anyways, if anyone has similar experience let me know. I dug around for some past mails on this list regarding building LLVM for this device, and all I found was something from LLVM-2.2 days.



There is a doc on the document page which describe the list of broken GCCs. You’ll need to check it once the docs are online.


From a cached version of the Getting Started Guide, I have found:

"GCC 3.4.4 (CodeSourcery ARM 2005q3-2): this compiler miscompiles LLVM
when building with optimizations enabled. It appears to work with
"make ENABLE_OPTIMIZED=1 OPTIMIZE_OPTION=-O1" or build a debug build."

I'm trying that now.


Should the "broken compilers" page start recommending that you build llvm+clang unoptimized, and then use clang/clang++ to build what you want optimized as the final product (once this is fully supported)? Should the top-level Makefile support a bootstrap target of this nature if you have clang checkout?


Last time that I checked, the list of broken GCCs wasn’t exhaustive and the advice
I was given by Chris Lattner was “use a newer version of GCC”. Not an entirely
satisfactory answer though for my purposes. :frowning: