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

9652 Commits

Author SHA1 Message Date
Fangrui Song
78c4743b21 IntrinsicEmitter: Change IntrinsicsToAttributesMap from uint8_t[] to uint16_t[]
We need at least 252 UniqAttributes now, which will soon overflow.
Actually with downstream backends we can easily use up the last few values.
So bump to uint16_t.
2021-01-27 20:34:35 -08:00
Julian Lettner
8ef46f8e36 [lit][NFC] Use enum to represent test order
Use an enum to more explicitly represent the test execution order.
2021-01-27 11:10:17 -08:00
LLVM GN Syncbot
7f9359f621 [gn build] Port 0b50fa99452f 2021-01-27 18:55:59 +00:00
Craig Topper
69039e7730 [TableGen] Add isContradictoryImpl implementation to CheckCondCodeMatcher and CheckChild2CondCodeMatcher.
This enables better pattern factoring in the RISCV ISel table.
2021-01-26 19:44:57 -08:00
Tom Stellard
1a410d196a Bump the trunk major version to 13
and clear the release notes.
2021-01-26 19:37:55 -08:00
LLVM GN Syncbot
8cadd79a8e [gn build] Port bb9eb1982980 2021-01-27 01:23:23 +00:00
Nico Weber
696b1678eb [gn build] fix get.py change 2021-01-26 19:20:23 -05:00
Nico Weber
5eefc4a62f [gn build] restore build command removed in 9595a7ff55b6 for platforms without prebuilts 2021-01-26 19:19:31 -05:00
Julian Lettner
f11e7efb47 [NFC][lit] Cleanup code using string interpolation
LLVM now requires Python 3.6, so we can use string interpolation to make
code more readable.
2021-01-26 13:04:31 -08:00
LLVM GN Syncbot
80d5e143a6 [gn build] Port 1e634f3952aa 2021-01-26 20:48:31 +00:00
LLVM GN Syncbot
364bd7857e [gn build] Port 4edf35f11a9e 2021-01-26 19:12:09 +00:00
Julian Lettner
0aac51e35d Reland "[lit] Use os.cpu_count() to cleanup TODO"
The initial problem with the remaining bot config was resolved.

We can now use Python3.  Let's use `os.cpu_count()` to cleanup this
helper.

Differential Revision: https://reviews.llvm.org/D94734
2021-01-26 10:19:26 -08:00
Ben Shi
b6991ff67e [update_llc_test_checks] Support AVR
Reviewed By: arichardson

Differential Revision: https://reviews.llvm.org/D95240
2021-01-26 17:50:56 +08:00
Kazu Hirata
e1d3feee84 [TableGen] Use llvm::append_range (NFC) 2021-01-25 19:23:58 -08:00
Julian Lettner
ecf1c231ae [lit] Update lit.py shebang for Python3
Update shebang to always use Python3 when executing `lit.py` directly.

A previous change of mine [1] revealed that we still use Python2 on some
bot configurations that invoke `llvm/utils/lit/lit.py` as a script
directly (instead of `python3 path/to/lit.py`).

[1] https://reviews.llvm.org/D94734

Differential Revision: https://reviews.llvm.org/D95393
2021-01-25 17:29:57 -08:00
Julian Lettner
b139438d21 Revert "[lit] Use os.cpu_count() to cleanup TODO"
A bot owner contacted me.  I will re-land after confirming that this
doesn't break anyone (since it's low priority).

This reverts commit 9946b169c379daee603436a4753acfef8be373dd.
2021-01-25 13:32:30 -08:00
LLVM GN Syncbot
37f3352001 [gn build] Port e123cd674c02 2021-01-25 20:11:10 +00:00
Julian Lettner
08fcf6f580 [lit] Use os.cpu_count() to cleanup TODO
We can now use Python3.  Let's use `os.cpu_count()` to cleanup this
helper.

Differential Revision: https://reviews.llvm.org/D94734
2021-01-25 11:44:18 -08:00
Simon Pilgrim
efb80b4284 [TableGen] RuleMatcher::defineComplexSubOperand avoid std::string copy. NFCI.
Use const reference to avoid std::string copy - accordingly to the style guide we shouldn't be using auto anyway.

