11335 Commits

Author SHA1 Message Date
LLVM GN Syncbot
f90cbfe4fd [gn build] Port ff6d5dee713c 2022-06-10 10:37:02 +00:00
LLVM GN Syncbot
9e931b3c57 [gn build] Port 1972d1e86a62 2022-06-10 10:37:01 +00:00
Nico Weber
ceef00d33d [gn build] (manually) port 6bc8163c79fd 2022-06-10 06:26:31 -04:00
Nico Weber
f8144700eb [gn build] (manually) port 25c8a061c573 2022-06-09 18:07:14 -04:00
LLVM GN Syncbot
51d84737b5 [gn build] Port 976f37050dbd 2022-06-09 19:04:54 +00:00
Nico Weber
1efe354088 [gn build] (manually) port 4ff5e8184c665
Fixes link of many binaries if RISCV is enabled but most other targets aren't.
2022-06-09 12:29:56 -04:00
Nico Weber
f4da30ba68 [gn build] (manually) port 0e9a01dcac99 (libcxx module.modulemap gen) 2022-06-08 19:51:07 -04:00
LLVM GN Syncbot
e21c1b4706 [gn build] Port 916e9052ba95 2022-06-08 10:19:18 +00:00
LLVM GN Syncbot
c6d6535a26 [gn build] Port 638b0fb4d651 2022-06-08 07:20:40 +00:00
Nico Weber
28c078e2c7 [gn build] (manually) port f3966eaf86 (_LIBCPP_ENABLE_DEBUG_MODE) 2022-06-07 18:13:13 -04:00
Reid Kleckner
570e76bb6c [config] Remove vestigial LLVM_VERSION_INFO
This has been superseded by the llvm/Support/VCSRevision.h header. So
far as I can tell, nothing in the CMake build sets LLVM_VERSION_INFO. It
was always undefined, and the ifdefs using it were dead. However, CMake
is very flexible, so it's possible that I missed some ways to set this
variable. One could, for example, probably pass -DLLVM_VERSION_INFO=x on
the command line and get that through to configure_file, or set the
variable in an obscure way (`set(${proj}_VERSION_INFO "x")`). I'm
reasonably confident that isn't happening, but I'd like a second
opinion.

Update the Bazel and gn builds accordingly.

Differential Revision: https://reviews.llvm.org/D126977
2022-06-07 11:36:26 -07:00
Reid Kleckner
b1c7889f32 [config] Remove RETSIGTYPE from config.h.cmake, NFC
This doesn't need to be configurable. It was hardcoded to void in all
LLVM build systems.
2022-06-07 11:35:25 -07:00
Jay Foad
4561352f7b [CodeEmitter] Fix encoding wide instructions on big-endian hosts
For instructions wider than 64 bits the InstBits table is initialized in
64-bit chunks from APInt::getRawData, but it was being read with
LoadIntFromMemory which is byte-based.

Fix this by reading the table with the APInt constructor that takes an
ArrayRef to the raw data instead.

This is currently NFC for in-tree targets but fixes AMDGPU failures on
big-endian hosts that were caused by D126483 until it was reverted.

Differential Revision: https://reviews.llvm.org/D127195
2022-06-07 19:06:28 +01:00
LLVM GN Syncbot
c39fdc84aa [gn build] Port 47c8ec811f78 2022-06-07 14:38:58 +00:00
LLVM GN Syncbot
0b7291796d [gn build] Port b79b2b677256 2022-06-06 20:32:38 +00:00
LLVM GN Syncbot
51914d5a52 [gn build] Port 352c395fb685 2022-06-06 18:25:14 +00:00
LLVM GN Syncbot
0f5fc4c9a6 [gn build] Port 8171586176ee 2022-06-06 11:33:45 +00:00
Nico Weber
7ed089153c [gn build] port f06abbb39380 a bit (create main() functions for GENERATE_DRIVER targets) 2022-06-06 06:28:52 -04:00
Nico Weber
460151e61d [gn build] set LLVM_TOOL_LLVM_DRIVER_BUILD to 0 for now 2022-06-06 05:52:37 -04:00
Peter Collingbourne
a739f4d083 gn build: Fix build when not building the native target.
Differential Revision: https://reviews.llvm.org/D127068
2022-06-05 14:12:51 -07:00
Fangrui Song
557efc9a8b [llvm] Remove unneeded cl::ZeroOrMore for cl::opt options. NFC
Some cl::ZeroOrMore were added to avoid the `may only occur zero or one times!`
error. More were added due to cargo cult. Since the error has been removed,
cl::ZeroOrMore is unneeded.

