- Oct 09, 2020
-
-
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
-
Serge Guelton authored
mlir-tblgen was incompatible with libLLVM, due to explicit linkage with libLLVMSupport etc. As it cannot link with libLLVM, make sure all lib it uses are not using libLLVM either. As a side effect, also remove some explicit references to LLVM libs and use components instead. Differential Revision: https://reviews.llvm.org/D88846
-
Fangrui Song authored
-
Jonas Devlieghere authored
Restore the signal tables to its original glory and mark it as not to be clang-formatted.
-
Fangrui Song authored
getReg returns a Register which may represent a virtual register.
-
ahmedsabie authored
[MLIR] Add a foldTrait() mechanism to allow traits to define folding and test it with an Involution trait This change allows folds to be done on a newly introduced involution trait rather than having to manually rewrite this optimization for every instance of an involution Reviewed By: rriddle, andyly, stephenneuendorffer Differential Revision: https://reviews.llvm.org/D88809
-
Liu, Chen3 authored
For example: union M256 { double d; __m256 m; }; extern void foo1(union M256 A); union M256 m1; void test() { foo1(m1); } clang will pass m1 through stack which does not follow the ABI. Differential Revision: https://reviews.llvm.org/D78699 -
Xing GUO authored
This patch rewrites test case verify_die_ranges.s in YAML which helps simplify the test. Reviewed By: jhenderson, JDevlieghere, dblaikie Differential Revision: https://reviews.llvm.org/D88200
-
Xing GUO authored
This patch makes the opcode_base and the standard_opcode_lengths fields of the line table optional. When both of them are not specified, yaml2obj emits them according to the line table's version. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D88355
-
Kazushi (Jam) Marukawa authored
This patch adds entries for: v64i64 v128i64 v256i64 v64f64 v128f64 v256f64 Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D88776 -
Ben Barham authored
ObjCContainerDecl.getMethod returns a nullptr by default when the container is a hidden prototype. Callsites where the method is being looked up on the redeclaration's own container should skip this check since they (rightly) expect a valid method to be found. Resolves rdar://69444243 Reviewed By: akyrtzi Differential Revision: https://reviews.llvm.org/D89024
-
Kai Luo authored
In `rescheduleKillAboveMI`, current implementation uses `SmallSet` to track reg's defs and uses. When comparing, use `SmallSet.count` to find out if it's clobbered or used. It's not correct if involving subregisters. This patch uses `regOverlapsSet` already used by `rescheduleMIBelowKill` to fix the issue. Fixed https://bugs.llvm.org/show_bug.cgi?id=47707. Reviewed By: #powerpc, nemanjai Differential Revision: https://reviews.llvm.org/D88716
-