Commit Graph

8996 Commits

Author SHA1 Message Date
Simon Pilgrim a0ed0e3fac CodeGenDAGPatterns.h - remove unnecessary ComplexPattern forward declaration. NFCI.
This is defined in CodeGenTarget.h which we have to explicitly include already.
2020-07-20 15:17:19 +01:00
Simon Pilgrim 93c338fd0f CodeGenDAGPatterns.h - remove unused CodeGenHwModes.h include. NFCI. 2020-07-20 15:17:18 +01:00
Simon Pilgrim 68a1cbe11a SubtargetFeatureInfo.h - remove unnecessary include and forward declarations. NFCI.
Move necessary include down to SubtargetFeatureInfo.cpp.
2020-07-20 13:39:24 +01:00
sstefan1 cf11050696 [Utils][Fix] remove unnecessary ; at the end 2020-07-19 20:48:28 +02:00
sstefan1 937bad3594 [Utils] Check function attributes in update_test_checks
Summary:
This introduces new flag to the update_test_checks and
update_cc_test_checks that allows for function attributes
to be checked in a check-line. If the flag is not set,
the behavior should remain the same.

Reviewers: jdoerfert

Subscribers: arichardson, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83629
2020-07-19 20:07:24 +02:00
Michael Spencer 7fcc1bb4b6 [clangd] Fix the build with clang <3.9.
In clang <3.9 the `unique_ptr` constructor that is supposed to allow
for Derived to Base conversion does not work. Remove this if we drop
support for such configurations.

This is the same fix as in fda901a987, and it updates the comments
to better reflect the actual issue. The same thing reproduces with
libc++ with older clangs.
2020-07-17 16:12:31 -06:00
Michael Spencer fda901a987 [Clang] Fix building with Clang < 3.9.
This is a workaround for a bug in older versions of Clang when. The
constructor that is supposed to allow for Derived to Base conversion
does not work. Remove this if we drop support for such configurations.
2020-07-17 13:33:15 -06:00
Nico Weber 9551ae22fc [gn build] Run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format` 2020-07-17 12:31:42 -04:00
Nico Weber 16458b5a6d [gn build] (manually) merge 6c43ed608 2020-07-17 12:27:21 -04:00
Nico Weber 1afd889d0b [gn build] Make sync_source_lists_from_cmake handle one-line sources lines
sync_source_lists_from_cmake now also looks for source files in
`sources += [ "foo.cc" ]` lines, which allows us to remove most
`# Make `gn format` not collapse this` comments.

(sync_source_lists_from_cmake doesn't look for `foo_headers += [...]`
still, so the comment is still needed in two places for that.)

No intentional behavior change.
2020-07-17 11:53:42 -04:00
Nico Weber 63f0b10b8c [gn format] (manually) merge 6bddd099ac 2020-07-17 11:21:42 -04:00
LLVM GN Syncbot 6831f8ae58 [gn build] Port 6bddd099ac 2020-07-17 14:58:08 +00:00
LLVM GN Syncbot 8475981b30 [gn build] Port c7562e77b3 2020-07-17 14:38:56 +00:00
Hans Wennborg 033ef8420c Add -flang flag to the test-release.sh script
The flag is off by default.
2020-07-17 13:30:14 +02:00
Jay Foad 1cfb207737 [TableGen] Report an error instead of asserting
This gives a nice error if you accidentally try to use an empty list for
the RegTypes of a RegisterClass.

Differential Revision: https://reviews.llvm.org/D78285
2020-07-17 11:32:46 +01:00
LLVM GN Syncbot f6275ca256 [gn build] Port 9870f77441 2020-07-16 23:07:46 +00:00
LLVM GN Syncbot 75e2040e93 [gn build] Port 0f6220ddd6 2020-07-16 23:07:45 +00:00
LLVM GN Syncbot c1cc3a8652 [gn build] Port 0e940d55f8 2020-07-16 23:07:45 +00:00
Nico Weber 0beac5b815 [gn build] (manually) merge 9870f77441 2020-07-16 19:07:28 -04:00
serge-sans-paille 515bc8c155 Harmonize Python shebang
Differential Revision: https://reviews.llvm.org/D83857
2020-07-16 21:53:45 +02:00
LLVM GN Syncbot 4e2f72ce19 [gn build] Port 5e8b4be9f8 2020-07-16 19:08:09 +00:00
Nadav Rotem b3417d80ae [TableGen] Change std::vector to SmallVector
The size of VTList that is pushed into this container is usually 1, but
often 6 or 7. Change the vector to SmallVector to eliminate frequent
mallocs.  This happens hundreds of thousands of times in each tablegen
execution during the LLVM/clang build.

