Commit Graph

1846 Commits

Author SHA1 Message Date
LLVM GN Syncbot ff7f27fe67 [gn build] Port 1977c53b2a 2021-05-02 02:55:47 +00:00
LLVM GN Syncbot 7994615ea0 [gn build] Port 02c5ba8679 2021-05-01 00:09:37 +00:00
LLVM GN Syncbot e01e9a2e31 [gn build] Port 2d28100bf2 2021-04-30 20:17:55 +00:00
LLVM GN Syncbot adf4dc0561 [gn build] Port c6f20d70a8 2021-04-30 17:30:08 +00:00
LLVM GN Syncbot 5596bc40e6 [gn build] Port 7c17731596 2021-04-30 17:00:36 +00:00
LLVM GN Syncbot 8ebbaf17f9 [gn build] Port 5a3309f825 2021-04-30 17:00:35 +00:00
LLVM GN Syncbot 4978bf65ad [gn build] Port 43bc584dc0 2021-04-30 13:48:40 +00:00
LLVM GN Syncbot 5fbea82692 [gn build] Port df323ba445 2021-04-29 16:59:58 +00:00
Benjamin Kramer df323ba445 Revert "[X86] Support AMX fast register allocation"
This reverts commit 3b8ec86fd5.

Revert "[X86] Refine AMX fast register allocation"

This reverts commit c3f95e9197.

This pass breaks using LLVM in a multi-threaded environment by
introducing global state.
2021-04-29 18:56:33 +02:00
Nico Weber 671f0e2e18 [clang] Make libBasic not depend on MC
Reduces numbers of files built for clang-format from 575 to 449.

Requires two small changes:

1. Don't use llvm::ExceptionHandling in LangOptions. This isn't
   even quite the right type since we don't use all of its values.
   Tweaks the changes made in:
   - https://reviews.llvm.org/D93215
   - https://reviews.llvm.org/D93216

2. Move section name validation code added (long ago) in commit 30ba67439 out
   of libBasic into Sema and base the check on the triple. This is a bit less
   OOP-y, but completely in line with what we do in many other places in Sema.

No behavior change.

Differential Revision: https://reviews.llvm.org/D101463
2021-04-28 12:16:22 -04:00
Nico Weber 3d974ac9fc [gn build] (port) 64bc44f5dd and f8de9aaef2 some more 2021-04-28 09:59:07 -04:00
Nico Weber 0f1137ba79 [clang/Basic] Make TargetInfo.h not use DataLayout again
Reverts parts of https://reviews.llvm.org/D17183, but keeps the
resetDataLayout() API and adds an assert that checks that datalayout string and
user label prefix are in sync.

Approach 1 in https://reviews.llvm.org/D17183#2653279
Reduces number of TUs build for 'clang-format' from 689 to 575.

I also implemented approach 2 in D100764. If someone feels motivated
to make us use DataLayout more, it's easy to revert this change here
and go with D100764 instead. I don't plan on doing more work in this
area though, so I prefer going with the smaller, more self-consistent change.

Differential Revision: https://reviews.llvm.org/D100776
2021-04-27 22:26:10 -04:00
Nico Weber c35fadceab [gn build] (manually) port 82d3c0759f 2021-04-27 22:25:55 -04:00
LLVM GN Syncbot 4cf942adab [gn build] Port 241c2da406 2021-04-27 16:56:33 +00:00
LLVM GN Syncbot 889fcb2f74 [gn build] Port 51495fd285 2021-04-27 05:57:29 +00:00
LLVM GN Syncbot 891d1e160b [gn build] Port d122d80b3d 2021-04-27 04:24:09 +00:00
LLVM GN Syncbot c6d5e6bc61 [gn build] Port 7aa3cad46a 2021-04-27 00:18:13 +00:00
LLVM GN Syncbot 5daa135a6f [gn build] Port bbddadd46e 2021-04-26 22:16:25 +00:00
LLVM GN Syncbot d7308da4a5 [gn build] Port caf1294d95 2021-04-26 21:24:36 +00:00
LLVM GN Syncbot d3a2038955 [gn build] Port 8740360093 2021-04-26 21:04:24 +00:00
Nico Weber 5529878f8e [gn build] reformat all gn files
$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
2021-04-26 16:04:23 -04:00
Nico Weber 7673bd56ff [gn build] (manually) port f8de9aaef2 2021-04-26 16:03:50 -04:00
LLVM GN Syncbot 92880ab7a2 [gn build] Port 1cea7ab4ba 2021-04-25 12:00:31 +00:00
LLVM GN Syncbot c5cb5053a9 [gn build] Port a354fd56c5 2021-04-25 11:27:54 +00:00
Xiang1 Zhang 3b8ec86fd5 [X86] Support AMX fast register allocation
Differential Revision: https://reviews.llvm.org/D100026
2021-04-25 09:45:41 +08:00
LLVM GN Syncbot f2bf9322b5 [gn build] Port c623945d70 2021-04-23 09:26:02 +00:00
Nico Weber d1bbb8533a [gn build] (manually) port 0b2bc69ba2 2021-04-22 22:40:53 -04:00
Fangrui Song ef5e7f90ea Temporarily revert the code part of D100981 "Delete le32/le64 targets"
This partially reverts commit 77ac823fd2.

