- Jun 05, 2023
-
-
Harsh Menon authored
This patch updates the docs for fuse_into_containing_op. It updates the returned values to include the new_containing_op and adds a brief description of the new_containing_op. updates the docs with new changes in the op regarding the return of the new_containing_op as well as a brief description o Differential Revision: https://reviews.llvm.org/D152044
-
Viktoriia Bakalova authored
-
Manna, Soumi authored
This patch uses castAs instead of getAs which will assert if the type doesn't match in checkSizelessVectorShift(clang::Sema &, clang::ActionResult<clang::Expr *, true> &, clang::ActionResult<clang::Expr *, true> &, clang::SourceLocation, bool). Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D152107
-
Aaron Ballman authored
_Generic accepts an expression operand whose type is matched against a list of associations. The expression operand is unevaluated, but the type matched is the type after lvalue conversion. This conversion loses type information, which makes it more difficult to match against qualified or incomplete types. This extension allows _Generic to accept a type operand instead of an expression operand. The type operand form does not undergo any conversions and is matched directly against the association list. This extension is also supported in C++ as we already supported _Generic selection expressions there. The RFC for this extension can be found at: https://discourse.llvm.org/t/rfc-generic-selection-expression-with-a-type-operand/70388 Differential Revision: https://reviews.llvm.org/D149904
-
Antonio Frighetto authored
Handling `true` and `false` constant replacements is now abstracted out into a single lambda function `ReplaceCmpWithConstant`, so as to reduce code duplication.
-
Md Abdullah Shahneous Bari authored
Integer constants with bit width less than a word (e.g., i8, i16) should be bit extended based on its type to be SPIR-V spec-compliant. Previously, the decision was based on the most significant bit of the value which ignores the signless semantics and causes problems when interfacing with SPIR-V tools. Dealing with numeric literals: the SPIR-V spec says, "If a numeric type’s bit width is less than 32-bits, the value appears in the low-order bits of the word, and the high-order bits must be 0 for a floating-point type or integer type with Signedness of 0, or sign extended for an integer type with a Signedness of 1 (similarly for the remaining bits of widths larger than 32 bits but not a multiple of 32 bits)." Therefore, signless integers (e.g., i8, i16) and unsigned integers should be 0-extended, and signed integers (e.g., si8, si16) should be sign-extended. Patch By: mshahneo Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D151767
-
Nikita Popov authored
This reverts commit 5362a0d8. In preparation for reverting a dependent revision.
-
Louis Dionne authored
This finishes the transition of tests covered in generate_header_tests.py to the new .gen.py format. Differential Revision: https://reviews.llvm.org/D152008
-
LLVM GN Syncbot authored
-
Hui authored
Implement stop_token http://eel.is/c++draft/thread.stoptoken
-
Felipe de Azevedo Piovezan authored
This is only needed in C. Depends on D151989 Differential Revision: https://reviews.llvm.org/D152155
-
Quentin Colombet authored
In the vector distribute patterns, we used to move `vector.transfer_read`s out of `vector.warp_execute_on_lane0`s irrespectively of how they were defined. This could create transfer_read operations that would read values from within the warpOp's body from outside of the body. E.g., ``` warpop { %defined_in_body %read = transfer_read %defined_in_body vector.yield %read } ``` => ``` warpop { %defined_in_body vector.yield ... } // %defined_in_body is referenced outside of its scope. %read = transfer_read %defined_in_body ``` The fix consists in checking that all the values feeding the new `transfer_read` are defined outside of warpOp's body. Note: We could do this check before creating any operation, but that would mean knowing what `affine::makeComposedAffineApply` actually do. So the current fix is a trade off of coupling the implementations of this propagation and `makeComposedAffineApply` versus compile time. Differential Revision: https://reviews.llvm.org/D152149 -
David Green authored
This removes BitCasts from isSource in Type Promotion, as I don't believe they need to be treated as Sources. They will usually be from floats or hoisted constants, where constants will be handled already. This fixes #62513, but didn't otherwise cause any differences in the tests I ran. Differential Revision: https://reviews.llvm.org/D152112
-
Simon Pilgrim authored
-
Simon Pilgrim authored
We try to only use X32 for gnux32 triple test cases
-
Simon Pilgrim authored
We try to only use X32 for gnux32 triple test cases
-
Philipp Stephani authored
Otherwise the customization options don’t appear in any group. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D148920
-
Timm Bäder authored
-
Matthias Springer authored
Certain functions were declared in `VectorOps.h` instead of `VectorTransforms.h` or `VectorRewritePatterns.h`. Differential Revision: https://reviews.llvm.org/D152146
-
Philipp Stephani authored
Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D148918
-
Zibi Sarbinowski authored
[SystemZ} This revision fixes the following error caused by 301eb6b6. LLVM ERROR: IO failure on output stream: EDC5122I Input/output error. The characters seems to be 3-byte characters which cause the failure with auto conversion from EBCDIC to ASCII. Credit to @Kai who found this issue. Reviewed By: abhina.sreeskantharajan Differential Revision: https://reviews.llvm.org/D152016
-
Timm Bäder authored
... emitting them. This makes later code easier to understand, since we emit the code snippets line by line anyway. It also fixes the weird underlinig of multi-line source ranges. Differential Revision: https://reviews.llvm.org/D151215
-
Martin Braenne authored
The `ReferenceValue` class will be eliminated as part of the ongoing migration to strict handling of value categories (see https://discourse.llvm.org/t/70086 for details). Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D152144
-
Alexey Lapshin authored
This addresses the issue found by: https://lab.llvm.org/buildbot/#/builders/168/builds/13834
-
Andrew Gozillon authored
[Flang][OpenMP][MLIR] Add lowering from PFT to MLIR (FIR) for OpenMP declare target directive in Flang This patch adds PFT lowering for the OpenMP declare target directive in Flang to the omp dialects declare target attribute, which currently applies to function or global operations. Reviewers: kiranchandramohan, skatrak, jsjodin Differential Revision: https://reviews.llvm.org/D150329
-
Ivan Kosarev authored
Eliminates the need for custom operand classes whose only purpose is to define a parser method. Part of <https://github.com/llvm/llvm-project/issues/62629>. Reviewed By: dp Differential Revision: https://reviews.llvm.org/D151685
-
Haojian Wu authored
Follows the existing patterns, and makes life easier for bazel build system.
-
Ivan Kosarev authored
Removes unnecessary duplication in TableGen definitions. Part of <https://github.com/llvm/llvm-project/issues/62629>. Reviewed By: dp Differential Revision: https://reviews.llvm.org/D151684
-
Timm Bäder authored
-
Amaury Séchet authored
Currently, a node and its users are added back to the worklist in reverse topological order after it is combined. This diff changes that order to be topological. This is part of a larger migration to get the DAGCombiner to process nodes in topological order. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D127115
-
Simon Pilgrim authored
Based off the legalize-add-v*.mir tests
-
Simon Pilgrim authored
Based off the legalize-add.mir tests
-
khei4 authored
Differential Revision: https://reviews.llvm.org/D152068
-
khei4 authored
Differential Revision: https://reviews.llvm.org/D152091
-
Mateja Marjanovic authored
For image and buffer stores the default behaviour on GFX11 and older is to set all unset components to zero. So if we pass only X component it will be the same as X000, or XY same as XY00. This patch simplifies the passed vector of components in InstCombine by removing zero components from the end. For image stores it also trims DMask if necessary. Reviewed by: arsenm, foad, nhaehnle, piotr
-
Jay Foad authored
-
Simon Pilgrim authored
Fixes #63091
-
Simon Pilgrim authored
-