Commit Graph

1528 Commits

Author SHA1 Message Date
Nico Weber 1260041b3a [gn build] (manually) port 76a168bce0 better 2020-11-02 10:14:58 -05:00
Nico Weber a5b899b3a7 [gn build] (manually) port 76a168bce0 2020-11-02 09:22:44 -05:00
LLVM GN Syncbot 6144dbf09e [gn build] Port 756f597841 2020-10-31 05:19:04 +00:00
LLVM GN Syncbot 5d9c80a6e6 [gn build] Port ac49500cd0 2020-10-30 19:18:17 +00:00
LLVM GN Syncbot d273cb6090 [gn build] Port 940d0a310d 2020-10-30 18:08:01 +00:00
LLVM GN Syncbot a3f38551ef [gn build] Port 84e8257937 2020-10-30 17:54:57 +00:00
Nico Weber 0332e98cb8 [gn build] port e58660750e
Made necessary by c479e0c994, which requires std::timespec
to exist, which it only does in c++17 and later.
2020-10-30 13:49:27 -04:00
LLVM GN Syncbot ed0e367dec [gn build] Port 00090a2b82 2020-10-30 02:36:24 +00:00
Marcel Hlopko 9bb9b737c5 Remove HAVE_VCS_VERSION_INC, not needed
This preprocessor define was meant to be used to conditionally include VCSVersion.inc. However, the define was always set, and it was the content of the header that was conditionally generated. Therefore HAVE_VCS_VERSION_INC should be cleaned up.

Reviewed By: gribozavr2, MaskRay

Differential Revision: https://reviews.llvm.org/D84623
2020-10-29 13:09:05 -07:00
Peter Collingbourne 19cfe5a6de gn build: Define HWASAN_WITH_INTERCEPTORS=1 for hwasan_new_delete.cpp as well. 2020-10-28 15:42:07 -07:00
LLVM GN Syncbot 818bd31906 [gn build] Port 23ed570af1 2020-10-28 20:46:36 +00:00
LLVM GN Syncbot e8c4fd86ce [gn build] Port 23c8da25ef 2020-10-28 13:16:58 +00:00
LLVM GN Syncbot aa45516406 [gn build] Port 47369e194a 2020-10-28 12:31:40 +00:00
LLVM GN Syncbot fa562cb224 [gn build] Port e025d09b21 2020-10-27 19:40:30 +00:00
LLVM GN Syncbot 6495896ede [gn build] Port ce6900c6cb 2020-10-27 19:40:29 +00:00
LLVM GN Syncbot 16ca0037c8 [gn build] Port 46c3d5cb05 2020-10-27 18:08:19 +00:00
LLVM GN Syncbot 2107e4b10e [gn build] Port 850325348a 2020-10-27 12:17:41 +00:00
LLVM GN Syncbot 8000d277ba [gn build] Port 61bc18de0b 2020-10-26 08:07:25 +00:00
Nathan Ridge aaa8b44d19 [clangd] Add a TestWorkspace utility
TestWorkspace allows easily writing tests involving multiple
files that can have inclusion relationships between them.

BackgroundIndexTest.RelationsMultiFile is refactored to use
TestWorkspace, and moved to FileIndexTest as it no longer
depends on BackgroundIndex.

Differential Revision: https://reviews.llvm.org/D89297
2020-10-24 20:15:17 -04:00
Arthur Eubanks 4b90a253c2 [gn build] Add missing comma 2020-10-23 12:01:23 -07:00
Amara Emerson 0f0fd383b4 [AArch64][GlobalISel] Introduce a new post-isel optimization pass.
There are two optimizations here:

1. Consider the following code:
 FCMPSrr %0, %1, implicit-def $nzcv
 %sel1:gpr32 = CSELWr %_, %_, 12, implicit $nzcv
 %sub:gpr32 = SUBSWrr %_, %_, implicit-def $nzcv
 FCMPSrr %0, %1, implicit-def $nzcv
 %sel2:gpr32 = CSELWr %_, %_, 12, implicit $nzcv
This kind of code where we have 2 FCMPs each feeding a CSEL can happen
when we have a single IR fcmp being used by two selects. During selection,
to ensure that there can be no clobbering of nzcv between the fcmp and the
csel, we have to generate an fcmp immediately before each csel is
selected.

However, often we can essentially CSE these together later in MachineCSE.
This doesn't work though if there are unrelated flag-setting instructions
in between the two FCMPs. In this case, the SUBS defines NZCV
but it doesn't have any users, being overwritten by the second FCMP.

