Commit Graph

10418 Commits

Author SHA1 Message Date
Kazu Hirata cfc7402419 [llvm] Use drop_begin (NFC) 2021-09-16 08:46:26 -07:00
Arthur Eubanks c3ddc13d7d [NFC] Split up PassBuilder.cpp
PassBuilder.cpp is the slowest file to compile in LLVM.
When trying to test changes to pipelines, it takes a long time to recompile.

This doesn't actually speedup building PassBuilder.cpp itself since most
of the time is spent in other large/duplicated functions caused by
PassRegistry.def.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D109798
2021-09-15 15:30:39 -07:00
LLVM GN Syncbot c90cbb2d34 [gn build] Port d249200fa7 2021-09-15 22:14:18 +00:00
Nico Weber afc45ff06f [gn build] (manually) port 2c42a73d6c 2021-09-15 08:01:02 -04:00
LLVM GN Syncbot 10b069d1a0 [gn build] Port 626586fc25 2021-09-15 02:29:04 +00:00
LLVM GN Syncbot 5a7e1d52a9 [gn build] Port 49992c0414 2021-09-14 17:54:35 +00:00
Nico Weber 53727b48fd [gn build] Use lib_dirs instead of qualified path in libs for diaguids.lib
Follow-up to D109708: Using lib_dirs means this will work with ancient gn binaries.

Change the toolchain definitions to make lib_dirs have the right effect, and
pull out lib_switch of each of the tools while here.

This means we now do pass /LIBPATH: to link.exe, but since we invoke it directly
and not through clang-cl, this doesn't actually require D109624. And since this
is built in to GN, we don't need a config to push the flag to dependents.

This is arguably a bit more idiomatic, and it doesn't require folks to update
their GN binaries. No effective behavior change.

Differential Revision: https://reviews.llvm.org/D109763
2021-09-14 12:31:41 -04:00
Nico Weber 8cfab5de13 [Windows build] Use "DIA SDK" in sysroot
This updates llvm/utils/sysroot.py to include the "DIA SDK" folder in the
sysroot.

It also updates the build to look for the DIA SDK there if a sysroot is set.

This requires moving LLVM_WINSYSROOT to config-ix.cmake.

For the GN build, I chose to pass a qualified path to diaguids in libs instead
of pushing a config with a `/libpath:` flag. The former requires a GN with
https://gn-review.googlesource.com/c/gn/+/12200, the latter requires D109624.
The former is more like the cmake build, arguably a bit simpler, and it's
easier to check for the wrong GN revision and easier to update GN.

Differential Revision: https://reviews.llvm.org/D109708
2021-09-14 08:59:28 -04:00
LLVM GN Syncbot 7c76cefd7c [gn build] Port 2c8e784915 2021-09-14 00:27:49 +00:00
Nico Weber 1a56a291c5 [gn build] Fix typos in config visibility lists
GN https://gn-review.googlesource.com/c/gn/+/12140 identified these
typos. Fix them.

