1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Commit Graph

9255 Commits

Author SHA1 Message Date
Alexandre Ganea
8eda5d6321 Revert [lit] Support running tests on Windows without GnuWin32
This reverts b3418cb4eb1456c41606f4621dcfa362fe54183c and d12ae042e17b27ebc8d2b5ae3d8dd5f88384d093

This breaks some external bots, see discussion in https://reviews.llvm.org/D84380

In the meanwhile, please use `cmake -DLLVM_LIT_TOOLS_DIR="C:/Program Files/Git/usr/bin"` or add it to %PATH%.
2020-10-06 15:38:18 -04:00
LLVM GN Syncbot
045458557c [gn build] Port aa2b593f149 2020-10-06 14:49:44 +00:00
LLVM GN Syncbot
f024187bee [gn build] Port d6c9dc3c17e 2020-10-06 12:02:07 +00:00
Joseph Huber
058a89097b Revert "[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload"
Reverting because detecting architecture size doesn't work on all
platforms.

This reverts commit eaf73293cb6b8d45dd85ffced57aea7ad4177754.
2020-10-05 12:35:39 -04:00
Joseph Huber
34a590c455 [OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload
Summary:
This patch adds an error to Clang that detects if OpenMP offloading is
used between two architectures with incompatible pointer sizes. This
ensures that the data mapping can be done correctly and solves an issue
in code generation generating the wrong size pointer. This patch adds a
new lit substitution, %omp_powerpc_triple that, if the system is 32-bit or
64-bit, sets the powerpc triple accordingly. This was required to fix
some OpenMP tests that automatically populated the target architecture.

Reviewers: jdoerfert

Subscribers: cfe-commits guansong sstefan1 yaxunl delcypher

Tags: OpenMP clang LLVM

Differential Revision: https://reviews.llvm.org/D88594
2020-10-05 11:02:13 -04:00
Dmitry Preobrazhensky
487e45e4f5 [TableGen] Added a function for identification of unsupported opcodes.
This change implements generation of a function which may be used by a backend to check if a given instruction is supported for a specific subtarget.

Reviewers: sdesmalen

Differential Revision: https://reviews.llvm.org/D88214
2020-10-05 14:23:41 +03:00
Gabriel Hjort Åkerlund
ba5a05d667 [TableGen][GlobalISel] add handling of nested *_SUBREG
When nesting INSERT_SUBREG and EXTRACT_SUBREG, GlobalISelEmitter would
fail to find the register class of the nested node. This patch fixes
that for registers with subregs.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D88487
2020-10-05 10:42:18 +02:00
LLVM GN Syncbot
90e91d175f [gn build] Port 6c6cd5f8a97 2020-10-04 19:10:39 +00:00
LLVM GN Syncbot
235ba6748a [gn build] Port ace644030e6 2020-10-02 23:59:59 +00:00
Arthur Eubanks
63659fb23e [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
6db7f6f068 [gn build] Port 0c1bb4f8851 2020-10-02 14:24:01 +00:00
Paul C. Anagnostopoulos
6ec902749c [TableGen] New backend to print detailed records.
Pertinent lints are fixed.
2020-10-02 10:22:13 -04:00
Arthur Eubanks
f70b28627d [gn build] Support building with ThinLTO
Differential Revision: https://reviews.llvm.org/D88584
2020-10-01 13:48:31 -07:00
Reid Kleckner
f0bf98943a [lit] Fix Python 2/3 compat in new winreg search code
This should fix the test failures on the clang win64 bot:
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/18830
It has been red since Sept 23-ish.

This was subtle to debug. Windows has 'find' and 'sort' utilities in
C:\Windows\system32, but they don't support all the same flags as the
coreutils programs. I configured the buildbot above with Python 2.7
64-bit (hey, it was set up in 2016). When I installed git for Windows, I
opted to add all the Unix utilities that come with git to the system
PATH. This is *almost* enough to make the LLVM tests pass, but not
quite, because if you use the system PATH, the Windows version of find
and sort come first, but the tests that use diff, cmp, etc, will all
pass. So only a handful of tests will fail, and with cryptic error
messages.

The code changed in this CL doesn't work with Python 2. Before
Python 3.2, the winreg.OpenKey function did not accept the `access=`
keyword argument, the caller was required to pass an unused `reserved`
positional argument of 0. The try/except/pass around the OpenKey
operation masked this usage error in Python 2.

Further, the result of the registry operation has to be converted from
unicode to add it to the environment, but that was incidental.
2020-10-01 12:22:28 -07:00
LLVM GN Syncbot
fb69abb068 [gn build] Port f6b1323bc68 2020-10-01 14:18:52 +00:00
LLVM GN Syncbot
77de5cb36a [gn build] Port d53b4bee0cc 2020-10-01 12:55:59 +00:00
LLVM GN Syncbot
d8d20d81de [gn build] Port 413577a8790 2020-09-30 10:09:34 +00:00
Xiang1 Zhang
92910706f0 [X86] Support Intel Key Locker
Key Locker provides a mechanism to encrypt and decrypt data with an AES key without having access
to the raw key value by converting AES keys into “handles”. These handles can be used to perform the
same encryption and decryption operations as the original AES keys, but they only work on the current
system and only until they are revoked. If software revokes Key Locker handles (e.g., on a reboot),
then any previous handles can no longer be used.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88398
2020-09-30 18:08:45 +08:00
Arthur Eubanks
a8a0bb5888 [gn build] Add missing dependency to Extensions 2020-09-29 20:12:00 -07:00
LLVM GN Syncbot
51ad2660a8 [gn build] Port 6d193ba3337 2020-09-29 17:50:16 +00:00
LLVM GN Syncbot
117b16b4b6 [gn build] Port 54d9f743c8b 2020-09-29 00:24:06 +00:00
Nico Weber
cce683e16e [gn build] Re-run CompletionModelCodegen when input json files change 2020-09-28 16:58:00 -04:00
Paul C. Anagnostopoulos
90d4bf8784 [TableGen] Improved messages in PseudoLoweringEmitter. 2020-09-28 10:18:22 -04:00
LLVM GN Syncbot
9643d50ff5 [gn build] Port 018066d9475 2020-09-28 11:38:04 +00:00
Fangrui Song
4e56e25d41 Internalize functions from various tools. NFC
And internalize some classes if I noticed them:)
2020-09-26 15:57:13 -07:00
Nico Weber
247d4d7f35 [gn build] update TODO 2020-09-26 12:42:50 -04:00
LLVM GN Syncbot
e82f648232 [gn build] Port e336b74c995 2020-09-25 12:13:19 +00:00
Zachary Turner
072701ad39 [lit] Support running tests on Windows without GnuWin32
Historically, we have told contributors that GnuWin32 is a pre-requisite
because our tests depend on utilities such as sed, grep, diff, and more.
However, Git on Windows includes versions of these utilities in its
installation.  Furthermore, GnuWin32 has not been updated in many years.
For these reasons, it makes sense to have the ability to run llvm tests
in a way that is both:
  a) Easier on the user (less stuff to install)
  b) More up-to-date (The verions that ship with git are at least as
     new, if not newer, than the versions in GnuWin32.

We add support for this here by attempting to detect where Git is
installed using the Windows registry, confirming the existence of
several common Unix tools, and then adding this location to lit's PATH
environment.

Differential Revision: https://reviews.llvm.org/D84380
2020-09-24 08:21:43 -04:00
Arthur Eubanks
f8ee6ee28a [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
Paul C. Anagnostopoulos
a0352b58a7 Enhance TableGen so that backends can produce better error messages.
Modify SearchableTableEmitter.cpp to take advantage.
Clean up formatting and capitalization issues.
2020-09-23 13:35:32 -04:00
LLVM GN Syncbot
260bab443f [gn build] Port 8a64689e264 2020-09-22 18:07:36 +00:00
LLVM GN Syncbot
a70054367a [gn build] Port 848d66fafd2 2020-09-22 18:07:35 +00:00
LLVM GN Syncbot
b039eded77 [gn build] Port af582c9b0f3 2020-09-22 06:47:54 +00:00
Baptiste Saleil
85360aaf7b [PowerPC] Add vector pair load/store instructions and vector pair register class
This patch adds support for the lxvp, lxvpx, plxvp, stxvp, stxvpx and pstxvp
instructions in the PowerPC backend. These instructions allow loading and
storing VSX register pairs. This patch also adds the VSRp register class
definition needed for these instructions.

Differential Revision: https://reviews.llvm.org/D84359
2020-09-21 10:27:47 -05:00
Simon Pilgrim
c24ea426d7 Update update_analyze_test_checks.py to support API changes from D83004 2020-09-21 16:09:05 +01:00
LLVM GN Syncbot
3f2961bc88 [gn build] Port 4fc0214a101 2020-09-21 12:47:54 +00:00
Nico Weber
fa66d9af58 [gn build] Port 2124ca1d5cb 2020-09-19 08:34:58 -04:00
Nico Weber
d4bdf8df2e [gn build] (manually) merge 2124ca1d5 2020-09-19 08:29:55 -04:00
Nico Weber
9723fed320 Revert "Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups"
This reverts commit 90fffdd0f705bfb480810cef087305567dc4f6cf.
The original change relanded.
2020-09-19 08:28:38 -04:00
Nico Weber
a5b0afab2f [gn build] (manually) port 5495b691646 2020-09-18 21:27:49 -04:00
Nico Weber
6200c8c5c9 Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups
9b6765e784b3 was reverted in 549e55b3d5634.

This reverts commit 442801a7b9b5460114498c48c12b8af40e495188.
This reverts commit 929d91a55616d4fcf4754044b063644807b87fbe.
This reverts commit 7c2d83347f4ea146af1aca72fe289294aaf212be.
2020-09-18 21:14:27 -04:00
Nico Weber
6640720520 clang: Make changes in 7c8bb409f31e py2.7-compatible 2020-09-18 16:15:37 -04:00
Nico Weber
671cddeebe [gn build] add file i forgot to add in 929d91a55616 2020-09-18 16:01:00 -04:00
Nico Weber
28eea2351a [gn build] (manually) port 9b6765e784b3 more 2020-09-18 15:56:34 -04:00
Nico Weber
9376a275d8 [gn build] Do not sync filenames containing variable references 2020-09-18 15:34:33 -04:00
Nico Weber
cbeef0ae5c [gn build] (manually) port 9b6765e784b3 2020-09-18 15:26:58 -04:00
Matt Arsenault
15d1f58f1b emacs: Add nofree and willreturn to list of attributes 2020-09-18 09:48:33 -04:00
David Greene
6628767888 [UpdateCCTestChecks] Include generated functions if asked
Add the --include-generated-funcs option to update_cc_test_checks.py so that any
functions created by the compiler that don't exist in the source will also be
checked.

We need to maintain the output order of generated function checks so that
CHECK-LABEL works properly.  To do so, maintain a list of functions output for
each prefix in the order they are output.  Use this list to output checks for
generated functions in the proper order.

Differential Revision: https://reviews.llvm.org/D83004
2020-09-18 06:34:59 -05:00
Gabriel Hjort Åkerlund
7fb62030d9 [TableGen][GlobalISel] Fix handling of zero_reg
When generating matching tables for GlobalISel, TableGen would output
"::zero_reg" whenever encountering the zero_reg, which in turn would
result in compilation error. This patch fixes that by instead outputting
NoRegister (== 0), which is the same result that TableGen produces when
generating matching tables for ISelDAG.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D86215
2020-09-18 11:01:11 +02:00
LLVM GN Syncbot
363f3d6efc [gn build] Port 7e4c6fb8546 2020-09-17 19:09:34 +00:00