- Mar 14, 2023
-
-
Simon Pilgrim authored
The select operands were commuted preventing D144789 from folding
-
Joseph Huber authored
This doesn't seem to be used anymore after recent changes that removed the `--sysroot` method for the integration tests. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D146040
-
Jie Fu authored
[lldb] Fix -Wswitch in TypeSystemClang.cpp ('SveBoolx2' and 'SveBoolx4' not handled in switch) (NFC) /data/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:4859:13: error: enumeration values 'SveBoolx2' and 'SveBoolx4' not handled in switch [-Werror,-Wswitch] switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. -
Nikita Popov authored
-
Collin Baker authored
Handle template parameter-dependent bit field widths in libclang In a class template, a bit field's width may depend on a template parameter. In this case the width expression cannot be evaluated. Previously clang_getFieldDeclBitWidth() would assert, or cause memory unsafety and return an invalid result if assertions are disabled. This adds a check for this case which returns an error code. This work was largely taken from an earlier patch which was reverted due to an accidental API duplication (https://reviews.llvm.org/D130303). Fixes: https://github.com/llvm/llvm-project/issues/56644 Co-authored-by:
Aaron Ballman <aaron@aaronballman.com> Differential Revision: https://reviews.llvm.org/D146039
-
Max Kazantsev authored
Because widenable conditions with eventually lower into a constant, such instructions as `and`, `or` etc. will also be optimized away. Treat them as free. This is an important thing to have if we want that guards represented as experimental.guard calls and in their explicit form (branch by `and` with widenable condition) have the same cost for unroller and other passes like this. Differential Revision: https://reviews.llvm.org/D146034 Reviewed By: nikic
-
pvanhout authored
Switch DAGISel over to UniformityAnalysis, which was one of the last remaining users of the DivergenceAnalysis. No explosions seen during internal testing so this looks like a smooth transition. Reviewed By: sameerds Differential Revision: https://reviews.llvm.org/D145918
-
Alexey Bataev authored
operation for combined entries. The vector factor after combining of the shuffle entries is defined by the size of the mask, not by the vector factors of the original entries. So, need to adjust it to emit correct code.
-
Joseph Huber authored
Summary: We use an internal option to create the GPU binary used for testing. This wasn't getting the proper flags passed to it due to a missing variable name.
-
Pavel Kosov authored
-
pvanhout authored
AMDGPU ISel can add extra passes when expensive checks are enabled. This means the pipeline can be reordered and the checks may fail. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D146038
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
this broke arm32 build bots This reverts commit 7f20e2a8.
-
Aaron Ballman authored
This reverts commit 4d55a0b5. The addition of clang_isBitFieldDecl is not needed because clang_Cursor_isBitField already exists.
-
Adrian Kuegel authored
-
Leandro Lupori authored
Fortran allows type mismatch when passing actual arguments to procedures and most cases were already being handled correctly by Flang. However, conversion of data types to and from procedures and conversion between procedures and char procedures were not always handled properly. The missing cases were added and these conversions are supported now. Fixes #60550 Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D145601
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D145947
-
Adrian Kuegel authored
-
Guillaume Chatelet authored
-
Alex Bradbury authored
There is no versioning scheme for the 'g' shorthand for imafd (or in current ISA specs, imafd_zifencei_zicsr). As such, the only sensible behaviour to me seems to be to reject a version for it. Differential Revision: https://reviews.llvm.org/D145954
-
Takuya Shimizu authored
This patch checks whether -Wunreachable-code-fallthrough is enabled when clang encounters unreachable fallthrough attributes and, if so, suppresses code will never be executed warning to avoid duplicate warnings. Fixes https://github.com/llvm/llvm-project/issues/60416 Differential Revision: https://reviews.llvm.org/D145842
-
LiaoChunyu authored
i8 and i16 are not using overflow. Reduce the number of zero extension instructions. To reduce the uncertainty of the unknown, most of the checks of the virtual function are kept Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D143646
-
Kadir Cetinkaya authored
I'll follow up with patching of those ranges, this is to stop bleeding mentioned in https://github.com/clangd/clangd/issues/1537. Differential Revision: https://reviews.llvm.org/D146024
-
Haojian Wu authored
Differential Revision: https://reviews.llvm.org/D146022
-
Nicholas Guy authored
Differential Revision: https://reviews.llvm.org/D142482
-
Nicholas Guy authored
Differential Revision: https://reviews.llvm.org/D143177
-
Haojian Wu authored
Fixes https://github.com/llvm/llvm-project/issues/61373 Differential Revision: https://reviews.llvm.org/D146021
-
Nicolas Vasilache authored
Depends on: D145977 Differential Revision: https://reviews.llvm.org/D145980
-
Kadir Cetinkaya authored
Empty StringRefs are usually identified by their length being zero, and sometimes they'll have Data==nullptr (e.g. default constructed, or derived from an operation like split/copy and result turned out to be empty). If such StringRef objects are passed to llvm::MemoryBuffer::getMemBufferCopy, it'll result in UB as neither src nor dst can be null, even if size is zero. This patch prevents that UB by not issuing a copy whenever StringRef is empty. Differential Revision: https://reviews.llvm.org/D144706
-
Nabeel Omer authored
Fixes PR#61384. Differential Revision: https://reviews.llvm.org/D145930
-
Nabeel Omer authored
This patch adds a negative test for the issue discovered in D145930. Differential Revision: https://reviews.llvm.org/D145933
-
Nicolas Vasilache authored
Depends on: D145685 Differential Revision: https://reviews.llvm.org/D145977
-
Alex Bradbury authored
[RISCV][test] Test case for regression when MachineOutliner and MachineCopyPropagation are both enabled MachineCopyPropagation removes a register copy in the outlined function as it doesn't see that it's live-out from the function.
-
Nicolas Vasilache authored
[mlir][Affine] Add helper functions to allow reordering affine.apply operands and decompose the ops into smaller components Care is taken to order operands from least hoistable to most hoistable and to process subexpressions in the same order. This allows exposing more oppportunities for licm, cse and strength reduction. Such a step should typically be applied while we still have loops in the IR and just before lowering affine ops to arith. This is because the affine.apply canonicalization currently tries to maximally compose chains of affine.apply operations and could undo the effects of these decompositions. Depends on: D145784 Differential Revision: https://reviews.llvm.org/D145685
-
Nikita Popov authored
Reapply with a fix for phi handling: For phis, we need to insert into the incoming block, not above the phi. This is especially tricky if there are multiple incoming values from the same predecessor, because these must all use the same value. ----- LowerTypeTests replaces weak declarations with an icmp+select constant expressions. As this is not a relocatable expression, it additionally promotes initializers using it to global ctors. As part of https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179, I would like to remove the select constant expression, of which LTT is now the last user. This is a bit tricky, because we now need to replace a constant with an instruction, which might require converting intermediate constant expression users to instructions as well. We do this using the convertUsersOfConstantsToInstructions() helper. However, it needs to be slightly extended to also support expansion of ConstantAggregates. These are important in this context, because the promotion of initializers to global ctors will produce stores of such aggregates. Differential Revision: https://reviews.llvm.org/D145247
-
Luke Lau authored
This adds two new methods to ShuffleVectorInst, isInterleave and isInterleaveMask, so that the logic to check if a shuffle mask is an interleave can be shared across the TTI, codegen and the interleaved access pass. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D145971
-
Emilia Dreamer authored
Previously, the token annotator would get confused and annotate a member function's ref qualifier as a binary operator, if said function also had a requires clause after it. This patch accounts for that, treating requires clauses more similarly to `noexcept`, which also comes after the ref qualifier. Fixes https://github.com/llvm/llvm-project/issues/61270 Reviewed By: HazardyKnusperkeks, owenpan Differential Revision: https://reviews.llvm.org/D145656
-
Nicolas Vasilache authored
[mlir][DialectUtils] Cleanup IndexingUtils and provide more affine variants while reusing implementations Differential Revision: https://reviews.llvm.org/D145784
-
Max Kazantsev authored
Proposed on review of https://reviews.llvm.org/D145894.
-