Commit Graph

8835 Commits

Author SHA1 Message Date
LLVM GN Syncbot 473220c4df [gn build] Port 2920348063 2020-06-06 01:50:36 +00:00
LLVM GN Syncbot d81b76cfe6 [gn build] Port 1fa43e0b34 2020-06-06 00:47:43 +00:00
LLVM GN Syncbot 7e7ec2b325 [gn build] Port 8a8c6913a9 2020-06-05 19:48:20 +00:00
Nico Weber f029c165f9 [gn build] (manually) merge 5eedf07ab9 2020-06-05 14:39:04 -04:00
LLVM GN Syncbot e7cc6896f6 [gn build] Port 11d06b9511 2020-06-05 17:22:19 +00:00
Nico Weber 7928f2c177 [gn build] (manually) port a6fcf5ca03 2020-06-05 12:32:23 -04:00
Julian Lettner 99d6e05e71 [lit] Improve naming of test result categories
Improve consistency when printing test results:
Previously we were using different labels for group names (the header
for the list of, e.g., failing tests) and summary count lines.  For
example, "Failing Tests"/"Unexpected Failures".  This commit changes lit
to label things consistently.

Improve wording of labels:
When talking about individual test results, the first word in
"Unexpected Failures", "Expected Passes", and "Individual Timeouts" is
superfluous.  Some labels contain the word "Tests" and some don't.
Let's simplify the names.

Before:
```
Failing Tests (1):
  ...

Expected Passes    : 3
Unexpected Failures: 1
```

After:
```
Failed Tests (1):
  ...

Passed: 3
Failed: 1
```

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D77708
2020-06-05 08:14:42 -07:00
Guillaume Chatelet 80845db6a5 [Alignment][NFC] Migrate CallingConv tablegen code
Summary:
We first migrate the generated code, more patches to come.

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81196
2020-06-05 13:33:34 +00:00
Daniel Grumberg ff0eec4c9e NFC: Formatting fix in TableGEn/OptParserEmitter.cpp 2020-06-05 10:51:10 +01:00
LLVM GN Syncbot 8b5ee3b9b6 [gn build] Port e53f558057 2020-06-04 17:56:21 +00:00
LLVM GN Syncbot 5c55033dce [gn build] Port c973ad1878 2020-06-04 17:56:21 +00:00
LLVM GN Syncbot 60c2fee426 [gn build] Port ba2a01645b 2020-06-04 17:56:20 +00:00
LLVM GN Syncbot 3a4bf99f0b [gn build] Port 69fa84a6e9 2020-06-04 17:56:20 +00:00
LLVM GN Syncbot 48a50fcc9a [gn build] Port 6756a2c953 2020-06-04 17:56:19 +00:00
LLVM GN Syncbot 9034dc9c59 [gn build] Port 49a4f3f7d8 2020-06-04 17:56:19 +00:00
Fangrui Song 68dd32dd43 [gn build] Port b5fc1deb5b 2020-06-04 09:22:59 -07:00
Denis Antrushin f2c9765664 [TableGen] Handle (outs variable_ops)
When `variable_ops` is specified in `InOperandList` of instruction,
it behaves as expected, i.e., does not count as operand.
So for `(ins variable_ops)` instruction description will have 0
operands.  However when used in OutOperandList it is counted as
operand. So `(outs variable_ops)` results in instruction with
one def.
This patch makes behavior of `variable_ops` in `out` list to match
that of `in` list.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D81095
2020-06-04 16:07:33 +03:00
LLVM GN Syncbot 8ccb9f98ea [gn build] Port 48cd9d9dd8 2020-06-04 12:56:45 +00:00
Nico Weber 3871ad366b [gn build] port some -Wno flags for gcc from the cmake build. 2020-06-04 08:10:29 -04:00
LLVM GN Syncbot 6cbccda89a [gn build] Port e636e6b79a 2020-06-03 21:16:03 +00:00
LLVM GN Syncbot 86fdfc104e [gn build] Port 7f50c15be5 2020-06-03 21:16:02 +00:00
Nico Weber a946cb1813 [gn build] Fix link with ld.bfd and gold.
lld's symbol resolution algorithm makes it not depend on
the order of object files and libraries, but ld.bfd and
gold require listing dependencies later on the link line.
Put {{libs}} after {{inputs}} so that e.g. -lpthreads
appears after the object files, not before it.

