Commit Graph

10506 Commits

Author SHA1 Message Date
Noah Shutty
e678c51177 [Support][ThinLTO] Move ThinLTO caching to LLVM Support library
We would like to move ThinLTO’s battle-tested file caching mechanism to
the LLVM Support library so that we can use it elsewhere in LLVM.

Patch By: noajshu

Differential Revision: https://reviews.llvm.org/D111371
2021-10-18 18:57:25 -07:00
LLVM GN Syncbot
ff6fe9a2f1 [gn build] Port 8e46e34d24 2021-10-18 19:24:29 +00:00
LLVM GN Syncbot
25107cc8b1 [gn build] Port 92b8cc52bb 2021-10-18 19:09:19 +00:00
LLVM GN Syncbot
239bdf461c [gn build] Port 009f3a89d8 2021-10-18 16:52:00 +00:00
Luo, Yuanke
942536ac08 [X86] Prefer VEX encoding in X86 assembler.
This patch is to order the AVX instructions ahead of AVX512 instructions
in the matching table so that the AVX instructions can be matched first.
Thanks Craig and Shengchen for the idea.

Differential Revision: https://reviews.llvm.org/D111538
2021-10-18 16:54:11 +08:00
LLVM GN Syncbot
1d7aadb4c4 [gn build] Port ff13189c5d 2021-10-17 08:39:45 +00:00
Craig Topper
64591f217d [TableGen] Replace static_cast with llvm's cast. NFC
These all appear next to an isa<> and cast<> is much more
common in these cases.
2021-10-16 00:27:53 -07:00
Rong Xu
21abe21280 [TableGen][PGO] Disable profile instrumentation for printInstruction function
We are seeing extremely long time in building AMDGPUInstPrinter.cpp
when profile instrumentation is enabled: It takes more than 5 minutes
(compared to ~8 seconds in non-instrument build).

This caused by the huge statements in printInstruction functions. In
profile instrumentation build, we need have extra control flow to
differentiate each case statement. This in turn adds significant
compile time in block placement and branch folding.

Function printInstruction is not likely to benefit from PGO build
as it's rarely executed in a typical compilation. So here I disable
the profile instrumentation for this function.

Differential Revision: https://reviews.llvm.org/D111682
2021-10-14 13:41:55 -07:00
Nico Weber
8e184f3d2a [gn build] (manually) port 6c76d01011 2021-10-13 18:43:16 -04:00
LLVM GN Syncbot
8a9faef30e [gn build] Port dd71b65ca8 2021-10-13 14:58:13 +00:00
LLVM GN Syncbot
27bc1e6164 [gn build] Port 9cf995be6b 2021-10-12 17:32:05 +00:00
LLVM GN Syncbot
e9119a74d9 [gn build] Port 838b4a533e 2021-10-12 17:32:04 +00:00
Nico Weber
532d71c8b0 [gn build] (manually) port 67f94e5a97 2021-10-12 13:31:50 -04:00
Craig Topper
aefaf16758 [TableGen] Fix both sides of '&&' are same
The operand of the second any_of in EnforceSmallerThan should be
B not S like the FP code in the if below.

Unfortunately, fixing that causes an infinite loop in the build
of RISCV. So I've added a workaround for that as well.

Fixes PR44768.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D111502
2021-10-12 09:19:20 -07:00
LLVM GN Syncbot
269d0e223a [gn build] Port f4c1258d56 2021-10-12 10:50:41 +00:00
Nico Weber
e19bbd0fa2 [gn build] (manually) port f4c1258d56 2021-10-12 06:34:34 -04:00
LLVM GN Syncbot
db832d4618 [gn build] Port 962a2479b5 2021-10-12 04:51:58 +00:00
Nico Weber
63aab4065b [gn build] (manually) port 070315d04c 2021-10-11 14:30:31 -04:00
Vitaly Buka
76b7784bcd [NFC][sanitizer] Rename ByteMap to Map 2021-10-10 22:23:48 -07:00
LLVM GN Syncbot
816e9d81e2 [gn build] Port f341161689 2021-10-11 02:15:38 +00:00
LLVM GN Syncbot
98c9b3362f [gn build] Port 3df094d31e 2021-10-11 02:15:37 +00:00
Nico Weber
e2a2e5475c Revert "Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)""
This reverts commit 842035d8bd.
1dba6b3 was reverted yet again in 04aff39504.
2021-10-09 10:18:52 -04:00
Reid Kleckner
89b57061f7 Move TargetRegistry.(h|cpp) from Support to MC
This moves the registry higher in the LLVM library dependency stack.
Every client of the target registry needs to link against MC anyway to
actually use the target, so we might as well move this out of Support.

This allows us to ensure that Support doesn't have includes from MC/*.

