This is an archive of the discontinued LLVM Phabricator instance.

Build the Apple-style stage2 with modules and full debug info
ClosedPublic

Authored by aprantl on Apr 27 2017, 11:17 AM.

Details

Summary

Green dragon had a green stage2 modules bot for a long time now[1] and it is time to retire it and make a modules build the default for Apple-style stage2 builds.

This patch turns on LLVM_ENABLE_MODULES and switches the debug info generation from -gline-tables-only to -g since full debug info does no longer cause any memory issues even for full LTO builds [2].

[1] http://green.lab.llvm.org/green/job/clang-stage2-cmake-modulesRDA_build/
[2] http://llvm.org/devmtg/2015-10/#talk19
rdar://problem/28672159

Diff Detail

Repository
rL LLVM

Event Timeline

aprantl created this revision.Apr 27 2017, 11:17 AM

@beanz: Would sorting all these set() commands alphabetically break anything?

beanz accepted this revision.Apr 27 2017, 11:19 AM

SWEET! this is great to see! One small comment inline, otherwise LGTM.

cmake/caches/Apple-stage2.cmake
33

Alternatively you can just remove these two lines because you're just setting this to the default value. It was only overridden to set line-tables-only.

This revision is now accepted and ready to land.Apr 27 2017, 11:19 AM
aprantl updated this revision to Diff 96952.Apr 27 2017, 11:21 AM

Address review feedback.

dexonsmith edited edge metadata.Apr 27 2017, 11:21 AM

(Both changes SGTM, but I doubt you're looking for my advice on the CMake logic.)

cmake/caches/Apple-stage2.cmake
31–32

It would simplify fallout, reverting, triaging issues, understanding compile time impact, etc., if the debug info change was left for a separate commit (maybe waiting a day). Thoughts?

It would simplify fallout, reverting, triaging issues, understanding compile time impact, etc., if the debug info change was left for a separate commit (maybe waiting a day). Thoughts?

Sounds like a good plan.

This revision was automatically updated to reflect the committed changes.