Differential Revision: https://reviews.llvm.org/D81035
2020-06-03 17:06:30 -04:00
LLVM GN Syncbot 99b8f3570a [gn build] Port add51e152a 2020-06-03 10:50:20 +00:00
LLVM GN Syncbot f2f3a80fd8 [gn build] Port 755a895915 2020-06-03 08:27:24 +00:00
LLVM GN Syncbot 128219faf9 [gn build] Port f99d5f8c32 2020-06-02 20:36:52 +00:00
dstuttar 9244be7b05 [TableGen] Avoid generating switch with just default
Summary:
Switch with just default causes an MSVC warning (warning C4065: switch statement
contains 'default' but no 'case' labels).

Change-Id: I9ddeccdef93666256b5454b164b567b73b488461

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81021
2020-06-02 19:48:07 +01:00
Nico Weber dd3ebe223e [gn build] (manually) port 44f989e780 2020-06-02 08:18:42 -04:00
Sanjay Patel e5b8772756 [utils] change default nameless value to "TMP"
This is effectively reverting rGbfdc2552664d to avoid test churn
while we figure out a better way forward.

We at least salvage the warning on name conflict from that patch
though.

If we change the default string again, we may want to mass update
tests at the same time. Alternatively, we could live with the poor
naming if we change -instnamer.

This also adds a test to LLVM as suggested in the post-commit
review. There's a clang test that is also affected. That seems
like a layering violation, but I have not looked at fixing that yet.

Differential Revision: https://reviews.llvm.org/D80584
2020-06-01 06:54:45 -04:00
Nico Weber 216bad9a64 [gn build] (semi-manually) port a8ca0ec267 2020-05-31 22:06:11 -04:00
Sanjay Patel bfdc255266 [utils] change update_test_checks.py use of 'TMP' value names
As discussed in PR45951:
https://bugs.llvm.org/show_bug.cgi?id=45951

There's a potential name collision between update_test_checks.py and -instnamer
and/or manually-generated IR test files because all of them try to use the
variable name that should never be used: "tmp".

This patch proposes to reduce the odds of collision and adds a warning if we
detect the problem. This will cause regression test churn when regenerating
CHECK lines on existing files.

Differential Revision: https://reviews.llvm.org/D80584
2020-05-31 10:46:11 -04:00
LLVM GN Syncbot 02f6f1ebb1 [gn build] Port cf6cc662ee 2020-05-29 23:53:23 +00:00
LLVM GN Syncbot 26c070c8db [gn build] Port 34cfed24eb 2020-05-29 23:53:22 +00:00
Nico Weber 7d77b0545d [gn build] (manually) port 0e265e3157 2020-05-29 19:49:11 -04:00
Louis Dionne dac21fd29c [lit] Add an option to print all features used in tests
Lit test suites can tend to accumulate annotations that are not necessarily
relevant as time goes by, for example XFAILS on old compilers or platforms.
To help spot old annotations that can be cleaned up, it can be useful to
look at all features used inside a test suite.

This commit adds a new Lit option '--show-used-features' that prints all
the features used in XFAIL, REQUIRES and UNSUPPORTED of all tests that
are discovered.

Differential Revision: https://reviews.llvm.org/D78589
2020-05-29 07:00:05 -04:00
LLVM GN Syncbot 3ea38b5b4e [gn build] Port a6deaeec37 2020-05-29 03:47:15 +00:00
LLVM GN Syncbot db923ce612 [gn build] Port 7cfdff7b4a 2020-05-28 16:49:43 +00:00
Cullen Rhodes e533a176b3 [TableGen] Fix non-standard escape warnings for braces in InstAlias
Summary:
TableGen interprets braces ('{}') in the asm string of instruction aliases as
variants but when defining aliases with literal braces they have to be escaped
to prevent them being removed.

