- Oct 03, 2020
-
-
Sanjay Patel authored
We will need to add intrinsics to the switch (such as the ones that are currently in the switch above this one) that deal with special cases and then break to the default handling.
-
Stella Stamenova authored
This reverts commit 542523a6.
-
Simon Pilgrim authored
If we're bswap'ing some bytes and zero'ing the remainder we can perform this as a bswap+mask which helps us match 'partial' bswaps as a first step towards folding into a more complex bswap pattern. Differential Revision: https://reviews.llvm.org/D88578
-
Simon Pilgrim authored
TruncInstCombine.cpp - fix header include ordering to fix llvm-include-order clang-tidy warning. NFCI.
-
Simon Pilgrim authored
-
Vinay Madhusudan authored
Convert VECREDUCE_ADD( EXTEND(v16i8_type) ) to VECREDUCE_ADD( DOTv16i8(v16i8_type) ) whenever the result type is i32. This gains in one of the SPECCPU 2017 benchmark. This partially solves the bug: https://bugs.llvm.org/show_bug.cgi?id=46888 Meta ticket: https://bugs.llvm.org/show_bug.cgi?id=46929 Differential Revision: https://reviews.llvm.org/D88577
-
Utkarsh Saxena authored
Differential Revision: https://reviews.llvm.org/D88590
-
- Oct 02, 2020
-
-
Diego Caballero authored
We hit an llvm_unreachable related to unranked memrefs for call ops with scalar types. Removing the llvm_unreachable since the conversion should gracefully bail out in the presence of unranked memrefs. Adding tests to verify that. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D88709
-
Nicolas Vasilache authored
-
serge-sans-paille authored
As reported in https://github.com/rust-lang/rust/issues/70143 alignment is not taken into account when doing the probing. Fix that by adjusting the first probe if the stack align is small, or by extending the dynamic probing if the alignment is large. Differential Revision: https://reviews.llvm.org/D84419
-
Denis Antrushin authored
This is similar to D87251, but for CopyFromRegs nodes. Even for local statepoint uses we generate CopyToRegs/CopyFromRegs nodes. When generating CopyFromRegs in visitGCRelocate, we must chain to current DAG root, not EntryNode, to ensure proper ordering of copy w.r.t. statepoint node producing result for it. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D88639
-
Yaxun (Sam) Liu authored
requires amdgpu-registered-target.
-
Kamil Rytarowski authored
Use __lwp_gettcb_fast() and __lwp_getprivate_fast(), as _lwp_getprivate() can be a biased pointer and invalid for use in this function on all CPUs.
-
LLVM GN Syncbot authored
-
Paul C. Anagnostopoulos authored
Pertinent lints are fixed.
-
Yaxun (Sam) Liu authored
Also fix the issue of multiple -m[no-]wavefrontsize64 options to make the last one wins. Differential Revision: https://reviews.llvm.org/D88370
-
Haojian Wu authored
several changes: - return a structure result in rename API; - prepareRename now returns more information (main-file occurrences); - remove the duplicated detecting-touch-identifier code in prepareRename (which is implemented in rename API); Differential Revision: https://reviews.llvm.org/D88634
-
Simon Pilgrim authored
Use standard APIntOps::smax/smin helpers instead.
-
Alexandre Ganea authored
-
Alexandre Ganea authored
This adds the following two new lines to /summary: 21351 Input OBJ files (expanded from all cmd-line inputs) 61 PDB type server dependencies 38 Precomp OBJ dependencies 1420669231 Input type records <<<< 78665073382 Input type records bytes <<<< 8801393 Merged TPI records 3177158 Merged IPI records 59194 Output PDB strings 71576766 Global symbol records 25416935 Module symbol records 2103431 Public symbol records Differential Revision: https://reviews.llvm.org/D88703 -
Louis Dionne authored
Those symbols are exported from libc++abi in the first place, so it makes more sense to have them there.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Florian Hahn authored
Test case for PR47670.
-
Simon Pilgrim authored
-
Sjoerd Meijer authored
This adds support for -mcpu=cortex-r82. Some more information about this core can be found here: https://www.arm.com/products/silicon-ip-cpu/cortex-r/cortex-r82 One note about the system register: that is a bit of a refactoring because of small differences between v8.4-A AArch64 and v8-R AArch64. This is based on patches from Mark Murray and Mikhail Maltsev. Differential Revision: https://reviews.llvm.org/D88660
-
Sam McCall authored
It fixes the -Wswitch warning, though we mark it as a fix even if that is off. This makes it the "recommended" action on an incomplete switch, which seems OK. Differential Revision: https://reviews.llvm.org/D88726
-
Florian Hahn authored
Test case for PR47671.
-
Serguei Katkov authored
We can use context to prove that load can be safely executed at a point where load is being hoisted.
-
George Mitenkov authored
Instead of recursive helper method `topologicalSortImpl()`, sort's implementation is moved to `topologicalSort()` function's body directly. `llvm::ReversePostOrderTraversal` is used to create a traversal of blocks in reverse post order. Reviewed By: kiranchandramohan, rriddle Differential Revision: https://reviews.llvm.org/D88544
-
Nicolas Vasilache authored
Differential revision: https://reviews.llvm.org/D88657
-
Kadir Cetinkaya authored
Differential Revision: https://reviews.llvm.org/D88721
-
Simon Pilgrim authored
We get the vNi16 cases already via matching as a rotate followed by the fshl -> bswap combines
-
Nicolas Vasilache authored
Differential revision: https://reviews.llvm.org/D88656
-
Nicolas Vasilache authored
This revision introduces a `subtensor` op, which is the counterpart of `subview` for a tensor operand. This also refactors the relevant pieces to allow reusing the `subview` implementation where appropriate. This operation will be used to implement tiling for Linalg on tensors.
-
Simon Pilgrim authored
-
Meera Nakrani authored
Marks constants of an ICmp instruction as free if it's only user is a select instruction that is part of a min(max()) pattern. Ensures that in loops, in particular when loop unrolling is turned on, SSAT will still be correctly generated. Differential Revision: https://reviews.llvm.org/D88662
-
Hsiangkai Wang authored
Implement vmsge{u}.vx pseudo instruction. According to RISC-V V specification, there are different scenarios for this pseudo instruction. I list them below. unmasked va >= x pseudoinstruction: vmsge{u}.vx vd, va, x expansion: vmslt{u}.vx vd, va, x; vmnand.mm vd, vd, vd masked va >= x, vd != v0 pseudoinstruction: vmsge{u}.vx vd, va, x, v0.t expansion: vmslt{u}.vx vd, va, x, v0.t; vmxor.mm vd, vd, v0 masked va >= x, vd == v0 pseudoinstruction: vmsge{u}.vx vd, va, x, v0.t, vt expansion: vmslt{u}.vx vt, va, x; vmandnot.mm vd, vd, vt Use pseudo instruction to model vmsge{u}.vx. The pseudo instruction will convert to different expansion according to the condition. Differential Revision: https://reviews.llvm.org/D84732 -
Sam McCall authored
Intent was a nice idea but it ends up being a bit awkward/heavyweight without adding much. In particular, it makes it hard to implement `CodeActionParams.only` properly (there's an inheritance hierarchy for kinds). Differential Revision: https://reviews.llvm.org/D88427
-
serge-sans-paille authored
When the allocation size is 0, we shouldn't probe. Within [1, PAGE_SIZE], we should probe once etc. This fixes https://bugs.llvm.org/show_bug.cgi?id=47657 Differential Revision: https://reviews.llvm.org/D88548
-