Also remove cl::init(false) while touching the lines.
2022-06-03 21:59:05 -07:00
Sam McCall
a43fef05d4 [pseudo] rename pseudo-gen -> clang-pseudo-gen. NFC
This name is not namespaced. Requested in D126717

Differential Revision: https://reviews.llvm.org/D126725
2022-06-03 20:45:48 +02:00
Reid Kleckner
0a832ba5c2 [config] Remove LLVM_DEFAULT_TARGET_TRILE from config.h
It is redundant with llvm-config.h, which is always included by
config.h.

Port D12660 / d178f4fc895b432008fcd8a0a49a13d951fecfe4 from config.h to
llvm-config.h.

Update the gn build accordingly.

NFCI
2022-06-03 10:15:46 -07:00
Nico Weber
10f7255d32 [gn build] Extract compiled_action.gni from tablegen.gni
After years of tablegen being the only host binary we run as part
of the build, we're now in the process of growing at least two more:
- make_confusable_table (https://reviews.llvm.org/rG180bae08a04d)
- pseudo-gen (not yet fully hooked up in the GN build, but I have
  a local branch that hooks it up)

Factor out the few lines we need for running a host binary as part of the
build.

No behavior change.

Differential Revision: https://reviews.llvm.org/D126963
2022-06-03 10:22:15 -04:00
Nico Weber
371e6f8b7f Revert "[clang-tidy] Confusable identifiers detection"
This reverts commit b94db7ed7eaf4a3b21f600653a09c55cab77b79f.
See comments on https://reviews.llvm.org/D112916:
- breaks `check-clangd`, and makes clang-tidy crash on simple inputs
- likely does the wrong thing in cross builds

Also revert follow-up "[gn build] (manually) port b94db7ed7eaf (Confusables.inc)"
This reverts commit 180bae08a04d4dc724cb5e6f2ea9df8641a3f657.
2022-06-03 09:30:01 -04:00
Nico Weber
180bae08a0 [gn build] (manually) port b94db7ed7eaf (Confusables.inc) 2022-06-03 07:49:28 -04:00
LLVM GN Syncbot
1523e8bb19 [gn build] Port a29a1a33ac7b 2022-06-03 08:36:05 +00:00
LLVM GN Syncbot
883b09b664 [gn build] Port f9b8f422e711 2022-06-02 14:47:37 +00:00
Tobias Hieta
fde9ef5214 [NFC][workflow] Fix issue where the workflow would say all PR's already exists 2022-06-02 08:20:21 +02:00
LLVM GN Syncbot
11d8bc98d1 [gn build] Port a15ae4139cea 2022-06-02 06:04:25 +00:00
Hendrik Greving
a92ed167f2 [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.
Adds MVT::v128i2, MVT::v64i4, and implied MVT::i2, MVT::i4.

Keeps MVT::i2, MVT::i4 lowering actions as expand, which should be
removed once targets set this explicitly.

Adjusts 11 lit tests to reflect slightly different behavior during
DAG combine.

Differential Revision: https://reviews.llvm.org/D125247
2022-06-02 00:49:11 +00:00
Nicolai Hähnle
d53de9b7ac update_mir_test_checks: Better handling of common prefixes
Support the pattern where a test file uses multiple prefixes per run line:
one prefix that is unique to the run line, and additional prefixes that are
common with other run lines.

Decide on a per-function basis which prefix(es) to emit, based on which run
lines have the same output.

Move the renaming of vregs earlier, so that we can compare the output as it
would actually be printed in check lines.

Differential Revision: https://reviews.llvm.org/D126411
2022-06-01 15:53:32 -05:00
LLVM GN Syncbot
4bc63858fc [gn build] Port 129c056d6269 2022-06-01 20:34:21 +00:00
Hendrik Greving
e9d05cc7d8 Revert "[ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4."
This reverts commit 430ac5c3029c52e391e584c6d4447e6e361fae99.

Due to failures in Clang tests.

Differential Revision: https://reviews.llvm.org/D125247
2022-06-01 13:27:49 -07:00
Hendrik Greving
430ac5c302 [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4.
Adds MVT::v128i2, MVT::v64i4, and implied MVT::i2, MVT::i4.

Keeps MVT::i2, MVT::i4 lowering actions as `expand`, which should be
removed once targets set this explicitly.

Adjusts 11 lit tests to reflect slightly different behavior during
DAG combine.

Differential Revision: https://reviews.llvm.org/D125247
2022-06-01 12:48:01 -07:00
LLVM GN Syncbot
b0f868f007 [gn build] Port a0dcbe45bd83 2022-06-01 13:19:42 +00:00
LLVM GN Syncbot
b9b13a5645 [gn build] Port 2011052150e1 2022-06-01 13:19:41 +00:00
LLVM GN Syncbot
d3eadbe40d [gn build] Port d157019482e1 2022-06-01 08:37:55 +00:00
Reid Kleckner
17296607a7 Revert "[Bazel][GN] Reuse the GN LLVM config file generation code"
This reverts commit e2ee8bf9818189b900e65d6ea8f1ae6fc75455ce.

This change is beyond my ability to integrate into Google's internal
build configuration tonight.
2022-05-31 21:15:46 -07:00
Reid Kleckner
e2ee8bf981 [Bazel][GN] Reuse the GN LLVM config file generation code
Currently, the Bazel build uses static, checked in [llvm-]config.h files
in combination with global macro definitions to mimic CMake's generated
headers. This change reuses the write_cmake_config.py script from the GN
build to generate the headers from source in the same way. The purpose
is to ensure that the Bazel build stays up to date with any changes to
the CMake config files. The write_cmake_config.py script has good error
checking to ensure that unneeded, stale variables are not passed, and
that any missing variables are reported as errors.

I tried to closely follow the logic in the GN build here:
  llvm/utils/gn/secondary/llvm/include/Config/BUILD.gn
The duplication between this file and config.bzl is significant, and we
could consider going further, but I'd like to hold off on it for now.

The GN build changes are to move the write_cmake_config.py script up to
//llvm/utils/write_cmake_config.py, and update the paths accordingly.

The next logical change is to generate Clang's config.h header.

Differential Revision: https://reviews.llvm.org/D126581
2022-05-31 19:40:05 -07:00
LLVM GN Syncbot
d0d985c196 [gn build] Port 13e1a653278b 2022-05-31 21:00:23 +00:00
LLVM GN Syncbot
3bdcf3bfc1 [gn build] Port 2e61dfb1249e 2022-05-31 17:57:18 +00:00
Nico Weber
c4eb8035ed Revert "[HLSL] Enable vector types for hlsl."
This reverts commit e576280380d3f5221cfcc14e9fabeacc8506a43c.
Breaks tests on mac/arm, see comment on https://reviews.llvm.org/D125052

Also revert follow-up "[gn build] Port e576280380d3"
This reverts commit 1e01b1ec72031fcaceb4e77e1c5c8e34f1e862e8.
2022-05-30 14:11:07 -04:00
LLVM GN Syncbot
1e01b1ec72 [gn build] Port e576280380d3 2022-05-30 16:11:40 +00:00
Hans Wennborg
b2719349d2 Change build_llvm_package.bat to build_llvm_release.bat
We don't build snapshot packages anymore, so repurpose this
for doing release builds instead.
2022-05-30 17:08:01 +02:00
Hans Wennborg
bac4934c84 Revert "build_llvm_package.bat: Produce zip files in addition to the installers"
The zip files were too large to be practical, so they were never
shipped. Reverting to reduce build time and complexity of the script.

This reverts commit 4486aa03c5f431ba33a1d1ac9991da912e3decd9.
2022-05-30 13:55:54 +02:00
Hans Wennborg
10d2195305 Update the Windows packaging script
Check in updates based on how the latest release was built [0] and add
the bug fix from [1] which allows LLDB to start.

Other changes which had accumulated in the local release script:
- Don't build the clang format plugin (VS has the functionality built
  in now)
- Disable tests that have been failing (I'll try to follow up and
  re-enable them)
- Switch to Python 3.10
- Jump through more hoops to make LLDB pick the right Python.

0. https://discourse.llvm.org/t/14-0-4-final-has-been-tagged/62750/3
1. https://github.com/llvm/llvm-project/issues/54589
2022-05-30 11:58:13 +02:00
LLVM GN Syncbot
b16460bb48 [gn build] Port 751c7be5b20f 2022-05-30 06:27:55 +00:00
Sheng
751c7be5b2 [TableGen] Remove code beads
Code beads is useless since the only user, M68k, has moved on to
a new encoding/decoding infrastructure.

Reviewed By: myhsu

Differential Revision: https://reviews.llvm.org/D126349
2022-05-30 14:27:37 +08:00
LLVM GN Syncbot
936e9bf4bd [gn build] Port 30c37fb89cb7 2022-05-28 08:16:52 +00:00