2628 Commits

Author SHA1 Message Date
LLVM GN Syncbot
6020830e88 [gn build] Port e476df5629ee 2022-04-03 15:09:33 +00:00
LLVM GN Syncbot
3bab268f95 [gn build] Port f547fc89c073 2022-04-01 21:24:52 +00:00
LLVM GN Syncbot
6d481adb35 [gn build] Port fc7573f29c79 2022-03-31 22:04:13 +00:00
LLVM GN Syncbot
c7639f896c [gn build] Port 46774df30715 2022-03-31 17:50:34 +00:00
Nico Weber
d2f7547f14 [gn build] (manually) port 19246b0779a2 2022-03-31 11:10:18 -04:00
LLVM GN Syncbot
f54f448525 [gn build] Port 1410a4860eb2 2022-03-30 07:33:49 +00:00
LLVM GN Syncbot
5314582407 [gn build] Port 90cb325abda9 2022-03-29 06:21:57 +00:00
LLVM GN Syncbot
75c8585ef0 [gn build] Port 2add3fbd976d 2022-03-28 23:38:54 +00:00
LLVM GN Syncbot
040c80924c [gn build] Port c5e54e275241 2022-03-28 20:09:41 +00:00
LLVM GN Syncbot
12f0802c93 [gn build] Port c0eb9b4cdef6 2022-03-28 08:27:36 +00:00
LLVM GN Syncbot
f7e3174ec0 [gn build] Port ad57e10dbca2 2022-03-28 06:40:50 +00:00
LLVM GN Syncbot
139416cb5e [gn build] Port 555214cbcc79 2022-03-26 16:10:19 +00:00
Sam McCall
57ee624d79 [cmake] Provide CURRENT_TOOLS_DIR centrally, replacing CLANG_TOOLS_DIR
CLANG_TOOLS_DIR holds the the current bin/ directory, maybe with a %(build_mode)
placeholder. It is used to add the just-built binaries to $PATH for lit tests.
In most cases it equals LLVM_TOOLS_DIR, which is used for the same purpose.
But for a standalone build of clang, CLANG_TOOLS_DIR points at the build tree
and LLVM_TOOLS_DIR points at the provided LLVM binaries.

Currently CLANG_TOOLS_DIR is set in clang/test/, clang-tools-extra/test/, and
other things always built with clang. This is a few cryptic lines of CMake in
each place. Meanwhile LLVM_TOOLS_DIR is provided by configure_site_lit_cfg().

This patch moves CLANG_TOOLS_DIR to configure_site_lit_cfg() and renames it:
 - there's nothing clang-specific about the value
 - it will also replace LLD_TOOLS_DIR, LLDB_TOOLS_DIR etc (not in this patch)

It also defines CURRENT_LIBS_DIR. While I removed the last usage of
CLANG_LIBS_DIR in e4cab4e24d1, there are LLD_LIBS_DIR usages etc that
may be live, and I'd like to mechanically update them in a followup patch.

Differential Revision: https://reviews.llvm.org/D121763
2022-03-25 20:22:01 +01:00
LLVM GN Syncbot
a78bd83264 [gn build] Port cef52105bd4b 2022-03-25 18:54:35 +00:00
LLVM GN Syncbot
bb48c3a9e7 [gn build] Port 39b80c8380c8 2022-03-25 15:50:53 +00:00
LLVM GN Syncbot
382797d475 [gn build] Port 75112133b83e 2022-03-25 07:28:25 +00:00
Nico Weber
c4eae8a4eb Make BLAKE3 a component library
It's unusual that BLAKE3/CMakeLists.txt just defines a list of
files that it injects into its parent scope. The list should either
be defined in llvm/lib/Support/CMakeLists.txt, or
llvm/lib/Support/BLAKE3/CMakeLists.txt should define an object
library.

This does the latter. It makes llvm/lib/Support/BLAKE3/CMakeLists.txt
more self-contained.

