- Oct 09, 2020
-
-
Louis Dionne authored
-
Tres Popp authored
Without this, legalization might not recursively handle child ops properly. Additionally, this is required for pattern rewriting to properly rollback conversions. Differential Revision: https://reviews.llvm.org/D89122
-
LLVM GN Syncbot authored
-
Stefan Pintilie authored
The Callbacks.cpp test was taking a long time to compile on some build bots causing timeouts. This patch splits up that test into five separate cpp files and a header file. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D88886
-
Florian Hahn authored
We cannot guarantee that the replacement expression is loop-invariant in all AddRecs in the source expression. Use a rewriter that skips AddRecExpr for now. Fixes PR47776.
-
Simon Pilgrim authored
-
Alexander Kornienko authored
Reviewed By: hokein Differential Revision: https://reviews.llvm.org/D89117
-
Simon Pilgrim authored
Allows us to drop the !isa<ConstantExpr> check.
-
Stephan Herhut authored
The updated version of kernel outlining did not handle cases correctly where an operand of a candidate for sinking itself was defined by an operation that is a sinking candidate. In such cases, it could happen that sunk operations were inserted in the wrong order, breaking ssa properties. Differential Revision: https://reviews.llvm.org/D89112
-
Simon Pilgrim authored
-
Martin Storsjö authored
This option just takes a single symbol name per invocation of the option. Differential Revision: https://reviews.llvm.org/D89007
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D89091
-
Ben Dunbobbin authored
Differential Revision: https://reviews.llvm.org/D86828
-
Ben Dunbobbin authored
Pushed by accident :( This reverts commit 4eb627ed.
-
Ben Dunbobbin authored
-
Sam McCall authored
(Required for CodeActionContext.only) Differential Revision: https://reviews.llvm.org/D88724
-
Roman Lebedev authored
I messed up runlines in the original commit.
-
Jonas Toth authored
This patch extracts the ExprMutAnalyzer changes from https://reviews.llvm.org/D54943 into its own revision for simpler review and more atomic changes. The analysis results are improved. Nested expressions (e.g. conditional operators) are now detected properly. Some edge cases, especially template induced imprecisions are improved upon. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D88088
-
Nithin Vadukkumchery Rajendrakumar authored
Summary: Enabling warning after dereferece of smart pointer after branching on unknown inner pointer. Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun Reviewed By: NoQ Subscribers: martong, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D87043
-
Max Kazantsev authored
IV widening is sometimes a strictly harmful transform (some examples of this are shown in tests 11, 12 in widen-loop-comp.ll). One of the reasons of this is that sometimes SCEV fails to prove some facts after part of guards has been widened. Though each single such case looks like a bug that can be addressed, it seems that disabling of IV widening may be profitable in some cases. We want to have an option to do so. By default, existing behavior is preserved and IV widening is on.
-
James Molloy authored
When attempting to compute a differential orderIndex we were calculating the bailout condition correctly, but then an errant "+ 1" meant the orderIndex we created was invalid. Added test. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D89115
-
Roman Lebedev authored
Buildbots aren't happy, need to investigate. This reverts commit 32cc8f79.
-
Jonas Paulsson authored
Since AGR clobbers CC it should not be used here. Fixes https://bugs.llvm.org/show_bug.cgi?id=47736. Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D89034
-
Dávid Bolvanský authored
Differential Revision: https://reviews.llvm.org/D87990
-
Roman Lebedev authored
-
Christian Sigg authored
Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D89033
-
Luís Marques authored
-
Esme-Yi authored
Summary: This patch is derived from D87384. In this patch we expand the existing decomposition of mul-by-constant to be more general by implementing 2 patterns: ``` mul x, (2^N + 2^M) --> (add (shl x, N), (shl x, M)) mul x, (2^N - 2^M) --> (sub (shl x, N), (shl x, M)) ``` The conversion will be trigged if the multiplier is a big constant that the target can't use a single multiplication instruction to handle. This is controlled by the hook `decomposeMulByConstant`. More over, the conversion benefits from an ILP improvement since the instructions are independent. A case with the sequence like following also gets benefit since a shift instruction is saved. ``` *res1 = a * 0x8800; *res2 = a * 0x8080; ``` Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D88201
-
Georgii Rymar authored
This removes the precompiled binary and rewrites test to use YAML. After this change we'll have no more precompiled inputs in `llvm-readobj/ELF/Inputs`. Differential revision: https://reviews.llvm.org/D89097
-
Pavel Labath authored
This is a polymorphic class, copying it is a bad idea. This was not a problem because most classes inheriting from it were deleting their copy operations themselves. However, this enables us to delete those explicit deletions, and ensure noone forgets to add them in the future.
-
Bevin Hansson authored
This adds methods to APFixedPoint for converting to and from floating point values. Differential Revision: https://reviews.llvm.org/D85961
-
Bevin Hansson authored
Differential Revision: https://reviews.llvm.org/D88648
-
Bevin Hansson authored
It is possible to get a fltSemantics of a particular Type, but there is no way to produce a Type based on a fltSemantics. This adds the function Type::getFloatingPointTy, which will return the appropriate floating point Type for a given fltSemantics. ConstantFP is modified to use this function instead of implementing it itself. Also some minor refactors to use Type::getFltSemantics instead of a hand-rolled version. Differential Revision: https://reviews.llvm.org/D87512
-
Sam McCall authored
-
Kadir Cetinkaya authored
This will enable queries like "clangd::" to find symbols under clangd namespace, without requiring full "clang::clangd::" qualification. Since Fuzzyfind performs the search under all scopes and only boosts the symbols from relevant namespaces, we might get symbols from non-matching namespaces. This patch chooses to drop those as they clearly do not match the query. Fixes https://github.com/clangd/clangd/issues/550. Differential Revision: https://reviews.llvm.org/D88814
-
Kadir Cetinkaya authored
This patch introduces hoisting detection logic into prepare state with a partial AST traversal of the enclosing function. We had some complaints from the users about this code action being almost always available but failing most of the time. Hopefully this should reduce that noise. The latency/correctness tradeoff is a bunch of hand-waving, but at least today we don't have any other actions that are available on selection of statements, so when we get to do the traversal it is quite likely that all the other checks will bail out early. But this is still up for discussion, I am happy to abandon the patch if you believe this is not practical. Differential Revision: https://reviews.llvm.org/D85354
-
Haojian Wu authored
Differential Revision: https://reviews.llvm.org/D89036
-
Mehdi Amini authored
`ninja mlir-doc` fails when Flang is configured with this.
-
Mehdi Amini authored
Revert "[MLIR] Add a foldTrait() mechanism to allow traits to define folding and test it with an Involution trait" This reverts commit 1ceaffd9. The build is broken with -DBUILD_SHARED_LIBS=ON ; seems like a possible layering issue to investigate: tools/mlir/lib/IR/CMakeFiles/obj.MLIRIR.dir/Operation.cpp.o: In function `mlir::MemoryEffectOpInterface::hasNoEffect(mlir::Operation*)': Operation.cpp:(.text._ZN4mlir23MemoryEffectOpInterface11hasNoEffectEPNS_9OperationE[_ZN4mlir23MemoryEffectOpInterface11hasNoEffectEPNS_9OperationE]+0x9c): undefined reference to `mlir::MemoryEffectOpInterface::getEffects(llvm::SmallVectorImpl<mlir::SideEffects::EffectInstance<mlir::MemoryEffects::Effect> >&)'
-
Federico Lebrón authored
Reviewed By: mehdi_amini, jpienaar Differential Revision: https://reviews.llvm.org/D89014
-