summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* gn build: Merge r351216, r351228.Peter Collingbourne2019-01-152-0/+2
| | | | llvm-svn: 351242
* [Nios2] Remove Nios2 backendCraig Topper2019-01-151-1/+0
| | | | | | | | As mentioned here http://lists.llvm.org/pipermail/llvm-dev/2019-January/129121.html This backend is incomplete and has not been maintained in several months. Differential Revision: https://reviews.llvm.org/D56691 llvm-svn: 351231
* gn build: Don't assume valgrind.h exists on LinuxHans Wennborg2019-01-151-6/+1
| | | | | | | | It didn't on my machine, so defaulting it to off seems better. Differential revision: https://reviews.llvm.org/D56727 llvm-svn: 351202
* gn build: Rename llvm_host_triple to llvm_current_triple and have it use ↵Peter Collingbourne2019-01-156-13/+29
| | | | | | | | | | | | | | | | | | current_{cpu,os}. This makes e.g. ToolChain::isCrossCompiling() in clang/lib/Driver/ToolChain.cpp return the correct result if the compiler was cross-compiled. This change also affects llvm_default_target_triple, so cross-compiled compilers default to targeting the cross-compilation target, which makes more sense than the host that the compiler was compiled on. This change will also be necessary in order for the correct triples to appear in generated lit files for non-native targets. Differential Revision: https://reviews.llvm.org/D56696 llvm-svn: 351168
* gn build: Make a couple of improvements to the unix toolchain.Peter Collingbourne2019-01-151-2/+12
| | | | | | | | | | Add an asm tool (will be required for building sanitizer_common on x64) and set a soname for DSOs so that anything that links against them gets the correct DT_NEEDED. Differential Revision: https://reviews.llvm.org/D56705 llvm-svn: 351167
* gn build: Switch to using current_os in lib/Support/BUILD.gn.Peter Collingbourne2019-01-151-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D56704 llvm-svn: 351166
* gn build: Split no-RTTI flag into a config.Peter Collingbourne2019-01-152-5/+10
| | | | | | | | | Some of the sanitizer runtime code needs to be built with RTTI; this allows that code to opt in to RTTI. Differential Revision: https://reviews.llvm.org/D56627 llvm-svn: 351155
* gn build: Stop defining LLVM_ON_UNIX globally.Peter Collingbourne2019-01-151-5/+0
| | | | | | | | This macro is already being defined in llvm-config.h. Differential Revision: https://reviews.llvm.org/D56626 llvm-svn: 351154
* [lit] llvm-lit.in: specify file encoding to UTF-8George Karpenkov2019-01-141-0/+1
| | | | | | | | | | | | | | | | This is needed because otherwise if source dir is at location whose path contains non-ASCII character then python will complain about SyntaxError. SyntaxError: Non-ASCII character '\xc4' in file /home/D?vis/libc++/src/build/bin/llvm-lit on line 16, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details Patch by davispuh Differential Revision: https://reviews.llvm.org/D50201 llvm-svn: 351113
* gn build: Unbreak mac build after r350977Nico Weber2019-01-141-1/+3
| | | | llvm-svn: 351090
* gn build: Fix path to gn.py in docsNico Weber2019-01-142-3/+3
| | | | llvm-svn: 351088
* gn build: svn propset svn:executable on utils/gn/gn.pyNico Weber2019-01-141-0/+0
| | | | llvm-svn: 351085
* gn build: Add gn.py wrapper script that adds --dotfile= and --root= parametersNico Weber2019-01-143-10/+50
| | | | | | | | | | Since people weren't enthused about moving the .gn file to the toplevel in D56419, here's a script to make gn at least somewhat more pleasant to invoke (useful for gn clean, gn args --list, gn desc, etc). Differential Revision: https://reviews.llvm.org/D56565 llvm-svn: 351064
* Detect incorrect FileCheck variable CLI definitionThomas Preud'homme2019-01-141-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: While the backend code of FileCheck relies on definition of variable from the command-line to have an equal sign '=' and a variable name before that, the frontend does not actually enforce it. This leads to FileCheck crashing when invoked with invalid syntax for the -D option. This patch adds the missing validation in the frontend. It also makes the -D option an AlwaysPrefix option to be able to detect -D=FOO as being a define without variable and -D as missing its value. Copyright: - Linaro (changes in version 2 of revision D55940) - GraphCore (changes in later versions) Reviewers: jdenny Subscribers: JonChesterfield, hiraditya, kristina, probinson, llvm-commits Differential Revision: https://reviews.llvm.org/D55940 llvm-svn: 351039
* Remove TypeBuilder.h, and fix the few locations using it.James Y Knight2019-01-131-1/+0
| | | | | | | | | | | | | | This shortcut mechanism for creating types was added 10 years ago, but has seen almost no uptake since then, neither internally nor in external projects. The very small number of characters saved by using it does not seem worth the mental overhead of an additional type-creation API, so, delete it. Differential Revision: https://reviews.llvm.org/D56573 llvm-svn: 351020
* gn build: Unbreak Windows buildNico Weber2019-01-122-3/+3
| | | | | | | | | | | | I didn't break all that much during upstreaming, just needs two small fixes: - fix spelling of MCJITTests.def file - make libLTO a shared_library to put it in bin/ on Windows where it is in the CMake build too Differential Revision: https://reviews.llvm.org/D56630 llvm-svn: 351004
* gn build: Add a stage2 toolchain for Android.Peter Collingbourne2019-01-116-28/+96
| | | | | | | | | This makes it possible to build llvm-symbolizer for Android, which is one of the prerequisites for running the sanitizer tests on Android. Differential Revision: https://reviews.llvm.org/D56577 llvm-svn: 350979
* gn build: Create a template for unix toolchains.Peter Collingbourne2019-01-111-96/+112
| | | | | | | | | | Also change the toolchain description to use current_os instead of host_os so that the template can be used for cross builds, and add a current_os to the win toolchain to match the unix toolchain. Differential Revision: https://reviews.llvm.org/D56576 llvm-svn: 350977
* gn build: Merge r350958.Peter Collingbourne2019-01-112-3/+13
| | | | llvm-svn: 350974
* gn build: Create a variable for the host toolchain and start using it in the ↵Peter Collingbourne2019-01-113-4/+5
| | | | | | | | tblgen template. Differential Revision: https://reviews.llvm.org/D56575 llvm-svn: 350964
* gn build: s/root_out_dir/root_build_dir/g in ↵Peter Collingbourne2019-01-111-2/+2
| | | | | | | | | | llvm/utils/gn/build/write_cmake_config.gni. This makes the generated files go to the right place when using a non-default toolchain. Differential Revision: https://reviews.llvm.org/D56427 llvm-svn: 350963
* gn build: Add a template for calling write_cmake_config.pyNico Weber2019-01-1013-276/+207
| | | | | | | | No behavior change. Differential Revision: https://reviews.llvm.org/D56487 llvm-svn: 350905
* gn build: Merge r350852Nico Weber2019-01-102-3/+3
| | | | llvm-svn: 350904
* gn build: Use "git rev-parse --git-dir" to discover the path to the .git ↵Peter Collingbourne2019-01-101-7/+8
| | | | | | | | | | directory. This makes it compatible with worktrees. Differential Revision: https://reviews.llvm.org/D56422 llvm-svn: 350897
* gn build: Merge r350893Nico Weber2019-01-101-0/+1
| | | | llvm-svn: 350894
* [lit] Make it possible for the lit test suite to pass withDan Liew2019-01-101-1/+1
| | | | | | | | | `FILECHECK_OPTS=-v` set in the environment. Follow up to r350850 as requested by Joel E. Denny in https://reviews.llvm.org/D56541 . llvm-svn: 350854
* gn build: Merge r350819Nico Weber2019-01-101-0/+1
| | | | llvm-svn: 350829
* Fix visualization of intrusive reference counted objects in MSVC.Aaron Ballman2019-01-091-3/+3
| | | | llvm-svn: 350748
* [gn build] Run `git ls-files '*.gn' '*.gni' | xargs -n 1 gn format`Nico Weber2019-01-096-22/+17
| | | | | | Looks like I forgot to do that for the PowerPC target. llvm-svn: 350711
* [gn build] Merge r350669Nico Weber2019-01-091-1/+1
| | | | llvm-svn: 350709
* [gn build] Add a TODO.txt fileNico Weber2019-01-091-0/+30
| | | | | | Differential Revision: https://reviews.llvm.org/D56420 llvm-svn: 350708
* Make the write_cmake_config.py script python3-compatibleAlexander Kornienko2019-01-091-1/+1
| | | | llvm-svn: 350700
* gn build: Copy file permissions from input file in configure_file() emulation.Peter Collingbourne2019-01-091-0/+1
| | | | | | | | | Most significantly, this makes bin/llvm-lit executable so that it can be run in the usual way. Differential Revision: https://reviews.llvm.org/D56423 llvm-svn: 350688
* gn build: Fix a Python2ism in write_vcsrevision.py.Peter Collingbourne2019-01-091-2/+2
| | | | | | | | | | | | Convert the output of "git rev-parse --short HEAD" to a string before substituting it into the output file. Without this the output file will look like this on Python 3: #define LLVM_REVISION "git-b'6a4895a025f'" Differential Revision: https://reviews.llvm.org/D56459 llvm-svn: 350686
* [gn build] Update readmeNico Weber2019-01-081-15/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D56375 llvm-svn: 350632
* [gn build] Make sync_source_lists_from_cmake.py check that all LLVM ↵Nico Weber2019-01-081-2/+1
| | | | | | | | | | unittests are present Now that the PowerPC and WebAssembly targets are added, this check passes. Differential Revision: https://reviews.llvm.org/D56417 llvm-svn: 350631
* [gn build] Add build files for llvm/lib/Target/PowerPC + testsNico Weber2019-01-0812-5/+307
| | | | | | | | | | | | | | | | The PowerPC target itself is similar to the X86 target in https://reviews.llvm.org/rL348903 The llvm-exegesis unittests bits are similar to the corresponding AArch64 in https://reviews.llvm.org/rL350499 The whole patch is very similar to the WebAssembly target being added in https://reviews.llvm.org/rL350628 Also add a dep from tools/llvm-exegesis/lib to the AArch64 subdir, which I failed to do in r350499. The motivation for this target is solely that it has a unit test and I want to enable the GN<->CMake unittest syncing check for llvm. Differential Revision: https://reviews.llvm.org/D56416 llvm-svn: 350629
* [gn build] Add build files for llvm/lib/Target/WebAssembly + testsNico Weber2019-01-089-0/+291
| | | | | | | | | | | | | The WebAssembly target itself is similar to the X86 target in https://reviews.llvm.org/rL348903 The unittests bits are similar to the corresponding AArch64 in https://reviews.llvm.org/rL350499 The motivation for this target is solely that it has a unit test and I want to enable the GN<->CMake unittest syncing check for llvm. (After this, only the PowerPC target is needed and I can turn it on.) Differential Revision: https://reviews.llvm.org/D56374 llvm-svn: 350628
* gn build: Stop passing -o to ar.Peter Collingbourne2019-01-081-1/+1
| | | | | | | | | The -o flag means something different to ar than what appears to be intended here. Also, llvm-ar doesn't accept the flag in this position. Differential Revision: https://reviews.llvm.org/D56426 llvm-svn: 350604
* gn build: Merge r350580.Peter Collingbourne2019-01-081-0/+1
| | | | llvm-svn: 350600
* [lit] Respect PYTHONPATHDavid Greene2019-01-072-2/+18
| | | | | | | | | | | If a user has PYTHONPATH set in the environment, append new entries to it rather than blindly setting PYTHONPATH to a fixed string. This allows tests to, for example, find psutil if it is in PYTHONPATH. Without this change, lit will detect psutil but then various tests will fail because PYTHONPATH has been overwritten and psutil cannot be found. llvm-svn: 350536
* [gn build] Add build files for llvm/lib/Target/ARM + testsNico Weber2019-01-0710-5/+338
| | | | | | | | | | | | The ARM target itself is similar to the X86 target in https://reviews.llvm.org/rL348903 The llvm-exegesis unittests ARM bits are similar to the X86 bits in https://reviews.llvm.org/rL350413 Both are similar to the corresponding AArch64 bits in https://reviews.llvm.org/rL350499 too After this, everything in my local GN branch is upstreamed to LLVM. Differential Revision: https://reviews.llvm.org/D56371 llvm-svn: 350500
* [gn build] Add build files for llvm/lib/Target/AArch64 + testsNico Weber2019-01-0712-12/+402
| | | | | | | | | | | | | The AArch64 target itself is similar to the X86 target in https://reviews.llvm.org/rL348903 The llvm-exegesis AArch64 bits are similar to the X86 bits in http://reviews.llvm.org/rL350184 The llvm-exegesis unittests AArch64 bits are similar to the X86 bits in https://reviews.llvm.org/rL350413 llvm/unittests/Target/AArch64 doesn't have an equivalent since the X86 Target only has lit tests, no unittests. Differential Revision: https://reviews.llvm.org/D56364 llvm-svn: 350499
* [gn build] Merge r350341Nico Weber2019-01-062-1/+13
| | | | | | Adds a build file for llvm-elfabi and makes check-llvm depend on it. llvm-svn: 350494
* [gn build] Add build files for LLVM unittests with a custom main() functionNico Weber2019-01-065-12/+76
| | | | | | Differential Revision: https://reviews.llvm.org/D56219 llvm-svn: 350492
* Enhance MSVC visualization of PointerUnionsMike Spertus2019-01-051-5/+27
| | | | | | | | Add a "deref" view that displays the pointed to objects since other visualizers often need to display data reference by internal PointerUnions llvm-svn: 350469
* [gn build] Merge r350423Nico Weber2019-01-051-0/+1
| | | | llvm-svn: 350458
* [gn build] Add build files for unittests under llvm/unittests/ExecutionEngineNico Weber2019-01-054-5/+81
| | | | | | Differential Revision: https://reviews.llvm.org/D56328 llvm-svn: 350457
* [gn build] Add build files for unittests that load shared librariesNico Weber2019-01-053-6/+104
| | | | | | | | | | | | | | | | | | | | | | | | This is slightly ugly for three reasons: - The shlib needs to go next to the binary to be found on all platforms, so the build files refer to target_out_dir - The explicit -fPIC flag needed on the shared lib side, and the -rdynamic flag needed on the host side, on Linux - Plugins that refer to LLVM code and assume that the host will resolve them don't work on Windows -- PluginsTests won't test anything on Windows (but DynamicLibraryTests will, since the dll here doesn't call LLVM code) If we get lots more of these plugin / plugin host targets it might make sense to add a template for them. But for now, these are the last ones we need. (We're at 6 plugin hosts, 2 of them tests, and at 6 shared libraries, 2 of them tests as well. clang is a plugin host by default in the CMake build but not (yet?) in the GN build.) Differential Revision: https://reviews.llvm.org/D56330 llvm-svn: 350454
* [gn build] Add build file for DebugInfoPDBTestsNico Weber2019-01-053-4/+37
| | | | | | | | | | | | | | | | | | | | | | | I'm pretty unhappy this patch: DebugInfoPDBTests uses an API that requires some magic txt file to be next to the unit test executable that stores the absolute path to the LLVM source root. The choices here are: 1. Don't use the unittest() template for DebugInfoPDBTests and set output_dir for unit tests in two places (the gni file for every test but this one, and the BUILD.gn file for this specific test). 2. Add another unittest_foo() template variation for this one test. I went with the former, and added a comment to the template to look out for this. (The CMake build has the same issue.) Differential Revision: https://reviews.llvm.org/D56324 llvm-svn: 350447
OpenPOWER on IntegriCloud