No behavior change.

Differential Revision: https://reviews.llvm.org/D122428
2022-03-24 21:16:55 -04:00
Arthur Eubanks
df0b893d94 [opt] Remove -analyze option
This is legacy PM-specific, which is deprecated.

Uses of this should be replaced with a corresponding `-passes='print<foo>'`.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D122420
2022-03-24 14:10:57 -07:00
Nico Weber
8705708b6d Revert "[gn build] Manually port llvm/lib/Support/BLAKE3"
This reverts commit 8424d4f641b186f30126c33f76f6a0fb619f903e.
That approach doesn't work. I checked in something that kinda
works 30 min ago or so.
2022-03-24 15:24:02 -04:00
LLVM GN Syncbot
1e3713f6df [gn build] Port 2022-03-24 19:11:19 +00:00
Fangrui Song
8424d4f641 [gn build] Manually port llvm/lib/Support/BLAKE3 2022-03-24 12:06:19 -07:00
Nico Weber
973acc3db5 [gn build] ugly hack to work around sync script for now 2022-03-24 14:56:51 -04:00
Nico Weber
0bfa1ab025 [gn build] (manually) port 9aa701984d39 (BLAKE3) 2022-03-24 14:51:24 -04:00
Arthur Eubanks
a7ea304f93 [gn build] Manually port 0c86198b2 2022-03-24 10:56:21 -07:00
LLVM GN Syncbot
ced9bbe0b2 [gn build] Port 62d5f254ccd0 2022-03-24 13:50:02 +00:00
Nico Weber
028f9f5b2b [gn build] remove a "from __future__" import not needed after 0ff3cc2087b9 2022-03-24 09:07:54 -04:00
LLVM GN Syncbot
621cc83fc1 [gn build] Port 406bde9a1513 2022-03-24 12:12:11 +00:00
LLVM GN Syncbot
bf6f5113bc [gn build] Port 64902d335c21 2022-03-24 01:49:33 +00:00
Zequan Wu
0396e229cd Revert "[gn build] Port 9c542a5a4e1b"
This reverts commit e28ace8a97583cacadd92180bda9fa3e49554c51.
2022-03-23 16:11:54 -07:00
Nico Weber
0ff3cc2087 [gn build] Change python run lines to python3
macOS 12.3 no longer ships non-3 python.

Almost all of these scripts were launched by ninja, and the GN files
already told it to run them under python3, so this is a fairly small
change.  The main effect is that if you run them manually, you now
get the same behavior.

(A small set of scripts, gn.py, gen.py, sync_source_lists_from_cmake.py,
are for manual running.  For these, it is an actual change.)

Differential Revision: https://reviews.llvm.org/D122345
2022-03-23 16:42:18 -04:00
Nico Weber
88da78ddd0 Install symlink "otool" if LLVM_INSTALL_CCTOOLS_SYMLINKS is set
Differential Revision: https://reviews.llvm.org/D122313
2022-03-23 16:22:24 -04:00
Nico Weber
69cde915e9 [gn build] add llvm_install_cctools_symlinks arg
It behaves (mostly) like the LLVM_INSTALL_CCTOOLS_SYMLINKS option
in cmake.

The minor difference is that the llvm-objcopy symlinks bitcode_strip
and install_name_tool symlink to llvm-objcopy directly in the GN build,
while it's a bitcode_strip -> llvm-bitcode-strip -> objcopy chain
in the CMake build (and analogous for install_name_tool).

The implementation is very similar to the implementation of the
existing llvm_install_binutils_symlinks arg.

