Commit Graph

925 Commits

Author SHA1 Message Date
LLVM GN Syncbot 41bac76da8 gn build: Merge 765b1250f6 2019-11-19 15:33:25 +00:00
LLVM GN Syncbot 2fcf3e934b gn build: Merge e8a4c74f11 2019-11-19 10:34:24 +00:00
LLVM GN Syncbot 26d36a1903 gn build: Merge c0fc29c468 2019-11-19 09:55:01 +00:00
LLVM GN Syncbot d54e5a2c86 gn build: Merge 39285a0f02 2019-11-19 09:55:01 +00:00
Nico Weber 88276ddbfe Revert "gn build: (manually) try to merge 1689ad27af"
This reverts commit e4ec2ecf6d.
1689ad27af was reverted as well.
2019-11-19 04:40:10 -05:00
LLVM GN Syncbot 327904d3cf gn build: Merge 30e7ee3c4b 2019-11-18 23:33:25 +00:00
Nico Weber e4ec2ecf6d gn build: (manually) try to merge 1689ad27af 2019-11-18 18:33:04 -05:00
LLVM GN Syncbot 7e45b5864f gn build: Merge 2054ed052f 2019-11-18 15:48:35 +00:00
LLVM GN Syncbot 51a0a4e355 gn build: Merge 631be5c0d4 2019-11-15 21:34:55 +00:00
LLVM GN Syncbot 7f1cb1fa6e gn build: Merge d6de5f12d4 2019-11-15 20:50:43 +00:00
LLVM GN Syncbot 9c5e0fcc23 gn build: Merge e6584b2b7b 2019-11-15 12:57:26 +00:00
LLVM GN Syncbot 2a42cfde23 gn build: Merge 16f38dda29 2019-11-15 05:27:58 +00:00
LLVM GN Syncbot 6ebec32b12 gn build: Merge e9a06e0606 2019-11-12 03:49:52 +00:00
Nick Desaulniers 49fb4a96e0 change LLVM_VERSION_SUFFIX default from svn to git
Summary:
Sayonara SVN!

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Reviewers: tstellar, jyknight, lebedev.ri, smeenai, mgorny, hans, mclow.lists

Reviewed By: mgorny, hans

Subscribers: christof, libcxx-commits, llvm-commits, srhines

Tags: #libc, #llvm

Differential Revision: https://reviews.llvm.org/D70019
2019-11-11 09:10:20 -08:00
LLVM GN Syncbot 2da34a43c7 gn build: Merge 8d288a0668 2019-11-11 16:47:59 +00:00
LLVM GN Syncbot fa03665e86 gn build: Merge f0af11d86f 2019-11-08 20:48:12 +00:00
LLVM GN Syncbot f96de25739 gn build: Merge 0dc0572b48 2019-11-08 14:31:11 +00:00
LLVM GN Syncbot b4237db295 gn build: Merge 25ee861372 2019-11-07 22:43:50 +00:00
Nico Weber fe6fee9445 Revert "gn build: (manually) merge b5913e6d2f"
This reverts commit c52efdc52c,
because b5913e6d2f got reverted.
2019-11-06 20:52:29 -05:00
Nico Weber c52efdc52c gn build: (manually) merge b5913e6d2f 2019-11-06 18:26:56 -05:00
LLVM GN Syncbot 1a6903bdfe gn build: Merge 24130d661e 2019-11-06 08:29:28 +00:00
LLVM GN Syncbot 667223c3ed gn build: Merge 40d0d4e233 2019-11-04 17:20:23 +00:00
Nico Weber 4168a2e9de gn build: (manually) merge 51b4b17eb
Also reverts r353980 since that duplicated the GenAsmMatcher target for
AArch64. Instead use visiblity.
2019-11-04 09:51:41 -05:00
Nico Weber 9cd13deb29 gn build: run "gn format" 2019-11-04 09:50:16 -05:00
Nico Weber a3915ca9f9 gn build: add deps, see discussion on D69130 2019-11-04 09:22:12 -05:00
Nico Weber ce7d5a6bbe gn build: (manually) merge 3a399c09 / add76dd3c 2019-11-03 12:52:54 -05:00
LLVM GN Syncbot 449882b544 gn build: Merge d36a033310 2019-11-01 15:17:32 +00:00
LLVM GN Syncbot bbbd22e645 gn build: Merge e72e59e902 2019-10-31 23:15:09 +00:00
Peter Collingbourne 7c86c70f26 gn build: Add support for cross-compiling the builtins and profile runtimes for Android aarch64 and arm.
Differential Revision: https://reviews.llvm.org/D69681
2019-10-31 15:47:20 -07:00
Peter Collingbourne d47133adad gn build: s/target_/current_/g in compiler-rt/lib/{builtins,profile}.
Fixes stage2 cross compilation.

