- May 03, 2021
-
-
Fraser Cormack authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D101518
-
Benjamin Kramer authored
Differential Revision: https://reviews.llvm.org/D101535
-
Christian Kühnel authored
as proposed by @FlashSheridan in https://reviews.llvm.org/rG7f9717b922d4
-
Guillaume Chatelet authored
Differential Revision: https://reviews.llvm.org/D101609
-
Sebastian Neubauer authored
SITargetLowering::LowerFormalArguments asserts that none of these features are used for graphics calling conventions, so AnnotateKernelFeatures should not add them. Differential Revision: https://reviews.llvm.org/D101534
-
Diana Picus authored
The number of bytes copied in CopyAndPad should depend on the size of the type being copied, not on its shift value (which in the case of char is 0, leading to no bytes at all being copied). Add unit tests for CharacterMin and CharacterMax, which exercise this code path. Differential Revision: https://reviews.llvm.org/D101355
-
Diana Picus authored
The current code computes the minimum element length based on the `type` used to create the descriptor and uses that as the element length whenever it is greater than 0. This means that the `elem_len` parameter is essentially ignored for any type where we can compute a minimum element length (which includes `CFI_type_char[16|32]_t`), and we may therefore end up with descriptors with a lower element length than expected. This patch fixes the issue by explicitly doing what the standard says, i.e. it uses the given `elem_len` for character types, `CFI_type_struct` and `CFI_type_other`, and ignores it (falls back to the minimum element length) for everything else. Differential Revision: https://reviews.llvm.org/D101659
-
Diana Picus authored
It looks like CFI_type_struct was once used as the last valid CFI_type value, but in the meantime CFI_type_char16_t and CFI_type_char32_t were added, making that assumption no longer true. Luckily, in the meantime we also got a define for CFI_TYPE_LAST, which we can now use to allow CFI_establish and CFI_allocate to work with descriptors of CFI_type_char16_t, CFI_type_char32_t and any other future types. Differential Revision: https://reviews.llvm.org/D101658
-
Nathan Ridge authored
Differential Revision: https://reviews.llvm.org/D100742
-
Pushpinder Singh authored
This enables the runtime tests on amdgpu targets. 10 tests have been marked as XFAIL on amdgcn currently mostly due to missing printf. Reviewed By: protze.joachim Differential Revision: https://reviews.llvm.org/D99656
-
Nathan Ridge authored
Differential Revision: https://reviews.llvm.org/D101740
-
Nathan Ridge authored
-
Nathan Ridge authored
Differential Revision: https://reviews.llvm.org/D101275
-
Nathan Ridge authored
Differential Revision: https://reviews.llvm.org/D101270
-
Reshabh Sharma authored
Add address sanitizer instrumentation support for accesses to global and constant address spaces in AMDGPU. It strictly avoids instrumenting the stack and assumes x86 as the host. Reviewed by: vitalybuka Differential Revision: https://reviews.llvm.org/D99071
-
Konstantin Zhuravlyov authored
This reverts commit 54aad636. Includes fix for note-amd-valid-v3.s test.
-
Sergio Perez Gonzalez authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D101133
-
David Green authored
We create MMO's for the VLDn/VSTn intrinsics in ARMTargetLowering:: getTgtMemIntrinsic, but they do not currently make it ll the way through ISel. This changes that in the various places it needs changing, making sure that the MMO is propagate through to the final instruction. This can help in scheduling, not treating the VLD2/VST2 as a scheduling barrier. Differential Revision: https://reviews.llvm.org/D101096
-
Stelios Ioannou authored
Setting the preffered function alignment to 16 for Cortex A53/A55 improves performance in a wide range of benchmarks. This brings it in line with the Cortex-A53/A55 tuning that is used in GCC (gcc/config/aarch64/aarch64.c). Differential Revision: https://reviews.llvm.org/D101636 Change-Id: I2ce47fe7ab5e3b54f49c89038d8da4e404742de2
-
Craig Topper authored
This allows for a much more efficient encoding for small negative numbers by storing the sign bit first and negating the rest of the bits. This was already being used for OPC_CheckInteger. For every in tree target this affects, the table got smaller. R600GenDAGISel.inc saw the largest reduction of 7K. I did have to add a new opcode for StringIntegers used for register class ids and subregister indices since we don't have the integer value to encode. The enum name is emitted directly into the table. Previously assumed the enum would expand to a positive 7-bit number. We might be able to just shift that right by 1 and assume it is a positive 6 bit number, but that will need more investigation.
-
Craig Topper authored
This shrinks the immediate that isel table needs to emit for these instructions. Hoping this allows me to change OPC_EmitInteger to use a better variable length encoding for representing negative numbers. Similar to what was done a few months ago for OPC_CheckInteger. The alternative encoding uses less bytes for negative numbers, but increases the number of bytes need to encode 64 which was a very common number in the RISCV table due to SEW=64. By using Log2 this becomes 6 and is no longer a problem.
-
Martin Storsjö authored
-
Arthur Eubanks authored
As opposed to going through the Aliasee type. For opaque pointers, we're trying to remove uses of PointerType::getElementType(). Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D101715
-
Florian Hahn authored
This patch introduces a helper to obtain an iterator range for the PHI-like recipes in a block. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D100101
-
Craig Topper authored
[RISCV] Reorder masked builtin operands. Use clang_builtin_alias for all overloaded vector builtins. This patch makes the builtin operand order match the C operand order for all intrinsics. With this we can use clang_builtin_alias for all overloaded intrinsics. This should further reduce the test time for vector intrinsics. Differential Revision: https://reviews.llvm.org/D101700
-
Christopher Di Bella authored
`test/std/ranges/range.access/range.access.cbegin/incomplete.compile.verify.cpp` was accidentally copied (and apparently the author either forgot to delete it or forgot to commit the deletion). TEST=`ninja cxx && ninja check-cxx` locally
-
Nikita Popov authored
We currently can't determine any exit counts here, because there is no "controlling exit".
-
- May 02, 2021
-
-
William S. Moses authored
1) Canonicalize IndexCast(SExt(x)) => IndexCast(x) 2) Provide constant folds of sign_extend and truncate Differential Revision: https://reviews.llvm.org/D101714
-
Mark de Wever authored
- Use the proper review for 'Fix integral conformance'. - Mark 'Fix integral conformance' as completed. - Move some tasks to in progress.
-
Juneyoung Lee authored
This is a patch that folds select of select to salvage some optimizations after select -> and/or folding is disabled. ``` select (select a, true, b), c, false -> select a, c, false select c, (select a, true, b), false -> select c, a, false if c implies that b is false (isImpliedCondition). ``` https://alive2.llvm.org/ce/z/ANatjt, https://alive2.llvm.org/ce/z/rv8zTB ``` sel (sel c, a, false), true, (sel !c, b, false) -> sel c, a, b sel (sel !c, a, false), true, (sel c, b, false) -> sel c, b, a ``` https://alive2.llvm.org/ce/z/U2kp-t, https://alive2.llvm.org/ce/z/bc88EE See D101191 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D101375
-
Juneyoung Lee authored
-
William S. Moses authored
Differential Revision: https://reviews.llvm.org/D101712
-
Christopher Di Bella authored
C++20 revised the definition of what it means to be an iterator. While all _Cpp17InputIterators_ satisfy `std::input_iterator`, the reverse isn't true. D100271 introduces a new test adaptor to accommodate this new definition (`cpp20_input_iterator`). In order to help readers immediately distinguish which input iterator adaptor is _Cpp17InputIterator_, the current `input_iterator` adaptor has been prefixed with `cpp17_`. Differential Revision: https://reviews.llvm.org/D101242
-
Juneyoung Lee authored
-
Arthur Eubanks authored
To reduce dependence on pointee types for opaque pointers. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D101706
-
Juneyoung Lee authored
This is an NFC that reruns update_test_checks.py on the tests that are going to be updated in D101191.
-
Juneyoung Lee authored
This is a patch that adds ctpop intrinsics to propagatesPoison. Splitted from D101191
-
eopXD authored
Added canonicalization for vector_load and vector_store. An existing pattern SimplifyAffineOp can be reused to compose maps that supplies result into them. Added AffineVectorStoreOp and AffineVectorLoadOp into static_assert of SimplifyAffineOp to allow operation to use it. This fixes the bug filed: https://bugs.llvm.org/show_bug.cgi?id=50058 Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D101691
-
Juneyoung Lee authored
This update supports the following transformation: ``` select(extract(mul_with_overflow(a, _), _), (a == 0), false) => and(extract(mul_with_overflow(a, _), _), (a == 0)) ``` which is correct because if `a` was poison the select's condition was also poison. This update is splitted from D101423.
-
LLVM GN Syncbot authored
-