https://reviews.llvm.org/D83849
2020-07-16 11:32:44 -07:00
Nico Weber d9b7a18ebd [gn build] Fix merge script mishap 2020-07-16 13:46:45 -04:00
LLVM GN Syncbot c74cfd4045 [gn build] Port 1360e140cc 2020-07-16 16:14:13 +00:00
Craig Topper 71b49aa438 [X86] Allow lsl/lar to be parsed with a GR16, GR32, or GR64 as source register.
This matches GNU assembler behavior. Operand size is determined
only from the destination register.
2020-07-15 23:51:37 -07:00
LLVM GN Syncbot be8c59606d [gn build] Port 4a539faf74 2020-07-15 17:53:38 +00:00
Hans Wennborg 7ab7b979d2 Bump the trunk major version to 12
and clear the release notes.
2020-07-15 12:05:05 +02:00
LLVM GN Syncbot 670e8372b3 [gn build] Port 0750757e80 2020-07-15 02:13:43 +00:00
Nico Weber 75c0f0d762 [gn build] (manually) merge c1e2f73c 2020-07-14 20:43:59 -04:00
Louis Dionne eaca1e4e54 [libc++] Automatically detect whether RTTI is enabled
Instead of detecting it automatically but also allowing for the setting
to be specified explicitly, always detect whether exceptions are enabled
based on whether -fno-rtti (or equivalent) is used. It's less confusing
to have a single way of tweaking that knob.

This change follows the lead of 71d88cebfb.
2020-07-14 16:51:37 -04:00
Valentin Clement 0a90ffa772 [flang][openacc] OpenACC 3.0 parser
Summary:
This patch introduce the parser for OpenACC 3.0 in Flang. It uses the same TableGen mechanism
than OpenMP.

Reviewers: nvdatian, sscalpone, tskeith, klausler, ichoyjx, jdoerfert, DavidTruby

Reviewed By: klausler

Subscribers: MaskRay, SouraVX, mgorny, hiraditya, jfb, sstefan1, llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D83649
2020-07-14 14:29:40 -04:00
Matt Arsenault 1254f6d531 TableGen/GlobalISel: Partially fix nontrivial, custom predicates
Currently custom code predicates can only really be used for
contextless checks tied to a single instruction (e.g. check the def
for hasOneUse). If you do want to inspect the input instructions in
the source pattern, you cannot without re-verifying the opcode and
type checks implied by the patterns, since this check was emitted
before any operand constraints. Really, these are pattern level
predicates that implicitly depend on the instruction and operand
checks.

Introduce a filtering function so the custom predicate is emitted
last. I'm not sure this is the most elegant solution. It seems like
this is really a different thing from the InstructionMatcher/IPM_
predicate kinds. I initially tried keeping this in a separate
predicate list, but that also seemed awkward.

This only half fixes the problem I'm trying to solve. The AMDGPU
pattern I'm attempting to port also uses the PredicateCodeUsesOperands
feature to allow checks on the source operands when the input pattern
is commuted. Really the emitter should reject the pattern since it
doesn't handle this case, but at this point it would be more
productive to just implement this.
2020-07-14 14:26:51 -04:00
Richard Barton f4476b72fb [lit] Prevent hang when lit sees non-ASCII characters
As per discussion in D69207, have lit ignore UnicodeDecodeErrors
when running with python 2 in an ASCII shell.