Differential Revision: https://reviews.llvm.org/D111454
2021-10-08 14:51:48 -07:00
Vitaly Buka
05d46f627c [NFC][sanitizer] Remove sanitizer_persistent_allocator.cpp
We need to make it a template
2021-10-08 13:43:28 -07:00
LLVM GN Syncbot
708c267d7d [gn build] Port 30caca39f4 2021-10-08 11:24:14 +00:00
Nico Weber
842035d8bd Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)"
This reverts commit 98d0f8f2ff.
6fe2beba7d relanded in 1dba6b37bd.
2021-10-08 07:17:04 -04:00
LLVM GN Syncbot
a34dffb548 [gn build] Port 7fb9f99f3b 2021-10-07 15:19:45 +00:00
LLVM GN Syncbot
2cb4f53612 [gn build] Port 49e736d845 2021-10-07 15:19:44 +00:00
LLVM GN Syncbot
6c8e80c3c2 [gn build] Port 3e9689d72c 2021-10-07 15:11:38 +00:00
LLVM GN Syncbot
c50162b271 [gn build] Port d550930afc 2021-10-07 15:03:32 +00:00
LLVM GN Syncbot
ae4c0c7cfc [gn build] Port ccfb0555f7 2021-10-06 22:24:38 +00:00
LLVM GN Syncbot
9f5c70c7ad [gn build] Port 67231650e6 2021-10-06 20:22:05 +00:00
Nico Weber
07e5394c63 [gn build] (manually) port 77d5ccdc6f
(similar to 64f623d4c3)
2021-10-06 15:41:38 -04:00
LLVM GN Syncbot
665662a71e [gn build] Port 10f16bc7b2 2021-10-06 17:59:12 +00:00
LLVM GN Syncbot
1e013f112e [gn build] Port a30a36f66a 2021-10-06 11:59:40 +00:00
LLVM GN Syncbot
a67b1220f5 [gn build] Port fc36fb4d23 2021-10-06 08:40:14 +00:00
Markus Lavin
91d15aa0b8 [NPM] Automatic 'opt' pipeline reducer script.
Script for automatic 'opt' pipeline reduction for when using the new
pass-manager (NPM). Based around the '-print-pipeline-passes' option.

The reduction algorithm consists of several phases (steps).

Step #0: Verify that input fails with the given pipeline and make note of the
error code.

Step #1: Split pipeline in two starting from front and move forward as long as
first pipeline exits normally and the second pipeline fails with the expected
error code. Move on to step #2 with the IR from the split point and the
pipeline from the second invocation.

Step #2: Remove passes from end of the pipeline as long as the pipeline fails
with the expected error code.

Step #3: Make several sweeps over the remaining pipeline trying to remove one
pass at a time. Repeat sweeps until unable to remove any more passes.

Usage example:
./utils/reduce_pipeline.py --opt-binary=./build-all-Debug/bin/opt --input=input.ll --output=output.ll --passes=PIPELINE [EXTRA-OPT-ARGS ...]

Differential Revision: https://reviews.llvm.org/D110908
2021-10-06 09:09:33 +02:00
Simon Pilgrim
3ca232feb3 [TableGen] CodeEmitterGen - emit report_fatal_error(const char*) instead of report_fatal_error(std::string&)
As described on D111049, we're trying to remove the <string> dependency from error handling. In most cases the plan is to use the Twine() variant directly but to reduce introducing additional headers for the generated files, I'm using the const char* variant here instead.
2021-10-05 17:03:18 +01:00
LLVM GN Syncbot
8b2d6fd6cb [gn build] Port 214054f78a 2021-10-05 10:41:33 +00:00
LLVM GN Syncbot
e66121b68e [gn build] Port cfef1803dd 2021-10-05 04:34:07 +00:00
LLVM GN Syncbot
72abda418e [gn build] Port 811b1736d9 2021-10-04 15:13:27 +00:00
Jay Foad
a9bceb2b05 [APInt] Stop using soft-deprecated constructors and methods in llvm. NFC.
Stop using APInt constructors and methods that were soft-deprecated in
D109483. This fixes all the uses I found in llvm, except for the APInt
unit tests which should still test the deprecated methods.

Differential Revision: https://reviews.llvm.org/D110807
2021-10-04 08:57:44 +01:00
Dávid Bolvanský
b1fcca3884 Fixed warnings in LLVM produced by -Wbitwise-instead-of-logical 2021-10-03 13:04:18 +02:00
LLVM GN Syncbot
e420164f40 [gn build] Port 657f02d458 2021-10-02 00:21:42 +00:00
LLVM GN Syncbot
4cdee8de6b [gn build] Port c8c2b4629f 2021-10-01 20:14:30 +00:00
LLVM GN Syncbot
06cea95a5a [gn build] Port 33dd98e9e4 2021-10-01 18:18:21 +00:00
LLVM GN Syncbot
9c49587cc1 [gn build] Port 47d6274d4c 2021-10-01 14:57:31 +00:00
LLVM GN Syncbot
4f0a39b9b4 [gn build] Port fb99424a6f 2021-10-01 14:29:37 +00:00
LLVM GN Syncbot
fcdefc8575 [gn build] Port 3077bc90de 2021-10-01 00:43:50 +00:00
LLVM GN Syncbot
0337e228c1 [gn build] Port 050edef853 2021-09-30 19:35:12 +00:00