444619 Commits

Author SHA1 Message Date
Mirko Brkusanin
fe42ebe442 [AMDGPU][GlobalISel] Fix legalizing image intrinsics for new types
We no longer need to increase vector size to 16 for intrinsics that use more
than 8 vgprs for addr. There is no image intrinsic that needs more than 12
so all currently existing cases will be covered. Using incorrect size was
causing an error in instruction selection because instructions were updated
to require new types (9x32, 10x32, 11x32, 12x32).

Differential Revision: https://reviews.llvm.org/D139546
2022-12-07 18:20:58 +01:00
Roman Lebedev
7a76140220
[llvm-exegesis] Dry run mode
Sometimes we only want to ensure that we can produce snippets (all the way
through `SnippetRepetitor`!), but don't care for the execution.
E.g. all of our tests are this way.

I've built LLVM without PFM and removed my CPU from `X86PfmCounters.td`,
and this produces the expected results in that configuration.

Reviewed By: courbet

Differential Revision: https://reviews.llvm.org/D139448
2022-12-07 20:15:43 +03:00
Roman Lebedev
5103ef64fe
[NFC] Port all (but one) LoopUnroll tests to -passes= syntax 2022-12-07 20:15:43 +03:00
Mitch Phillips
fc5bda52f0 Fix dwarf5-lazy-dwo.c for the default c target not being c99.
My host compiler is clang version 15.0.0, which uses -std=c11 by
default. The test asserts that the language is 'c99', and so the test
fails locally.

Update the test to be explicit about compiling with 'c99'.

Reviewed By: Eric

Differential Revision: https://reviews.llvm.org/D139461
2022-12-07 09:07:56 -08:00
LLVM GN Syncbot
e7569cb955 [gn build] Port d184958bad5c 2022-12-07 16:50:20 +00:00
Krzysztof Parzyszek
110fe4f495 [IRReader] Convert Optional in DataLayoutCallbackTy to std::optional 2022-12-07 08:47:25 -08:00
Joe Nash
c6c4f54e6b [AMDGPU] Add gfx11 runline to omod test. NFC 2022-12-07 11:40:39 -05:00
Phoebe Wang
fc16ca7120 [X86] Pre-commit test for pr59305 2022-12-08 00:35:42 +08:00
Mark de Wever
d184958bad [libc++][format] Adds range-default-formatter.
This adds an incomplete version where the specializations for the
format_kinds are disabled dummy formatters.

Implements part of
- P2585R0 Improving default container formatting

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D137271
2022-12-07 17:32:55 +01:00
serge-sans-paille
40ade845be
Revert "Store OptTable::Info::Name as a StringRef"
Another revert, for another set of issues I don't reproduce locally...

see https://lab.llvm.org/buildbot/#/builders/139/builds/32327

This reverts commit bdfa3100dc3ea9e9ce4d3d4100ea6bb4c3fa2b81.
2022-12-07 17:29:53 +01:00
Dmitry Kurtaev
a2c9f12dd6 [RISCV][JitLink] Propagate error from Expected<T> result during R_RISCV_PCREL_HI20 parsing
related issue: https://github.com/llvm/llvm-project/issues/59139

Differential Revision: https://reviews.llvm.org/D138781
2022-12-07 08:26:38 -08:00
Yitzhak Mandelbaum
390029be89 [clang][dataflow] Support (in)equality operators in optional model.
This patch adds interpretation of the overloaded equality and inequality
operators available for the optional types.

Fixes issue #57253.

Differential Revision: https://reviews.llvm.org/D139360
2022-12-07 16:24:49 +00:00
Emilio Cota
72d76a2403 [mlir][bufferize] lower allocation alignment from 128 to 64 bytes
While it is unlikely to matter in practice, there is no reason
for this value to be larger than it should be. 64 bytes is the
size of a cache line in most machines, and we can fit a full
512-bit vector in it.