Fixes MSVC analyzer warning.
2021-01-25 11:35:44 +00:00
LLVM GN Syncbot
06a1ff4c94 [gn build] Port 0057cc5a215e 2021-01-23 14:07:39 +00:00
LLVM GN Syncbot
f4c75ab0c3 [gn build] Port 2325157c0568 2021-01-23 13:38:51 +00:00
Kazu Hirata
67c2d74113 [llvm] Use static_assert instead of assert (NFC)
Identified with misc-static-assert.
2021-01-22 23:25:05 -08:00
Kazu Hirata
0069e576c3 [llvm] Use isAlpha/isAlnum (NFC) 2021-01-22 23:25:03 -08:00
LLVM GN Syncbot
7e2c4e2399 [gn build] Port 622eaa4a4cea 2021-01-22 21:40:40 +00:00
Julian Lettner
5970515ef3 Remove obsolete TODOs
Remove a few of my own TODOs that I will not have time to fix from lit
code.
2021-01-22 12:03:03 -08:00
Moritz Sichert
64b62b62ba Avoid fragile type lookups in GDB pretty printer
Instead of using the type llvm::StringMapEntry<{stringified_value_type}>
use only the base class llvm::StringMapEntryBase and calculate the
offsets of the member variables manually. The approach with stringifying
the name of the value type is pretty fragile as it can easily break with
local and dependent types.

Differential Revision: https://reviews.llvm.org/D94431
2021-01-22 14:56:32 +01:00
LLVM GN Syncbot
17857e2d95 [gn build] Port 8214982b5042 2021-01-22 10:24:45 +00:00
Arthur Eubanks
d815d3c37a [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook
Having a custom inliner doesn't really fit in with the new PM's
pipeline. It's also extra technical debt.

amdgpu-inline only does a couple of custom things compared to the normal
inliner:
1) It disables inlining if the number of BBs in a function would exceed
   some limit
2) It increases the threshold if there are pointers to private arrays(?)

These can all be handled as TTI inliner hooks.
There already exists a hook for backends to multiply the inlining
threshold.

This way we can remove the custom amdgpu-inline pass.

This caused inline-hint.ll to fail, and after some investigation, it
looks like getInliningThresholdMultiplier() was previously getting
applied twice in amdgpu-inline (https://reviews.llvm.org/D62707 fixed it
not applying at all, so some later inliner change must have fixed
something), so I had to change the threshold in the test.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D94153
2021-01-21 20:29:17 -08:00
LLVM GN Syncbot
deba19576e [gn build] Port d38be2ba0e4e 2021-01-21 23:19:45 +00:00
LLVM GN Syncbot
9c6a63c9cf [gn build] Port 95ce32c7878d 2021-01-20 21:18:20 +00:00
Craig Topper
f1346a6bd1 [RISCV] Add way to mark CompressPats that should only be used for compressing.
There can be muliple patterns that map to the same compressed
instruction. Reversing those leads to multiple ways to uncompress
an instruction, but its not easily controllable which one will
be chosen by the tablegen backend.

This patch adds a flag to mark patterns that should only be used
for compressing. This allows us to leave one canonical pattern
for uncompressing.

The obvious benefit of this is getting c.mv to uncompress to
the addi patern that is aliased to the mv pseudoinstruction. For
the add/and/or/xor/li patterns it just removes some unreachable
code from the generated code.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D94894
2021-01-20 09:20:15 -08:00
Kazu Hirata
60a3732b33 [llvm] Use llvm::any_of (NFC) 2021-01-19 20:19:16 -08:00
Kazu Hirata
f118370581 [llvm] Use llvm::find (NFC) 2021-01-19 20:19:14 -08:00
Nico Weber
eff35cf5f2 [gn build] fix libcxx gn file with libcxx_abi_namespace set 2021-01-19 19:02:40 -05:00
Nico Weber
b16664144b [gn build] (manually) port 933518fff82c 2021-01-19 18:51:39 -05:00
Valentin Clement
715d713b9e [flang][directive] Get rid of flangClassValue in TableGen
The TableGen emitter for directives has two slots for flangClass information and this was mainly
to be able to keep up with the legacy openmp parser at the time. Now that all clauses are encapsulated in
AccClause or OmpClause, these two strings are not necessary anymore and were the the source of couple
of problem while working with the generic structure checker for OpenMP.
This patch remove the flangClassValue string from DirectiveBase.td and use the string flangClass as the
placeholder for the encapsulated class.

