Commit Graph

2593 Commits

Author SHA1 Message Date
LLVM GN Syncbot a881215821 [gn build] Port 68ac7b1701 2022-01-05 20:03:02 +00:00
Nico Weber dabc101ec0 [gn build] "port" 027ffb173a 2022-01-05 12:57:18 -05:00
LLVM GN Syncbot f61b658d7d [gn build] Port 6d722801d1 2022-01-04 22:44:20 +00:00
LLVM GN Syncbot 2b1c38f737 [gn build] Port 4dcc47aaea 2022-01-04 14:32:08 +00:00
LLVM GN Syncbot ba70fb6460 [gn build] Port 4950198116 2022-01-04 14:32:07 +00:00
LLVM GN Syncbot fb7bea0a5a [gn build] Port af7bc39ba1 2022-01-04 09:23:00 +00:00
LLVM GN Syncbot a361320d75 [gn build] Port 6f6f88ffda 2022-01-03 20:50:31 +00:00
LLVM GN Syncbot b9ed95afc4 [gn build] Port fe68088d44 2022-01-03 17:01:27 +00:00
LLVM GN Syncbot 3a33c0b1ce [gn build] Port a8ae6828a9 2022-01-03 15:14:39 +00:00
LLVM GN Syncbot ed56007ac5 [gn build] Port 2edcde00cb 2022-01-01 02:17:49 +00:00
LLVM GN Syncbot 0819234033 [gn build] Port b5c5d8912e 2021-12-28 07:59:27 +00:00
LLVM GN Syncbot 3b4c040cca [gn build] Port 969a51ff36 2021-12-24 11:05:23 +00:00
Nico Weber a6114ff0cd [gn build] "port" 71b3bfde9c 2021-12-23 19:52:34 -05:00
Nico Weber ee4bbb50ae [gn build] (manually) port 7cd7b4d2f8 (sanitizer_symbolize_set_demangle) 2021-12-23 18:06:48 -05:00
Nico Weber 5fd328c45f [gn build] (manually) port f103ee2e9e (sanitizer_symbolize_set_inline_frames) 2021-12-23 16:40:13 -05:00
LLVM GN Syncbot ece75e2035 [gn build] Port cb8a0b0797 2021-12-22 17:34:39 +00:00
LLVM GN Syncbot 19030717e3 [gn build] Port 7056250f51 2021-12-22 01:35:25 +00:00
Nico Weber 0e9393f522 [gn build] (manually) port f68e89044a 2021-12-21 18:59:37 -05:00
LLVM GN Syncbot 3ce4b6a599 [gn build] Port f78d49e068 2021-12-21 18:57:55 +00:00
Nico Weber f2f6d09185 [gn build] (semiautomatically) port 9b4f179bf8 2021-12-21 08:10:52 -05:00
Fangrui Song 98e0b2cf70 [Support] Revert posix_fallocate in resize_file
This reverts 3816c53f04 and removes follow-up
fixups.

The original intention was to show error earlier (posix_fallocate time) than
later for ld.lld but it appears to cause some problems which make it not free.

* FreeBSD ZFS: EINVAL, not too bad.
* FreeBSD UFS: according to khng "devastatingly slow on freebsd because UFS on freebsd does not have preallocation support like illumos. It zero-fills."
* NetBSD: maybe EOPNOTSUPP
* Linux tmpfs: unless tmpfs is set up to use huge pages (requires CONFIG_TRANSPARENT_HUGE_PAGECACHE=y), I can consistently demonstrate ~300ms delay for a 1.4GiB output.
* Linux ext4: I don't measure any benefit, either backed by a hard disk or by a file in tmpfs.
* The current code organization of `defined(HAVE_POSIX_FALLOCATE)` costs us a macro dispatch for AIX.

I think we should just remove it. I think if posix_fallocate ever finds demonstrable benefit,
it is likely Linux specific and will not need HAVE_POSIX_FALLOCATE, and possibly opt-in by some specific programs.

In a filesystem with CoW and compression, the ENOSPC benefit may be lost as well.

Reviewed By: khng300

Differential Revision: https://reviews.llvm.org/D115957
2021-12-20 11:16:03 -08:00
LLVM GN Syncbot ed086a8dbc [gn build] Port 37e6bd8bc8 2021-12-20 17:19:51 +00:00
LLVM GN Syncbot 3b2fd945b7 [gn build] Port 754ea6fd4d 2021-12-20 08:24:56 +00:00
LLVM GN Syncbot 7de813e14c [gn build] Port 65d7fd0239 2021-12-17 18:52:31 +00:00
LLVM GN Syncbot 2fefb66e53 [gn build] Port cc324af0d6 2021-12-17 18:41:48 +00:00
Nico Weber 2438540a4a [gn build] (manually) port fb9a075c81 2021-12-17 10:02:26 -05:00
Nico Weber fc01f85bf3 [gn build] (semiautomatically) port 3f5f687e2e 2021-12-17 07:26:34 -05:00
LLVM GN Syncbot cccc7aed4d [gn build] Port 09103807e7 2021-12-17 01:57:11 +00:00
LLVM GN Syncbot d98f00aa19 [gn build] Port bdc68ee70f 2021-12-17 00:28:54 +00:00
Nico Weber 85f799730f [gn build] Port 95946d2f85 2021-12-16 18:38:32 -05:00
Nico Weber 0a1bcb120f [gn build] port 78523516bc (cut MC->ProfileData dep) 2021-12-16 18:38:32 -05:00
LLVM GN Syncbot d3208cf1cd [gn build] Port 8a85be807b 2021-12-16 21:40:46 +00:00
LLVM GN Syncbot 9043c3d65b [gn build] Port da816ca0cb 2021-12-16 19:27:34 +00:00
Nico Weber 35ae37a161 [gn build] port ec37e0bbaf 2021-12-16 14:27:18 -05:00
LLVM GN Syncbot c42decb033 [gn build] Port db5aceb979 2021-12-16 07:22:17 +00:00
LLVM GN Syncbot fd65d39793 [gn build] Port 2b48761575 2021-12-15 23:47:26 +00:00
Nico Weber 65146382b3 [gn build] Remove unhelpful default for goma_dir
The default hasn't worked in over 9 months now.

