- Aug 18, 2020
-
-
jasonliu authored
Summary: This is a follow up for D82481. For .lcomm directive, although it's not necessary to have .rename emitted, it's still desirable to do it so that we do not see internal 'Rename..' gets print out in symbol table. And we could have consistent naming between TC entry and .lcomm. And also have consistent naming between IR and final object file. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D86075
-
MaheshRavishankar authored
When the operand to the linalg.tensor_reshape op is a splat constant, the result can be replaced with a splat constant of the same value but different type. Differential Revision: https://reviews.llvm.org/D86117
-
Simon Pilgrim authored
Pulled out a superfluous diff from D66004
-
David Green authored
-
Nathan James authored
-
Simon Pilgrim authored
Allow non-VLX targets to use 512-bits VPERMV/VPERMV3 for 128/256-bit shuffles. TBH I'm not sure these targets actually exist in the wild, but we're testing for them and its good test coverage for shuffle lowering/combines across different subvector widths.
-
Simon Pilgrim authored
This requires a few additional SrcVT vs DstVT padding cases in getAVX512TruncNode.
-
Sanjay Patel authored
InstCombine doesn't do that much here - sinks some instructions and improves alignments - but that should not be part of the SLP pass unit testing.
-
Simon Pilgrim authored
Prep work toward adding v16i16/v32i8 support for lowerShuffleWithVTRUNC and improving lowerShuffleWithVPMOV.
-
Matt Arsenault authored
Previously, it would successfully select and assert if not HSA or PAL when expanding the pseudoinstruction. We don't need the pseudoinstruction anymore since we know the total size after legalization.
-
Matt Arsenault authored
The code to determine the value size was overcomplicated and only correct in the case where the result register already had a register class assigned. We can always take the size directly from the register's type.
-
Georgii Rymar authored
This uses modern `split-file` tool to merge 5 `packed-relocs-error*.s` tests to a new `packed-relocs-errors.s` and adds testing for GNU style. Differential revision: https://reviews.llvm.org/D85835
-
Sanjay Patel authored
This is the FP example shown in: https://bugs.llvm.org/PR39474
-
Sanjay Patel authored
-
Georgii Rymar authored
We currently call the `llvm_unreachable` for the following YAML: ``` --- !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_NONE Flags: [ ] ``` it happens because the `Flags` key is present, though `EM_NONE` is a machine type that has no known `EF_*` values and we call `llvm_unreachable` by mistake. Differential revision: https://reviews.llvm.org/D86138
-
Alexey Bataev authored
If the declaration is used in the reduction clause, it is captured by reference by default. But if the declaration is a pointer and it is a base for array-like reduction, this declaration can be captured by value, since the pointee is reduced but not the original declaration. Differential Revision: https://reviews.llvm.org/D85321
-
Eduardo Caldas authored
In this process we also create some other tests, in order to not lose coverage when focusing on the annotated code Differential Revision: https://reviews.llvm.org/D85962
-
Eduardo Caldas authored
We add the method `SyntaxTreeTest::treeDumpEqualOnAnnotations`, which allows us to compare the treeDump of only annotated code. This will reduce a lot of noise from our `BuildTreeTest` and make them short and easier to read.
-
Ronak Chauhan authored
Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D86136
-
Simon Pilgrim authored
(256 / SrcEltBits) == ((2 * EltSizeInBits * NumElts) / (EltSizeInBits * Scale)) == (2 * (NumElts / Scale)) == NumSrcElts
-
Nico Weber authored
This reverts commit be3ef93b. Test fails on macOS and Windows, e.g. http://45.33.8.238/win/22216/step_11.txt
-
Ronak Chauhan authored
AMDGPU ISA isn't backwards compatible and hence -mcpu must always be specified during disassembly. However, the AMDGPU target CPU is stored in e_flags in the ELF object. This patch allows targets to implement CPU string detection, and also implements it for AMDGPU by looking at e_flags. Reviewed By: scott.linder Differential Revision: https://reviews.llvm.org/D84519
-
Luboš Luňák authored
I intentionally decided not to reset the column automatically anywhere, because I don't know where and if at all that should happen. There should be always an indication of being scrolled (too much) to the right, so I'll leave this to whoever has an opinion. Differential Revision: https://reviews.llvm.org/D85290
-
Alex Zinenko authored
Provide C API for MLIR standard types. Since standard types live under lib/IR in core MLIR, place the C APIs in the IR library as well (standard ops will go into a separate library). This also defines a placeholder for affine maps that are necessary to construct a memref, but are not yet exposed to the C API. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D86094
-
Paul Walker authored
Right shift patterns will no longer incorrectly accept a shift amount of zero. At the same time they will allow larger shift amounts that are now saturated to their upper bound. Patterns have been extended to enable immediate forms for shifts taking an arbitrary predicate. This patch also unifies the code path for immediate parsing so the i64 based shifts are no longer treated specially. Differential Revision: https://reviews.llvm.org/D86084
-
Sam Parker authored
Copy some generic functions and apply minsize for arm.
-
Paul Walker authored
Also strengthens the CHECK lines for scalable vector splat tests. Differential Revision: https://reviews.llvm.org/D86070
-
Simon Pilgrim authored
This patch adds lowerShuffleWithVTRUNC to handle basic binary shuffles that can be lowered either as a pure ISD::TRUNCATE or a X86ISD::VTRUNC (with undef/zero values in the remaining upper elements). We concat the binary sources together into a single 256-bit source vector. To avoid regressions we perform this after we've tried to lower with PACKS/PACKUS which typically does a cleaner job than a concat. For non-AVX512VL cases we have to canonicalize VTRUNC cases to use a 512-bit source vectors (inserting undefs/zeros in the upper elements as necessary), truncate and then (possibly) extract the 128-bit result. This should address the last regressions in D66004 Differential Revision: https://reviews.llvm.org/D86093
-
sameeran joshi authored
Summary: Other LLVM sub-projects use docs/ folder for documentation files. Follow LLVM project policy. Modify `documentation/` references in sources to `docs/`. This patch doesn't modify files to reStructuredText(.rst) file format. Reviewed By: DavidTruby, sscalpone Differential Revision: https://reviews.llvm.org/D85884
-
QingShan Zhang authored
even with different preds
-
Rainer Orth authored
Two tests `FAIL` on 32-bit sparc: Profile-sparc :: Posix/instrprof-gcov-parallel.test UBSan-Standalone-sparc :: TestCases/Float/cast-overflow.cpp The failure mode is similar: Undefined first referenced symbol in file __atomic_store_4 /var/tmp/instrprof-gcov-parallel-6afe8d.o __atomic_load_4 /var/tmp/instrprof-gcov-parallel-6afe8d.o Undefined first referenced symbol in file __atomic_load_1 /var/tmp/cast-overflow-72a808.o This is a known bug: `clang` doesn't inline atomics on 32-bit sparc, unlike `gcc`. The patch therefore `XFAIL`s the tests. Tested on `sparcv9-sun-solaris2.11` and `amd64-pc-solaris2.11`. Differential Revision: https://reviews.llvm.org/D85346
-
LLVM GN Syncbot authored
-
Shinji Okumura authored
This patch introduces a new abstract attribute `AANoUndef` which corresponds to `noundef` IR attribute and deduce them. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D85184
-
Georgii Rymar authored
This is splitted out from D85519, but significantly reworked. Changes: 1) This test was changed to stop using python. 2) Use NoHeaders: true instead of `llvm-objcopy --strip-sections`. 3) Test llvm-readelf too (not just llvm-readobj). 4) Simplify the YAML used a bit (e.g. remove PT_LOAD). 5) Test 2 different cases: objects with section header table and without. Differential revision: https://reviews.llvm.org/D86073
-
Georgii Rymar authored
The `mips-got-overlapped.test` was introduced in D16968 and its intention is to check that when there is an empty section at the same address as `.got`, then we are able to locate `.got` and dump it. The issue is that this test does not test llvm-readelf and uses a precompiled object. This path starts using YAML instead and merges mips-got-overlapped.test to mips-got.test. Differential revision: https://reviews.llvm.org/D86080
-
Alex Zinenko authored
The type printer was ignoring the memory space on unranked memrefs. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D86096
-
Jakub Lichman authored
The function makes too strong assumption regarding parent FuncOp which gets broken when FuncOp is first lowered to llvm function. In this fix we generalize the assumption to allocation scope and add assertion to produce user friendly message in case our assumption is broken. Differential Revision: https://reviews.llvm.org/D86086
-
Nathan Ridge authored
Fixes https://github.com/clangd/clangd/issues/307 Differential Revision: https://reviews.llvm.org/D86047
-
David Blaikie authored
Theory was that we should never reach a non-type unit (eg: type in an anonymous namespace) when we're already in the invalid "encountered an address-use, so stop emitting types for now, until we throw out the whole type tree to restart emitting in non-type unit" state. But that's not the case (prior commit cleaned up one reason this wasn't exposed sooner - but also makes it easier to test/demonstrate this issue)
-
David Blaikie authored
This reads more like what you'd expect the DWARF to look like (from the lexical order of C++ - template parameters come before members, etc), and also happens to make it easier to tickle (& thus test) a bug related to type units and Split DWARF I'm about to fix.
-