Differential Revision: https://reviews.llvm.org/D69680
2019-10-31 14:03:39 -07:00
Nico Weber d6bb256b44 Revert "gn build: (manually) merge ec66603ac7"
This reverts commit df899f2272.
Looks like ec66603ac7 was reverted recently.
2019-10-31 16:30:01 -04:00
Nico Weber df899f2272 gn build: (manually) merge ec66603ac7 2019-10-31 16:28:50 -04:00
Nico Weber e491e82639 gn build: (manually) merge cd24a00 more 2019-10-31 09:12:53 -04:00
Nico Weber 7e23f88d7d gn build: (manually) merge b32bae6f76 2019-10-31 07:38:21 -04:00
LLVM GN Syncbot b1209d74e3 gn build: Merge 33a745e6fe 2019-10-30 22:28:00 +00:00
LLVM GN Syncbot e62f91fb75 gn build: Merge cd24a00bd3 2019-10-30 20:20:22 +00:00
LLVM GN Syncbot 88d77fce94 gn build: Merge b9d8e23b80 2019-10-30 19:36:47 +00:00
LLVM GN Syncbot 5cc605bcc1 gn build: Merge 29dc0b17de 2019-10-30 17:40:59 +00:00
Nico Weber 37e10c2929 gn build: (manually) merge 67474c60d3 2019-10-30 11:23:54 -04:00
LLVM GN Syncbot 9c273becce gn build: Merge 6bf5580492 2019-10-30 10:43:37 +00:00
Nico Weber 4d06ea83cc gn build: (manually) merge a34680a3 2019-10-29 21:51:11 -04:00
LLVM GN Syncbot 8a3a5f93b2 gn build: Merge 38839d08b8 2019-10-29 01:06:42 +00:00
Nico Weber 8530f294f5 gn build: fix bad merge of 75f72f6b done in 3431f1ba 2019-10-28 20:59:11 -04:00
Nico Weber 3431f1ba4c gn build: (manually) merge 75f72f6b 2019-10-28 20:56:21 -04:00
Nico Weber 8aa0a785c4 gn build: (manually) merge d157a9bc
While here, also merge r335850 / r366396.
2019-10-28 14:18:56 -04:00
LLVM GN Syncbot 2aa955411a gn build: Merge 5ab9a850f6 2019-10-28 06:32:06 +00:00
LLVM GN Syncbot a153233caf gn build: Merge 8e567b0730 2019-10-25 16:49:07 +00:00
LLVM GN Syncbot d581f68519 gn build: Merge 74d39a42f1 2019-10-25 10:01:34 +00:00
LLVM GN Syncbot 918b88ab15 gn build: Merge ffa214ef22 2019-10-25 06:36:53 +00:00
LLVM GN Syncbot 72d7908afc gn build: Merge d0bd3fc88b 2019-10-25 06:36:53 +00:00
LLVM GN Syncbot 9c0f66746c gn build: Merge bb6a27fc25 2019-10-25 06:36:52 +00:00
Nico Weber 13d8d19d51 gn build: (manually) merge 08074cc9 2019-10-25 02:35:14 -04:00
Nico Weber 19ca80ef05 gn build: make sync build work with git revs now that svn is gone 2019-10-22 14:19:35 -04:00
GN Sync Bot 4e039e2720 gn build: Merge r375483
llvm-svn: 375484
2019-10-22 05:09:35 +00:00
GN Sync Bot 01e177ede5 gn build: Merge r375390
llvm-svn: 375393
2019-10-21 08:06:38 +00:00
GN Sync Bot b01c077a18 gn build: Merge r375375
llvm-svn: 375376
2019-10-20 20:44:56 +00:00
Peter Collingbourne 3b113a2be6 gn build: Build compiler-rt code with -fvisibility=hidden.
This matches the CMake build.

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

llvm-svn: 375299
2019-10-18 22:52:17 +00:00
GN Sync Bot e8da5e51cd gn build: Merge r375288
llvm-svn: 375289
2019-10-18 21:11:20 +00:00
GN Sync Bot 52dc406efc gn build: Merge r375254
llvm-svn: 375256
2019-10-18 16:52:12 +00:00
GN Sync Bot 9604624ebf gn build: Merge r374982
llvm-svn: 374983
2019-10-16 09:59:01 +00:00
GN Sync Bot 0cdf478955 gn build: Merge r374903
llvm-svn: 374904
2019-10-15 15:33:04 +00:00
GN Sync Bot ae8e69ecd0 gn build: Merge r374899
llvm-svn: 374900
2019-10-15 14:53:40 +00:00
GN Sync Bot a945469875 gn build: Merge r374882
llvm-svn: 374883
2019-10-15 11:55:38 +00:00
Joerg Sonnenberger 9681ea9560 Reapply r374743 with a fix for the ocaml binding
Add a pass to lower is.constant and objectsize intrinsics

This pass lowers is.constant and objectsize intrinsics not simplified by
earlier constant folding, i.e. if the object given is not constant or if
not using the optimized pass chain. The result is recursively simplified
and constant conditionals are pruned, so that dead blocks are removed
even for -O0. This allows inline asm blocks with operand constraints to
work all the time.

The new pass replaces the existing lowering in the codegen-prepare pass
and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert
on the intrinsics.

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

llvm-svn: 374784
2019-10-14 16:15:14 +00:00
Dmitri Gribenko 1a21f98ac3 Revert "Add a pass to lower is.constant and objectsize intrinsics"
This reverts commit r374743. It broke the build with Ocaml enabled:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19218

llvm-svn: 374768
2019-10-14 12:22:48 +00:00
Joerg Sonnenberger e4300c392d Add a pass to lower is.constant and objectsize intrinsics
This pass lowers is.constant and objectsize intrinsics not simplified by
earlier constant folding, i.e. if the object given is not constant or if
not using the optimized pass chain. The result is recursively simplified
and constant conditionals are pruned, so that dead blocks are removed
even for -O0. This allows inline asm blocks with operand constraints to
work all the time.

The new pass replaces the existing lowering in the codegen-prepare pass
and fallbacks in SDAG/GlobalISEL and FastISel. The latter now assert
on the intrinsics.

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

