- Mar 30, 2020
-
-
David Green authored
In the original batch of MVE VMOVimm code generation VMOV.i64 was left out due to the way it was done downstream. It turns out that it's fairly simple though. This adds the codegen for it, similar to NEON. Bigendian is technically incorrect in this version, which John is fixing in a Neon patch.
-
Craig Topper authored
[TTI][X86] Fix the value passed to IsUnsigned for cost modeling of experimental.vector.reduce.smin/smax/umin/umax. We were passing true for smax/smin and false for umax/umin.
-
Max Kazantsev authored
In past, isGuaranteedToTransferExecutionToSuccessor contained some weird logic for volatile loads/stores that was ultimately removed by patch D65375. It's time to remove a piece of dependent logic that used to be a workaround for the code which is now deleted. Reviewed By: uenoku Differential Revision: https://reviews.llvm.org/D76918
-
River Riddle authored
Summary: This revision performs a lot of different cleanups on operation documentation to ensure that they are consistent, e.g. using mlir code blocks, formatting, etc. This revision also includes the auto-generated documentation into the hand-written documentation for the dialects that have a specific top-level dialect file. This updates the documentation for all dialects aside from SPIRV and STD. These dialects will be updated in a followup. Differential Revision: https://reviews.llvm.org/D76734
-
River Riddle authored
Summary: This revision updates the dialect documentation to use the auto-generated markdown for operations. This allows for updating some out-of-date bits of documentation, and allows for displaying a large of number of newly added operations that did not have a counter part in Standard.md. Differential Revision: https://reviews.llvm.org/D76743
-
River Riddle authored
Summary: This revision updates the SourceMgrDiagnosticHandler to not print the source location of a note if it is the same location as the previously printed diagnostic. This helps avoid redundancy, and potential confusion, when looking at the diagnostic output. Differential Revision: https://reviews.llvm.org/D76787
-
Juneyoung Lee authored
Summary: This patch clarifies the semantics of branching on undef value. Defining `br undef` as undefined behavior explains optimizations that use branch conditions, such as CVP (D76931) and GVN (propagateEquality). For `switch cond`, it is defined to raise UB if cond is an expression containing undef && cond is not frozen && it may yield different values. This allows that at the destination block the branch condition can be assumed to be frozen already (otherwise UB was already triggered). This condition is slightly stricter than MemorySanitizer, which allows undef-y condition if it always leads to the same destination, but it does not break MemorySanitizer because we are giving stricter constraint. Reviewers: efriedma, fhahn, nikic, spatel, jdoerfert, nlopes Reviewed By: nlopes Subscribers: regehr, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76973
-
Richard Smith authored
of array new expressions with runtime bound.
-
Jun Ma authored
Differential Revision: https://reviews.llvm.org/D76913
-
Jun Ma authored
Differential Revision: https://reviews.llvm.org/D76911
-
Alexandre Ganea authored
-
David Zarzycki authored
This reverts commit cd7f9751 which has unintended breakage to non-libcxx projects when using the documented way of building LLVM. (See the Getting Started guide. I.e. one big CMake setup.)
-
Craig Topper authored
Mostly this matches the sse4.2 we already had command lines for. Except in the i64 case since sse4.1 doesn't have pcmpgtq.
-
- Mar 29, 2020
-
-
Daan Sprenkels authored
Baseline tests for D76983 (PR45314) Differential Revision: https://reviews.llvm.org/D77024
-
Craig Topper authored
SSE4.2 has the pcmpgtq instruction which we will use in vXi64 reductions when its available.
-
Benjamin Kramer authored
Shrinks clang by 40k.
-
Richard Smith authored
-
Fangrui Song authored
Delete arm-exidx-link.s which is now covered by arm-exidx-output.s Differential Revision: https://reviews.llvm.org/D76409
-
David Green authored
-
LLVM GN Syncbot authored
-
Benjamin Kramer authored
This allows emitting it only when the feature is used by a target. Shrinks Release+Asserts clang by 900k.
-
Nathan Ridge authored
Summary: Not handling this was a side-effect of being overly cautious when trying to avoid reading files for which clangd doesn't have the source mapped. Fixes https://github.com/clangd/clangd/issues/266 Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75286
-
Nathan Ridge authored
Subscribers: jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77023
-
Simon Pilgrim authored
[X86][AVX] Combine 128/256-bit lane shuffles with zeroable upper subvectors to EXTRACT_SUBVECTOR (PR40720) As explained on PR40720, EXTRACTF128 is always as good/better than VPERM2F128/SHUF128, and we can use the implicit zeroing of the uppers.
-
Simon Pilgrim authored
gcc was misinterpreting the template code snippet as html.
-
Simon Pilgrim authored
-
Nikita Popov authored
As we don't return the result of replaceInstUsesWith(), we are responsible for erasing the instruction. There is a small subtlety here in that we need to do this after the other uses of Builder, which uses the original multiply as the insertion point. NFC apart from worklist order changes.
-
Nikita Popov authored
To make sure that dead operands get DCEd. This fixes the largest source of leftover dead operands we see in tests. NFC apart from worklist changes.
-
Uday Bondhugula authored
Add missing assert checks for input to mlir::interchangeLoops utility. Rename interchangeLoops -> permuteLoops; update doc comments to clarify inputs / return val. Other than the assert checks, this is NFC. Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D77003
-
Nikita Popov authored
To make sure the old operands are DCEd. NFC apart from worklist order.
-
Nikita Popov authored
We don't return the replaceInstUsesWith() result, so we're responsible for cleaning up. NFC apart from worklist order changes.
-
Uday Bondhugula authored
Aligned_alloc is a standard lib function and has been in glibc since 2.16 and in the C11 standard. It has semantics similar to malloc/calloc for several analyses/transforms. This patch introduces aligned_alloc in target library info and memory builtins. Subsequent ones will make other passes aware and fix https://bugs.llvm.org/show_bug.cgi?id=44062 This change will also be useful to LLVM generators that need to allocate buffers of vector elements larger than 16 bytes (for eg. 256-bit ones), element boundary alignment for which is not typically provided by glibc malloc. Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D76970
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
This was was never actually hit, but FTRUNC was clearly not the intent here.
-
Matt Arsenault authored
Use functions now that we have them for less boilerplate in the output.
-
Matt Arsenault authored
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Simon Pilgrim authored
-