- Apr 01, 2024
-
-
Philip Lassen authored
Both `Transpose` and `Broadcast` specify the `SameVariadicOperandSize` trait. However neither has a variadic operand let alone more than one. This is likely a relic from copying the boilerplate of the `Reduce` definition.
-
Mehdi Amini authored
Reverts llvm/llvm-project#86991 Some bots are broken with a leak being detected now.
-
Mehdi Amini authored
This speeds up registered op creation by 10-11% by allowing lookup by TypeID instead of StringRef. This can break your build/tests at runtime with an error that you're creating an unregistered operation that you have registered. If so you are likely using a class inheriting from the "real" operation. See for example in this patch the case of: class ConstantIndexOp : public arith::ConstantOp { If one is using `builder.create<ConstantIndexOp>()` they actually create an `arith.constant` operation, but the builder will fetch the TypeID for the `ConstantIndexOp` class which does not correspond to any registered operation. To fix it the `ConstantIndexOp` class got this addition: static ::mlir::TypeID resolveTypeID() { return TypeID::get<ConstantOp>(); } -
Greg Clayton authored
We have the ability to load .dwp files with a .debug_info.dwo section that exceeds 4GB. There were 4 locations that were using 32 bit offsets and lengths to extract variable locations, and if a DIE was over the 4GB barrier, we would truncate the block offset for the variable locations and the variable expression would be garbage. This fixes the issues. It isn't possible to add a test for this as we don't want to create a 4GB .dwp file on test machines.
-
Jakub Kuderski authored
For more context on isa predicates, see: https://github.com/llvm/llvm-project/pull/83753.
-
Jon Chesterfield authored
This reverts commit a2982a29. Buildbot failure that motivated the revert looks unrelated.
-
Austin Kerbow authored
-
Austin Kerbow authored
It was shown experimentally that this may have some benefit on newer HW.
-
Jacek Caban authored
Fixes BUILD_SHARED_LIBS builds after #87191 made helpers non-inline.
-
Pablo Busse authored
An inverted condition causes `SymbolFileDWARFDebugMap::FindTypes` to bail out after inspecting the first .o file in each module. The same kind of bug is found in `SymbolFileDWARFDebugMap::ParseDeclsForContext`. Correct both early exit conditions and add a regression test for lookup of up a type defined in a secondary compilation unit. Fixes #87176
-
- Mar 31, 2024
-
-
Noah Goldstein authored
Closes #87179
-
Jacek Caban authored
Move the implementation to llvm:Core to avoids including `COFF.h` in `Mangler.cpp`.
-
Piotr Zegar authored
This reverts commit b6f6be4b.
-
Piotr Zegar authored
Remove duplicated matchers by moving some of them to utils/Matchers.h. Add some anonymous namespaces and renamed some code to avoid ODR issues.
-
Amir Ayupov authored
-
Karl-Johan Karlsson authored
In gcc there exist a modifier option -Wformat-signedness that turns on additional signedness warnings in the already existing -Wformat warning. This patch implements that support in clang. This is done by adding a dummy warning diag::warn_format_conversion_argument_type_mismatch_signedness that is never emitted and only used as an option to toggle the signedness warning in -Wformat. This will ensure gcc compatibility.
-
Amir Ayupov authored
-
Min Hsu authored
I'm planning to add memory operands that produce floating point type. In order to prevent code bloating induced by memory operands of not just integer but floating point types, I factored the sizes from these operands with foreach loops.
-
Florian Hahn authored
-
Marc Auberer authored
Resolves #87109
-
Mark de Wever authored
Instead of including a relative path use an absolute path based on the available lit substitution. This makes it easier to understand what is included and moving the test to a different directory level no longer breaks the test. This is based on a question by @EricWF in https://github.com/llvm/llvm-project/pull/82113.
-
Jacek Caban authored
Add '--' argument to clang-cl to avoid interpreting input files with /U option. Fix for llvm-clang-aarch64-darwin buildbot failure after #86835.
-
- Mar 30, 2024
-
-
Jacek Caban authored
We currently just use mangled name. This works fine, because linker should detect that and demangle it for the export table. However, on MSVC, the compiler is more specific and passes demangled name as well, with EXPORTAS. This PR aims to match that. MSVC doesn't use quotes in this case, so I added '#' to the list of characters that don't need it.
-
Jacek Caban authored
This is required by the linker. Also add a new -marm64x command line argument to allow specifying -machine:arm64x.
-
Brandon Wu authored
This commit handles vector arguments/return for function definition/call, the new class RVVArgDispatcher is added for doing all vector register assignment including mask types, data types as well as tuple types. It precomputes the register number for each argument as per https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#standard-vector-calling-convention-variant and it's passed to calling convention function to handle all vector arguments. Depends on: #78550
-
paperchalice authored
Unfortunately GCC 9 rejects code in https://godbolt.org/z/zd9r5GM3e GCC 11 accepts this code.
-
Stefan Gränitz authored
-
Christian Ulmann authored
This commit introduces a shared library for the MLIR execution engine. This library is only built when `LLVM_BUILD_LLVM_DYLIB` is set. Having such a library allows downstream users to depend on the execution engine without giving up dynamic linkage. This is especially important for CPU runner-style tools, as they link against large parts of MLIR and LLVM. It is alternatively possible to modify the `MLIRExecutionEngine` target when `LLVM_BUILD_LLVM_DYLIB` is set, to avoid duplicated libraries.
-
Jay Foad authored
This is mostly just a simplification, but tests show a slight codegen improvement in code using the deprecated amdgcn.icmp/fcmp intrinsics.
-
Fangrui Song authored
For a DSO with all DT_NEEDED entries accounted for, if it contains an undefined non-weak symbol that shares a name with a non-exported definition (hidden visibility or localized by a version script), and there is no DSO definition, we should report an error. #70769 implemented the error when we see `ref.so def-hidden.so`. This patch implementes the error when we see `def-hidden.so ref.so`, matching GNU ld. Close #86777
-
Fangrui Song authored
Test that the error is not triggered when we see the non-exported definition first (#86777).
-
paperchalice authored
Reverts llvm/llvm-project#87137 It introduces ambiguous template specialization problem. Revert it.
-
paperchalice authored
Fix preprocessor directive.
-
paperchalice authored
This reverts commit 5538853f. #83668 Break some test bots.
-
paperchalice authored
This pull request adds `MachineFunctionProperties` support. If a pass wants to modify machine function properties, it must derive from `MachinePassInfoMixin` and define some static methods like in legacy pass manager. A test pass `RequireAllMachineFunctionPropertiesPass` is also added here, which could be a example.
-
Schrodinger ZHU Yifan authored
-
Maksim Panchenko authored
Under normal circumstances, we terminate basic blocks on a trap instruction. However, Linux kernel may resume execution after hitting a trap (ud2 on x86). Thus, we introduce "--terminal-trap" option that will specify if the trap instruction should terminate the control flow. The option is on by default except for the Linux kernel mode when it's off.
-
Sitnikov Sergey authored
-
Vladimir Vereschaka authored
Review the actual component parameters and update the cache file accordingly. Also fixed the C++ test builds for the compiler-rt component.
-
Aart Bik authored
Note that even though the sparse runtime support lib always uses SoA storage for COO storage (and provides correct codegen by means of views into this storage), in some rare cases we need the true physical SoA storage as a coordinate buffer. This PR provides that functionality by means of a (costly) coordinate buffer call. Since this is currently only used for testing/debugging by means of the sparse_tensor.print method, this solution is acceptable. If we ever want a performing version of this, we should truly support AoS storage of COO in addition to the SoA used right now.
-