[llvm-dev] CMake build of LLVM/clang with -DCMAKE_BUILD_TYPE=Release does not create release versions?

James Henderson via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 20 02:02:16 PDT 2018


Unfortunately, from personal experience, LLVM_PARALLEL_LINK_JOBS
appears to have no effect for Visual Studio builds, AND some of the
tools linked can take up several GB of RAM, so you'll end up with
paging issues. I ended up getting a RAM upgrade in order to sensibly
build it (note, I think builds with debug information take more memory
than those that don't, and also the clang projects were the worst
culprits.
On Wed, 19 Sep 2018 at 20:40, Bruce Hoult via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> With debug builds and gnu ld some of the links take up to 9 or 10 GB of RAM, so with only 8 GB you'd want -DLLVM_PARALLEL_LINK_JOBS=1 and even then still be swapping.
>
> The OS X linker uses far less RAM, and I'm told gold is better too, so maybe there's also no problem on Windows. Or not as much of one. I think I'd use -DLLVM_PARALLEL_LINK_JOBS=1 *anyway* with only 8 GB system RAM.
>
> On Wed, Sep 19, 2018 at 2:38 AM, Dennis Luehring via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> >are you setting the optimized tablegen option?
>>
>> LLVM_OPTIMIZED_TABLEGEN is not active - i will try that
>>
>> >In addition, make sure you have plenty of memory
>>
>> i've got only Intel Core 2 Quad CPU Q8300/2.50Ghz and 8GB RAM for testing
>> not much cpu power AND memory
>>
>>
>>
>>
>> Am 19.09.2018 um 11:31 schrieb James Henderson:
>>>
>>> Regarding the Debug build taking hours, are you setting the optimized
>>> tablegen option? If you aren't the Debug build will take a very long
>>> time. In addition, make sure you have plenty of memory, because the
>>> link stages take up a lot on Debug builds.
>>> On Wed, 19 Sep 2018 at 10:04, Dennis Luehring via llvm-dev
>>> <llvm-dev at lists.llvm.org> wrote:
>>> >
>>> >  >because with that generator the CMAKE_BUILD_TYPE variable is ignored
>>> >  >because it is a "multi-configuration target".
>>> >
>>> > thanks for the link, is that a bug in the CMake configuration (or better
>>> > not getting any warning) or is there just documentation missing?
>>> >
>>> > so i can use --config Debug or --config Release and get the correct
>>> > results - i hope that works the build takes hours
>>> >
>>> > strange is that -DCMAKE_BUILD_TYPE=Debug results in a different
>>> > build-directory size compared to -DCMAKE_BUILD_TYPE=Release - so its not
>>> > fully ignored?
>>> >
>>> > Am 19.09.2018 um 10:30 schrieb Boldizsar.Palotas at esa.int:
>>> > > If I understand correctly, you need to set Release mode within the VS IDE
>>> > > because with that generator the CMAKE_BUILD_TYPE variable is ignored
>>> > > because it is a "multi-configuration target".
>>> > >
>>> > > see
>>> > > https://stackoverflow.com/questions/24460486/cmake-build-type-not-being-used-in-cmakelists-txt
>>> > >
>>> > >
>>> > >
>>> > > From:   Dennis Luehring via llvm-dev <llvm-dev at lists.llvm.org>
>>> > > To:     llvm-dev <llvm-dev at lists.llvm.org>
>>> > > Date:   2018.09.19 06:11
>>> > > Subject:        [llvm-dev] CMake build of LLVM/clang with
>>> > > -DCMAKE_BUILD_TYPE=Release does not create release versions?
>>> > > Sent by:        "llvm-dev" <llvm-dev-bounces at lists.llvm.org>
>>> > >
>>> > >
>>> > >
>>> > > my build environment:
>>> > >
>>> > > Win7 x64
>>> > > VStudio 2017 Community Edition 15.8.4 (latest)
>>> > > CMake 3.12.1 (x86)
>>> > > git 2.19.0 (latest, x64)
>>> > > Python 2.7.2 (x86)
>>> > >
>>> > > directory structure
>>> > >
>>> > > test
>>> > >     llvm <-- git clone https://github.com/llvm-mirror/llvm
>>> > >       tools
>>> > >         clang <-- git clone https://github.com/llvm-mirror/clang
>>> > >     llvm_build
>>> > >
>>> > > Debug build: clean build, llvm_build is deleted before
>>> > >
>>> > > llvm_build> cmake -Thost=x64 -G "Visual Studio 15 2017 Win64"
>>> > > -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD=host
>>> > > -DLLVM_BUILD_EXAMPLES=1 -DCLANG_BUILD_EXAMPLES=1
>>> > > -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_DOCS=OFF ..\llvm
>>> > >
>>> > > builds for hours, a few warning, no errors -> llvm_build is ~44GB
>>> > >
>>> > > i can find many working libs/exes(also examples) in
>>> > > llvm_build\Debug\(lib|bin)
>>> > >
>>> > > then i tried to build release versions
>>> > >
>>> > > Release build: clean build, llvm_build is deleted before
>>> > >
>>> > > llvm_build> cmake -Thost=x64 -G "Visual Studio 15 2017 Win64"
>>> > > -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host
>>> > > -DLLVM_BUILD_EXAMPLES=1 -DCLANG_BUILD_EXAMPLES=1
>>> > > -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_DOCS=OFF ..\llvm
>>> > >
>>> > > builds for hours, a few warning, no errors -> llvm_build is ~47GB (i
>>> > > though Release would be smaller?)
>>> > >
>>> > > i can find many working libs/exes(also examples) in
>>> > > llvm_build\Debug\(lib|bin) - the executables seems to be larger as in
>>> > > "Debug"-Build?
>>> > >
>>> > > llvm-build\Release\bin just contains llvm-lit.py
>>> > >
>>> > > why is the debug folder populated and where i can find the Release build
>>> > > libs/exes?
>>> > >
>>> > >
>>> > > _______________________________________________
>>> > > LLVM Developers mailing list
>>> > > llvm-dev at lists.llvm.org
>>> > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>> > >
>>> > >
>>> > >
>>> > > This message is intended only for the recipient(s) named above. It may contain proprietary information and/or
>>> > > protected content. Any unauthorised disclosure, use, retention or dissemination is prohibited. If you have received
>>> > > this e-mail in error, please notify the sender immediately. ESA applies appropriate organisational measures to protect
>>> > > personal data, in case of data privacy queries, please contact the ESA Data Protection Officer (dpo at esa.int).
>>> > >
>>> > >
>>> >
>>> > _______________________________________________
>>> > LLVM Developers mailing list
>>> > llvm-dev at lists.llvm.org
>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list