Differential Revision: https://reviews.llvm.org/D82754
2020-07-14 18:41:15 +01:00
Simon Tatham 86d362f489 [utils] New script `check_ninja_deps.py`
Summary:
This can be run after a ninja-based build, and analyzes the ninja
build files and dependency database to spot any missing dependencies
in the build scripts.

I wrote it in the course of investigating D82659, and it seems likely
to be useful again.

Reviewers: thakis, chandlerc, theraven

Reviewed By: thakis

Subscribers: riccibruno, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83032
2020-07-14 14:54:08 +01:00
LLVM GN Syncbot 3ae9f5d179 [gn build] Port dd6faf13d8 2020-07-14 09:36:07 +00:00
LLVM GN Syncbot 242a736a14 [gn build] Port c15e04ee5e 2020-07-14 09:31:18 +00:00
LLVM GN Syncbot b8460fb2cd [gn build] Port caf395ee8c 2020-07-13 23:39:28 +00:00
LLVM GN Syncbot 540277d084 [gn build] Port 9908a3b9f5 2020-07-13 20:18:59 +00:00
LLVM GN Syncbot c1efd6675a [gn build] Port fdb69539bc 2020-07-13 18:10:37 +00:00
Matt Arsenault 2e2af6026b TableGen/GlobalISel: Emit enum names for reg class ID instead of value
This was emitting the raw value for the reg class ID with a comment
for the actual class name. Switch to emitting the qualified enum name
instead, which obviates the need for the comment and also helps keep
the lit tests on the emitter output more stable.
2020-07-13 14:02:08 -04:00
LLVM GN Syncbot 44899ed659 [gn build] Port 83080a294a 2020-07-13 17:19:05 +00:00
clementval 8f183d9f3d [openmp] Remove unused variable in DirectiveEmitter 2020-07-11 12:59:52 -04:00
Valentin Clement 6e42a417ba [flang][openmp] Check clauses allowed semantic with tablegen generated map
Summary:
This patch is enabling the generation of clauses enum sets for semantics check in Flang through
tablegen. Enum sets and directive - sets map is generated by the new tablegen infrsatructure for OpenMP
and other directive languages.
The semantic checks for OpenMP are modified to use this newly generated map.

Reviewers: DavidTruby, sscalpone, kiranchandramohan, ichoyjx, jdoerfert

Reviewed By: DavidTruby, ichoyjx

Subscribers: mgorny, yaxunl, hiraditya, guansong, sstefan1, aaron.ballman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83326
2020-07-11 12:45:12 -04:00
Nico Weber 09a95f51fb [gn build] (manually) merge 943660fd15 2020-07-11 06:44:28 -04:00
Nathan James 35af6f11e0
Reland Fix gn build after 943660f 2020-07-11 11:42:05 +01:00
Nathan James 8fb91dfeed Revert "Fix gn builds after 943660fd1"
This reverts commit 4abdcdb45e.
2020-07-11 10:45:17 +01:00
Nathan James 4abdcdb45e
Fix gn builds after 943660fd1 2020-07-11 10:42:57 +01:00
Valentin Clement 7b67bc16ef [openmp] Fix warning in generated OMP.cpp 2020-07-10 21:13:12 -04:00
Valentin Clement 943660fd15 [openmp] Remove OMPConstants.cpp and replace it by OMP.cpp generated by tablegen
Summary:
Diff D83176 moved the last piece of code from OMPConstants.cpp and now this file was only
useful to include the tablegen generated file. This patch replace OMPConstants.cpp with OMP.cpp
generated by tablegen.

Reviewers: sstefan1, jdoerfert, jdenny

Reviewed By: sstefan1

Subscribers: mgorny, yaxunl, hiraditya, guansong, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83583
2020-07-10 20:11:57 -04:00
Joel E. Denny 6dda6ff0e0 [FileCheck] Fix up -dump-input* docs
In FileCheck.rst, add `-dump-input-context` and `-dump-input-filter`,
and fix some `-dump-input` documentation.

In `FileCheck -help`, `cl::value_desc("kind")` is being ignored for
`-dump-input-filter`, so just drop it.

Extend `-dump-input=help` to mention FILECHECK_OPTS.
2020-07-10 17:21:01 -04:00