Halide uses le32/le64 (https://github.com/halide/Halide/pull/5934).
Temporarily brings back the code part to give them some time for migration.
2021-04-22 10:18:44 -07:00
Nico Weber 46991ad266 [gn build] (manually) port aee6c86c4d better
"EmptyNodeIntrospection.inc.in" needs to be a source of the action,
so that ninja knows to rerun this action if that input changes.
2021-04-22 08:41:40 -04:00
Nico Weber b13e9d72da [gn build] (manually) port aee6c86c4d 2021-04-22 08:36:19 -04:00
Fangrui Song 77ac823fd2 Delete le32/le64 targets
They are unused now.

Note: NaCl is still used and is currently expected to be needed until 2022-06
(https://blog.chromium.org/2020/08/changes-to-chrome-app-support-timeline.html).

Differential Revision: https://reviews.llvm.org/D100981
2021-04-21 18:44:12 -07:00
Nico Weber e6eaacbf0b [gn build] add llvm-profgen to gn build
Didn't notice it missing due to https://reviews.llvm.org/D89707#2705110
2021-04-21 11:50:41 -04:00
LLVM GN Syncbot 35c564dc96 [gn build] Port 97e383aa06 2021-04-21 15:39:33 +00:00
LLVM GN Syncbot d51b22d782 [gn build] Port 120fa8293e 2021-04-20 15:33:43 +00:00
Nico Weber 476155e68e [gn build] reformat all gn files
$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format

(and manually wrap two comments)
2021-04-20 10:34:08 -04:00
Nico Weber 1a3f88658a [llvm-objdump] Add an llvm-otool tool
This implements an LLVM tool that's flag- and output-compatible
with macOS's `otool` -- except for bugs, but from testing with both
`otool` and `xcrun otool-classic`, llvm-otool matches vanilla
otool's behavior very well already. It's not 100% perfect, but
it's a very solid start.

This uses the same approach as llvm-objcopy: llvm-objdump uses
a different OptTable when it's invoked as llvm-otool. This
is possible thanks to D100433.

Differential Revision: https://reviews.llvm.org/D100583
2021-04-20 08:24:58 -04:00
LLVM GN Syncbot 03b98114ce [gn build] Port e0adf7e06a 2021-04-19 18:35:15 +00:00
Nico Weber 004d807f4d [gn build] (manually) merge 5f87ab336e 2021-04-19 10:34:41 -04:00
Nico Weber f12b7daaf1 [gn build] Add missing dependencies to clang/lib/Basic
These are needed when buildling `clang-format` in a clean build dir.
It's a bit unfortunate that clang's lib/Basic depends on these
random TableGen targets. In the CMake build, this is less visible
because I think all llvm-tblgen's complete before all compiles there
(not sure though).
2021-04-19 10:30:10 -04:00
LLVM GN Syncbot 410d4492e3 [gn build] Port 01ace074fc 2021-04-18 11:35:28 +00:00
Nico Weber bc636c1c2c [gn build] (manually) port ca6751043d better 2021-04-16 18:16:29 -04:00
Nico Weber 48cc5b0d35 [gn build] (manually) port ca6751043d 2021-04-16 18:03:44 -04:00
LLVM GN Syncbot 68744bb479 [gn build] Port 3bc88eb392 2021-04-16 01:16:51 +00:00
LLVM GN Syncbot 915a778098 [gn build] Port 82787eb228 2021-04-15 18:54:08 +00:00
LLVM GN Syncbot 730c0b6ea3 [gn build] Port b7459a10da 2021-04-15 01:52:03 +00:00
Nico Weber 1035123ac5 [llvm-objdump] Switch command-line parsing from llvm::cl to OptTable
This is similar to D83530, but for llvm-objdump.

The motivation is the desire to add an `llvm-otool` symlink to
llvm-objdump that behaves like macOS's `otool`, using the same
technique the at llvm-objcopy uses to behave like `strip` (etc).

This change for the most part preserves behavior. In some cases,
it increases compatibility with GNU objdump a bit. For example,
the long options now require two dashes, and the long options
taking arguments for the most part now require a `=` in front
of the value. Exceptions are flags where tests passed the
value separately, for these the separate form is kept as
an alias to the = form.

The one-letter short form args are now joined or separate
and long longer accept a =, which also matches GNU objdump.

cl::opt<>s in libraries now have to be explicitly plumbed
through. This patch does that for --x86-asm-syntax=, but
there's hope that we can remove that again.

Differential Revision: https://reviews.llvm.org/D100433
2021-04-14 20:12:24 -04:00
LLVM GN Syncbot c0fa3fe4aa [gn build] Port f992cfba71 2021-04-14 18:37:22 +00:00
LLVM GN Syncbot 89dc4e3312 [gn build] Port e98060fa72 2021-04-14 18:37:21 +00:00
Nico Weber e200690381 [gn build] try to make sync_source_lists_from_cmake.py py3-compatible 2021-04-14 14:36:29 -04:00
LLVM GN Syncbot 34367dd253 [gn build] Port bbab9f986c 2021-04-14 13:59:02 +00:00