Reviewed By: springerm
Differential Revision: https://reviews.llvm.org/D139434
2022-12-07 11:12:46 -05:00
Doru Bercea
f7d426b362 Automate tests. 2022-12-07 10:05:02 -06:00
chenglin.bi
b4c8cfc7c2 [InstCombine] fold more icmp + select patterns by distributive laws
follow up D139076, add icmp with not only eq/ne, but also gt/lt/ge/le.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D139253
2022-12-07 23:55:49 +08:00
chenglin.bi
10c3df728c [Instcombine] Canonicalize ~((A & B) ^ (A | ?)) -> (A & B) | ~(A | ?)
~((A & B) ^ (A | ?)) -> (A & B) | ~(A | ?)
https://alive2.llvm.org/ce/z/JHN2p4

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D139299
2022-12-07 23:52:07 +08:00
serge-sans-paille
bdfa3100dc
Store OptTable::Info::Name as a StringRef
This is a recommit of 8ae18303f97d5dcfaecc90b4d87effb2011ed82e,
with a few cleanups.

This avoids implicit conversion to StringRef at several points, which in
turns avoid redundant calls to strlen.

As a side effect, this greatly simplifies the implementation of
StrCmpOptionNameIgnoreCase.

It also eventually gives a consistent, humble speedup in compilation
time (timing updated since original commit).

https://llvm-compile-time-tracker.com/compare.php?from=76fcfea283472a80356d87c89270b0e2d106b54c&to=b70eb1f347f22fe4d2977360c4ed701eabc43994&stat=instructions:u

Differential Revision: https://reviews.llvm.org/D139274
2022-12-07 16:32:37 +01:00
Daniel Kiss
7d40baa82b [AArch64] Add __ARM_FEATURE_BTI and __ARM_FEATURE_PAUTH
Macros are added to ACLE[1] and already added to ARM but these two are missing from AArch64.

[1] https://github.com/ARM-software/acle/blob/main/main/acle.md#changes-between-acle-q3-2021-and-acle-q4-2021

Reviewed By: chill

Differential Revision: https://reviews.llvm.org/D139445
2022-12-07 16:30:16 +01:00
Matthias Springer
9cdf6b641d [mlir][tensor] Support parallel_insert_slice in reassociative reshape folder
Differential Revision: https://reviews.llvm.org/D139540
2022-12-07 16:25:10 +01:00
Hans Wennborg
cb3ea52a5a Handle char{8,16,32} and wchar_t in ASTContext::getIntegerRank()
They were previously not handled, causing the llvm_unreachable with
"getIntegerRank(): not a built-in integer" message to be hit.

The test case is derived from how we hit it in Chromium
(crbug.com/1396142). I tried to come up with something more direct, but
this is the best I could find.

Differential revision: https://reviews.llvm.org/D139428
2022-12-07 16:12:38 +01:00
Jens Massberg
edbea62f72 [clang] Correctly handle by-reference capture with an initializer that is a pack expansion in lambdas.
Ensure that the correct information whether an init-capture of a lambda
is passed by reference or by copy. This information is already computed
and has to be passed to the place where `NewInitCaptureType` is
created.

Before this fix it has been checked whether the VarDecl is a reference
type. This doesn't work for packed expansions, as the information
whether it is passed by reference or by copy is stored at the pattern of
a `PackExpansionType` and not at the type itself.

However, as the information has been already computed, we just have to
pass it.

Add tests that lambda captures with var decls which are reference types
are created in the AST and a disgnotics test for pack expansions.

Fixes #49266

Differential Revision: https://reviews.llvm.org/D139125
2022-12-07 16:00:58 +01:00
Guillaume Chatelet
7203a8614a [reland][Alignment] Use Align in MCStreamer emitZeroFill/emitLocalCommonSymbol
Before performing this change, I checked that `ByteAlignment` was never `0` inside `MCAsmStreamer:emitZeroFill` and `MCAsmStreamer::emitLocalCommonSymbol`.
I believe it is NFC as `0` values are illegal in `emitZeroFill` anyways, `Log2(ByteAlignment)` would be undefined.
And currently, all calls to `emitLocalCommonSymbol` are provably `>0`.