Braces are escaped with '\\', for example:

  def FooBraces : InstAlias<"foo \\{$imm\\}", (foo IntOperand:$imm)>;

Although when TableGen is emitting the assembly writer (-gen-asm-writer)
the AsmString that gets emitted is:

  AsmString = "foo \{$\x01\}";

In c/c++ braces don't need to be escaped which causes compilation
warnings:

  warning: use of non-standard escape character '\{' [-Wpedantic]

This patch fixes the issue by unescaping the flattened alias asm string
in the asm writer, by replacing '\{\}' with '{}'.

Reviewed By: hfinkel

Differential Revision: https://reviews.llvm.org/D79991
2020-05-28 09:36:24 +00:00
LLVM GN Syncbot 4b94cee650 [gn build] Port 5921782f74 2020-05-28 08:08:39 +00:00
LLVM GN Syncbot f830b406c6 [gn build] Port 660cda572d 2020-05-28 02:47:12 +00:00
Fangrui Song eca963f244 [gn build] Add MLAnalysisTests after D80579 2020-05-27 17:21:05 -07:00
Fangrui Song dee2bb5810 [gn build] Port D80579 2020-05-27 17:12:12 -07:00
Michael Liao fa342b5c80 Enable `align <n>` to be used in the intrinsic definition.
- This allow us to specify the (minimal) alignment on an intrinsic's
  arguments and, more importantly, the return value.

Differential Revision: https://reviews.llvm.org/D80422
2020-05-27 16:38:18 -04:00
Michael Liao 03481287ca Refactor argument attribute specification in intrinsic definition. NFC.
- Argument attribute needs specifiying through `ArgIndex<n>`
  (corresponding to `FirstArgIndex`) to distinguish explicitly from the
  index number from the overloaded type list.
- In addition, `RetIndex` (corresponding to `ReturnIndex`) and
  `FuncIndex` (corresponding to `FunctionIndex`) are introduced for us
  to associate attributes on the return value and potentially function
  itself.

Differential Revision: https://reviews.llvm.org/D80422
2020-05-27 16:37:53 -04:00
LLVM GN Syncbot bed78845e5 [gn build] Port 0d20ed664f 2020-05-27 16:41:00 +00:00
Nico Weber 4f0eba28eb [gn build] (manually) port dedaf3a2ac 2020-05-27 12:31:59 -04:00
Ties Stuij ad5d319ee8 [IR][BFloat] add BFloat IR intrinsics support
Summary:
This patch is part of a series that adds support for the Bfloat16 extension of
the Armv8.6-a architecture, as detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

Reviewers: scanon, fpetrogalli, sdesmalen, craig.topper, LukeGeeson

Reviewed By: fpetrogalli

Subscribers: LukeGeeson, pbarrio, kristof.beyls, hiraditya, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79707
2020-05-27 14:37:47 +01:00
Ties Stuij 0508fb45df [CodeGen][BFloat] Add bfloat MVT type
Summary:
This patch adds BFloat MVT support. It also adds fixed and scalable vector MVT
types for BFloat.

This patch is part of a series that adds support for the Bfloat16 extension of the Armv8.6-a architecture, as
detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

Reviewers: aemerson, huntergr, craig.topper, fpetrogalli, sdesmalen, LukeGeeson, ostannard

Reviewed By: ostannard

Subscribers: LukeGeeson, pbarrio, dschuff, kristof.beyls, hiraditya, aheejin, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79706
2020-05-27 13:38:12 +01:00
LLVM GN Syncbot 10f0b18ed9 [gn build] Port d70ec366c9 2020-05-26 17:56:17 +00:00
Daniel Frampton e72cba9757 Use configure depends to trigger reconfiguration when LLVMBuild files change
Summary:
The existing logic has a workaround where configure_file is used to write a single dummy file output many times.

CMake has a feature to more directly add the dependency and avoid the dummy file (it is available in the minimum version specified).

Reviewers: theraven

Reviewed By: theraven

Subscribers: theraven, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80218
2020-05-26 16:30:20 +01:00
LLVM GN Syncbot e0aefaedb6 [gn build] Port ba92b27422 2020-05-25 18:14:50 +00:00