- May 13, 2022
-
-
Aaron Puchert authored
That's required to support `\n`, but can also be used for other commands. We already had the infrastructure in place to parse a varying number of arguments, we simply needed to generalize it so that it would work not only for block commands. This should fix #55319. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D125429
-
Aaron Puchert authored
The command traits have a member NumArgs for which all the parsing infrastructure is in place, but no command was setting it to a value other than 0. By doing so we get warnings when passing an empty paragraph to \retval (the first argument is the return value, then comes the description). We also take \xrefitem along for the ride, although as the documentation states it's unlikely to be used directly. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D125422
-
Nathan Sidwell authored
We need to expand special substitutions in four different ways. This refactors to only have one conversion from enum to string, and derive the other 3 needs off that. The SpecialSubstitution node is derived from the ExpandedSpecialSubstitution. While this may seem unintuitive, it works out quite well, as SpecialSubstitution can then use the former's getBaseName and remove an unneeded 'basic_' prefix, for those substitutions that are instantiations (to known typedef). Similarly all those instantiations use the same set of template arguments (with 'basic_string', getting an additional 'allocator' arg). Expansion tests were added in D123134, and remain unchanged. Reviewed By: MaskRay, dblaikie Differential Revision: https://reviews.llvm.org/D125257
-
Denys Shabalin authored
In d4555698, the name of nano precision timer function has changed from `nano_time` to `nanoTime`, but benchmarks were not updated to reflect that. This change addresses the discrepancy. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D125217
-
Simon Pilgrim authored
As noted on D103874, the 'no-op' vector widening intrinsics currently depend on undef shuffle mask indices, moving to poison we need to adjust this to reference a 'undefined' second vector operand, which will be a freeze(undef).
-
Whisperity authored
Fixes the `FIXME:` related to adding `forEachTemplateArgument` to the core AST Matchers library. Reviewed By: aaron.ballman Differential Revision: http://reviews.llvm.org/D125383
-
Groverkss authored
This patch fixes a bug in areIdsUnique where it ignores the [start, end] range. No test case is added since there are no use cases through IR from where it can be tested, and it is hard to create a unittest since we do not currently have Values in unittests. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D124735
-
Nikita Popov authored
-
Nikita Popov authored
ArrayRef<Value *> also accepts a single Value *, there's no need to create separate overloads for this.
-
Tres Popp authored
-
Pavel Samolysov authored
If a load with the same offset has already been seen but the load had a lower alignment, the pass has to check whether the pointer is dereferenceable and is sufficiently aligned (so, the new alignment must be taken into account).
-
Tres Popp authored
This pass is to handle computationally complex operations like tensor.pad which are not simply lowered to the exact same operation in the memref dialect. Differential Revision: https://reviews.llvm.org/D125384
-
Nikita Popov authored
-
LLVM GN Syncbot authored
-
Archibald Elliott authored
This adds a late Machine Pass to work around a Cortex CPU Erratum affecting Cortex-A57 and Cortex-A72: - Cortex-A57 Erratum 1742098 - Cortex-A72 Erratum 1655431 The pass inserts instructions to make the inputs to the fused AES instruction pairs no longer trigger the erratum. Here the pass errs on the side of caution, inserting the instructions wherever we cannot prove that the inputs came from a safe instruction. The pass is used: - for Cortex-A57 and Cortex-A72, - for "generic" cores (which are used when using `-march=`), - when the user specifies `-mfix-cortex-a57-aes-1742098` or `mfix-cortex-a72-aes-1655431` in the command-line arguments to clang. Reviewed By: dmgreen, simon_tatham Differential Revision: https://reviews.llvm.org/D119720
-
Alex Zinenko authored
Due to an apparent bug in the Doxygen version <1.8.16 used to generate documentation for MLIR, parts of the navigation (specifically, the lists of inherited methods for classes) are unusable due to dynsections.js missing from the output generated by Doxygen. Setting this flag makes Doxygen always produce the file.
-
Archibald Elliott authored
These are the tests for the pass added in https://reviews.llvm.org/D119720 Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D122747
-
Matthias Springer authored
Most functions do not need a PatternRewriter or ConversionPatternRewriter. Differential Revision: https://reviews.llvm.org/D125466
-
Matthias Springer authored
No need to expose this as public API anymore. Differential Revision: https://reviews.llvm.org/D125361
-
Zakk Chen authored
The goal is support tail and mask policy in RVV builtins. We focus on IR part first. If the passthru operand is undef, we use tail agnostic, otherwise use tail undisturbed. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D125323
-
Sam Parker authored
Recommit. Check for legal zext 'sinks' before inserting a trunc. Differential Revision: https://reviews.llvm.org/D115451
-
Jay Foad authored
Previously it built MIR for the results and returned a Register. This avoids building constants for earlier elements of the vector if later elements will fail to fold, and allows CSEMIRBuilder::buildInstr to avoid unconditionally building a copy from the result. Use a new helper function MachineIRBuilder::buildBuildVectorConstant to build a G_BUILD_VECTOR of G_CONSTANTs. Differential Revision: https://reviews.llvm.org/D117758
-
Sam Parker authored
Simplify existing test and also add it as a codegen test for aarch64.
-
Daniel Kiss authored
Program may set the RA_SIGN_STATE pseudo register by expressions. Libunwind expected only the DW_CFA_AARCH64_negate_ra_state could change the value of the register which leads to runtime errors on PAC enabled systems. In the recent version of the aadwarf64[1] a limitation is added[2] to forbid the mixing the DW_CFA_AARCH64_negate_ra_state with other DWARF Register Rule Instructions. [1] https://github.com/ARM-software/abi-aa/releases/tag/2022Q1 [2] https://github.com/ARM-software/abi-aa/pull/129 Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D123692
-
Endre Fülöp authored
BoolAssignment checker is now taint-aware and warns if a tainted value is assigned. Original author: steakhal Reviewed By: martong Differential Revision: https://reviews.llvm.org/D125360
-
Dmitry Makogon authored
This refactors RS4GC to cache results returned findBaseDefiningValue and also gets rid of BaseDefiningValueResult by caching the IsKnownBase flag for BDVs and bases. Differential Revision: https://reviews.llvm.org/D125000
-
Lian Wang authored
Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D125453
-
Alex Bradbury authored
Custom type-checking (in WebAssemblyAsmTypeCheck.cpp) is used to workaround the fact that separate variants of the instruction are defined for externref and funcref. Based on an initial patch by Paulo Matos <pmatos@igalia.com>. Differential Revision: https://reviews.llvm.org/D123484
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D125454
-
Timm Bäder authored
UTF8 char literals are always unsigned. Fixes https://github.com/llvm/llvm-project/issues/54886 Differential Revision: https://reviews.llvm.org/D124996
-
Zi Xuan Wu (Zeson) authored
It enables relocation resolver for CSKY to pass some check-all test, and also add some test about dwarf relocs. Differential Revision: https://reviews.llvm.org/D125450
-
Fangrui Song authored
This reverts commit ebdb9d63. Changing p_memsz is insufficient and may make PT_GNU_RELRO extend beyond the PT_LOAD.
-
Lian Wang authored
Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D125452
-
bzcheeseman authored
C-style casting can create a temporary when compiled by a C++ compiler, which was emitting a warning casting a reference to another reference. We can't use C++-style casting directly because it doesn't always work with incomplete types. In order to support the current use-cases, for references we switch to pointer space to perform the cast. Reviewed By: qiongsiwu1 Differential Revision: https://reviews.llvm.org/D125482
-
Chen Zheng authored
address code review comments for D123995
-
Ping Deng authored
Reviewed By: sunshaoce, asb, craig.topper Differential Revision: https://reviews.llvm.org/D125363
-
Xiang Li authored
Change Bitwriter to BitWriter. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D125507
-
Chenbing Zheng authored
This patch fix bug left in D124503. We should do sub(add(X,Z),umin(Y,Z)) --> add(X,usub.sat(Z,Y)) instead of sub(add(X,Z),umin(Y,Z)) --> add(X,usub.sat(Y,Z)). Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D125352
-
Julian Lettner authored
Thread create/destroy events are not guaranteed to belivered on the parent thread, e.g., output from a CI job: ``` 5: THREAD_CREATE 0x7e8000104000, self: 0x1102ebdc0, name: n/a 6: THREAD_START 0x7e8000104000, self: 0x7e8000104000, name: n/a 7: Hello from pthread 8: THREAD_TERMINATE 0x7e8000104000, self: 0x7e8000104000, name: child thread 9: THREAD_DESTROY 0x7e8000104000, self: 0x7e8000104000, name: child thread ``` Here, THREAD_DESTROY is delivered on the thread being destroyed. rdar://92679941
-
Joseph Huber authored
Summary: Static libraries need to be handled differently from regular inpout files, namely they are loaded lazily. Previously we used a flag to indicate a file camm from a static library. This patch simplifies this by simply keeping a different array that contains the static libraries so we don't need to parse them out again.
-