This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Nov 15, 2021
-
-
Shao-Ce SUN authored
-
Vitaly Buka authored
-
Lang Hames authored
Commit 69be352a restricted the MachO debugger support testcase to run on Darwin only, but we still need to disable debugger support by default for other noexec tests. This patch introduces a -debugger-support option to llvm-jitlink that is on-by-default when executing code, and off-by-default for noexec tests. This should prevent regression tests from trying (and failing) to set up MachO debugging support when running on non-Darwin platforms. to explicitly enable/disable support.
-
Matheus Izvekov authored
This reverts commit 4d8fff47.
-
Mogball authored
Add template specialization to `FieldParser` for parsing types. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D113867
-
Mogball authored
Derived attributes' constraints are no longer uniqued - derived attributes' verifiers are not automatically generated.
-
LLVM GN Syncbot authored
-
Lang Hames authored
This reapplies e1933a04 (which was reverted in f55ba352 due to bot failures, e.g. https://lab.llvm.org/buildbot/#/builders/117/builds/2768). The bot failures were due to a missing symbol error: We use the input object's mangling to decide how to mangle the debug-info registration function name. This caused lookup of the registration function to fail when the input object mangling didn't match the host mangling. Disbaling the test on non-Darwin platforms is the easiest short-term solution. I have filed https://llvm.org/PR52503 with a proposed longer term solution.
-
Mehdi Amini authored
Fix a clang-tidy warning.
-
Simon Pilgrim authored
-
David Blaikie authored
Follow-up to D77598: Simplify API by passing template parameters only when used/to imply "TemplOverloaded/overloadable" These arguments were redundant, and other parts of D77598 did rely on the presence/absence of template parameters to imply whether types should be included for the argument (like clang::printTemplateArgumentList) so do that here too.
-
Simon Pilgrim authored
This helper provides a more complete approach for lowering to X86ISD::PACKSS/PACKUS nodes - testing for existing suitable sign/zero extension before recreating it. It also optionally packs the upper half instead of the lower half.
-
Florian Hahn authored
After cd8aa234, there's no need to collect a vector of basic blocks to keep first. Remove the first loop.
-
Vitaly Buka authored
-
Koakuma authored
On SPARC, S/UMULO operation on 64-bit integers works by extending the value to 128-bit, then doing a multiplication and checking the upper half of the result. This makes UMULO works correctly by putting a zero in the upper half rather than doing a sign extension. Reviewed By: LemonBoy Differential Revision: https://reviews.llvm.org/D110555
-
Christian Ulmann authored
This patch adds functionality to parse FlatAffineConstraints from a StringRef with the intention to be used for unit tests. This should make the construction of FlatAffineConstraints easier for testing purposes. The patch contains an example usage of the functionality in a unit test that uses FlatAffineConstraints. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D113275
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Roman Lebedev authored
[X86][Costmodel] `getReplicationShuffleCost()`: promote 16 bit-wide elements to 32 bit when no AVX512BW The basic idea is simple, if we don't have native shuffle for this element type, then we must have native shuffle for wider element type, so promote, replicate, demote. I believe, asking `getCastInstrCost(Instruction::Trunc` is correct semantically, case in point `trunc <32 x i32> to <32 x i8>` aka 2 * ZMM will naively result in 2 * XMM, that then will be packed into 1 * YMM, and it should count the cost of said packing, not just the truncations. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D113609
-
Roman Lebedev authored
'Replicated' is mouthful and somewhat ambigious, while 'destination' is pretty self-explanatory.
-
Mehrnoosh Heidarpour authored
Baseline tests for D113783 Differential Revision: https://reviews.llvm.org/D113846
-
- Nov 14, 2021
-
-
Ahmed Bougacha authored
This defines the new `@llvm.ptrauth.` pointer authentication intrinsics: sign, auth, strip, blend, and sign_generic, documented in PointerAuth.md. Pointer Authentication is a mechanism by which certain pointers are signed. When a pointer gets signed, a cryptographic hash of its value and other values (pepper and salt) is stored in unused bits of that pointer. Before the pointer is used, it needs to be authenticated, i.e., have its signature checked. This prevents pointer values of unknown origin from being used to replace the signed pointer value. sign and auth provide the core operations. strip removes the ptrauth bits from a signed pointer without checking them. sign_generic allows signing non-pointer values. Finally, blend combines salt values ("discriminators") to derive more targeted and less reusable ones. In later patches, we implement primary backend support for these intrinsics using the AArch64 PAuth feature, and build on that to implement the arm64e Darwin ABI and ELF PAuth ABI Extension in clang. For more details, see the docs page, as well as our llvm-dev RFC: http://lists.llvm.org/pipermail/llvm-dev/2019-October/136091.html or our 2019 Developers' Meeting talk. Differential Revision: https://reviews.llvm.org/D90868
-
Roman Lebedev authored
[X86][Costmodel] `trunc v8i64 to v16i16/v32i16` can appear after legalization, cost is same as for `trunc v8i64 to v8i16` Same as D113842, but for i64 Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D113843
-
Roman Lebedev authored
[X86][Costmodel] `trunc v16i32 to v32i16` can appear after legalization, cost is same as for `trunc v16i32 to v16i16` This was noticed in D113609, hopefully it unblocks that patch. There are likely other similar problems. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D113842
-
Mircea Trofin authored
-
Sanjay Patel authored
This was noted as a follow-up to D113212 / D113426: 4fc1fc40 7e30404c 11522cfc https://alive2.llvm.org/ce/z/e4o96b The canonicalization rules for these IR patterns are complicated, and we were not matching the expected forms in 2 out of the 3 cases. We can make codegen more robust by matching the swapped forms (and that will also work if these patterns are created late).
-
mydeveloperday authored
Looks like the work of {D113393} requires manual clang-formatting intervention. Removal of the space between `auto` and `{}` Reviewed By: HazardyKnusperkeks, Quuxplusone Differential Revision: https://reviews.llvm.org/D113826
-
Simon Pilgrim authored
Similar to what we've done for other ops, this patch widens VPTERNLOG to a 512-bit op for non-VLX targets. Fixes regressions in D113192 Differential Revision: https://reviews.llvm.org/D113827
-
Roman Lebedev authored
See https://reviews.llvm.org/D113609 - some of these costs seem wrong.
-
Roman Lebedev authored
-
Roman Lebedev authored
-
David Green authored
This modifies the preconditions of TypePromotion's isSafeWrap method, to allow it to work from all constants from the ICmp. Using the code: %a = add %x, C1 %c = icmp ult %a, C2 According to Alive, we can prove that is equivalent to icmp ult (add zext(%x), sext(C1)), zext(C2) given C1 <=s 0 and C1 >s C2. https://alive2.llvm.org/ce/z/CECYZB Which is similar to what is already present. We can also prove icmp ult (add zext(%x), sext(C1)), sext(C2) given C1 <=s 0 and C1 <=s C2. https://alive2.llvm.org/ce/z/KKgyeL The PrepareWrappingAdds method was removed, and the constants are now altered to sext or zext directly as required by the above methods. Differential Revision: https://reviews.llvm.org/D113678
-
Kristina Bessonova authored
For global variables and common blocks there is no way to create entities through getOrCreateContextDIE(), so no need to obtain the context first. Differential Revision: https://reviews.llvm.org/D113651
-
Kristina Bessonova authored
-
Vitaly Buka authored
-
LLVM GN Syncbot authored
-
Lang Hames authored
This reverts commit e1933a04 until I can look into bot failures.
-