- Dec 19, 2023
-
-
Nikita Popov authored
This will already be checked inside markConstant().
-
Louis Dionne authored
We shouldn't need to link against libc++ or libc++abi when building libunwind, since that would otherwise be a circular dependency.
-
Kerry McLaughlin authored
Adds the following SME2 builtins: - svread_hor/ver, - svwrite_hor/ver, - svread_za64, - svwrite_za64 See https://github.com/ARM-software/acle/pull/217
-
Timm Bäder authored
-
Haojian Wu authored
This fixes https://github.com/llvm/llvm-project/issues/64347. The CTAD for an aggregate class is missing to handle the explicit type conversion case, e.g. `TemplateFooClass(1, 2);`. Per C++ expr.type.conv p1, the deduced type is the return type of the deduction guide selected by the CTAD for the reminder. In the deduction implementation `DeduceTemplateSpecializationFromInitializer`, the parenthesized express-list case relies on the `ParenListExpr` parameter (default is nullptr), the AST `ParenListExpr` node is not built for all variant initializer cases (`BuildCXXTypeConstructorExpr`, `BuildCXXNew` etc), thus the deduction doesn't perform for these cases. This patch fixes it by removing the `ParenListExpr` and using the `Inits` instead (which also simplifies the interface and implementation).
-
Nikita Popov authored
Only used in ConstantFoldCompareInstOperands(), which does not actually use TLI.
-
Oleksandr "Alex" Zinenko authored
Extend the `amendOperation` mechanism for translating dialect attributes attached to operations from another dialect when translating MLIR to LLVM IR. Previously, this mechanism would have no knowledge of the LLVM IR instructions created for the given operation, making it impossible for it to perform local modifications such as attaching operation-level metadata. Collect instructions inserted by the LLVM IR builder and pass them to `amendOperation`.
-
Martin Storsjö authored
-
Guillaume Chatelet authored
Before this patch the compiler could generate unnecessary calls to the selected implementation. https://clang.llvm.org/docs/AttributeReference.html#flatten
-
Nikita Popov authored
If the base was poison, retain the poison value.
-
Paschalis Mpeis authored
`createFunctionType` returns a FunctionType that may contain a mask, which is currently placed as the last parameter to the Function. The placement happens according to `VFParameters` of `VFInfo`, and it should be able to handle VFABI specification changes. Regarding the return type, it uses the scalar type of the input instruction, as the specification does not encode in the mangled name such information. If that ever happens, that information should be available from `VFInfo`.
-
Nikita Popov authored
This one doesn't seem to make a practical difference because we'd canonicalize undef -> poison in the relevant cases anywy.
-
Nikita Popov authored
-
Christian Sigg authored
-
Nikita Popov authored
-
Nikita Popov authored
We can only set PoisonElts if the element is poison, not if it is undef.
-
Ramkumar Ramachandra authored
-
Nikita Popov authored
When constructing vectors from elements, use poison instead of undef as the base value. These literals always initialize all elements (padding the remainder with zero), so that the choice of base value does not affect semantics.
-
Hana Dusíková authored
[llvm-cov] format cells in report with 0/0 branches/functions/lines differenly (gray instead red) and make the table a bit nicer (#75780)
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Nikita Popov authored
-
Timm Bäder authored
The reference could be const, but this is even better.
-
Wang Pengcheng authored
The followed byte of `OPC_EmitRegister` is a MVT type, which is usually i32 or i64. We add `OPC_EmitRegisterI32` and `OPC_EmitRegisterI64` so that we can reduce one byte. Overall this reduces the llc binary size with all in-tree targets by about 10K.
-
David Spickett authored
By commit 12ed2c90. Fixes #75736
-
Timm Bäder authored
And const qualify some local variables
-
jeanPerier authored
Lowering was instantiating component symbols (but the last) in initial target designator as if they were whole objects, leading to collisions and bugs. Fixes https://github.com/llvm/llvm-project/issues/75728
-
Pavel Labath authored
We don't have a std::vector formatter on windows, so use a custom formatter in this test to avoid relying on std::vector.
-
David Spickett authored
NestedClass will be found via Class::NestedClass and ClassTypedef::NestedClass. So the first part of the test gets 2 results as the default is to find all matching types. In the next part, we ask for only the first match and expect to get only 1 of those two possible results.
-
Fangrui Song authored
When llvm-objdump switched from cl:: to OptTable (https://reviews.llvm.org/D100433), we dropped support for LLVM cl:: options. Some LLVM_DEBUG in `llvm/lib/Target/$target/MCDisassembler/` files might be useful. Add -mllvm to allow dumping the information. ``` # -debug is available in an LLVM_ENABLE_ASSERTIONS=on build llvm-objdump -d -mllvm -debug a.o > /dev/null ``` Link: https://discourse.llvm.org/t/how-to-enable-debug-logs-in-llvm-objdump/75758
-
jeanPerier authored
Implement the C struct passing ABI on X86-64 for the trivial case where the structs have one element. This is required to cover some cases of BIND(C) derived type pass with the VALUE attribute.
-
Timm Bäder authored
-
Timm Bäder authored
Const qualify a few locals, merge two if statements and use dyn_cast_if_present instead of _or_null.
-
Timm Bäder authored
-
Dmitry Polukhin authored
Summary: After https://reviews.llvm.org/D143436 response files stopped working with CDB interpolation. It has happened because interpolation removes all unknown flags and extra input files. Response file is treated as an extra input because it is not a flag. Moreover inference needs full command line for driver mode and file type detection so all response files have to be expanded for correct inference. This patch partially reverts D143436 and add additional response file expansion in OverlayCDB for CDBs pushed via LSP. Test Plan: check-clangd Tasks: https://github.com/llvm/llvm-project/issues/69690
-
Guray Ozen authored
The `test-lower-to-nvvm` pipeline serves as the common and proper pipeline for nvvm+host compilation, and it's used across our CUDA integration tests. This PR updates the `test-lower-to-nvvm` pipeline to `gpu-lower-to-nvvm` and moves it within `InitAllPasses.h`. The aim is to call it from Python, also having a standardize compilation process for nvvm.
-
Adam Paszke authored
There were two issues with the previous computation: * it never looked at dimensions past the second one * the definition was recursive, making each dimension have an extra `elementSize` power
-
Mariusz Sikora authored
It is currently disabled by default. It will need experiments on a real HW to tune and decide on the profitability. --------- Co-authored-by:Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
-
Matt Arsenault authored
-
Shengchen Kan authored
-