Differential Revision: https://reviews.llvm.org/D139439
2022-12-07 14:54:03 +00:00
Guillaume Chatelet
b822063669 Revert D139439 "[Alignment] Use Align in MCStreamer emitZeroFill/emitLocalCommonSymbol"
This breaks Windows bots with
`warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)`

Some shift operators are lacking a proper literal unit ('1ULL' instead of
'1'). Will reland once fixed.

This reverts commit c621c1a8e81856e6bf2be79714767d80466e9ede.
2022-12-07 14:51:26 +00:00
Nikita Popov
4d97a914d7 [SCEV] Use umin_seq for symbolic max BE count
We were using umin_seq when computing the exact BE count, but not
when computing the symbolic max BE count.
2022-12-07 15:32:49 +01:00
Will Dietz
d41b3bf7c3 [mlir][Pass] Fix dropped statistics with nested adaptors.
When running in parallel, nesting more than once caused
statistics to be dropped.

Fix by also preparing "async" pass managers before merging,
as they may also have "async" pass managers within.

Add test checking reported statistics have expected values
with and without threading enabled.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D139459
2022-12-07 08:31:43 -06:00
Guillaume Chatelet
c621c1a8e8 [Alignment] Use Align in MCStreamer emitZeroFill/emitLocalCommonSymbol
Before performing this change, I checked that `ByteAlignment` was never `0` inside `MCAsmStreamer:emitZeroFill` and `MCAsmStreamer::emitLocalCommonSymbol`.
I believe it is NFC as `0` values are illegal in `emitZeroFill` anyways, `Log2(ByteAlignment)` would be undefined.
And currently, all calls to `emitLocalCommonSymbol` are provably `>0`.

Differential Revision: https://reviews.llvm.org/D139439
2022-12-07 14:29:16 +00:00
Nikita Popov
dcfe2e7a13 [SCEV] Add another symbolic BE count test (NFC) 2022-12-07 15:25:58 +01:00
Simon Pilgrim
519adee201 [X86] combine-and.ll - add some 256/512-bit test coverage for D138521 2022-12-07 14:21:24 +00:00
Simon Pilgrim
abe6dbeedd [X86] combine-and.ll - add AVX1 test coverage 2022-12-07 14:21:24 +00:00
Simon Pilgrim
de0ff1fcb1 X86SelectionDAGInfo.cpp - move dyn_cast check inside if(). NFC.
Minor cleanup - we only use the non-null pointer inside the if() block
2022-12-07 14:21:24 +00:00
Daniel Kiss
7925e2828e Revert "[AArch64] Add __ARM_FEATURE_BTI and __ARM_FEATURE_PAUTH"
This reverts commit cfd44221e3e1783c0f44d5b1694dfbe84187246a.
2022-12-07 15:19:31 +01:00
Florian Hahn
8fa81cfad4
[ConstraintElim] Address comments from D137840.
Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D139482
2022-12-07 14:12:53 +00:00
Krzysztof Parzyszek
a81a0c97f1 [Remarks] Convert Optional to std::optional 2022-12-07 08:11:11 -06:00
Nico Weber
bfe292b00f [llvm] Auto-cleanup left-over file from earlier version of this test on bots
When this test was originally added in 991dfedfd738ce, it didn't pass
`-o` to to llc, causing llc to write a .s file to the source directory.
On the next run, lit would then try to run that as a test.
Make the test auto-cleanup that file for a while.
2022-12-07 09:09:45 -05:00
Quentin Colombet
9cbd136db4 [mlir][NFC] Add a new getStridesAndOffset function
The new function is a wrapper around the regular `getStridesAndOffset`
that offers a more compact way (as in writing less code) of getting the
relevant information.

This method is intended to be used only when it is known that the
LogicalResult of the regular `getStridesAndOffset` must be "succeeded".

This warpper will assert on that.