Our solution here is to try to convert flag setting operations between
a interval of identical FCMPs, so that CSE will be able to eliminate one.

2. SelectionDAG imported patterns for arithmetic ops currently select the
flag-setting ops for CSE reasons, and add the implicit-def $nzcv operand
to those instructions. However if those impdef operands are not marked as
dead, the peephole optimizations are not able to optimize them into non-flag
setting variants. The optimization here is to find these dead imp-defs and
mark them as such.

This pass is only enabled when optimizations are enabled.

Differential Revision: https://reviews.llvm.org/D89415
2020-10-23 10:18:36 -07:00
LLVM GN Syncbot bf44d3689a [gn build] Port dbbc4f4e22 2020-10-23 17:06:41 +00:00
LLVM GN Syncbot 24a1fe7547 [gn build] Port 00255f4192 2020-10-23 16:19:55 +00:00
Nico Weber 13aff21f0d [gn build] port 48e4b0f (__config_site revert)
This reverts commit b3ca53e142.
This reverts commit 8b7dac81d3.
This reverts commit 37c030f81a.
2020-10-23 09:45:34 -04:00
Nico Weber 3fbf9d10fd [gn build] (semi-manually) port 147b9497e7 2020-10-22 18:19:59 -04:00
Arthur Eubanks af3c51e354 [gn build] Add missing clangd dependencies
Fixes
$ ninja obj/build/rel/gen/clang-tools-extra/clangd/CompletionModel.CompletionModel.obj

Some tablegen include files from clang/include/clang/AST and
clang/include/clang/Sema need to be generated before CompletionModel is
compiled.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D89657
2020-10-22 09:04:30 -07:00
LLVM GN Syncbot 1c3bbdb866 [gn build] Port be39a6fe6f 2020-10-22 09:39:53 +00:00
Nico Weber b3ca53e142 [gn build] try to fix clang build after 37c030f81a
37c030f81a made it so that depending on //libcxx/include
automatically added the copied header dir to the include search path.
For some reason, clang can't build against the copied libcxx headers
(it complains about ldiv_t not being a type). I don't have a mac
to debug right now, but for the clang target this change was
unintentional anyways -- only depend on the copies target, instead
of on the target that also adjusts the include path.
2020-10-21 14:11:18 -04:00
Nico Weber 8b7dac81d3 [gn build] try to fix up deps of __config_site after 37c030f81a 2020-10-21 12:57:50 -04:00
Nico Weber 37c030f81a [gn build] (manually) port 5d796645d6 (libcxx __config change) 2020-10-21 12:54:30 -04:00
Nico Weber 4a8b52b53d [gn build] (manually) port 54fa9ecd30 2020-10-21 12:54:30 -04:00
LLVM GN Syncbot cf9e54ef49 [gn build] Port 848a68a032 2020-10-20 17:56:26 +00:00
Nico Weber 853553f81b [gn build] assert clang-format does not depend on AST, Frontend, Sema at gn time
To catch things like https://reviews.llvm.org/D69854 and
https://reviews.llvm.org/D89708 earlier next time they happen.
2020-10-20 10:23:42 -04:00
Nico Weber f67edf5642 [gn build] belatedly port 3ddac7e563 2020-10-20 10:20:11 -04:00
Nico Weber abef77c3dd [gn build] port a2214757e2 more 2020-10-20 10:20:11 -04:00
LLVM GN Syncbot 672652e833 [gn build] Port c0cdd22c72 2020-10-20 13:20:27 +00:00
LLVM GN Syncbot e572c9ce90 [gn build] Port a2214757e2 2020-10-20 13:20:26 +00:00
Nico Weber db915f296f Revert "Revert "[gn build] (manually) port d09b08919ca""
This reverts commit 6ca3dd9735.
d09b08919c relanded in 53065c543f.
2020-10-20 09:09:30 -04:00
Nico Weber 6ca3dd9735 Revert "[gn build] (manually) port d09b08919ca"
This reverts commit 4d2d287a03.
d09b08919c got reverted in 7ecd60bb70.
2020-10-19 20:01:06 -04:00
LLVM GN Syncbot 5f57d3d480 [gn build] Port 6154c4115c 2020-10-19 04:23:08 +00:00
LLVM GN Syncbot ef77026db3 [gn build] Port 0aec49c853 2020-10-19 04:23:07 +00:00
Nico Weber 4d2d287a03 [gn build] (manually) port d09b08919c 2020-10-18 12:17:55 -04:00
LLVM GN Syncbot 1c54a91d11 [gn build] Port 3d4bba302d 2020-10-16 18:13:18 +00:00
Nico Weber 98e134f5d0 [gn build] (manually) port 3d4bba302d 2020-10-16 14:12:38 -04:00
Nico Weber 6601dfb0b8 [gn bulid] Remove phantom WebAssembly tablegen() calls
Apparenlty I added these in https://reviews.llvm.org/rL350628 but
I'm not sure why. They never existed in the CMake build, and now
they're causing trouble.
2020-10-15 16:14:11 -04:00
LLVM GN Syncbot 76c7a6d6cd [gn build] Port f087597124 2020-10-13 20:50:32 +00:00
LLVM GN Syncbot e2c888f571 [gn build] Port 77bb3ebebb 2020-10-13 19:14:10 +00:00
LLVM GN Syncbot 5f335285c1 [gn build] Port 662ed9e67a 2020-10-13 19:14:09 +00:00
LLVM GN Syncbot bfd9cef70e [gn build] Port b76dc111dd 2020-10-13 17:53:40 +00:00
LLVM GN Syncbot 2af5ea28af [gn build] Port 44b7cf2983 2020-10-13 17:53:39 +00:00
LLVM GN Syncbot d938e6e3c2 [gn build] Port 412cdcf2ed 2020-10-13 01:07:55 +00:00
Nico Weber 4a96b2e75f [gn build] Add libclang_rt.ios.a, libclang_rt.iossim.a to the build
It's built with just-built clang, like all other compiler-rt parts
in the GN build.

