- Mar 19, 2024
-
-
Benjamin Kramer authored
This lets users use TensorDialect without depending on all dialects transitively. 513cdb82 forces that otherwise.
-
Orlando Cazalet-Hyams authored
--load-bitcode-into-experimental-debuginfo-iterators false: Convert to the old debug mode after reading. true: Upgrade to the new debug info format (*). unset: Same as false (for now). (*) As of this patch it actually just means "don't convert to either mode after loading". Auto-upgrading will be implemented in an upcoming patch. With this flag we can incrementally add support for RemoveDIs by overriding the "unset" behaviour in individual tools. The flag can be removed once all tools support the new debug info mode. -
Wang Pengcheng authored
We add a common class `SingleFusion` that accepts a single instruction pair to simplify fusion definitions. Pull Request: https://github.com/llvm/llvm-project/pull/85750
-
martinboehme authored
`llvm::MaybeAlign` does this, for example. It's not an option to simply ignore these derived classes because they get cast back to the optional classes (for example, simply when calling the optional member functions), and our transfer functions will then run on those optional classes and therefore require them to be properly initialized.
-
Sergio Afonso authored
This patch moves some code in PFT to MLIR OpenMP lowering to the `ClauseProcessor` class. This is so that some behavior that is related to certain clauses stays within the `ClauseProcessor` and it's not the caller the one responsible for always doing this when the clause is present.
-
wanglei authored
Simultaneously improved diagnostic testing for the `PseudoLI_W` instruction.
-
Michael Buch authored
This caused following warnings in an LLDB build: ``` [237/1072] Building CXX object tools/l...lusLanguage.dir/LibCxxSliceArray.cpp.o /Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:53: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 38 | stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size); | ~~~~~~~~~ ^~~~~~ /Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:61: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat] 38 | stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size); | ~~~~~~~~~ ^~~~ 2 warnings generated. ``` This patch simply changes the format specifiers to use the `%zu` for `size_t`s. -
Nikita Popov authored
This code was assuming that the LHS would always be one of GlobalVariable, BlockAddress or ConstantExpr. However, it can also be a special constant like dso_local_equivalent or no_cfi. Make sure this is handled gracefully.
-
serge-sans-paille authored
Followup to #85188
-
Kai Sasaki authored
-
Pierre van Houtryve authored
Update PromoteAllocaToVector so it considers the whole function before promoting allocas. Allocas are scored & sorted so the highest value ones are seen first. The budget is now per function instead of per alloca. Passed internal performance testing.
-
Janek van Oirschot authored
Corrects the `AMDHSA_BITS_SET` macro.
-
Sergio Afonso authored
In this patch some uses of `llvm::SmallVector` in Flang's lowering to MLIR are replaced by other types (i.e. `llvm::ArrayRef` and `llvm::SmallVectorImpl`) which are intended for these uses. This generally prevents relying on always passing small vectors with a particular number of elements in the stack.
-
jeanPerier authored
Polymorphic entity lowering status is good. The main remaining TODO is to allow lowering of vector subscripted polymorphic entity, but this does not deserve blocking all application using polymorphism. Remove experimental option and enable lowering of polymorphic entity by default.
-
Ulrich Weigand authored
This reverts commit d9c31ee9.
-
Benjamin Kramer authored
-
Sergio Afonso authored
This patch adds a couple of new directive sets for composite constructs, completes some of the existing ones with missing values, refactors all* sets to always build on the corresponding top* set and reorders sets and directives alphabetically. No functional change intended.
-
jeanPerier authored
The current lowering did not handle sequence associated argument passed by descriptor. This case is special because sequence association implies that the actual and dummy argument need to to agree in rank and shape. Usually, arguments that can be sequence associated are passed by raw address, and the shape mistmatch is transparent. But there are three cases of explicit and assumed-size arrays passed by descriptors: - polymorphic arguments - BIND(C) assumed-length arguments (F'2023 18.3.7 (5)). - length parametrized derived types (TBD) The callee side is expecting a descriptor containing the dummy rank and shape. This was not the case. This patch fix that by evaluating the dummy shape on the caller side using the interface (that has to be available when arguments are passed by descriptors).
-
Ulrich Weigand authored
We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement USUBO/USUBO_CARRY for the i128 data type. However, these instructions use an inverted sense of the borrow indication flag (a value of 1 indicates *no* borrow, while a value of 0 indicated borrow). This does not match the semantics of the boolean "overflow" flag of the USUBO/USUBO_CARRY ISD nodes. Fix this by generating code to explicitly invert the flag. These cancel out of the result of USUBO feeds into an USUBO_CARRY. To avoid unnecessary zero-extend operations, also improve the DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc))) sequences where appropriate. Fixes: https://github.com/llvm/llvm-project/issues/83268
-
serge-sans-paille authored
Followup to #85188.
-
Hirofumi Nakamura authored
Intend to fix the `Test documentation build `, degraded here https://github.com/llvm/llvm-project/pull/83149 .
-
Jonathan Thackray authored
[AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs Cortex-A520AE and Cortex-A720AE are Armv9.2 AArch64 CPUs. Technical Reference Manual for Cortex-A520AE: https://developer.arm.com/documentation/107726/latest/ Technical Reference Manual for Cortex-A720AE: https://developer.arm.com/documentation/102828/latest/
-
Felix Schneider authored
Currently, `simplifyMul()` asserts that either `lhs` or `rhs` is symbolic or constant. This method is called by the overloaded `*` operator for `AffineExpr`s which leads to a crash when building a multiplication expression where neither operand is symbolic or constant. This patch returns a `nullptr` from `simplifyMul()` to signal that the expression could not be simplified instead. Fix https://github.com/llvm/llvm-project/issues/75770
-
Pierre van Houtryve authored
This is no longer needed with opaque pointers.
-
Benjamin Kramer authored
This doesn't change functionality, but lets us avoid attaching all the interfaces after 513cdb82 turned casting without loading into an error.
-
nicebert authored
Fixes ompx_dump_mapping_tables test by only using one device after breaking built bots
-
Timm Bäder authored
-
Matt Arsenault authored
If we had a comparison to a literal nan with a false predicate, we were incorrectly treating it as an unordered compare. This was correct for fcmp true, but not fcmp false. I noticed this in the review for e44d3b3e but misdiagnosed the reason. Also change the test for the fcmp true case to be more useful, but it wasn't wrong previously.
-
Yingwei Zheng authored
This patch enables more optimization after canonicalizing `fmul X, 0.0` into a copysign. I decide to implement this fold in InstCombine because `computeKnownFPClass` may be expensive. Alive2: https://alive2.llvm.org/ce/z/ASM8tQ
-
Timm Bäder authored
-
Shourya Goel authored
Fixes: #84749
-
Wang Pengcheng authored
To make structure clear. Reviewers: dtcxzyw, arsenm Reviewed By: arsenm Pull Request: https://github.com/llvm/llvm-project/pull/85748
-
martinboehme authored
This is a relatively rare case, but - It's still nice to get this right, - We can remove the special case for this in `VisitCXXOperatorCallExpr()` (that simply bails out), and - With this in place, I can avoid having to add a similar special case in an upcoming patch.
-
LLVM GN Syncbot authored
-
martinboehme authored
This expresses better what the class actually does, and it reduces the number of `Context`s that we have in the codebase. A deprecated alias `ControlFlowContext` is available from the old header.
-
Wang Pengcheng authored
-
Jay Foad authored
-
Adrian Kuegel authored
-
Martin Storsjö authored
This reverts the changes from 91a38462 for Windows targets. The changes in that commit don't work as expected for Windows targets (those parts of llvm_add_library don't quite behave the same for Windows), while the previous status quo (producing a library named "libLLVM-<major>.dll") is the defacto standard way of doing versioned library names there, contrary to on Unix. After that commit, the library always ended up named "libLLVM.dll", executables linking against it would reference "libLLVM.dll", and "libLLVM-<major>.dll" was provided as a symlink. Thus revert this bit back to as it were, so that executables actually link against a versioned libLLVM, and no separate symlink is needed. The only thing that might be improved compared to the status quo as it was before these changes, is that the import library is named "lib/libLLVM-<major>.dll.a", while the common style would be to name it plainly "lib/libLLVM.dll.a" (even while it produces references to "libLLVM-<major>.dll", but none of these had that effect for Windows targets. (As a side note, the llvm-shlib library can be built for MinGW, but not currently in MSVC configurations.)
-
Matthias Springer authored
This commit fixes memory leaks in sparse tensor integration tests by adding `bufferization.dealloc_tensor` ops. Note: Buffer deallocation will be automated in the future with the ownership-based buffer deallocation pass, making `dealloc_tensor` obsolete (only codegen path, not when using the runtime library). This commit fixes the remaining memory leaks in the MLIR test suite. `check-mlir` now passes when built with ASAN.
-