Differential Revision: https://reviews.llvm.org/D122312
2022-03-23 16:19:54 -04:00
Nico Weber
f9889dd28a [gn build] (manually) port b0fd9497af6 2022-03-23 16:16:53 -04:00
Nico Weber
e85aee06d8 [gn build] (manually) port b0fd9497af6d 2022-03-23 15:46:42 -04:00
Arthur Eubanks
9bd66b312c [PassManager][Coroutine] Run passes under -O0 conditionally and run GlobalDCE
CoroSplit lowers various coroutine intrinsics. It's a CGSCC pass and
CGSCC passes don't run on unreachable functions. Normally GlobalDCE will
come along and delete unreachable functions, but we don't run GlobalDCE
under -O0, so an unreachable function with coroutine intrinsics may
never have CoroSplit run on it.

This patch adds GlobalDCE when coroutines intrinsics are present. It
also now runs all coroutine passes conditional when coroutine intrinsics
are present. This should also solve the -O0 regression reported in
D105877 due to LazyCallGraph construction.

Fixes https://github.com/llvm/llvm-project/issues/54117

Reviewed By: ChuanqiXu

Differential Revision: https://reviews.llvm.org/D122275
2022-03-23 11:03:26 -07:00
Arthur Eubanks
e22b78de27 [gn build] Manually port 89f6b26 2022-03-22 16:26:44 -07:00
LLVM GN Syncbot
01f76917cc [gn build] Port e6c84f82b875 2022-03-21 20:44:15 +00:00
Nico Weber
312ec6f156 [gn build] Use lld-link's new /winsysroot: flag
If `clang_base_path` is set, it must now point to a directory that contains
an lld-link built with D118070.

(If this is a problem for anyone, we can guard this behind a
lld_link_understands_winsysroot gn arg, but let's see if we can get away
without that for now.)

With this, it's possible to build everything in a normal cmd.exe Window,
an MSVC shell isn't needed \o/

(Assuming you set `clang_base_path`, and you set `sysroot` to a directory
that contains a win sysroot. If you have MSVC installed,
`python3 llvm\utils\sysroot.py make-fake --out-dir=my-sysroot` and
setting `sysroot = "//my-sysroot"` in args.gn works, for example.)

Differential Revision: https://reviews.llvm.org/D121871
2022-03-21 13:43:38 -04:00
LLVM GN Syncbot
f8cda8f6be [gn build] Port 7917b3c6957c 2022-03-21 17:28:05 +00:00
LLVM GN Syncbot
819419f996 [gn build] Port 9ada761be3b9 2022-03-21 07:47:10 +00:00
Nico Weber
3ac84c430b Reland "[gn build] (manually) port 6316129e066e"
This reverts commit 21b97df74c15aa29a9d5ca54e3033eae6c97362d.
6316129e066e relanded in 7b983917d455.
2022-03-18 15:43:02 -04:00
LLVM GN Syncbot
00145bcb4c [gn build] Port a36c2dd6d54c 2022-03-18 14:44:37 +00:00
LLVM GN Syncbot
959e2f00b0 [gn build] Port f83d833e41d7 2022-03-18 12:43:27 +00:00
Nico Weber
ec49c84fb9 [gn build] (manually) port a954ade8ed4 (gen X86GenMnemonicTables.inc) 2022-03-18 08:42:50 -04:00
Nico Weber
d2dc52493e [gn build] (semiautomatically) port fdcb256f9796 2022-03-18 08:42:50 -04:00
Nico Weber
21b97df74c Revert "[gn build] (manually) port 6316129e066e"
This reverts commit 5f4a334ded90f80ca16ceb2bf784c62806ee23d1.
6316129e066e was reverted in 112aafcaf425.
2022-03-18 08:26:46 -04:00
Nico Weber
5f4a334ded [gn build] (manually) port 6316129e066e 2022-03-17 20:08:14 -04:00
LLVM GN Syncbot
f18590118e [gn build] Port 22570bac6943 2022-03-17 19:06:22 +00:00
LLVM GN Syncbot
cb29df4998 [gn build] Port 1af5fbd5c605 2022-03-17 16:55:08 +00:00
LLVM GN Syncbot
56a25a95d4 [gn build] Port 22077627ae20 2022-03-16 23:23:57 +00:00