This requires adding some cross build support to the mac toolchain.

Also add explicit mmacosx-version-min and miphoneos-version-min
flags to the build.

ios.a is only built with the arm64 slice, iossim.a only with the
x86_64 slice for now. (The latter should maybe become host_cpu
when Arm Macs become a common iOS development platform.)

With this, it's possible to build chromium/iOS with a GN-built LLVM.

Differential Revision: https://reviews.llvm.org/D89260
2020-10-12 16:21:04 -04:00
LLVM GN Syncbot defd01bc59 [gn build] Port f9317f7bf6 2020-10-12 13:27:45 +00:00
LLVM GN Syncbot 5e65d384a2 [gn build] Port 0741a2c9ca 2020-10-09 13:54:24 +00:00
Nico Weber 02e4800eeb [gn build] (manually) port 9b58b0c06e better 2020-10-08 10:13:54 -04:00
Nico Weber c78fecba32 [gn build] (manually) port 9b58b0c06e 2020-10-08 10:08:45 -04:00
LLVM GN Syncbot d6af25e07c [gn build] Port ddf1864ace 2020-10-07 15:50:43 +00:00
Nico Weber fbce456fad [gn build] (manually) port ce1365f8f7 2020-10-07 10:33:51 -04:00
Nico Weber dfa70a483a [gn build] manually port 5e4409f308 2020-10-06 18:43:49 -04:00
LLVM GN Syncbot 260892dff0 [gn build] Port aa2b593f14 2020-10-06 14:49:44 +00:00
LLVM GN Syncbot 95429b88a4 [gn build] Port d6c9dc3c17 2020-10-06 12:02:07 +00:00
LLVM GN Syncbot 955b926b0b [gn build] Port 6c6cd5f8a9 2020-10-04 19:10:39 +00:00
LLVM GN Syncbot c8e73920ee [gn build] Port ace644030e 2020-10-02 23:59:59 +00:00
Arthur Eubanks 354ba1cb80 [gn build] Don't define CINDEX_EXPORTS
This causes
../../clang/include\clang-c/Platform.h(23,11): warning: 'CINDEX_EXPORTS' macro redefined [-Wmacro-redefined]
  #define CINDEX_EXPORTS