Getting a friendly error message if this isn't set is more useful than getting
a bad default value.

Differential Revision: https://reviews.llvm.org/D115833
2021-12-15 18:39:53 -05:00
LLVM GN Syncbot 5949a3d210 [gn build] Port 8179e1fd51 2021-12-15 19:34:58 +00:00
Nico Weber d4f3af2f6c [gn build] (manually) port b45ad7363c (LLVM_WITH_Z3) 2021-12-14 23:11:42 -05:00
LLVM GN Syncbot 794b4df504 [gn build] Port 4299d8d0ce 2021-12-15 01:15:06 +00:00
LLVM GN Syncbot d4127c0d76 [gn build] Port 3f630cff65 2021-12-15 00:46:46 +00:00
Fangrui Song 1add613642 [gn build] (manually) port 9c7fbc3f9b (LLDB_ENABLE_FBSDVMCORE) 2021-12-14 16:36:44 -08:00
LLVM GN Syncbot 803ec71b84 [gn build] Port 4e94cba5b4 2021-12-14 19:12:20 +00:00
Nico Weber 0e5e963b2d [gn build] Reformat all build files
Ran:

    git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
2021-12-14 14:07:19 -05:00
Nico Weber 5ac14cd167 [gn build] (manually) port f0ca8d2461 (debuginfod-find) 2021-12-14 14:06:12 -05:00
Nico Weber 0319d4a12e [gn build] (manually) port 1042de9058 to lit.site.cfg.in too 2021-12-14 13:49:04 -05:00
Fangrui Song aeea20eebe [gn] Use CLANG_DEFAULT_PIE_ON_LINUX= 2021-12-14 10:20:51 -08:00
Fangrui Song 1042de9058 [Driver] Add CLANG_DEFAULT_PIE_ON_LINUX to emulate GCC --enable-default-pie
In 2015-05, GCC added the configure option `--enable-default-pie`. When enabled,

* in the absence of -fno-pic/-fpie/-fpic (and their upper-case variants), -fPIE is the default.
* in the absence of -no-pie/-pie/-shared/-static/-static-pie, -pie is the default.

This has been adopted by all(?) major distros.