Reviewed By: sameeranjoshi

Differential Revision: https://reviews.llvm.org/D94821
2021-01-19 10:28:46 -05:00
serge-sans-paille
1734c4008a [lit] Harmonize lit and llvm versionning
In addition to consistency, we'll hit a wall when 11.1.0 gets released, because
we cannot represent it with lit versioning scheme.

Differential Revision: https://reviews.llvm.org/D94157
2021-01-19 10:27:14 +01:00
Kazu Hirata
dd2009efe4 [TableGen] Drop redundant const from return types (NFC)
Identified with readability-const-return-type.
2021-01-17 10:39:49 -08:00
Craig Topper
f763a12cde [RISCV] Remove an extra map lookup from RISCVCompressInstEmitter. NFC
When we looked up the map to see if the entry already existed,
this created the new entry for us. So save a reference to it so
we can use it to update the entry instead of looking it up again.

Also remove unnecessary StringRef constructors around string
literals on calls to this function.
2021-01-16 21:20:53 -08:00
Craig Topper
0b73877ba8 [RISCV] Few more minor cleanups to RISCVCompressInstEmitter. NFC
-Use StringRef instead of std::string.
-Const correct a parameter.
-Don't call StringRef::data() before printing. Just pass the StringRef.
2021-01-16 21:09:43 -08:00
Craig Topper
a0f5ddfd68 [RISCV] Simplify mergeCondAndCode in RISCVCompressInstEmitter.cpp. NFC
Instead forming a std::string and returning it to pass into another
raw_ostream, just pass the raw_ostream as a parameter.

Take StringRef as arguments instead raw_string_ostream references
making the caller responsible for converting to strings. Use
StringRef operations instead of std::string::substr.a
2021-01-16 20:59:48 -08:00
Craig Topper
c91738b748 [RISC] Replace dyn_casts that are only checked by an assert with a cast. NFC 2021-01-16 20:23:48 -08:00
Craig Topper
7313f78444 [RISCV] Remove unneeded StringRef to std::string conversions in RISCVCompressInstEmitter. NFC
Stop concatenating std::string before streaming into a raw_ostream.
Just stream the pieces.

Remove some new lines from asserts. Remove std::string concatenation
from an assert. assert strings aren't really evaluated like this at
runtime. An assertion failure will just print exactly what's between
the parentheses in the source.
2021-01-16 20:09:45 -08:00
Kazu Hirata
393c7ffd32 [utils] Use llvm::sort (NFC) 2021-01-15 21:00:52 -08:00
Kazu Hirata
39185b091b [llvm] Remove redundant return and continue statements (NFC)
Identified with readability-redundant-control-flow.
2021-01-14 20:30:34 -08:00
Nico Weber
b1b4ed33f2 [gn build] (manually) port 387d3c24792f 2021-01-14 16:19:25 -05:00
Valentin Clement
53b440883c [openacc] Rename generated file from ACC.cpp.inc to ACC.inc to match D92955
This patch rename the tablegen generated file ACC.cpp.inc to ACC.inc in order
to match what was done in D92955. This file is included in header file as well as .cpp
file so it make more sense.

Reviewed By: sameeranjoshi

Differential Revision: https://reviews.llvm.org/D93485
2021-01-14 14:19:53 -05:00
LLVM GN Syncbot
9ef2e47fbb [gn build] Port 2f395b7092bd 2021-01-14 17:39:58 +00:00
Kazu Hirata
70fe70920d [llvm] Use llvm::stable_sort (NFC) 2021-01-13 19:14:43 -08:00
LLVM GN Syncbot
f78fe9df8c [gn build] Port 60fda8ebb6d 2021-01-13 17:33:32 +00:00