- Mar 31, 2021
-
-
Arthur O'Dwyer authored
Because the constexpr-time codepath triggers a Clang bug. It seems that Clang compiles it okay in release mode, but when Clang itself is compiled in debug mode (with assertions turned on), this input triggers an assertion failure in Clang itself. See comments on D96385 and Clang bug report https://bugs.llvm.org/show_bug.cgi?id=45879 This commit should get the debug-mode buildbots back to green.
-
Luís Marques authored
See D80668, rG7b483264 and https://bugs.llvm.org/show_bug.cgi?id=46117 for details of the issue. Differential Revision: https://reviews.llvm.org/D99108
-
Sander de Smalen authored
This marks FSIN and other operations to EXPAND for scalable vectors, so that they are not assumed to be legal by the cost-model. Depends on D97470 Reviewed By: dmgreen, paulwalker-arm Differential Revision: https://reviews.llvm.org/D97471
-
Sander de Smalen authored
Let getIntrinsicInstrCost call getTypeBasedIntrinsicInstrCost for scalable vectors, similar to how this is done for fixed-width vectors, instead of falling back on BaseT::getIntrinsicInstrCost(). If the intrinsic cannot be costed (or is not overloaded by the target), it will return InstructionCost::getInvalid() instead. Depends on D97469 Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D97470
-
Anton Bikineev authored
This adds support for C++2b's z/uz suffixes for size_t literals (P0330).
-
Joerg Sonnenberger authored
The standard guarantees sleep durations of 2^63-1 nanoseconds to work. Instead of depending on INT64_MAX or ULONGLONG_MAX to exist via the header pollution, fold the constant directly. That has the additional positive side effect that it avoids long double arithmetic bugs in GCC. Differential Revision: https://reviews.llvm.org/D99516
-
Balázs Kéri authored
This reverts commit 49c0ab6d. Test failures showed up because non-deterministic output.
-
Sander de Smalen authored
This patch migrates the TTI cost interfaces to return an InstructionCost. See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html Depends on D97468 Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D97469
-
Sander de Smalen authored
This patch migrates the TTI cost interfaces to return an InstructionCost. See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html Depends on D97466 Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D97468
-
Max Kazantsev authored
-
Muhammad Omair Javaid authored
This reverts commit 1164b4e2. Reason: LLDB AArch64 Linux buildbot failure
-
Muhammad Omair Javaid authored
This reverts commit 9ab67718. Reason: LLDB AArch64/Linux buildbot failure.
-
Liqiang Tao authored
Attempts to compute savings more accurately cannot impact the set of critically important call sites. Reviewed By: kazu Differential Revision: https://reviews.llvm.org/D98577
-
Roman Lebedev authored
This is an improvement over Zen 2, where only branch fusion is supported, as per Agner, 21.4 Instruction fusion. AMD SOG 17h has no mention of fusion. AMD SOG 19h, 2.9.3 Branch Fusion The following flag writing instructions support branch fusion with their reg/reg, reg/imm and reg/mem forms * CMP * TEST * SUB * ADD * INC (no fusion with branches dependent on CF) * DEC (no fusion with branches dependent on CF) * OR * AND * XOR Agner, 22.4 Instruction fusion <...> This applies to CMP, TEST, ADD, SUB, AND, OR, XOR, INC, DEC and all conditional jumps, except if the arithmetic or logic instruction has a rip-relative address or both an address displacement and an immediate operand.
-
Balazs Benics authored
D99576 introduced a duplicate symbol, now im removing it. Differential Revision: https://reviews.llvm.org/D99576
-
Fraser Cormack authored
This adds almost everything required for supporting the new stepvector intrinsic on RVV. It is lowered to the existing VID_VL SDNode. The only exception is a limitation that RV32 cannot yet lower the intrinsic on i64 vectors. This is because the step operand is (currently) required to be at least as large as the vector element type. I will look into patching that out and loosening the requirement to only an integer pointer type. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D99594
-
Muhammad Omair Javaid authored
This reverts commit 73cf85e5.
-
Jay Foad authored
This includes gfx908 which only has a no-return version of the global_atomic_add_f32 instruction, using the same hack that was previously implemented for selecting from the llvm.amdgcn.global.atomic.fadd intrinsic. Differential Revision: https://reviews.llvm.org/D97767
-
Balazs Benics authored
All three cases were imported correctly. For BlockDecls, correctly means that we don't support importing them, thus an error is the expected behaviour. - BlockDecls were not yet covered. I know that they are not imported but the test at least documents it. - Default values for ParmVarDecls were also uncovered. - Importing bitfield FieldDecls were imported correctly. Reviewed By: martong, shafik Differential Revision: https://reviews.llvm.org/D99576
-
Florian Hahn authored
Currently the code only checks for integer constants (ConstantSDNode) and triggers an infinite cycle for single-element floating point vector constants. We need to check for both FP and integer constants. Reviewed By: t.p.northover Differential Revision: https://reviews.llvm.org/D99384
-
Sander de Smalen authored
This patch migrates the TTI cost interfaces to return an InstructionCost. See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html Depends on D97382 Reviewed By: ctetreau, paulwalker-arm Differential Revision: https://reviews.llvm.org/D97466
-
Balázs Kéri authored
Add printing of map 'DestroyRetVal'. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D98502
-
Matthias Springer authored
This is in preparation for adding a new "mask" operand. The existing "masked" attribute was used to specify dimensions that may be out-of-bounds. Such transfers can be lowered to masked load/stores. The new "in_bounds" attribute is used to specify dimensions that are guaranteed to be within bounds. (Semantics is inverted.) Differential Revision: https://reviews.llvm.org/D99639
-
Sven van Haastregt authored
s6.15.3 of the OpenCL C Specification v3.0.6 states that OpenCL 1.2 or newer is required.
-
Alex Richardson authored
I have seen this error quite frequently in our out-of-tree CHERI backends and the lack of location information sometimes makes it quite difficult to track down the actual source of the error. This patch changes the llvm_unreachable() to a PrintFatalError() so that tablegen prints a stack of source locations. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D99468
-
Alex Richardson authored
This test passes for me on FreeBSD 12.2 and was probably fixed by https://svnweb.freebsd.org/base?view=revision&revision=352807. Reviewed By: emaste Differential Revision: https://reviews.llvm.org/D98281
-
Alex Richardson authored
It should be 64 bits not 32 for wasm64-unknown-unknown. I noticed this because this test was failing in our CHERI fork of LLVM due to a larger .debug_abbrev section size. It turns out this happens because we add DW_AT_byte_size for non-default pointer sizes to allow debugging our hybrid compilation mode where we can have two different kinds of pointers. Reviewed By: aardappel Differential Revision: https://reviews.llvm.org/D99410
-
Nicolas Vasilache authored
This revision adds support to properly add the body of registered builtin named linalg ops. At this time, indexing_map and iterator_type support is still missing so the op is not executable yet. Differential Revision: https://reviews.llvm.org/D99578
-
Alexander Belyaev authored
This reverts commit 883912ab.
-
Craig Topper authored
This covers the BMI and TBM instructions. More tests will be needed for other instructions.
-
Craig Topper authored
-
Martin Storsjö authored
The directories in LIB normally only contain import libraries or static libraries, no runtime DLLs that would need to be found while running tests. This code stems from 1cd196e7, which (among other things) tried to do this: > * [Test] Fix handling of library runtime search paths by correctly adding them > to the PATH variable when running the tests. It's unclear to me exactly what this fixed (or tried to) at the time, as the LIB var doesn't normally point to runtime libs. Differential Revision: https://reviews.llvm.org/D99241
-
Martin Storsjö authored
The tests expect that the <cuchar> include should fail. When libc++ is built on top of the MSVC runtime, the header does exist provided by MSVC. Therefore, just mark the test as unsupported on windows, to avoid tests that unexpectedly succeed. Differential Revision: https://reviews.llvm.org/D99096
-
Jim Lin authored
1. Undefined macro test for rv32i and rv64i. a. Reorder it with canonical order. b. Add missing undefined macro check. c. Append defined value to `__riscv_a`, `__riscv_f` and `__riscv_c` to distinguish with `__riscv_arch_test`, `__riscv_cmodel_medlow` and `__riscv_float_abi_soft`. They have the same prefix. 2. Move abi macro test below f and d. 3. Unify coding style for newline. Reviewed By: HsiangKai Differential Revision: https://reviews.llvm.org/D99631 -
Lang Hames authored
Sections are not movable or copyable.
-
Stella Laurenzo authored
* Suggested to be broken out of D99578 Differential Revision: https://reviews.llvm.org/D99638
-
Nathan Chancellor authored
b22f448c added a rule to install libllvmlibc.a to ${LIBC_INSTALL_PREFIX}/${LIBC_INSTALL_LIBRARY_DIR}, which will be /lib by default, which is disruptive to builds that stay within a user's /home holder: $ ninja install ... -- Installing: /lib/libllvmlibc.a CMake Error at projects/libc/lib/cmake_install.cmake:54 (file): file INSTALL cannot copy file "/home/nathan/cbl/github/tc-build/build/llvm/stage1/projects/libc/lib/libllvmlibc.a" to "/lib/libllvmlibc.a": Permission denied. Call Stack (most recent call first): projects/libc/cmake_install.cmake:51 (include) projects/cmake_install.cmake:47 (include) cmake_install.cmake:76 (include) ... Change LIBC_INSTALL_PREFIX's default value to ${CMAKE_INSTALL_PREFIX} so that 'ninja install' does not attempt to install anything outside of the user's requested installation location. Differential Revision: https://reviews.llvm.org/D99636 Reviewed By: sivachandra ...
-
Lang Hames authored
Adds utilities for creating anonymous pointers and jump stubs to x86_64.h. These are used by the GOT and Stubs builder, but may also be used by pass writers who want to create pointer stubs for indirection. This patch also switches the underlying type for LinkGraph content from StringRef to ArrayRef<char>. This avoids any confusion when working with buffers that contain null bytes in the middle like, for example, a newly added null pointer content array. ;)
-
Chuanqi Xu authored
[Coroutine] [Debug] Insert dbg.declare to entry.resume to print alloca in the coroutine frame under O2 Summary: Try to insert dbg.declare to entry.resume basic block in resume function. In this way, we could print alloca such as __promise in gdb/lldb under O2, which would be beneficial to debug coroutine program. Test Plan: check-llvm Reviewed by: aprantl Differential Revision: https://reviews.llvm.org/D96938
-
Zhiwei Chen authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D99404
-