No effective behavior change.
2021-09-13 12:50:33 -04:00
Nico Weber 80b60580df [gn build] (semi-manually) port 4247381e26 2021-09-13 10:03:29 -04:00
LLVM GN Syncbot dfc68591a6 [gn build] Port 0213d7ec0c 2021-09-13 12:04:24 +00:00
LLVM GN Syncbot d06691481d [gn build] Port bb72f07380 2021-09-12 04:32:13 +00:00
LLVM GN Syncbot 6aacc69338 [gn build] Port 2269a941a4 2021-09-11 09:02:52 +00:00
LLVM GN Syncbot 26f1cab44a [gn build] Port bb27e45643 2021-09-11 08:51:51 +00:00
Liu, Chen3 7f793b102c [X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR
This is also a bug. The VK[1/2/4/8/16]PAIR here should be VK[1/2/4/8/16]Pair which has its
custom PrintMethod and ParserMatchClass. However we don't have any instructions using vvvv
and ModR/M.REG field so this issue is not exposed.

Differential Revision: https://reviews.llvm.org/D109564
2021-09-10 13:02:11 +08:00
LLVM GN Syncbot 49b7d641f9 [gn build] Port b1fb3d75c9 2021-09-09 15:10:21 +00:00
Nico Weber 7484206cfd [gn build] Make lldb build on Windows
Differential Revision: https://reviews.llvm.org/D109478
2021-09-09 08:13:50 -04:00
LLVM GN Syncbot 9bb803c7a6 [gn build] Port c58c7a6ea0 2021-09-09 11:25:54 +00:00
Peter Collingbourne 883e93cb28 gn build: Add support for building lldb-server on Android.
The cross-compiled lldb-server targets are added to the lldb deps if
Android cross compilation is enabled.

Differential Revision: https://reviews.llvm.org/D109464
2021-09-08 19:33:51 -07:00
Peter Collingbourne 9449f441fc gn build: Add support for building LLDB on Linux.
On Linux, LLDB depends on lldb-server at runtime (on Mac, the dependency on
a debug server presumably comes via the system debugserver), so I added it
to deps.

Differential Revision: https://reviews.llvm.org/D109463
2021-09-08 19:33:51 -07:00
Nico Weber b32506cb86 Revert "[gn build] Add a file that should have been in cfe02847496b856aa"
This reverts commit 6be7f5c354.
We'll need this file eventually, but it in fact shouldn't have been in
cfe0284749. It's currently unreferenced.
2021-09-07 17:01:48 -04:00
Nico Weber d4071b2777 [gn build] Try to fix win build after cfe0284749 2021-09-07 16:58:57 -04:00
Nico Weber f514fb587c [gn build] Try to fix mac/intel build after cfe0284749
The public header lldb/include/lldb/Host/XML.h includes libxml/xmlreader.h,
so this must be a public dep.
2021-09-07 15:52:59 -04:00
Nico Weber d5166f86a3 [gn build] Try to fix mac/arm build after cfe0284749 2021-09-07 15:46:55 -04:00
Nico Weber 6be7f5c354 [gn build] Add a file that should have been in cfe0284749 2021-09-07 15:37:24 -04:00
Nico Weber b3e9ba605f [gn build] Attempt to fix linux build after cfe0284749 2021-09-07 15:29:30 -04:00
Nico Weber cfe0284749 [gn build] Add build files for LLDB
This is enough to get the lit-based tests to pass on macOS.

Doesn't yet add build targets for:
- Any LLDB unit tests
- swig bindings
- various targets not needed by lit tests

LLDB has many dependency cycles, something GN doesn't allow. For
that reason, I've omitted some dependency edges. Hopefully we can
clean up the cycles one day.

LLDB has a public/private header distinction, but mostly ignores it.
Many libraries include private headers from other modules.

Since LLDB is the first target the LLVM/GN build that uses Objective-C++
code, add some machinery to the toolchain file to handle that.

Differential Revision: https://reviews.llvm.org/D109185
2021-09-07 15:25:04 -04:00
LLVM GN Syncbot edc8ce1ecf [gn build] Port 12fa608af4 2021-09-06 09:25:28 +00:00
LLVM GN Syncbot fa69ccd189 [gn build] Port 8ce2675b13 2021-09-05 19:38:22 +00:00
LLVM GN Syncbot a1ea479f0a [gn build] Port d7444d9f41 2021-09-04 09:41:32 +00:00
Nico Weber 543fd3dd2b [gn build] Reformat all files
Ran `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`.
2021-09-03 14:17:28 -04:00
LLVM GN Syncbot db8edbe240 [gn build] Port b9e57e0305 2021-09-03 17:37:49 +00:00
Nico Weber 98d0f8f2ff Revert "[gn build] (manually) port 6fe2beba7d (ExceptionTests)"
This reverts commit da47c2719b.
6fe2beba7d was reverted in 8859640461.
2021-09-03 09:19:11 -04:00
Nico Weber da47c2719b [gn build] (manually) port 6fe2beba7d (ExceptionTests) 2021-09-03 09:01:24 -04:00
LLVM GN Syncbot 53486ea159 [gn build] Port a375bfb5b7 2021-09-03 11:51:19 +00:00
LLVM GN Syncbot 62bbae8407 [gn build] Port 2ed91da0f1 2021-09-03 08:53:21 +00:00
LLVM GN Syncbot 6cc5333650 [gn build] Port dad60f8071 2021-09-02 22:29:41 +00:00
LLVM GN Syncbot 621a615372 [gn build] Port 0922ce56f4 2021-09-01 17:49:53 +00:00
Christudasan Devadasan 6a75041a16 [TableGen] Allow target specific flags for RegisterClass
Analogous to the TSFlags for machine instructions, this
patch introduces a bit vector for register classes to have
target specific flags that become a tablegened value in
TargetRegisterClass.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D108767
2021-08-31 22:29:11 -04:00
LLVM GN Syncbot 9c37eda6e4 [gn build] Port e983a659e5 2021-08-31 16:45:24 +00:00
LLVM GN Syncbot 22efb9d364 [gn build] Port 3285c7a436 2021-08-31 13:47:38 +00:00
Shivam Gupta 0d02aa6e43 [NFC] Correct typo in CodeGenMapTable.cpp, patch by Jordi
CodeGenMapTable.cpp refers to TableGen as TabelGen in the comments. This appears to be a typo. This patch fixes the typo.

Differential Revision: https://reviews.llvm.org/D76343
2021-08-31 13:04:33 +05:30
Sylvestre Ledru c58c0993c9 test-release.sh: remove an unused reference to the old svn repo 2021-08-29 17:45:19 +02:00
Michał Górny 2f69c82cec [llvm] [lit] Support forcing lexical test order
Add a new --order option to choose between available test orders:
the default "smart" order, predictable "lexical" order or "random"
order.  Default to using lexical order and one job in the lit test
suite.

Differential Revision: https://reviews.llvm.org/D107695
2021-08-27 20:47:11 +02:00
LLVM GN Syncbot d4d008f7d7 [gn build] Port 54e8cae565 2021-08-27 17:29:43 +00:00
LLVM GN Syncbot e57205b555 [gn build] Port c8b14c03ec 2021-08-27 16:46:52 +00:00
Arthur Eubanks 77b6a4bde4 [gn build] Don't copy xray includes
The gn build doesn't support xray, so there's no reason to make the xray
headers available. Some CMake checks check if xray includes are
available to determine if xray is usable. Since we don't build the xray
runtime, there are link errors.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D108737
2021-08-27 08:51:27 -07:00
LLVM GN Syncbot f8df807653 [gn build] Port b749ef9e22 2021-08-27 04:42:51 +00:00
LLVM GN Syncbot 9ade9d9ac1 [gn build] Port ee44dd8062 2021-08-26 18:08:07 +00:00