Differential Revision: https://reviews.llvm.org/D139529
2022-12-07 13:58:28 +00:00
Daniel Kiss
cfd44221e3 [AArch64] Add __ARM_FEATURE_BTI and __ARM_FEATURE_PAUTH
Macros are added to ACLE[1] and already added to ARM but these two are missing from AArch64.

[1] https://github.com/ARM-software/acle/blob/main/main/acle.md#changes-between-acle-q3-2021-and-acle-q4-2021

Reviewed By: chill

Differential Revision: https://reviews.llvm.org/D139445
2022-12-07 14:52:55 +01:00
Jean Perier
6e3292fba5 [flang] Lower parentheses with hlfir.as_expr and hlfir.no_reassoc
Differential Revision: https://reviews.llvm.org/D139523
2022-12-07 14:45:55 +01:00
Jean Perier
80e5ff775f [flang] add hlfir.no_reassoc definition
Same as fir.no_reassoc but accepts hlfir.expr type. It is needed because
FIR operation can only produce FIR types, and I do not want to change
that for now.

Depends on D139519

Differential Revision: https://reviews.llvm.org/D139520
2022-12-07 14:44:35 +01:00
Jean Perier
cf73faef9b [flang] Add hlfir.as_expr definition
hlfir.as_expr allows taking a value from a character, derived type,
or array expressions. This will allow implementing parentheses.

Combining as_expr + hlfir.associate will allow creating a variable copy
into a new temporary variable.

A later patch will add the ability to "move" a variable into an
expression (to give ownership of the variable storage to the expression,
with the commitment that the variable will not be used anymore).

Differential Revision: https://reviews.llvm.org/D139519
2022-12-07 14:43:45 +01:00
Nico Weber
4b88fdbdc7 [compiler-rt] Make get_test_cc_for_arch() complain on accidental extra args
This would've helped find the bug mentioned in 9531fc37fb8b84e4
faster.

Differential Revision: https://reviews.llvm.org/D139432
2022-12-07 08:34:20 -05:00
Nico Weber
73b1f27137 [gn build] Port c9b325088d14 2022-12-07 08:27:50 -05:00
Peixin Qiao
feb9d33a2a [flang] Support codegen for global procedure pointer
This supports the codegen for global procedure pointer in BoxedProcedure
pass. Reset the boxproc type.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D138273
2022-12-07 21:24:01 +08:00
Peixin Qiao
7de3c03e80 [flang] Support codegen of procedure pointer component
This supports the codegen for procedure pointer component in
BoxedProcedure pass. Also fix the FIR in ProcedurePointer.md so that
all the cases can be run using `tco` to generate the LLVM IR.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D136842
2022-12-07 21:21:08 +08:00
Jay Foad
632118a090 [AMDGPU] Use SOP_Pseudo more consistently. NFC.
SOPK_Pseudo was not inheriting from SOP_Pseudo at all, and some other
Pseudo classes were needlessly redefining things that were already
defined by SOP_Pseudo.

Differential Revision: https://reviews.llvm.org/D139527
2022-12-07 12:56:42 +00:00
Ilya Biryukov
cdfce10b28 [clangd] Fix a typo in -ranking-model documentation. NFC 2022-12-07 13:53:14 +01:00
Ilya Biryukov
c9b325088d [clangd] Allow to build Clangd without decision forest
Make it possible to disable building the decision forest ranking
model for clangd.  To unbreak build of Clangd on PPC32 in gentoo, see
https://bugs.gentoo.org/829602

Based on D138520.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D139107
2022-12-07 13:52:22 +01:00
LLVM GN Syncbot
88594d1f85 [gn build] Port cb5b25c58783 2022-12-07 12:44:01 +00:00
Nico Weber
08a9b22df1 [gn build] port d62480c1995b (LoongArchTests) 2022-12-07 07:43:19 -05:00
Max Kazantsev
af7a8866ff [Test] Add a test where we expect to see symbolic max as umin_seq 2022-12-07 19:28:28 +07:00
Haojian Wu
3abdd9b91b Fix a typo ll->llc in test 2022-12-07 13:24:06 +01:00