2020-10-02 10:39:49 -07:00
LLVM GN Syncbot d9e3972080 [gn build] Port 0c1bb4f885 2020-10-02 14:24:01 +00:00
Arthur Eubanks b29573b672 [gn build] Support building with ThinLTO
Differential Revision: https://reviews.llvm.org/D88584
2020-10-01 13:48:31 -07:00
LLVM GN Syncbot 56d8a37216 [gn build] Port f6b1323bc6 2020-10-01 14:18:52 +00:00
LLVM GN Syncbot 5101e7e8dd [gn build] Port d53b4bee0c 2020-10-01 12:55:59 +00:00
LLVM GN Syncbot e39d7884a1 [gn build] Port 413577a879 2020-09-30 10:09:34 +00:00
Arthur Eubanks e6e73712dd [gn build] Add missing dependency to Extensions 2020-09-29 20:12:00 -07:00
LLVM GN Syncbot 4cda881e0d [gn build] Port 6d193ba333 2020-09-29 17:50:16 +00:00
LLVM GN Syncbot 727c4223d7 [gn build] Port 54d9f743c8 2020-09-29 00:24:06 +00:00
Nico Weber d897351335 [gn build] Re-run CompletionModelCodegen when input json files change 2020-09-28 16:58:00 -04:00
LLVM GN Syncbot 31b3f32104 [gn build] Port 018066d947 2020-09-28 11:38:04 +00:00
Nico Weber 46b671a908 [gn build] update TODO 2020-09-26 12:42:50 -04:00
LLVM GN Syncbot 9112567bbd [gn build] Port e336b74c99 2020-09-25 12:13:19 +00:00
Arthur Eubanks 11a75e6c92 [gn build] Allow option to build with asan/tsan/ubsan
Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D88056
2020-09-23 11:24:38 -07:00
LLVM GN Syncbot 5ae94047bf [gn build] Port 8a64689e26 2020-09-22 18:07:36 +00:00
LLVM GN Syncbot a75f75415a [gn build] Port 848d66fafd 2020-09-22 18:07:35 +00:00
LLVM GN Syncbot 9114d6cbda [gn build] Port af582c9b0f 2020-09-22 06:47:54 +00:00
LLVM GN Syncbot 6d2bf5e3c8 [gn build] Port 4fc0214a10 2020-09-21 12:47:54 +00:00
Nico Weber 70409b2897 [gn build] Port 2124ca1d5c 2020-09-19 08:34:58 -04:00
Nico Weber ec9fb73277 [gn build] (manually) merge 2124ca1d5 2020-09-19 08:29:55 -04:00
Nico Weber 3618ac203f Revert "Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups"
This reverts commit 90fffdd0f7.
The original change relanded.
2020-09-19 08:28:38 -04:00
Nico Weber 528a1f121c [gn build] (manually) port 5495b69164 2020-09-18 21:27:49 -04:00
Nico Weber 90fffdd0f7 Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups
9b6765e784 was reverted in 549e55b3d5.

This reverts commit 442801a7b9.
This reverts commit 929d91a556.
This reverts commit 7c2d83347f.
2020-09-18 21:14:27 -04:00
Nico Weber 7c2d83347f [gn build] add file i forgot to add in 929d91a556 2020-09-18 16:01:00 -04:00
Nico Weber 929d91a556 [gn build] (manually) port 9b6765e784 more 2020-09-18 15:56:34 -04:00
Nico Weber 9b346f974e [gn build] Do not sync filenames containing variable references 2020-09-18 15:34:33 -04:00
Nico Weber 442801a7b9 [gn build] (manually) port 9b6765e784 2020-09-18 15:26:58 -04:00
LLVM GN Syncbot 667762c64e [gn build] Port 7e4c6fb854 2020-09-17 19:09:34 +00:00
Nico Weber 504697e6f4 [gn build] (manually) port c9af34027b 2020-09-17 06:33:24 -04:00
LLVM GN Syncbot 0dd4d70ec2 [gn build] Port a895040eb0 2020-09-17 03:02:00 +00:00
LLVM GN Syncbot 436a43afb2 [gn build] Port b04c1a9d31 2020-09-17 01:54:10 +00:00
Nico Weber 0c6a56e41d [gn build] (manually) port 1321160a2 2020-09-16 18:29:07 -04:00
LLVM GN Syncbot 2a078a977e [gn build] Port 56069b5c71 2020-09-16 19:03:25 +00:00
Nico Weber 15c378f6e6 [gn build] unconfuse sync script about "sources = []" in clang/lib/Headers/BUILD.gn 2020-09-16 14:50:29 -04:00
Nico Weber b3d33f5e83 [gn build] make "all" target build
If you want to build everything, building the default target
via just `ninja` is better, but `ninja all` shouldn't give you
compile errors -- this fixes that.
2020-09-16 14:21:48 -04:00
LLVM GN Syncbot 32a61531b8 [gn build] Port 3d42d54955 2020-09-15 18:32:17 +00:00
LLVM GN Syncbot c0809f8d79 [gn build] Port cd4edf94cd 2020-09-15 13:32:48 +00:00