llvm-svn: 374743
2019-10-13 23:00:15 +00:00
Nico Weber d0b8db9ab8 gn build: (manually) merge r374720
llvm-svn: 374721
2019-10-13 15:25:13 +00:00
GN Sync Bot 0fb5a1ee97 gn build: Merge r374707
llvm-svn: 374708
2019-10-13 08:33:14 +00:00
Nico Weber e95d1ca1e2 Revert r374663 "[clang-format] Proposal for clang-format to give compiler style warnings"
The test fails on macOS and looks a bit wrong, see comments on the review.

Also revert follow-up r374686.

llvm-svn: 374688
2019-10-12 22:58:34 +00:00
Nico Weber b12012cc98 gn build: (manually) merge r374663
llvm-svn: 374686
2019-10-12 22:24:56 +00:00
Nico Weber 1b82fb61c1 gn build: (manually) merge r374606 better
llvm-svn: 374611
2019-10-11 23:22:36 +00:00
GN Sync Bot 92e11e6d39 gn build: Merge r235758
llvm-svn: 374610
2019-10-11 23:12:04 +00:00
Nico Weber 71ecae9d54 gn build: Cmanually) merge r374590
llvm-svn: 374608
2019-10-11 23:05:24 +00:00
Nico Weber e695d3c695 gn build: (manually) merge r374110
llvm-svn: 374575
2019-10-11 17:42:24 +00:00
GN Sync Bot b67d3df1c1 gn build: Merge r374558
llvm-svn: 374560
2019-10-11 14:48:31 +00:00
GN Sync Bot 85ec603d9e gn build: Merge r374476
llvm-svn: 374482
2019-10-10 23:49:59 +00:00
Nico Weber 5ff60e160a gn build: restore tablegen restat optimization after r373664
llvm-svn: 374395
2019-10-10 17:47:18 +00:00
Nico Weber a134d3cfc9 gn build: merge r374381 more (effectively a no-op)
llvm-svn: 374391
2019-10-10 17:40:00 +00:00
GN Sync Bot dc895a325f gn build: Merge r374381
llvm-svn: 374383
2019-10-10 17:14:20 +00:00
GN Sync Bot c05a875c8c gn build: Merge r374277
llvm-svn: 374278
2019-10-10 04:29:49 +00:00
Nico Weber 20fc20dfcf gn build: (manually) merge r374271
llvm-svn: 374272
2019-10-10 02:48:47 +00:00
GN Sync Bot 04f1effb99 gn build: Merge r374245
llvm-svn: 374260
2019-10-09 23:10:49 +00:00
Nico Weber b555ea5ff9 gn build: (manually) merge r374219
llvm-svn: 374249
2019-10-09 22:22:36 +00:00
Hans Wennborg 1e1e3ba252 Unify the two CRC implementations
David added the JamCRC implementation in r246590. More recently, Eugene
added a CRC-32 implementation in r357901, which falls back to zlib's
crc32 function if present.

These checksums are essentially the same, so having multiple
implementations seems unnecessary. This replaces the CRC-32
implementation with the simpler one from JamCRC, and implements the
JamCRC interface in terms of CRC-32 since this means it can use zlib's
implementation when available, saving a few bytes and potentially making
it faster.

JamCRC took an ArrayRef<char> argument, and CRC-32 took a StringRef.
This patch changes it to ArrayRef<uint8_t> which I think is the best
choice, and simplifies a few of the callers nicely.

Differential revision: https://reviews.llvm.org/D68570

llvm-svn: 374148
2019-10-09 09:06:30 +00:00
Nico Weber 8f7a32043d gn build: unbreak libcxx build after r374116 by restoring gen_link_script.py for gn
llvm-svn: 374129
2019-10-08 23:08:18 +00:00
GN Sync Bot 4e139f3871 gn build: Merge r374062
llvm-svn: 374065
2019-10-08 15:34:52 +00:00
GN Sync Bot d190f7679f gn build: Merge r374061
llvm-svn: 374064
2019-10-08 15:28:36 +00:00
GN Sync Bot ed5d1c12dc gn build: Merge r374058
llvm-svn: 374059
2019-10-08 15:12:38 +00:00
Nico Weber 0d19662a6a gn build: try to make system-libs.windows.test pass
llvm-svn: 373948
2019-10-07 19:17:02 +00:00
Nico Weber a1f5c258d6 gn build: use better triple on windows
The CMake build uses "x86_64-pc-windows-msvc". The "-msvc" suffix is
important because e.g. clang/test/lit.cfg.py matches against the
suffix "windows-msvc" to compute the presence of the "ms-sdk" and
the absence of the "LP64" feature.

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

llvm-svn: 373899
2019-10-07 13:13:31 +00:00
Nico Weber a30730f690 gn build: no-op style tweak in sync script
llvm-svn: 373873
2019-10-07 00:37:10 +00:00
Nico Weber 598e7a3a68 gn build: make windows build less broken
llvm-svn: 373858
2019-10-06 18:11:53 +00:00
Nico Weber 90cfbf35c9 gn build: (manually) merge r373718
llvm-svn: 373726
2019-10-04 10:20:47 +00:00
GN Sync Bot ea31d1807c gn build: Merge r373689
llvm-svn: 373690
2019-10-04 04:00:11 +00:00
Nico Weber 204623e05c Reland r349624: Let TableGen write output only if it changed, instead of doing so in cmake
Move the write-if-changed logic behind a flag and don't pass it
with the MSVC generator. msbuild doesn't have a restat optimization,
so not doing write-if-change there doesn't have a cost, and it
should fix whatever causes PR43385.

