- Dec 14, 2020
-
-
Florian Hahn authored
This recommits a87fccb3 with a fix to mark the destination operand of the marker instruction as def, to fix a machine verifier failure. This reverts the revert commit c0f2cea7.
-
- Dec 13, 2020
-
-
Simon Pilgrim authored
Followup to D87604, having confirmed on PR47506 that we can use the llvm codegen expansion for fadd/fmul as well. Differential Revision: https://reviews.llvm.org/D92940
-
Simon Pilgrim authored
Default expansion leads to repeated extensions/truncations to/from vXi16 which shuffle combining and demanded elts can't completely unravel. Better just to promote (any_extend) the input and perform a vXi16 reduction. We'll be able to remove a lot of this if we ever get decent legalization support for reduction intrinsics in SelectionDAG.
-
Jacques Pienaar authored
This avoids dumping the module post emitting a reproducer, which results in many MB logs where a reproducer has already been neatly generated. Differential Revision: https://reviews.llvm.org/D93165
-
ergawy authored
Adds support for 3 ternary ops from SPIR-V extended instructions for GLSL. Namely, adds support for FClamp, UClamp, and SClamp. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D92859
-
Simon Pilgrim authored
Try to merge AVX1/AVX2/AVX512 codegen checks where possible
-
Björn Schäpers authored
Lines[i] is already trimmed 3 lines before Differential Revision: https://reviews.llvm.org/D91996
-
Nikita Popov authored
BasicAA currently handles cases like Scale*V0 + (-Scale)*V1 where V0 != V1, but does not handle the simpler case of Scale*V with V != 0. Add it based on an isKnownNonZero() call. I'm not passing a context instruction for now, because the existing approach of always using GEP1 for context could result in symmetry issues. Differential Revision: https://reviews.llvm.org/D93162
-
Kazushi (Jam) Marukawa authored
Optimize toolchain regression test for VE by removing not a useful test (-fuse-init-array test) and merge several tests to one test which checks default behavior of driver. Also add sysroot to reduce conflicts. These are suggested in https://reviews.llvm.org/D92996. Thank you so much. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D93084
-
Michał Górny authored
-
Christian Sigg authored
This is a preparation step to remove those methods from OpState. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D93098
-
Chris Lattner authored
Zero bit integer types are supported by IntegerType for consistency, but the asmparser never got updated. Allow them to be parsed, as required to fix CIRCT issue #316 Differential Revision: https://reviews.llvm.org/D93089
-
kweisamx authored
Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D93004
-
Nico Weber authored
On macOS/arm, signature verification has kill semantics by default. Signature verification is cached with a file's inode (actually, vnode), and if a new executable is copied over an existing file (which reuses the inode), the cache isn't invalidated. So when the new executable is executed, the kernel still has the old content's signature cached and the kills the executable because the old signatue doesn't match the new contents (https://openradar.appspot.com/FB8914243). As workaround, rm the desitnation files first, to ensure they have a fresh vnode (and hence no stale cached signature) after the copy. Part of PR46647. See also e0e334a9 for a similar change.
-
-
Nico Weber authored
-
Nico Weber authored
-
Nico Weber authored
We should fix them, but let's XFAIL them for now so that we can start running check-llvm on bots and lock in the passing tests. Part of PR46647.
-
Fangrui Song authored
The original tests have unneeded symbols and copy-relocation-zero-abs-addr.s does not actually test anything. Rewrite them and add copy-relocation-zero-addr.s instead. Add --soname=b so that the address 0x203400 will be stable. (When linking an executable with %t.so, the path %t.so will be recorded in the DT_NEEDED entry if %t.so doesn't have DT_SONAME. .dynstr will have varying lengths on different systems.)
-
Nico Weber authored
macOS/arm is w^x, so these tests don't work. Fixes these failures: LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.AllocAndRelease/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.AllocAndReleaseHuge/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.BasicWrite/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.DuplicateNear/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.EnabledWrite/3 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.EnabledWrite/4 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.EnabledWrite/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.MultipleAllocAndRelease/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.MultipleWrite/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.SuccessiveNear/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.UnalignedNear/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroNear/5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroSizeNear/5 Part of PR46647.
-
Craig Topper authored
-
Amara Emerson authored
[[GlobalISel][IRTranslator] Fix a crash when the use of an extractvalue is a non-dominated metadata use. We don't expect uses to come before defs in the CFG, so allocateVRegs() asserted. Fixes PR48211
-
Roman Lebedev authored
[SimplifyCFG] FoldBranchToCommonDest(): bonus instrns must only be used by PHI nodes in successors (PR48450) In particular, if the successor block, which is about to get a new predecessor block, currently only has a single predecessor, then the bonus instructions will be directly used within said successor, which is fine, since the block with bonus instructions dominates that successor. But once there's a new predecessor, the IR is no longer valid, and we don't fix it, because we only update PHI nodes. Which means, the live-out bonus instructions must be exclusively used by the PHI nodes in successor blocks. So we have to form trivial PHI nodes. which will then be successfully updated to recieve cloned bonus instns. This all works fine, except for the fact that we don't have access to the dominator tree, and we don't ignore unreachable code, so we sometimes do end up having to deal with some weird IR. Fixes https://bugs.llvm.org/show_bug.cgi?id=48450
-
Zarko Todorovski authored
Some of the pattern matching in PPCInstrVSX.td and node lowering involving vectors assumes 64bit mode. This patch disables some of the unsafe pattern matching and lowering of BUILD_VECTOR in 32bit mode. Reviewed By: Xiangling_L Differential Revision: https://reviews.llvm.org/D92789
-
Alexey Bader authored
Differential Revision: https://reviews.llvm.org/D92782
-
Nico Weber authored
Part of PR46644
-
Nikita Popov authored
CVP currently handles switches by checking an equality predicate on all edges from predecessor blocks. Of course, this can only work if the value being switched over is defined in a different block. Replace this implementation with a call to getPredicateAt(), which also does the predecessor edge predicate check (if not defined in the same block), but can also do quite a bit more: It can reason about phi-nodes by checking edge predicates for incoming values, it can reason about assumes, and it can reason about block values. As such, this makes the implementation both simpler and more powerful. The compile-time impact on CTMark is in the noise.
-
Nico Weber authored
We should fix them, but let's XFAIL them for now so that we can start running check-clang on bots and lock in the passing tests. Part of 46644.
-
Nikita Popov authored
These cover cases handled by getPredicateAt(), but not by the current implementation: * Assumes based on context instruction. * Value from phi node in same block (using per-pred reasoning). * Value from non-phi node in same block (using block-val reasoning).
-
Krzysztof Parzyszek authored
The getPayload/getMask/getPassThrough functions should return values that could be composed into a masked load/store without any additional type casts. The previous fix violated that. Instead, convert scalar mask to a vector right before rescaling.
-
Tony authored
Differential Revision: https://reviews.llvm.org/D93018
-
Tony authored
Differential Revision: https://reviews.llvm.org/D93017
-
Tony authored
- Document which processors are supported by which runtimes. - Add missing mappings for code object V2 note records Differential Revision: https://reviews.llvm.org/D93016
-
Brian Gesiak authored
When printing verification errors for ops with the incorrect number of operand segments, print the required number as well as the actual number. Split off from D93005. Differential Revision: https://reviews.llvm.org/D93145
-
Kazu Hirata authored
The last use of isLoop was removed on Apr 29, 2002 in commit 09bbb5c0 as part of an effort to remove "old induction varaible cannonicalization pass built on top of interval analysis".
-
Kazu Hirata authored
-
Krzysztof Parzyszek authored
AlignVectors treats all loaded/stored values as vectors of bytes, and masks as corresponding vectors of booleans, so make getMask produce a 1-element vector for scalars from the start.
-
Harald van Dijk authored
This makes it possible to use update_llc_test_checks to manage tests that check for incorrect x86 stack offsets. It does not yet modify any test to make use of this new option.
-
Harald van Dijk authored
The ABI demands a data16 prefix for lea in 64-bit LP64 mode, but not in 64-bit ILP32 mode. In both modes this prefix would ordinarily be ignored, but the instructions may be changed by the linker to instructions that are affected by the prefix. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D93157
-
- Dec 12, 2020
-
-
David Green authored
This adds some basic MVE masked load/store costs, notably changing the cost of legal loads/stores to the MVECostFactor and the cost of scalarized instructions to 8*NumElts. Differential Revision: https://reviews.llvm.org/D86538
-