- Oct 19, 2020
-
-
Nico Weber authored
-
- Oct 18, 2020
-
-
Dávid Bolvanský authored
There are optimized out with -fno-builtin
-
Nathan James authored
-
Jan Kratochvil authored
There were invalid DIE references which nobody used. If LLDB starts to report invalid DIE references it would lock up (mutex lock). These invalid DIE references are there since initial check-in by: https://reviews.llvm.org/D83302
-
Nathan James authored
-
Florian Hahn authored
isNoopIntrinsic returns true for some intrinsics that are modeled in MemorySSA but do not actually read or write any memory and do not block DSE. Such intrinsics should not be considered as read-clobbers.
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D89624
-
Nikita Popov authored
This pattern was repeated a few times, and for some reason always using insert or try_emplace, even though we know in advance that we're looking for an existing entry and not trying to create a new one.
-
Florian Hahn authored
-
David Carlier authored
- Removing unused and unusable code. Reviewers: krytarowski Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D89640
-
Dávid Bolvanský authored
-
Mark de Wever authored
-
Mark de Wever authored
This implements the likelihood attribute for the switch statement. Based on the discussion in D85091 and D86559 it only handles the attribute when placed on the case labels or the default labels. It also marks the likelihood attribute as feature complete. There are more QoI patches in the pipeline. Differential Revision: https://reviews.llvm.org/D89210
-
Florian Hahn authored
This adds 2 new tests from PR47887 and regenerates the check lines for the file.
-
Jan Kratochvil authored
A patchset being prepared shows needless diffs.
-
Fangrui Song authored
Only PowerPC and RISCV need to override it.
-
Craig Topper authored
Nothing ever calls it with anything other than the default value. So just delete it and the code that handled the non-default value.
-
Fangrui Song authored
D39386 made CalleeSavedInfo possible to spill a register to another register (vector register for POWER9) but did not actually test live-in.
-
Craig Topper authored
[X86] Mark the Key Locker instructions as NotMemoryFoldable to make the X86FoldTablesEmitter not crash. loadiwkey and aesenc128kl share the same opcode but one is memory and one is register. But they're behavior is quite different. We were crashing because one has an output register and one doesn't and the backend couldn't account for that. But since they aren't foldable we can just add NotMemoryFoldable so they won't be looked at.
-
Dávid Bolvanský authored
-
Dávid Bolvanský authored
Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D89602
-
Nikita Popov authored
Rather then querying first and then checking additional conditions, check the conditions first. They are much cheaper than the alias query.
-
Nikita Popov authored
DataLayout is always around...
-
Dávid Bolvanský authored
This reverts commit b77dd32a. Sanitizer tests are broken.
-
Dávid Bolvanský authored
Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D89602
-
Roman Lebedev authored
It's not pretty, but probably better than modelling it as an opaque SCEVUnknown, i guess. It is relevant e.g. for the loop that was brought up in https://bugs.llvm.org/show_bug.cgi?id=46786#c26 as an example of what we'd be able to better analyze once SCEV handles `ptrtoint` (D89456). But as it is evident, even if we deal with `ptrtoint` there, we also fail to model such an `ashr`. Also, modeling of mul-of-exact-shr/div could use improvement. As per alive2: https://alive2.llvm.org/ce/z/tnfZKd ``` define i8 @src(i8 %0) { %2 = ashr exact i8 %0, 4 ret i8 %2 } declare i8 @llvm.abs(i8, i1) declare i8 @llvm.smin(i8, i8) declare i8 @llvm.smax(i8, i8) define i8 @tgt(i8 %x) { %abs_x = call i8 @llvm.abs(i8 %x, i1 false) %div = udiv exact i8 %abs_x, 16 %t0 = call i8 @llvm.smax(i8 %x, i8 -1) %t1 = call i8 @llvm.smin(i8 %t0, i8 1) %r = mul nsw i8 %div, %t1 ret i8 %r } ``` Transformation seems to be correct!
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Sylvestre Ledru authored
This reverts commit b2eb4393. Caused the regression: https://bugs.llvm.org/show_bug.cgi?id=47589 Reviewed By: MyDeveloperDay Differential Revision: https://reviews.llvm.org/D89464
-
Sanjay Patel authored
Differential Revision: https://reviews.llvm.org/D86395
-
Mircea Trofin authored
-
- Oct 17, 2020
-
-
Luís Marques authored
These tests pass for RV64 Linux, but they are marked as XFAIL. This patch fixes that. Differential Revision: https://reviews.llvm.org/D89299
-
Nikita Popov authored
These two cases should be using the same logic. Not NFC, as this resolves the TODO regarding use of the underlying object.
-
Pedro Tammela authored
This patch fixes a couple of typos in the LoopUnrollPass.cpp comments Differential Revision: https://reviews.llvm.org/D89603
-
David Green authored
This adds some basic costs for MVE reductions - currently just costing the simple legal add vectors as a single MVE instruction. More complex costing can be added in the future when the framework more readily allows it. Differential Revision: https://reviews.llvm.org/D88980
-
David Green authored
This adds a very basic cost for active_lane_mask under MVE - making the assumption that they will be free and then apologizing for that in a comment. In reality they may either be free (by being nicely folded into a tail predicated loop), cost the same as a VCTP or be expanded into vdup's, adds and cmp's. It is difficult to detect the difference from a single getIntrinsicInstrCost call, so makes the assumption that the vectorizer is adding them, and only added them where it makes sense. We may need to change this in the future to better model predicate costs in the vectorizer, especially at -Os or non-tail predicated loops. The vectorizer currently does not query the cost of these instructions but that will change in the future and a zero cost there probably makes the most sense at the moment. Differential Revision: https://reviews.llvm.org/D88989
-
Dave Lee authored
In lldb, explicitly set the "option() honors normal variables" CMake policy. This applies for standalone lldb builds and matches what llvm, clang, etc do. This prevents potentially unwanted clearing of variables like `LLVM_ENABLE_WARNINGS`, and also prevents unnecessary build warnings. See: https://cmake.org/cmake/help/latest/policy/CMP0077.html Differential Revision: https://reviews.llvm.org/D89614
-
Jason Molenda authored
it was ending up in a code block from the previous section, instead of being its own section.
-