llvm-svn: 373664
2019-10-03 21:22:28 +00:00
Nico Weber c118a03e69 gn build: (manually) merge 373651 better
The reland uses a static library, not an object library.
Doesn't really matter for the gn build, but it's probalby
nice to have the same semantics for the target type.

llvm-svn: 373660
2019-10-03 20:41:57 +00:00
Nico Weber 6695ff62d0 Reland "gn build: (manually) merge r373551"
373551 relanded in 373651.

llvm-svn: 373654
2019-10-03 20:07:03 +00:00
Nico Weber b01ebd6c1d gn build: (manually) merge r373622
llvm-svn: 373627
2019-10-03 16:59:12 +00:00
GN Sync Bot d1a4b82274 gn build: Merge r373601
llvm-svn: 373603
2019-10-03 14:28:27 +00:00
Nico Weber ead8577aff gn build: Revert 373554 "gn build: (manually) merge r373551"
r373551 was reverted in r373581.

llvm-svn: 373586
2019-10-03 11:57:39 +00:00
GN Sync Bot d7f93154b3 gn build: Merge r373556
llvm-svn: 373558
2019-10-03 02:43:27 +00:00
Nico Weber f79f68975d gn build: (manually) merge r373551
llvm-svn: 373554
2019-10-03 01:32:51 +00:00
GN Sync Bot 81f2da4d09 gn build: Merge r373538
llvm-svn: 373550
2019-10-03 00:47:13 +00:00
Nico Weber 641ecbd014 gn build: (manually) merge r373527
llvm-svn: 373534
2019-10-02 22:33:07 +00:00
GN Sync Bot 9ba60b38cc gn build: Merge r373489
llvm-svn: 373492
2019-10-02 17:23:41 +00:00
GN Sync Bot 5591722b5b gn build: Merge r373462
llvm-svn: 373463
2019-10-02 12:51:47 +00:00
Nico Weber b54302e37d gn build: (manually) merge r373425
llvm-svn: 373438
2019-10-02 09:48:16 +00:00
Nico Weber 9e763e1b36 gn build: (manually) merge r373407
llvm-svn: 373419
2019-10-02 01:26:46 +00:00
GN Sync Bot 081e9df1e1 gn build: Merge r373392
llvm-svn: 373393
2019-10-01 21:23:33 +00:00
Simon Pilgrim 9eb2bd6b8d Revert rL349624 : Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2
Differential Revision: https://reviews.llvm.org/D55842
-----------------
As discussed on PR43385 this is causing Visual Studio msbuilds to perpetually rebuild all tablegen generated files

llvm-svn: 373338
2019-10-01 13:39:43 +00:00
GN Sync Bot 1ec0894a82 gn build: Merge r373202
llvm-svn: 373204
2019-09-30 12:57:04 +00:00
Nico Weber 171c12bb1d gn build: (manually) merge r373082
llvm-svn: 373086
2019-09-27 13:14:34 +00:00
GN Sync Bot 940d0e2b8a gn build: Merge r373083
llvm-svn: 373085
2019-09-27 13:04:46 +00:00
Nico Weber 0eb4d9dd7a Reland "gn build: (manually) merge r373028"
This relands r373029, reverted in 373033, because r373028 relanded in r373066.

llvm-svn: 373070
2019-09-27 11:37:59 +00:00
Dmitri Gribenko da963abd53 Revert "gn build: (manually) merge r373028"
This reverts commit r373029, which depends on r373028, which I reverted.

