- Mar 15, 2016
-
-
Chris Bieneman authored
LLVM r263566 adds a generic PACKAGE_VENDOR configuration which can be used to specify the vendor for LLVM toolchain tools. This change defaults the CLANG_VENDOR to the PACKAGE_VENDOR so that you don't have to specify both when building a package. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263570 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 26, 2016
-
-
Chris Bieneman authored
This is needed to build the gold plugin in multi-stage builds. Patch by Mike Edwards Differential Revision: http://reviews.llvm.org/D17655 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262065 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 17, 2016
-
-
Chandler Carruth authored
This appears to be passing '-Wl,-order_file' to Linux link commands, which then causes the linker to silently, behind the scenes, write the output to 'rder_file' instead of somewhere else. Will work with Chris to figure out the proper support for this, but so far there are numerous people who can't get Clang to update when they build because of this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261054 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 12, 2016
-
-
Chris Bieneman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260744 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Summary: This commit re-lands r259862. The underlying cause of the build breakage was an incorrectly written capabilities test. In tools/Driver/CMakeLists.txt I was attempting to check if a linker flag worked, the test was passing it to the compiler, not the linker. CMake doesn't have a linker test, so we have a hand-rolled one. Original Patch Review: http://reviews.llvm.org/D16896 Original Summary: With this change generating clang order files using dtrace uses the following workflow: cmake <whatever options you want> ninja generate-order-file ninja clang This patch works by setting a default path to the order file (which can be overridden by the user). If the order file doesn't exist during configuration CMake will create an empty one. CMake then ties up the dependencies between the clang link job and the order file, and generate-order-file overwrites CLANG_ORDER_FILE with the new order file. Reviewers: bogner Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D16999 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260742 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This was originally a hacky if(APPLE) block. Now that we have an option for enabling LTO, it is better to properly gate this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260707 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jonas Hahnfeld authored
With this option one can optionally override the architecture dependent default library to use if no -stdlib= is provided on compiler invocation. Differential Revision: http://reviews.llvm.org/D15920 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260662 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 10, 2016
-
-
Chris Bieneman authored
For multi-stage builds we need to pass any overridden source directory variables. Without passing these the subsequent stages won't find the project sources. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260341 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 05, 2016
-
-
Chris Bieneman authored
Seriously... CMake... You're on my list... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259873 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This reverts commit r259862, and attempts to fix builder CMakeCaches. Will try this again some other time... Conflicts: CMakeLists.txt tools/driver/CMakeLists.txt git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259872 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This change will catch any bots that generated the order file that GNU ld doesn't like and delete it before trying to generate one that I think GNU ld will deal with. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259871 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
I can't reproduce this locally, but I think this may fix it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259870 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Summary: With this change generating clang order files using dtrace uses the following workflow: cmake <whatever options you want> ninja generate-order-file ninja clang This patch works by setting a default path to the order file (which can be overridden by the user). If the order file doesn't exist during configuration CMake will create an empty one. CMake then ties up the dependencies between the clang link job and the order file, and generate-order-file overwrites CLANG_ORDER_FILE with the new order file. Reviewers: bogner Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D16896 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259862 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 04, 2016
-
-
Niels Ole Salscheider authored
This is the right location for platform-specific files. Also, search for LLVM's CMake files in this directory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259822 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 20, 2016
-
-
Chris Bieneman authored
I can't apply export to tools without getting some strange CMake spew. The behavior here is a bit unexpected. CMake is complaining about static link dependencies not being in the same export set, which shouldn't matter. In the short term it is easier to just remove the export set (which was just added in r258209) while I sort this out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258214 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 19, 2016
-
-
Chris Bieneman authored
[CMake] Creating add_clang_tool macro to wrap add_clang_executable and generate install actions and targets. This change brings forward the LLVM convention that "executables" are just runnable binaries, and "tools" are executables that are part of the project's install. Having this abstraction will allow us to simplify some of the tool CMakeLists files, and it will standardize some of the install behaviors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258209 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Only set -DSVN_REVISION if CLANG_APPEND_VC_REV=On git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258143 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 14, 2016
-
-
Chris Bieneman authored
This makes it so if you disable building libclang you won't install the headers as part of the 'install' target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@257828 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This matches autoconf's ability to put clang revisions in the clang --version spew. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@257827 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 06, 2016
-
-
Chris Bieneman authored
Summary: This patch adds support for the clang multi-stage bootstrapping to support PGO profdata generation, and can build a 2 or 3 stage compiler. With this patch applied you can configure your build directory with the following invocation of CMake: cmake -G <generator> -C <path_to_clang>/cmake/caches/PGO.cmake <source dir> After configuration the following additional targets will be generated: stage2-instrumented: Builds a stage1 x86 compiler, runtime, and required tools (llvm-config, llvm-profdata) then uses that compiler to build an instrumented stage2 compiler. stage2-instrumented-generate-profdata: Depends on "stage2-instrumented" and will use the instrumented compiler to generate profdata based on the training files in <clang>/utils/perf-training stage2: Depends on "stage2-instrumented-generate-profdata" and will use the stage1 compiler with the stage2 profdata to build a PGO-optimized compiler. stage2-check-llvm: Depends on stage2 and runs check-llvm using the stage3 compiler. stage2-check-clang: Depends on stage2 and runs check-clang using the stage3 compiler. stage2-check-all: Depends on stage2 and runs check-all using the stage3 compiler. stage2-test-suite: Depends on stage2 and runs the test-suite using the stage3 compiler (requires in-tree test-suite). Reviewers: bogner, silvas, chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15584 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256873 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 19, 2015
-
-
Chris Bieneman authored
This reverts commit r256069, which was an unintentional tag along on another commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256088 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Summary: This patch adds support for the clang multi-stage bootstrapping to support PGO profdata generation, and can build a 2 or 3 stage compiler. With this patch applied you can configure your build directory with the following invocation of CMake: cmake -G <generator> -C <path_to_clang>/cmake/caches/PGO.cmake <source dir> After configuration the following additional targets will be generated: stage2-instrumented: Builds a stage1 x86 compiler, runtime, and required tools (llvm-config, llvm-profdata) then uses that compiler to build an instrumented stage2 compiler. stage2-instrumented-generate-profdata: Depends on "stage2-instrumented" and will use the instrumented compiler to generate profdata based on the training files in <clang>/utils/perf-training stage2: Depends on "stage2-instrumented-generate-profdata" and will use the stage1 compiler with the stage2 profdata to build a PGO-optimized compiler. stage2-check-llvm: Depends on stage2 and runs check-llvm using the stage3 compiler. stage2-check-clang: Depends on stage2 and runs check-clang using the stage3 compiler. stage2-check-all: Depends on stage2 and runs check-all using the stage3 compiler. stage2-test-suite: Depends on stage2 and runs the test-suite using the stage3 compiler (requires in-tree test-suite). Reviewers: bogner, silvas, chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15584 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256069 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 16, 2015
-
-
Chris Bieneman authored
When you start chaining bootstrap stages the CMake-generated targets get unwieldy. This change supports naming the bootstrap targets and creating wrapper targets in the top-level build file. Without this patch the default target generated for a second stage build was "bootstrap" with it the target is "stage2". Also with some CMake goop setting CLANG_BOOTSTRAP_TARGETS, you can expose third stage targets as "stage3" instead of "bootstrap-bootstrap" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255813 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Adding optional dependency for the bootstrap targets on compiler-rt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255801 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This allows exposing a custom list of targets from the next stage build up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255799 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Summary: This patch adds support for using LIT to drive generating PGO profile data for clang. This first pass implementation should work on Linux and Unix based platforms. If you build clang using CMake with LLVM_BUILD_INSTRUMENTED=On the CMake build generates a generate-profdata target that will use the just-built clang to build any test files (see hello_world.cpp as an example). Each test compile will generate profraw files for each clang process. After all tests have run CMake will merge the profraw files using llvm-profdata. Future opportunities for extension: * Support for Build->Profile->Build bootstrapping * Support for linker order file generation using a similar mechanism and the same training data * Support for Windows Reviewers: dexonsmith, friss, bogner, cmatthews, vsk, silvas Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15462 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255740 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 10, 2015
-
-
Alexey Bataev authored
Patch turns on OpenMP support in clang by default after fixing OpenMP buildbots. Differential Revision: http://reviews.llvm.org/D13803 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255223 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 24, 2015
-
-
Chris Bieneman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253937 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 20, 2015
-
-
Chris Bieneman authored
This adds support for three types of argument specifications for bootstrap builds: (1) Arguments prefixed with BOOTSTRAP_* will be passed through with the leading BOOTSTRAP_ removed. (2) CLANG_BOOTSTRAP_PASSTHROUGH can specify a list of variables to be passed through as they are set. (3) BOOTSTRAP_DEFAULT_PASSTHROUGH is a list of some default passthrough variables that are always passed through. Those variables include the version string and should only specify variables that are always expected to be the same between the stage1 and stage2 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253721 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 13, 2015
-
-
Argyrios Kyrtzidis authored
[CMake] If 'INTERNAL_INSTALL_PREFIX' is set, use it for determining the install destination of c-index-test and the libclang headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253001 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 12, 2015
-
-
Argyrios Kyrtzidis authored
Also don't create libclang dylib symlinks on darwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252836 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 09, 2015
-
-
Chris Bieneman authored
This option enables full verbosity in recursive CMake builds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252523 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 20, 2015
-
-
Chris Bieneman authored
Setting CLANG_TOOL_*_BUILD=Off on the CMake command line will disable inclusion of a clang/tools subdirectory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250840 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 10, 2015
-
-
NAKAMURA Takumi authored
Currently, cmake config files are only generated and installed when CLANG_BUILD_STANDALONE set, which means config file will not be generated or installed when clang is built with llvm. This change removes that restriction. Thanks to Don Hinton <hintonda@gmail.com> http://reviews.llvm.org/D13453 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249935 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 09, 2015
-
-
Chris Bieneman authored
This just fixes a small error in constructing the path to the LTO library. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249858 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 05, 2015
-
-
NAKAMURA Takumi authored
The target "check-clang-tools" is affected by CLANG_INCLUDE_TESTS but it was undefined in 1st configuration procedure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249283 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 02, 2015
-
-
Chris Bieneman authored
This should make bootstrap builds work with multi-configuration generators. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249115 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Sep 18, 2015
-
-
Chris Bieneman authored
Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE. This re-lands r248015, with fixes for clang symlinks to always be generated as part of the clang and install-clang targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248043 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
This reverts commit r248015, because it broke bots. I'll revise and recommit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248025 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248015 91177308-0d34-0410-b5e6-96231b3b80d8
-