I think default PIE is the majority in the Linux world, but
--disable-default-pie users is not that uncommon because GCC upstream hasn't
switched the default yet (https://gcc.gnu.org/PR103398).

This patch add CLANG_DEFAULT_PIE_ON_LINUX which allows distros to use default PIE.
The option is justified as its adoption can be very high among Linux distros
to make Clang default match GCC, and is likely a future-new-default, at which
point we will remove CLANG_DEFAULT_PIE_ON_LINUX.
The lit feature `default-pie-on-linux` can be handy to exclude default PIE sensitive tests.

Reviewed By: foutrelis, sylvestre.ledru, thesamesam

Differential Revision: https://reviews.llvm.org/D113372
2021-12-14 10:09:00 -08:00
Kirill Stoimenov 3bc08d8b8d [gn build] Reland 5082c330138: (semimanually) port ebc31d2. 2021-12-14 17:22:25 +00:00
LLVM GN Syncbot bc56ea7c3e [gn build] Port fff876c20e 2021-12-13 23:30:23 +00:00
Noah Shutty 34491ca729 [Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer.
Adds a fallback to use the debuginfod client library (386655) in `findDebugBinary`.
Fixed a cast of Erorr::success() to Expected<> in debuginfod library.
Added Debuginfod to Symbolize deps in gn.
Updates compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh to include Debuginfod library to fix sanitizer-x86_64-linux breakage.

Reviewed By: jhenderson, vitalybuka

Differential Revision: https://reviews.llvm.org/D113717
2021-12-13 23:00:32 +00:00
Noah Shutty 6c3bc57f25 [gn build] Remove unnecessary lld dependency on DebugInfo/Symbolize.
The gn script for lld's COFF lib adds an unnecessary dependency on llvm/lib/DebugInfo/Symbolize. There is no such dependency in lld/COFF/CMakeLists.txt. This can be safely removed.

Reviewed By: phosek, thakis

Differential Revision: https://reviews.llvm.org/D115554
2021-12-13 20:07:44 +00:00
LLVM GN Syncbot 9c1fd1b533 [gn build] Port 78b0f3701d 2021-12-13 15:53:45 +00:00
Matt Devereau 41def32040 [AArch64][SVE][NEON] Add NEON-SVE-Bridge intrinsics
Adds svset_neonq, svget_neonq, svdup_neonq AArch64 intrinsics.

These are described in the ACLE specification:
https://github.com/ARM-software/acle/pull/72

https://reviews.llvm.org/D114713
2021-12-13 11:31:57 +00:00
Nico Weber 318942de22 [gn build] Port abb5dd6e99
(This reverts commit 7d9f11be81,
to reland the Ryu code: ae53d02f55 relanded in abb5dd6e99).
2021-12-12 12:39:32 -05:00
Yitzhak Mandelbaum 93fbaa46c8 Revert "Revert "[clang][dataflow] Add framework for testing analyses.""
This reverts commit 78ff12da11 and fixes the initial cause of the revert.
2021-12-11 23:16:59 +00:00
Nico Weber 3ca6928344 Revert "[gn build] (manually) port 492de35df44"
This reverts commit 9a3df8fbc2.
492de35df4 was reverted in 30fc88bf1d.
2021-12-10 21:00:02 -05:00
Nico Weber 9a3df8fbc2 [gn build] (manually) port 492de35df4 2021-12-10 16:33:55 -05:00
LLVM GN Syncbot bebfbfd4a8 [gn build] Port 04f2712ef4 2021-12-10 19:52:50 +00:00
LLVM GN Syncbot 2d1761bffc [gn build] Port d25a65030b 2021-12-10 18:58:26 +00:00
Nico Weber 78ff12da11 Revert "[clang][dataflow] Add framework for testing analyses."
Doesn't build on Windows.

This reverts commit 5a40df6381
and commit db494bd4e8.
2021-12-10 11:06:40 -05:00
Nico Weber 5082c33013 [gn build] (semimanually) port ebc31d2e72 2021-12-10 10:39:28 -05:00
Nico Weber db494bd4e8 [gn build] Port 5a40df6381 2021-12-10 10:37:31 -05:00
Nico Weber 30f221bba0 Revert "[Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer."
This reverts commit 5bba0fe12b.
Makes lld depend on libcurl, see comments on https://reviews.llvm.org/D113717
2021-12-10 10:33:05 -05:00
Nico Weber 2586c23bae [gn build] Prevent deps on HTTP requests in clang and lld at GN time
To make sure no regressions creep in. See also discussion on
https://reviews.llvm.org/D113717

We don't want this dep in most targets, but protecting clang and lld is
a good start.
2021-12-10 08:56:24 -05:00
Nico Weber 754e310a62 [gn build] (manually) port 8dcaf3aa0b and 6e2aecd759 2021-12-10 07:50:41 -05:00
LLVM GN Syncbot 37a395b396 [gn build] Port 1d0244aed7 2021-12-10 09:08:48 +00:00
Noah Shutty 5bba0fe12b [Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer.
Adds a fallback to use the debuginfod client library (386655) in `findDebugBinary`.
Fixed a cast of Erorr::success() to Expected<> in debuginfod library.
Added Debuginfod to Symbolize deps in gn.
Updates compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh to include Debuginfod library to fix sanitizer-x86_64-linux breakage.

Reviewed By: jhenderson, vitalybuka

Differential Revision: https://reviews.llvm.org/D113717
2021-12-10 01:32:36 +00:00
Noah Shutty afa3c14e2f Revert "[Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer."
This reverts commit e2ad4f1756 because it
does not correctly fix the sanitizer buildbot breakage.
2021-12-10 00:59:13 +00:00
Noah Shutty e2ad4f1756 [Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer.
Adds a fallback to use the debuginfod client library (386655) in `findDebugBinary`.
Fixed a cast of Erorr::success() to Expected<> in debuginfod library.
Added Debuginfod to Symbolize deps in gn.
Adds new symbolizer symbols to `global_symbols.txt`.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D113717
2021-12-10 00:23:00 +00:00
LLVM GN Syncbot 075eb78d07 [gn build] Port cfb0750891 2021-12-09 21:10:50 +00:00
LLVM GN Syncbot aebd932bc4 [gn build] Port 059e03476c 2021-12-09 04:11:22 +00:00
Nico Weber 80544d1b4c [gn build] (manually) port ccf1469a4c (lldbVersion) 2021-12-08 19:47:45 -05:00
Nico Weber 3f3faa36ff [gn build] (manually) port f75cce0be8 2021-12-08 19:21:07 -05:00
Nico Weber d04ea509df [gn build] (manually) port f71c553a30 2021-12-08 19:10:53 -05:00
Nico Weber 470c3d8ca3 Revert "[gn build] (manually) port 02cc8d698c49"
This reverts commit 0f865dc694.
02cc8d698c was reverted in aaec63d2a7.
2021-12-08 13:56:21 -05:00
Nico Weber 0f865dc694 [gn build] (manually) port 02cc8d698c 2021-12-08 13:45:54 -05:00
LLVM GN Syncbot 894de8118a [gn build] Port 81eda008e9 2021-12-08 13:42:16 +00:00
Nico Weber 8720247f60 Reland "[gn build] (manually) port 1ee32055ea (benchmark move)"
This reverts commit bbccf49922.
1ee32055ea relanded in 5dda2efde5.
2021-12-07 20:51:25 -05:00
LLVM GN Syncbot 6914af05b2 [gn build] Port 02940d6d22 2021-12-07 21:08:05 +00:00
LLVM GN Syncbot 9779972311 [gn build] Port fa99cb64ff 2021-12-07 17:01:16 +00:00
LLVM GN Syncbot 0fc2e6d390 [gn build] Port f573f6866e 2021-12-07 15:31:37 +00:00
LLVM GN Syncbot 7d9f11be81 [gn build] Port ae53d02f55 2021-12-07 08:10:43 +00:00
LLVM GN Syncbot 2ccab2ecbf [gn build] Port 0fe61ecc2c 2021-12-07 06:41:50 +00:00
LLVM GN Syncbot 37fbf238f4 [gn build] Port d9941f7454 2021-12-07 05:54:10 +00:00
Nico Weber 63d518f31a [tsan] Move tsan/rtl build rules into tsan/rtl/CMakeLists.txt
That way, the build rules are closer to the source files they describe.

No intended behavior change.

Differential Revision: https://reviews.llvm.org/D115155
2021-12-06 19:58:30 -05:00
Nico Weber 6fef466779 [gn build] Port 3678326d28 2021-12-06 19:08:59 -05:00
LLVM GN Syncbot 92b94dabef [gn build] Port cc3bb85580 2021-12-06 23:16:18 +00:00
Nico Weber 0890efe613 Reland "[gn build] (manually) port 4a16fe1369 (debuginfod)"
This reverts commit 4b63562ebc.
The debuginfod change relanded in 0e0f1b28fc
2021-12-06 18:15:20 -05:00
Nico Weber 4b63562ebc Revert "[gn build] (manually) port 4a16fe1369 (debuginfod)"
This reverts commit f0cda7155c.
4a16fe1369 got reverted in f45c9c56c5.
2021-12-06 14:24:01 -05:00
Nico Weber f0cda7155c [gn build] (manually) port 4a16fe1369 (debuginfod) 2021-12-06 13:19:09 -05:00
LLVM GN Syncbot 73195657cc [gn build] Port c68f71eb37 2021-12-06 17:02:44 +00:00
Nico Weber 14e7f5b051 [gn build] port a8025e06fc more
src/ryu/*.cpp includes files relative to src, so src/ needs
to be passes as -I flag now.
2021-12-05 13:17:03 -05:00
Nico Weber dfb68e49aa [gn build] (semiautomaticallly) port a8025e06fc (libc++ ryu) 2021-12-05 07:52:43 -05:00
Nico Weber 92ceba7d13 [gn build] port f1585a4b47 2021-12-04 22:29:05 -05:00
Nico Weber 6c11b872c4 [gn build] (semiautomatically) port 98bb198693 2021-12-03 17:48:27 -05:00
Nico Weber 1217b4b46f [gn build] Build with Fission on non-mac non-win when using lld
In release+sym builds (-O2 -g), reduces time to link `clang`
from 2.3s to 1.3s (-42%).

In debug builds (-g), reduces time to link `clang`
from 5.4s to 4.5s (-17.4%).

See the phab review for full `ministat` numbers.

In the CMake build this is opt-in via LLVM_USE_SPLIT_DWARF.
Since the GN build is targeted at developers, enabling it by default
seems like a better default setting here. (If it turns out to cause
problems, we can add an opt-out.)

Time to load the binary into gdb and to set a breakpoint is unchanged.
Time from `run` to hitting a breakpoint in `main` feel a bit faster
(~4s -> ~2s), but I dind't do a careful statistical anlysis for this.

Differential Revision: https://reviews.llvm.org/D115040
2021-12-03 11:07:52 -05:00
LLVM GN Syncbot 4380f505ba [gn build] Port aba8f320cc 2021-12-03 02:16:17 +00:00
LLVM GN Syncbot 1633398cf8 [gn build] Port 2d9efcfeec 2021-12-03 02:16:16 +00:00
Nico Weber b3aa120f0e [gn build] (manually) port 9c4d194f44 better 2021-12-02 21:11:48 -05:00
Nico Weber 7cc681e641 [gn build] (manually) port 9c4d194f44 2021-12-02 21:03:38 -05:00
Nico Weber 78de182425 [gn build] (manually) port e0b259f22c 2021-12-02 15:50:56 -05:00
Nico Weber b87fe58dce [gn build] (manually) port 9e3552523e (no more old mach-o lld) 2021-12-02 15:01:07 -05:00
Keith Smiley 9e3552523e [lld-macho] Remove old macho darwin lld
During the llvm round table it was generally agreed that the newer macho
lld implementation is feature complete enough to replace the old
implementation entirely. This will reduce confusion for new users who
aren't aware of the history.

Differential Revision: https://reviews.llvm.org/D114842
2021-12-02 11:04:49 -08:00
LLVM GN Syncbot a692c5492a [gn build] Port 6a9487df73 2021-12-02 13:40:22 +00:00
LLVM GN Syncbot ab112c2964 [gn build] Port 170783f991 2021-12-02 00:48:10 +00:00
LLVM GN Syncbot 1b7150c8f8 [gn build] Port 7cc2493daa 2021-12-01 23:31:02 +00:00
LLVM GN Syncbot bab21a4628 [gn build] Port a0efb17500 2021-12-01 20:41:34 +00:00
Nico Weber 9a3b357e2b [gn build] (manually) port 94d5f2afbe 2021-12-01 08:53:49 -05:00
LLVM GN Syncbot dee85a4ffa [gn build] Port f5f28d5b0c 2021-12-01 12:55:06 +00:00
LLVM GN Syncbot 299cec3c51 [gn build] Port 7cca33b40f 2021-11-30 18:46:43 +00:00
Nico Weber ee0c75eba3 [gn build] (semimanually) port 25a7e4b9f7 2021-11-30 08:04:15 -05:00
LLVM GN Syncbot a12192c755 [gn build] Port 3b72448084 2021-11-24 15:48:50 +00:00
LLVM GN Syncbot 44bb69b1e0 [gn build] Port 1392b654ff 2021-11-23 20:11:07 +00:00
LLVM GN Syncbot 791e71a799 [gn build] Port 884b6dd311 2021-11-23 19:09:46 +00:00
LLVM GN Syncbot 65b82b928e [gn build] Port 8e2fd879e6 2021-11-22 20:49:36 +00:00
LLVM GN Syncbot 22de6e3706 [gn build] Port d8380ad977 2021-11-22 18:24:45 +00:00
LLVM GN Syncbot 71e1f0caf4 [gn build] Port 344cef6695 2021-11-22 18:24:44 +00:00
LLVM GN Syncbot 0a413506a2 [gn build] Port 1dc62f2653 2021-11-22 00:29:19 +00:00
Vitaly Buka 6bf71be9f9 [NFC][sanitizer] Move inline implementation of StackStore into cpp 2021-11-18 18:38:06 -08:00
Vitaly Buka 930ccf0191 [NFC][sanitizer] Rename persistent_allocator to stack_store 2021-11-18 18:36:58 -08:00
LLVM GN Syncbot c723569512 [gn build] Port 92832e4889 2021-11-18 04:03:38 +00:00
LLVM GN Syncbot d61840c168 [gn build] Port 49682f14bf 2021-11-18 03:43:59 +00:00
LLVM GN Syncbot 972219195e [gn build] Port 24d1673c8b 2021-11-18 03:23:58 +00:00
Vitaly Buka c26dbc4ab4 [sanitizer] Fix DenseMap for compiler-rt
Depends on D114047.

Differential Revision: https://reviews.llvm.org/D114048
2021-11-17 19:10:20 -08:00
Arthur Eubanks e1ef14069e [gn build] Add missed comma 2021-11-17 09:07:09 -08:00
Quinn Pham 76313f8ec9 [NFC][gn build] Inclusive language: replace master with main in sync_source_lists_from_cmake.py
[NFC] As part of using inclusive language within the llvm project and to
match the renamed master branch, this patch replaces master with main in
sync_source_lists_from_cmake.py.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D113926
2021-11-17 09:32:15 -06:00
Mirko Brkusanin db6bc2ab51 [AMDGPU][GlobalISel] Fold G_FNEG above when users cannot fold mods
If possible fold fneg into instruction above if users cannot fold mods and we
know it will decrease instruction count.
Follows same logic as SDAG combiner in choosing opportunities to combine.

Differential Revision: https://reviews.llvm.org/D112827
2021-11-17 14:25:13 +01:00
Nico Weber bbccf49922 Revert "[gn build] (manually) port 1ee32055ea (benchmark move)"
1ee32055ea was reverted in 67de95b8c9.

This reverts commit a8e8e2d5a2
and follow-up a0dc6001df
2021-11-16 20:07:17 -05:00
Nico Weber a0dc6001df [gn build] (manually) port 1ee32055ea more (benchmark move)
The new benchmark dep apparently has more source files than the old one.
2021-11-16 19:00:25 -05:00
Nico Weber a8e8e2d5a2 [gn build] (manually) port 1ee32055ea (benchmark move) 2021-11-16 18:33:32 -05:00
LLVM GN Syncbot e993c6e8f8 [gn build] Port 5baa4ee30b 2021-11-16 14:52:00 +00:00
LLVM GN Syncbot b85f97bc00 [gn build] Port 2e6ae1d3f2 2021-11-16 06:15:54 +00:00
LLVM GN Syncbot 582352d488 [gn build] Port dc84770d55 2021-11-16 05:11:06 +00:00
Balazs Benics 0b9d3a6e53 [analyzer][NFC] Separate CallDescription from CallEvent
`CallDescriptions` deserve its own translation unit.
This patch simply moves the corresponding parts.
Also includes the `CallDescription.h` where it's necessary.

Reviewed By: martong, xazax.hun, Szelethus

Differential Revision: https://reviews.llvm.org/D113587
2021-11-15 19:10:46 +01:00
LLVM GN Syncbot 5f5f3ac5a3 [gn build] Port 69be352a19 2021-11-14 22:53:50 +00:00
LLVM GN Syncbot ed2b77b068 [gn build] Port f55ba3525e 2021-11-14 08:26:05 +00:00
LLVM GN Syncbot 6a40854ce5 [gn build] Port e1933a0488 2021-11-13 21:44:00 +00:00
Nico Weber a144869384 [gn build] (semi-manually) port cb0e14ce6d 2021-11-12 20:09:01 -05:00
Arthur Eubanks 463ee15e33 [gn build] Fix Android compiler-rt targets
If a sysroot was specified, it would take precedence over the Android
NDK sysroot since it would appear after in the command line.

Also only build runtimes for enabled target arches. Many places have
copied this around so create and use supported_android_toolchains.

Reviewed By: pcc

Differential Revision: https://reviews.llvm.org/D113606
2021-11-11 18:41:18 -08:00
LLVM GN Syncbot 72e947765a [gn build] Port c15f930e96 2021-11-12 02:22:04 +00:00
Nico Weber 96d027b503 [gn build] (manually) port 57c22ade867 2021-11-11 13:07:27 -05:00
LLVM GN Syncbot c98fe04663 [gn build] Port a35efc4dcb 2021-11-10 09:27:55 +00:00
LLVM GN Syncbot a8b2277069 [gn build] Port 737c4a2673 2021-11-09 20:11:28 +00:00
LLVM GN Syncbot a5d6dcbbb2 [gn build] Port 5338629333 2021-11-09 18:38:40 +00:00
Arthur Eubanks 29a8b1fe18 [gn build] Port 299aa4dfa1 2021-11-09 10:21:17 -08:00
Arthur Eubanks 87003cd80d [gn build] Port 22a1aa5a43 2021-11-09 10:21:17 -08:00
LLVM GN Syncbot eaa8533b33 [gn build] Port ef717f3852 2021-11-09 07:11:34 +00:00
LLVM GN Syncbot 4edbc2736e [gn build] Port 81a7cad2ff 2021-11-09 06:54:23 +00:00
LLVM GN Syncbot 3eda87732f [gn build] Port 6cad45d5c6 2021-11-09 04:15:33 +00:00
Nico Weber f006564f42 [gn build] (manually) port 38be8f4057 (llvm-tli-checker) 2021-11-08 23:15:03 -05:00
LLVM GN Syncbot a9e83f27dd [gn build] Port 16b07c866a 2021-11-08 15:59:52 +00:00
Nico Weber c68183b81e [gn build] Use `=` for of -fdebug-compilation-dir
-f flags usually use the `=` form. -fdebug-compilation-dir= has been
around for a few months now (since 0c2bb6b446, both LLVM 12.0
and 13.0 have it), so using it shouldn't be a big problem -- especially
since use_relative_paths_in_debug_info is opt-in anyways.
2021-11-05 12:43:20 -04:00
Nico Weber cf838ebfa5 [gn build] Reformat all files
Ran `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`.
No behavior change.
2021-11-05 10:51:04 -04:00
Nico Weber 565cbc2ca2 [gn build] Use build-machine-independent paths in coverage information
This is possible after D106314 / 8773822c57.

Makes the required prepare-code-coverage-artifact.py invocation a bit longer,
but that seems like a good tradeoff.

Differential Revision: https://reviews.llvm.org/D113282
2021-11-05 10:47:49 -04:00
LLVM GN Syncbot 6cd309bd02 [gn build] Port 7a98761d74 2021-11-05 13:54:25 +00:00
Quinn Pham c71fbdd87b [NFC] Inclusive language: Remove instances of master in URLs
[NFC] This patch fixes URLs containing "master". Old URLs were either broken or
redirecting to the new URL.

Reviewed By: #libc, ldionne, mehdi_amini

Differential Revision: https://reviews.llvm.org/D113186
2021-11-05 08:48:41 -05:00
Nico Weber a160aba95f [gn build] (manually) port df0ba47c36 2021-11-05 09:17:59 -04:00
Arthur Eubanks f2e807797e Revert "[gn build] Manually port 6fd2db04"
This reverts commit 43390d38f0.

Corresponding commit was reverted.
2021-11-02 16:51:56 -07:00
Arthur Eubanks 80ba72b07b [llvm-reduce] Reduce some GlobalObject properties
Specifically, the section and the alignment.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D112884
2021-11-02 08:47:32 -07:00
Arthur Eubanks 606b5fffe3 [gn build] Add missing llvm-reduce dependency 2021-11-02 08:46:46 -07:00
Arthur Eubanks 43390d38f0 [gn build] Manually port 6fd2db04 2021-11-02 08:42:57 -07:00
LLVM GN Syncbot 95a6d3e831 [gn build] Port 9b5c9c469d 2021-11-02 13:45:10 +00:00
LLVM GN Syncbot ca791f8c9a [gn build] Port fd41738e2c 2021-11-02 09:21:12 +00:00
LLVM GN Syncbot c26649688e [gn build] Port aee7f3384b 2021-11-02 08:41:58 +00:00
LLVM GN Syncbot 0658fb4016 [gn build] Port bc2773cb1b 2021-11-02 08:28:36 +00:00
Nico Weber 5d64bf00ac [gn build] (manually) port d736002e90 2021-10-28 08:48:54 -04:00
Nico Weber e545e11a9e [gn build] Use LLD as host linker by default on macOS if clang_base_path is set
lld/mac should be stable enough to use it as host linker. I've been
using `use_lld=true` in my local args.gn for many months now and it
works fine (and links much faster than ld64).

Differential Revision: https://reviews.llvm.org/D112622
2021-10-27 09:44:00 -04:00
Nico Weber 0d13c595fc [gn build] Add lldb to default target on Windows
It seems to build fine (even though some tests fail), so might
as well let the bots build it. If it turns out to break a lot,
we can always turn it back off.

Differential Revision: https://reviews.llvm.org/D112620
2021-10-27 09:39:57 -04:00
Nico Weber c1f3d08b06 [gn build] add build rule for llvm-locstats
Needed by tests after 30a3652b6a.
2021-10-27 09:07:33 -04:00
LLVM GN Syncbot 1a350866bd [gn build] Port 566bfbb740 2021-10-26 23:05:31 +00:00
Nico Weber 1970ea15ad Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)"
This reverts commit e2a2e5475c.
6fe2beba7d relanded (again) in c24a58081b.
2021-10-26 18:40:07 -04:00
LLVM GN Syncbot df05babc96 [gn build] Port 045695f85c 2021-10-25 22:58:46 +00:00
Nico Weber d2c133286a [gn build] (manually) port da47ec3ca0 2021-10-25 17:48:52 -04:00
Arthur Eubanks 882df21a1b [gn build] Add missing CodeGenTests dependency
Fixes link errors.
2021-10-25 13:34:06 -07:00
LLVM GN Syncbot 9f283c2c6c [gn build] Port e1fdec875f 2021-10-25 09:16:00 +00:00
LLVM GN Syncbot ec2a25296f [gn build] Port e18ea6f294 2021-10-22 23:26:01 +00:00
LLVM GN Syncbot a48bfc2c09 [gn build] Port 2e97236aac 2021-10-22 01:36:03 +00:00
Nico Weber 4976be1e95 [gn build] Make 'compiler-rt' depend on include dir
That way, the headers in llvm/utils/gn/secondary/compiler-rt/include
are copied when running `ninja compiler-rt`. (Previously, they were
only copied when running `check-hwasan` or when building the
compiler-rt/include target.)

(Since they should be copied only once, depend on the target in the
host toolchain. I think default_toolchain should work just as well,
it just needs to be a single fixed toolchain. check-hwasan depends
through host_toolchain, so let's use that here too.)

Prevents errors like

    testing/fuzzed_data_provider.h:8:10: fatal error: 'fuzzer/FuzzedDataProvider.h' file not found

when building with locally-built clang. (For now, you still have to
explicitly build the 'compiler-rt' target. Maybe we should make the
clang target depend on that in the GN build?)

Differential Revision: https://reviews.llvm.org/D112238
2021-10-21 21:08:36 -04:00
LLVM GN Syncbot 439fc09fed [gn build] Port d7b338537c 2021-10-21 19:18:49 +00:00
Noah Shutty e678c51177 [Support][ThinLTO] Move ThinLTO caching to LLVM Support library
We would like to move ThinLTO’s battle-tested file caching mechanism to
the LLVM Support library so that we can use it elsewhere in LLVM.

Patch By: noajshu

Differential Revision: https://reviews.llvm.org/D111371
2021-10-18 18:57:25 -07:00
LLVM GN Syncbot ff6fe9a2f1 [gn build] Port 8e46e34d24 2021-10-18 19:24:29 +00:00
LLVM GN Syncbot 25107cc8b1 [gn build] Port 92b8cc52bb 2021-10-18 19:09:19 +00:00
LLVM GN Syncbot 239bdf461c [gn build] Port 009f3a89d8 2021-10-18 16:52:00 +00:00
LLVM GN Syncbot 1d7aadb4c4 [gn build] Port ff13189c5d 2021-10-17 08:39:45 +00:00
Nico Weber 8e184f3d2a [gn build] (manually) port 6c76d01011 2021-10-13 18:43:16 -04:00
LLVM GN Syncbot 8a9faef30e [gn build] Port dd71b65ca8 2021-10-13 14:58:13 +00:00
LLVM GN Syncbot 27bc1e6164 [gn build] Port 9cf995be6b 2021-10-12 17:32:05 +00:00
LLVM GN Syncbot e9119a74d9 [gn build] Port 838b4a533e 2021-10-12 17:32:04 +00:00
Nico Weber 532d71c8b0 [gn build] (manually) port 67f94e5a97 2021-10-12 13:31:50 -04:00
LLVM GN Syncbot 269d0e223a [gn build] Port f4c1258d56 2021-10-12 10:50:41 +00:00
Nico Weber e19bbd0fa2 [gn build] (manually) port f4c1258d56 2021-10-12 06:34:34 -04:00
LLVM GN Syncbot db832d4618 [gn build] Port 962a2479b5 2021-10-12 04:51:58 +00:00
Nico Weber 63aab4065b [gn build] (manually) port 070315d04c 2021-10-11 14:30:31 -04:00
Vitaly Buka 76b7784bcd [NFC][sanitizer] Rename ByteMap to Map 2021-10-10 22:23:48 -07:00
LLVM GN Syncbot 816e9d81e2 [gn build] Port f341161689 2021-10-11 02:15:38 +00:00
LLVM GN Syncbot 98c9b3362f [gn build] Port 3df094d31e 2021-10-11 02:15:37 +00:00
Nico Weber e2a2e5475c Revert "Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)""
This reverts commit 842035d8bd.
1dba6b3 was reverted yet again in 04aff39504.
2021-10-09 10:18:52 -04:00
Reid Kleckner 89b57061f7 Move TargetRegistry.(h|cpp) from Support to MC
This moves the registry higher in the LLVM library dependency stack.
Every client of the target registry needs to link against MC anyway to
actually use the target, so we might as well move this out of Support.

This allows us to ensure that Support doesn't have includes from MC/*.

Differential Revision: https://reviews.llvm.org/D111454
2021-10-08 14:51:48 -07:00
Vitaly Buka 05d46f627c [NFC][sanitizer] Remove sanitizer_persistent_allocator.cpp
We need to make it a template
2021-10-08 13:43:28 -07:00
LLVM GN Syncbot 708c267d7d [gn build] Port 30caca39f4 2021-10-08 11:24:14 +00:00
Nico Weber 842035d8bd Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)"
This reverts commit 98d0f8f2ff.
6fe2beba7d relanded in 1dba6b37bd.
2021-10-08 07:17:04 -04:00
LLVM GN Syncbot a34dffb548 [gn build] Port 7fb9f99f3b 2021-10-07 15:19:45 +00:00
LLVM GN Syncbot 2cb4f53612 [gn build] Port 49e736d845 2021-10-07 15:19:44 +00:00
LLVM GN Syncbot 6c8e80c3c2 [gn build] Port 3e9689d72c 2021-10-07 15:11:38 +00:00
LLVM GN Syncbot c50162b271 [gn build] Port d550930afc 2021-10-07 15:03:32 +00:00
LLVM GN Syncbot ae4c0c7cfc [gn build] Port ccfb0555f7 2021-10-06 22:24:38 +00:00
LLVM GN Syncbot 9f5c70c7ad [gn build] Port 67231650e6 2021-10-06 20:22:05 +00:00
Nico Weber 07e5394c63 [gn build] (manually) port 77d5ccdc6f
(similar to 64f623d4c3)
2021-10-06 15:41:38 -04:00
LLVM GN Syncbot 665662a71e [gn build] Port 10f16bc7b2 2021-10-06 17:59:12 +00:00
LLVM GN Syncbot 1e013f112e [gn build] Port a30a36f66a 2021-10-06 11:59:40 +00:00
LLVM GN Syncbot a67b1220f5 [gn build] Port fc36fb4d23 2021-10-06 08:40:14 +00:00
LLVM GN Syncbot 8b2d6fd6cb [gn build] Port 214054f78a 2021-10-05 10:41:33 +00:00
LLVM GN Syncbot e66121b68e [gn build] Port cfef1803dd 2021-10-05 04:34:07 +00:00
LLVM GN Syncbot 72abda418e [gn build] Port 811b1736d9 2021-10-04 15:13:27 +00:00
LLVM GN Syncbot e420164f40 [gn build] Port 657f02d458 2021-10-02 00:21:42 +00:00
LLVM GN Syncbot 4cdee8de6b [gn build] Port c8c2b4629f 2021-10-01 20:14:30 +00:00
LLVM GN Syncbot 06cea95a5a [gn build] Port 33dd98e9e4 2021-10-01 18:18:21 +00:00
LLVM GN Syncbot 9c49587cc1 [gn build] Port 47d6274d4c 2021-10-01 14:57:31 +00:00
LLVM GN Syncbot 4f0a39b9b4 [gn build] Port fb99424a6f 2021-10-01 14:29:37 +00:00
LLVM GN Syncbot fcdefc8575 [gn build] Port 3077bc90de 2021-10-01 00:43:50 +00:00
LLVM GN Syncbot 0337e228c1 [gn build] Port 050edef853 2021-09-30 19:35:12 +00:00
Nico Weber e31899c708 Reland "[clang-cl] Accept `#pragma warning(disable : N)` for some N"
This reverts commit 0cd9d8a48b and
adds the changes described in https://reviews.llvm.org/D110668#3034461.
2021-09-30 15:03:23 -04:00
LLVM GN Syncbot 4db00342e5 [gn build] Port 13f3c39f36 2021-09-30 08:28:24 +00:00
Amy Huang 0cd9d8a48b Revert "[clang-cl] Accept `#pragma warning(disable : N)` for some N"
because it causes `error: error reading '/wd4091'` errors in
compiler-rt builds.
2021-09-29 18:46:55 -07:00
LLVM GN Syncbot 9ad17fe0de [gn build] Port 969359e3b8 2021-09-29 20:09:08 +00:00
Nico Weber b2de52bec1 [clang-cl] Accept `#pragma warning(disable : N)` for some N
clang-cl maps /wdNNNN to -Wno-flags for a few warnings that map
cleanly from cl.exe concepts to clang concepts.

This patch adds support for the same numbers to
`#pragma warning(disable : NNNN)`. It also lets
`#pragma warning(push)` and `#pragma warning(pop)` have an effect,
since these are used together with `warning(disable)`.

The optional numeric argument to `warning(push)` is ignored,
as are the other non-`disable` `pragma warning()` arguments.
(Supporting `error` would be easy, but we also don't support
`/we`, and those should probably be added together.)

The motivating example is that a bunch of code (including in LLVM)
uses this idiom to locally disable warnings about calls to deprecated
functions in Windows-only code, and 4996 maps nicely to
-Wno-deprecated-declarations:

    #pragma warning(push)
    #pragma warning(disable: 4996)
      f();
    #pragma warning(pop)

Implementation-wise:
- Move `/wd` flag handling from Options.td to actual Driver-level code
- Extract the function mapping cl.exe IDs to warning groups to the
  new file clang/lib/Basic/CLWarnings.cpp
- Create a diag::Group enum so that CLWarnings.cpp can refer to
  existing groups by ID (and give DllexportExplicitInstantiationDecl
  a named group), and add a function to map a diag::Group to the
  spelling of it's associated commandline flag
- Call that new function from PragmaWarningHandler

Differential Revision: https://reviews.llvm.org/D110668
2021-09-29 13:14:23 -04:00
LLVM GN Syncbot fd9a5b911d [gn build] Port c07f709969 2021-09-29 01:03:11 +00:00
Arthur Eubanks aa53785f23 Reland [clang] Rework dontcall attributes
To avoid using the AST when emitting diagnostics, split the "dontcall"
attribute into "dontcall-warn" and "dontcall-error", and also add the
frontend attribute value as the LLVM attribute value. This gives us all
the information to report diagnostics we need from within the IR (aside
from access to the original source).

One downside is we directly use LLVM's demangler rather than using the
existing Clang diagnostic pretty printing of symbols.

Previous revisions didn't properly declare the new dependencies.

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D110364
2021-09-28 15:31:30 -07:00
LLVM GN Syncbot 5aa4c74c9a [gn build] Port 864b206796 2021-09-28 10:58:48 +00:00
LLVM GN Syncbot 57cd7b018c [gn build] Port 6cfb4d46ba 2021-09-27 21:56:39 +00:00
LLVM GN Syncbot e2eb651cfc [gn build] Port 9da2fa277e 2021-09-27 12:33:13 +00:00
LLVM GN Syncbot a44b122ade [gn build] Port 6498b0e991 2021-09-26 17:25:08 +00:00
LLVM GN Syncbot 70a48697d5 [gn build] Port c0d889995e 2021-09-24 20:30:26 +00:00
LLVM GN Syncbot 5f98024011 [gn build] Port a9ae2436fc 2021-09-24 20:30:25 +00:00
LLVM GN Syncbot 58d9ed2c93 [gn build] Port a2c1cf09df 2021-09-24 03:01:20 +00:00
LLVM GN Syncbot 1aed7fcf09 [gn build] Port a44ab17025 2021-09-23 19:01:30 +00:00
LLVM GN Syncbot ac889a5262 [gn build] Port f4abdb0c07 2021-09-23 13:34:40 +00:00
Nico Weber 64f623d4c3 [gn build] (manually) port ac191bcc99 2021-09-23 09:34:24 -04:00
Nico Weber cef0280a95 [gn build] (semi-manually) port 702cb7afe9 2021-09-23 09:26:27 -04:00
LLVM GN Syncbot f099ac838e [gn build] Port 7a320b279d 2021-09-22 12:20:22 +00:00
Nico Weber c828b93fb3 [gn build] (manually) port f8b1cc3657 2021-09-22 08:20:12 -04:00
LLVM GN Syncbot a3bb4f1455 [gn build] Port a04a6ce772 2021-09-21 16:34:07 +00:00
Amara Emerson 4ceea77409 [X86] Rename the X86WinAllocaExpander pass and related symbols to "DynAlloca". NFC.
For x86 Darwin, we have a stack checking feature which re-uses some of this
machinery around stack probing on Windows. Renaming this to be more appropriate
for a generic feature.

Differential Revision: https://reviews.llvm.org/D109993
2021-09-20 16:19:28 -07:00
Arthur Eubanks b64fdaa86b [gn build] Don't pass -Wl,-z,defs for sanitizer builds
-Wl,-z,defs doesn't work with sanitizers.
See https://clang.llvm.org/docs/AddressSanitizer.html

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D110086
2021-09-20 11:39:39 -07:00
LLVM GN Syncbot 93604c9711 [gn build] Port d85e347a28 2021-09-20 16:39:59 +00:00
Amy Huang 6f7483b1ec Reland "[LLD] Remove global state in lld/COFF" after fixing asan and msan test failures
Original commit description:

  [LLD] Remove global state in lld/COFF

  This patch removes globals from the lldCOFF library, by moving globals
  into a context class (COFFLinkingContext) and passing it around wherever
  it's needed.

  See https://lists.llvm.org/pipermail/llvm-dev/2021-June/151184.html for
  context about removing globals from LLD.

  I also haven't moved the `driver` or `config` variables yet.

  Differential Revision: https://reviews.llvm.org/D109634

This reverts commit a2fd05ada9.

Original commits were b4fa71eed3
and e03c7e367a.
2021-09-17 17:18:42 -07:00
Samuel f18c0739b3 [llvm-reduce] Add reduce operands pass
Add reduction to set operands to default values

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D108903
2021-09-17 12:32:15 -07:00
Nico Weber df1ab7de38 [gn build] (semi-manually) port 750d5fc65c 2021-09-17 12:02:09 -04:00
LLVM GN Syncbot 2755670411 [gn build] Port cc8229603b 2021-09-17 00:45:09 +00:00