llvm-svn: 373033
2019-09-26 23:30:47 +00:00
Nico Weber c2cc6817fa gn build: (manually) merge r373028
llvm-svn: 373029
2019-09-26 23:17:25 +00:00
Marco Antognini aefdc1e37a [gn build] Fix Python DeprecationWarning
Summary:
This fixes two issues:
 - DeprecationWarning: invalid escape sequence \`
 - ResourceWarning: unclosed file

Subscribers: mgorny, llvm-commits

Tags: #llvm

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

llvm-svn: 372876
2019-09-25 14:15:34 +00:00
Nico Weber 2c93d061f2 gn build: (manually) merge r372843
llvm-svn: 372850
2019-09-25 12:02:00 +00:00
GN Sync Bot 62aceecfaf gn build: Merge r372841
llvm-svn: 372842
2019-09-25 10:35:03 +00:00
GN Sync Bot 2d810475d4 gn build: Merge r372712
llvm-svn: 372713
2019-09-24 09:43:29 +00:00
GN Sync Bot 52c55d7fb5 gn build: Merge r372706
llvm-svn: 372707
2019-09-24 09:11:31 +00:00
GN Sync Bot 09855a2b50 gn build: Merge r372595
llvm-svn: 372597
2019-09-23 12:44:45 +00:00
GN Sync Bot 744814a48d gn build: Merge r372564
llvm-svn: 372581
2019-09-23 11:08:25 +00:00
Nico Weber f7d5f90c33 gn build: Friendlier error on invalid entries in llvm_targets_to_build
llvm-svn: 372515
2019-09-22 16:48:20 +00:00
Nico Weber 44b6e02f35 gn build: consolidate "Nothing to do" branches in targets.gni
No behavior change.

llvm-svn: 372512
2019-09-22 15:42:40 +00:00
Nico Weber 597ec24c14 gn build: Add missing RISCV to llvm_targets_to_build="all"
llvm-svn: 372506
2019-09-22 13:41:38 +00:00
Nico Weber 2e8d5d7399 gn build: Add build files for llvm/lib/Target/AVR
Differential Revision: https://reviews.llvm.org/D67872

llvm-svn: 372505
2019-09-22 13:17:38 +00:00
GN Sync Bot c96d5545f0 gn build: Merge r372445
llvm-svn: 372446
2019-09-21 01:27:09 +00:00
GN Sync Bot 927699490a gn build: Merge r372396
llvm-svn: 372397
2019-09-20 14:39:52 +00:00
GN Sync Bot aa6ef2eeac gn build: Merge r372343
llvm-svn: 372344
2019-09-19 17:53:03 +00:00
GN Sync Bot 98a57332ef gn build: Merge r372282
llvm-svn: 372283
2019-09-19 01:03:39 +00:00
GN Sync Bot bdad30a8b8 gn build: Merge r372267
llvm-svn: 372268
2019-09-18 22:21:52 +00:00
GN Sync Bot 79718839d2 gn build: Merge r372264
llvm-svn: 372265
2019-09-18 21:49:36 +00:00
GN Sync Bot fb6052c651 gn build: Merge r372238
llvm-svn: 372239
2019-09-18 17:48:49 +00:00
GN Sync Bot e2c61d726e gn build: Merge r372168
llvm-svn: 372173
2019-09-17 19:41:36 +00:00
GN Sync Bot 59f1f86c86 gn build: Merge r372162
llvm-svn: 372163
2019-09-17 19:00:41 +00:00
GN Sync Bot 8c2d2f6ee3 gn build: Merge r372149
llvm-svn: 372150
2019-09-17 17:51:27 +00:00
Nico Weber 84a2f5e8b7 gn build: (manually) merge r372076
llvm-svn: 372123
2019-09-17 14:06:05 +00:00
Nico Weber eded79b0d4 gn build: Merge r371976
llvm-svn: 371977
2019-09-16 11:33:54 +00:00
Nico Weber b49bcea420 gn build: Merge r371965
llvm-svn: 371966
2019-09-16 09:43:26 +00:00
Nico Weber ac32934f28 gn build: Merge r371959
llvm-svn: 371961
2019-09-16 07:34:23 +00:00
Nico Weber e7e8b51b03 gn build: pacify "gn format" after 371102
llvm-svn: 371858
2019-09-13 14:35:20 +00:00
Nico Weber 67503ba556 gn build: (manually) merge r371834, take 2
llvm-svn: 371851
2019-09-13 13:07:54 +00:00
Nico Weber d4604e0578 Revert "gn build: (manually) merge r371834"
This reverts commit abc7e2b600.
The commit was incomplete. I'll revert and reland the full commit,
so that the correct change is a single commit.

llvm-svn: 371850
2019-09-13 13:04:59 +00:00
Nico Weber abc7e2b600 gn build: (manually) merge r371834
llvm-svn: 371849
2019-09-13 12:59:06 +00:00
Nico Weber 902e553359 gn build: Merge r371822
llvm-svn: 371848
2019-09-13 12:58:58 +00:00
Nico Weber b6f4a7a107 gn build: (manually) merge r371787
llvm-svn: 371847
2019-09-13 12:58:52 +00:00
Nandor Licker 950b70dcc7 [Clang Interpreter] Initial patch for the constexpr interpreter
Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.

Reviewers: Bigcheese, jfb, rsmith

Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

Tags: #clang

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

llvm-svn: 371834
2019-09-13 09:46:16 +00:00
Nico Weber 52f6131cc7 gn build: Merge r371700
llvm-svn: 371701
2019-09-12 01:25:34 +00:00
Nico Weber 9769a5e7d5 gn build: Merge r371661
llvm-svn: 371670
2019-09-11 21:24:15 +00:00
Nico Weber efbd7371a0 gn build: Merge r371657
llvm-svn: 371669
2019-09-11 21:24:11 +00:00
Nico Weber 85eff49d74 gn build: Merge r371635
llvm-svn: 371636
2019-09-11 16:26:59 +00:00
Nico Weber b42565f2fc gn build: Merge r371562
llvm-svn: 371626
2019-09-11 14:40:16 +00:00
Nico Weber f78474ba8a gn build: add include_dir that's necessary after r371564
llvm-svn: 371611
2019-09-11 12:21:09 +00:00
Eric Christopher 5fc4bee355 Move LLVM_ENABLE_ABI_BREAKING_CHECKS variables to their own file
so that you don't have to link Error.o and all of its dependencies.

In more detail: global initializers in Error.o can't be elided with
-ffunction-sections/-gc-sections since they always need to be run
causing a fairly significant binary bloat if all you want is the
ABI breaking checks code.

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

llvm-svn: 371561
2019-09-10 22:05:01 +00:00
Dmitri Gribenko 2bf8d77453 Revert "Reland "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline.""
This reverts commit r371502, it broke tests
(clang/test/CodeGenCXX/auto-var-init.cpp).

llvm-svn: 371507
2019-09-10 10:39:09 +00:00
Clement Courbet 612c260ec3 Reland "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline."
With a fix for sanitizer breakage (see explanation in D60318).

llvm-svn: 371502
2019-09-10 09:18:00 +00:00
Nico Weber 88d6783f70 gn build: Merge r371488
llvm-svn: 371489
2019-09-10 06:31:59 +00:00
Nico Weber a6e5a7b637 gn build: Merge r371484
llvm-svn: 371485
2019-09-10 03:18:25 +00:00
Nico Weber 9396143412 gn build: Merge r371466
llvm-svn: 371479
2019-09-10 01:11:30 +00:00
Nico Weber fcbc512f80 gn build: (manually) merge r371429
llvm-svn: 371477
2019-09-10 00:48:20 +00:00
Nico Weber 68df9dc098 gn build: Merge r371182
llvm-svn: 371191
2019-09-06 09:44:13 +00:00
Nico Weber 3dbb5c7e88 gn build: Merge r371179
llvm-svn: 371190
2019-09-06 09:44:10 +00:00
Nico Weber b1cf175271 gn build: Merge r371159
llvm-svn: 371161
2019-09-06 01:22:13 +00:00
Nico Weber 3e144ab7fd gn build: Merge r371134
llvm-svn: 371135
2019-09-05 22:40:47 +00:00
Nico Weber 36b0571d21 gn build: Merge r371121
llvm-svn: 371123
2019-09-05 20:58:38 +00:00
Nico Weber 1d138a47e2 gn build: Merge r371117
llvm-svn: 371119
2019-09-05 20:38:24 +00:00
Nico Weber f6400e75eb gn build: Merge r371103
llvm-svn: 371105
2019-09-05 18:15:50 +00:00
Nico Weber 1465a40cf8 gn build: (manually) merge r358706
llvm-svn: 371102
2019-09-05 18:03:18 +00:00
Nico Weber ce7a37291d gn build: (manually) merge r371003
llvm-svn: 371091
2019-09-05 17:22:55 +00:00
Nico Weber 44ca0c55f0 gn build: Merge r370985
llvm-svn: 370988
2019-09-04 21:34:21 +00:00
Nico Weber e7befecc42 gn build: Merge r370862
llvm-svn: 370876
2019-09-04 11:08:09 +00:00
Roman Lebedev 2c9f83cfab Revert "[Clang Interpreter] Initial patch for the constexpr interpreter"
Breaks BUILD_SHARED_LIBS build, introduces cycles in library dependency
graphs. (clangInterp depends on clangAST which depends on clangInterp)

This reverts r370839, which is an yet another recommit of D64146.

llvm-svn: 370874
2019-09-04 10:57:06 +00:00
Nico Weber 5bfe8b562f gn build: Merge r370843
llvm-svn: 370844
2019-09-04 07:40:03 +00:00
Nandor Licker 32f82c9cba [Clang Interpreter] Initial patch for the constexpr interpreter
Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.

Reviewers: Bigcheese, jfb, rsmith

Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

Tags: #clang

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

llvm-svn: 370839
2019-09-04 05:49:41 +00:00
Nico Weber 600f5c5727 gn build: (manually) merge r370499
llvm-svn: 370752
2019-09-03 13:17:16 +00:00
Nico Weber 5f9aea72d6 gn build: Merge r370746
llvm-svn: 370749
2019-09-03 13:01:17 +00:00
Nandor Licker c3bdad8c1e Revert [Clang Interpreter] Initial patch for the constexpr interpreter
This reverts r370636 (git commit 8327fed947)

llvm-svn: 370642
2019-09-02 11:34:47 +00:00
Nandor Licker 8327fed947 [Clang Interpreter] Initial patch for the constexpr interpreter
Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.

Reviewers: Bigcheese, jfb, rsmith

Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

Tags: #clang

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

llvm-svn: 370636
2019-09-02 10:38:08 +00:00
Nandor Licker a6bef738bf Revert [Clang Interpreter] Initial patch for the constexpr interpreter
This reverts r370584 (git commit afcb3de117)

llvm-svn: 370588
2019-08-31 15:15:39 +00:00
Nandor Licker afcb3de117 [Clang Interpreter] Initial patch for the constexpr interpreter
Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.

Reviewers: Bigcheese, jfb, rsmith

Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

Tags: #clang

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

llvm-svn: 370584
2019-08-31 15:00:38 +00:00
Nico Weber b83b4e9405 gn build: Merge r370512
llvm-svn: 370516
2019-08-30 20:06:44 +00:00
Nico Weber 7b832322df gn build: Merge r370500
llvm-svn: 370501
2019-08-30 18:55:11 +00:00
Nico Weber 9976a5bc1d gn build: Merge r370490
llvm-svn: 370492
2019-08-30 17:30:08 +00:00
Nico Weber 629f921568 gn build: Merge r370441
llvm-svn: 370442
2019-08-30 08:26:37 +00:00
Nico Weber 6acfc7c587 gn build: Merge r370249
llvm-svn: 370251
2019-08-28 19:38:59 +00:00
Nico Weber d2f5854567 gn build: Merge r370187
llvm-svn: 370188
2019-08-28 11:42:20 +00:00
Nico Weber 09df43ca4b gn build: Merge r369918
llvm-svn: 369953
2019-08-26 19:27:26 +00:00
Nico Weber b7046859c7 gn build: color linker errors when using lld
llvm-svn: 369951
2019-08-26 19:22:41 +00:00
Nico Weber d9117e4e84 gn build: (manually) merge r369741
llvm-svn: 369950
2019-08-26 19:22:39 +00:00
Nico Weber 7e3d043459 gn build: (manually) merge r369940
llvm-svn: 369948
2019-08-26 19:08:43 +00:00
Peter Collingbourne 21a1814417 hwasan: Untag unwound stack frames by wrapping personality functions.
One problem with untagging memory in landing pads is that it only works
correctly if the function that catches the exception is instrumented.
If the function is uninstrumented, we have no opportunity to untag the
memory.

To address this, replace landing pad instrumentation with personality function
wrapping. Each function with an instrumented stack has its personality function
replaced with a wrapper provided by the runtime. Functions that did not have
a personality function to begin with also get wrappers if they may be unwound
past. As the unwinder calls personality functions during stack unwinding,
the original personality function is called and the function's stack frame is
untagged by the wrapper if the personality function instructs the unwinder
to keep unwinding. If unwinding stops at a landing pad, the function is
still responsible for untagging its stack frame if it resumes unwinding.

The old landing pad mechanism is preserved for compatibility with old runtimes.

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

llvm-svn: 369721
2019-08-23 01:28:44 +00:00
Nico Weber ed184b03d2 gn build: Merge r369680
llvm-svn: 369682
2019-08-22 18:22:05 +00:00
Nico Weber f12d56f263 gn build: Merge r369677
llvm-svn: 369678
2019-08-22 17:53:18 +00:00
Nico Weber 6e8b79e308 gn build: Merge r369605
llvm-svn: 369608
2019-08-22 00:40:55 +00:00
Nico Weber edb08da450 gn build: Merge r369600
llvm-svn: 369603
2019-08-22 00:01:59 +00:00
Nico Weber 40902b48dd gn build: Merge r369591
llvm-svn: 369594
2019-08-21 22:26:02 +00:00
Nico Weber e1f27e4ad1 gn build: Merge r369587
llvm-svn: 369593
2019-08-21 22:25:57 +00:00
Nico Weber d7887cf849 gn build: Merge r369568
llvm-svn: 369572
2019-08-21 20:20:36 +00:00
Nico Weber fe7eca239b gn build: Make sync script not exit 1 if it writes changes
llvm-svn: 369571
2019-08-21 20:13:00 +00:00
Nico Weber 6fa300aa1e gn build: Merge r369467
llvm-svn: 369476
2019-08-20 23:49:12 +00:00
Nico Weber 184bc069c6 gn build: Merge r369298
llvm-svn: 369401
2019-08-20 16:19:50 +00:00
Nico Weber 76053297bd gn build: Merge r369064
llvm-svn: 369074
2019-08-16 00:04:48 +00:00
Nico Weber 78d1323b26 gn build: Merge r369061
llvm-svn: 369073
2019-08-16 00:04:42 +00:00
Nico Weber 1af501c092 gn build: Merge r369039
llvm-svn: 369047
2019-08-15 21:00:33 +00:00
Nico Weber d9ebe58be2 gn build: Merge r369018
llvm-svn: 369046
2019-08-15 21:00:26 +00:00
Vitaly Buka 8f6a84d6c3 gn build: Merge r368918
llvm-svn: 368951
2019-08-15 01:38:30 +00:00
Nico Weber 891ea7ce64 gn build: Pre-merge https://reviews.llvm.org/D66195
llvm-svn: 368840
2019-08-14 12:38:43 +00:00
Nico Weber 58f03f2128 gn build: Extract git() and git_out() functions in sync script
llvm-svn: 368671
2019-08-13 11:48:15 +00:00
Nico Weber 7ed816bade gn build: Merge r368630
llvm-svn: 368668
2019-08-13 11:32:54 +00:00
Nico Weber d5f873e6a0 gn build: Give cmake sync script an opt-in --write flag
Differential Revision: https://reviews.llvm.org/D66101

llvm-svn: 368667
2019-08-13 11:32:45 +00:00
Nico Weber 01dab0ed97 gn build: Make sync script group output by revision
Differential Revision: https://reviews.llvm.org/D66090

llvm-svn: 368665
2019-08-13 11:24:20 +00:00
Nico Weber c9f476a503 gn build: Merge r368592
llvm-svn: 368601
2019-08-12 18:33:10 +00:00
Peter Collingbourne 41ac83de6a gn build: Merge r368432.
llvm-svn: 368470
2019-08-09 19:28:53 +00:00
Peter Collingbourne 57e2d74729 gn build: Merge r368439.
llvm-svn: 368469
2019-08-09 19:28:44 +00:00
Peter Collingbourne 66ad48e97d gn build: Merge r368402.
llvm-svn: 368468
2019-08-09 19:28:35 +00:00
Peter Collingbourne 13dc20ddae gn build: Merge r368392.
llvm-svn: 368467
2019-08-09 19:28:26 +00:00
Peter Collingbourne 353aa77a57 gn build: Merge r368358.
llvm-svn: 368466
2019-08-09 19:28:17 +00:00
Peter Collingbourne 01048033d2 gn build: Merge r368331.
llvm-svn: 368333
2019-08-08 20:11:23 +00:00
Nico Weber e75ccf85fe gn build: Merge r368158
llvm-svn: 368179
2019-08-07 15:30:44 +00:00
Nico Weber 3a7c85a8d4 gn build: Merge r368119
llvm-svn: 368178
2019-08-07 15:29:01 +00:00
Peter Collingbourne 75e557c8e2 gn build: Merge r368065.
llvm-svn: 368099
2019-08-06 21:48:06 +00:00
Peter Collingbourne 0974e2257a gn build: Merge r368052.
llvm-svn: 368098
2019-08-06 21:47:55 +00:00
Peter Collingbourne bd3d6677bc gn build: Merge r368054.
llvm-svn: 368097
2019-08-06 21:47:46 +00:00
Peter Collingbourne 9272a3c04f gn build: Merge r368086.
llvm-svn: 368096
2019-08-06 21:47:37 +00:00
Peter Collingbourne 7ae4713771 gn build: Merge r368070.
llvm-svn: 368095
2019-08-06 21:47:27 +00:00
Dmitri Gribenko bd1721e534 Revert "gn build: Merge r368021"
This reverts commit r368025, which depends on r368021, which needs to be
reverted.

llvm-svn: 368034
2019-08-06 13:39:27 +00:00
Nico Weber b2ec7a0da6 gn build: Merge r368024
llvm-svn: 368027
2019-08-06 13:12:26 +00:00
Nico Weber 87951c89d7 gn build: Merge r368021
llvm-svn: 368025
2019-08-06 13:08:54 +00:00
Nico Weber 96dd95fd95 gn build: Add AMDGPU target
Differential Revision: https://reviews.llvm.org/D65767

llvm-svn: 367972
2019-08-06 02:25:49 +00:00
Nico Weber 08fd65964f gn build: Leave a comment why "-gen-searchable-table" tablegen()s are not called FooGenSearchableTable
llvm-svn: 367971
2019-08-06 02:21:50 +00:00
Nico Weber 139fb5d478 gn build: Merge r367917
llvm-svn: 367970
2019-08-06 02:17:05 +00:00
Nico Weber 2f238bd5ba gn build: run "gn format"
llvm-svn: 367890
2019-08-05 16:55:04 +00:00
Nico Weber 0039f87fa5 gn build: Merge r367864
llvm-svn: 367868
2019-08-05 14:22:21 +00:00
Nico Weber e4bb2b181f gn build: Merge r367839
llvm-svn: 367844
2019-08-05 12:44:53 +00:00
Nico Weber 2ca1548299 gn build: Merge r367756
llvm-svn: 367795
2019-08-04 23:34:27 +00:00
Peter Collingbourne a13a827c99 gn build: Merge r367667.
llvm-svn: 367692
2019-08-02 17:02:05 +00:00
Nico Weber 1a7f03e716 gn build: Merge r367463
llvm-svn: 367464
2019-07-31 18:56:49 +00:00
Nico Weber 62a0585530 compiler-rt: Rename .cc file in lib/profile to .cpp
See https://reviews.llvm.org/D58620 for discussion.

Note how the comment in the file already said ".cpp" :)

llvm-svn: 367460
2019-07-31 18:21:08 +00:00
Nico Weber cf0a646d3c gn build: Merge r367456
llvm-svn: 367457
2019-07-31 18:04:03 +00:00
Nico Weber 14ebf72315 gn build: Merge r367452 and add standalone sources
llvm-svn: 367454
2019-07-31 17:56:45 +00:00
Nico Weber b206c3e3e4 gn build: Add build files for compiler-rt/lib/profile
Differential Revision: https://reviews.llvm.org/D65518

llvm-svn: 367450
2019-07-31 17:15:32 +00:00
Nico Weber f3014984cf gn build: Make builtin library build on macOS
For now, it only builds the x86_64 slice.

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

llvm-svn: 367449
2019-07-31 17:12:33 +00:00
Nico Weber e4001bacc2 gn build: Fix redundant object files in builtin lib.
compiler-rt's builtin library has generic implementations of many
functions, and then per-arch optimized implementations of some.

In the CMake build, both filter_builtin_sources() and an explicit loop
at the end of the build file (see D37166) filter out the generic
versions if a per-arch file is present.

The GN build wasn't doing this filtering. Just do the filtering manually
and explicitly, instead of being clever.

While here, also remove files from the mingw/arm build that are
redundantly listed after D39938 / r318139 (both from the CMake and the
GN build).

While here, also fix a target_os -> target_cpu typo.

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

llvm-svn: 367448
2019-07-31 17:08:34 +00:00
Nico Weber 4593ce804b gn build: Merge r367393
llvm-svn: 367422
2019-07-31 12:19:28 +00:00
Nico Weber 95ab5e6eb7 gn build: Merge r367364
llvm-svn: 367366
2019-07-30 23:38:09 +00:00
Nico Weber 3b0769b7b4 gn build: Update comment I failed to update in r367340 / D65462
llvm-svn: 367341
2019-07-30 18:19:13 +00:00
Nico Weber 2859bbb3e2 gn build: Fix check-clang-tools after r362702.
r362702 added a test that requires clang-tidy to be linked
into libclang, so add that to the gn build.

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

llvm-svn: 367340
2019-07-30 18:16:55 +00:00
Hans Wennborg 9ad716ed39 gn build: Use rebase_path on filename args to libcxx/utils/gen_link_script.py
$ ninja -j800
  [1/5] ACTION //libcxx/src:cxx_linker_script(//llvm/utils/gn/build/toolchain:stage2_unix)
  FAILED: lib/libc++.so
  python ../libcxx/utils/gen_link_script.py --input //build.gn/lib/libc++.so.0 --output //build.gn/lib/libc++.so c++abi unwind
  GENERATING SCRIPT: 'INPUT(libc++.so.0 -lc++abi -lunwind)' as file //build.gn/lib/libc++.so
  Traceback (most recent call last):
    File "../libcxx/utils/gen_link_script.py", line 57, in <module>
      sys.exit(main())
    File "../libcxx/utils/gen_link_script.py", line 50, in main
      with open(args.output, 'w') as f:
  IOError: [Errno 2] No such file or directory: '//build.gn/lib/libc++.so'
  ninja: build stopped: subcommand failed.

Differential revision: https://reviews.llvm.org/D65449

llvm-svn: 367314
2019-07-30 14:17:58 +00:00
Eric Fiselier a2a6f85366 [clang-tidy]: Google: new check 'google-upgrade-googletest-case'
Introduce a new check to upgrade user code based on API changes in Googletest.

The check finds uses of old Googletest APIs with "case" in their name and replaces them with the new APIs named with "suite".

Patch by Alex Strelnikov (strel@google.com)
Reviewed as D62977.

llvm-svn: 367263
2019-07-29 21:38:56 +00:00