- Jun 20, 2023
-
-
Diana Picus authored
This reverts commit aa7b127c. ...because I really ought to install sphinx.
-
Martin Braenne authored
This reverts commit dfbcee28. This was causing unit tests to fail on Gentoo, see comments on https://reviews.llvm.org/D152696.
-
Diana Picus authored
-
Diana Picus authored
Add a section to AMDGPUUsage.rst about calling conventions and list the ones from the CallingConv enum. Full descriptions can come later (help appreciated). Differential Revision: https://reviews.llvm.org/D151996
-
Nathan Ridge authored
Fixes https://github.com/clangd/clangd/issues/1666 Differential Revision: https://reviews.llvm.org/D153251
-
Haojian Wu authored
The binary tool only works on working source code, if the source code is not compilable, don't perform any analysis and edits. Differential Revision: https://reviews.llvm.org/D153271
-
Matthias Springer authored
This transform op runs a pass on the target op. Differential Revision: https://reviews.llvm.org/D153143
-
Kazu Hirata authored
-
Fangrui Song authored
Optimize (cmp+beq => cbz), duduplicate code (SAVE_REGISTERS/RESTORE_REGISTERS), improve portability (use ASM_SYMBOL to be compatible with Mach-O), and fix style issues. Also, port D37965 (x86 tail call) to __xray_FunctionTailExit.
-
Jaroslav Sevcik authored
-
Jaroslav Sevcik authored
This removes dependence on the libc abort function.
-
Zhongyunde authored
For simd vector selects, use cmeq + bsl for v2f32/v4f32/v2f64, so their cost are cheep. Fix https://github.com/llvm/llvm-project/issues/63082 Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D152523
-
Bing1 Yu authored
%tile = call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 32, i8* %src_ptr, i64 64) %vec = call <256 x i8> @llvm.x86.cast.tile.to.vector.v256i8(x86_amx...%tile) store <256 x i8> %vec, <256 x i8>* %dst_ptr, align 256 => %tile = call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 32, i8* %src_ptr, i64 64) %stride = sext i16 32 to i64 call void @llvm.x86.tilestored64.internal(i16 8, i16 32, i8* %dst_ptr, i64 32, x86_amx %tile) Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D153002
-
Fangrui Song authored
The intrinsic has a smaller integer type than the parameter type of builtin-function/API. Fix this similar to commit 3fa3cb40.
-
Fangrui Song authored
The Clang built-in function is void __xray_typedevent(size_t, const void *, size_t), but the LLVM intrinsics has smaller integer types. Since we only allow 64-bit ELF/Mach-O targets, we can change llvm.xray.typedevent to i64/ptr/i64. This allows encoding more information and avoids i16 legalization for many non-X86 targets. fdrLoggingHandleTypedEvent only supports uint16_t event type.
-
Kazu Hirata authored
This patch fixes: bolt/lib/Core/BinarySection.cpp:120:24: error: unused variable 'Relocation' [-Werror,-Wunused-variable]
-
Vladislav Dzhidzhoev authored
Test "local-type-as-template-parameter.ll" is now enabled only for x86_64. Authored-by:
Kristina Bessonova <kbessonova@accesssoftek.com> Differential Revision: https://reviews.llvm.org/D144006 Depends on D144005
-
Vladislav Dzhidzhoev authored
Revert "Reland "[DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)"" This reverts commit 2da45172. Test local-type-as-template-parameter.ll fails on ppc64-aix.
-
Fangrui Song authored
This is remnant after D140739.
-
Fangrui Song authored
-
Scott Linder authored
The extension codespace for DWARF expressions (DW_OP_LLVM_{lo,hi}_user) has shrunk over time, as no extension is ever "retired" in practice. To facilitate future extensions, this patch reserves one open opcode as an extension point (0xfe), which is followed by a ULEB128-encoded SubOperation, and then by the subop's operands. There is some prior-art, namely DW_OP_AARCH64_operation (see https://github.com/ARM-software/abi-aa/blob/edd7460d87493fff124b8b5713acf71ffc06ee91/aadwarf64/aadwarf64.rst#45dwarf-expression-operations). This version makes some different tradeoffs, opting to use a ULEB128 for the subop encoding for future-proofing. Reviewed By: #debug-info, dblaikie Differential Revision: https://reviews.llvm.org/D147271 -
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D153295
-
Jay Foad authored
-
Fangrui Song authored
and removed unused CC1Option. Also change -whole-archive to the canonical spelling and improve tests.
-
Scott Linder authored
Update DWARFExpression::Operation and LVOperation to support more than 2 operands. Take the opportunity to use a SmallVector, which will handle at least 2 operands without allocation anyway, and removes the static limit completely. As there is no longer the concept of an "unused operand", remove Operation::Encoding::SizeNA. Any use of it is now replaced with explicit checks for how many operands an operation has. There are still places where the limit remains 2, namely in the DWARFLinker and in DIExpressions, but these can be updated in later patches as-needed. There are no explicit tests as this is nearly NFC: no new operation is added which makes use of the additional operand capacity yet. A future patch adding a new DWARF extension point will include operations which require the support. Reviewed By: Orlando, CarlosAlbertoEnciso Differential Revision: https://reviews.llvm.org/D147270
-
Siva Chandra Reddy authored
The libc flush operation is not supposed to trigger a platform level flush operation. See "Notes" on this Linux man page: https://man7.org/linux/man-pages/man3/fflush.3.html Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D153182 -
Vladislav Dzhidzhoev authored
Test "local-type-as-template-parameter.ll" now requires linux-system. Authored-by:
Kristina Bessonova <kbessonova@accesssoftek.com> Differential Revision: https://reviews.llvm.org/D144006 Depends on D144005
-
Louis Dionne authored
-
Ellis Hoag authored
`TrigramIndex` was added back in https://reviews.llvm.org/D27188 as an optimization to make `SpecialCaseList::match()` faster. I've found that `TrigramIndex` actually makes the function slower and it has no functional use, so we can remove it. I grabbed the list of queries passed to `SpecialCaseList::match()` on a random very large file (`AArch64ISelLowering.cpp`) and measured the runtime to call `match()` on all of them with [this line](https://github.com/llvm/llvm-project/blob/8e1f820bb4eadf5c0704818f6063e0db1006e32d/llvm/lib/Support/SpecialCaseList.cpp#L64) disabled and then enabled. ``` $ hyperfine --warmup 3 'GTEST_FILTER="SpecialCaseListTest.Large" USE_TRIGRAMS=1 build/unittests/Support/SupportTests' 'GTEST_FILTER="SpecialCaseListTest.Large" USE_TRIGRAMS=0 build/unittests/Support/SupportTests' Benchmark 1: GTEST_FILTER="SpecialCaseListTest.Large" USE_TRIGRAMS=1 build/unittests/Support/SupportTests Time (mean ± σ): 575.9 ms ± 20.3 ms [User: 573.1 ms, System: 2.7 ms] Range (min … max): 555.5 ms … 620.0 ms 10 runs Benchmark 2: GTEST_FILTER="SpecialCaseListTest.Large" USE_TRIGRAMS=0 build/unittests/Support/SupportTests Time (mean ± σ): 283.4 ms ± 6.7 ms [User: 280.3 ms, System: 3.0 ms] Range (min … max): 277.0 ms … 294.9 ms 10 runs Summary 'GTEST_FILTER="SpecialCaseListTest.Large" USE_TRIGRAMS=0 build/unittests/Support/SupportTests' ran 2.03 ± 0.09 times faster than 'GTEST_FILTER="SpecialCaseListTest.Large" USE_TRIGRAMS=1 build/unittests/Support/SupportTests' ``` Using `perf` I found that most of the runtime in `TrigramIndex::isDefinitelyOut()` comes from a division operation that seems to come from `std::unordered_map`: https://github.com/llvm/llvm-project/blob/8e1f820bb4eadf5c0704818f6063e0db1006e32d/llvm/include/llvm/Support/TrigramIndex.h#L62 Removing `TrigramIndex` will make it easier to potentially switch to using `GlobPattern` instead of a full regex for `SpecialCaseList`. See discussion in https://reviews.llvm.org/D152762 for details. Reviewed By: MaskRay, #sanitizers, vitalybuka Differential Revision: https://reviews.llvm.org/D153171
-
Amy Kwan authored
This patch adds support for the TLS local-exec access model on AIX to allow for the ability to generate the 64-bit (specifically, non-optimized) code sequence. For this patch in particular, the sequence that is generated involves a load of the variable offset, followed by an add of the loaded variable offset to r13 (which is thread pointer, respectively). This code sequence looks like the following: ``` ld reg1,var[TC](2) add reg2, reg1, r13 // r13 contains the thread pointer ``` The TOC (.tc pseudo-op) entries generated in the assembly files are also changed where we add the @le relocation for the variable offset. Differential Revision: https://reviews.llvm.org/D149722
-
Amy Kwan authored
This patch relaxes the front end AIX diagnostics added in D102070 to accept the local-exec TLS model, as we plan to support this model in a series of future patches. The diagnostics are relaxed when local-exec is used as a compiler option to `-ftls-model=*` and in the `__attribute__((tls_model("local-exec")))` attribute. Differential Revision: https://reviews.llvm.org/D149596 -
Vladislav Dzhidzhoev authored
This reverts commit 66511b40. llvm/test/DebugInfo/Generic/local-type-as-template-parameter.ll is broken.
-
Florian Hahn authored
This reverts the revert commit 1797ab36. The recommitted version now checks the PostIncLoopSets for all fixups and returns nullptr if the result doesn't match for all fixups.
-
Jeffrey Byrnes authored
Differential Revision: https://reviews.llvm.org/D142782 Change-Id: Ibb95224f7885839e8b77a705f487f10b47a258a6
-
Benjamin Kramer authored
applyExtensions can load further dialects, invalidating the reference to the dialect pointer in the dialects DenseMap. Capture the pointer to prevent that from happening.
-
LLVM GN Syncbot authored
-
Jay Foad authored
Implement this optimization in SIInsertWaitcnts, where we already have information about whether there might be outstanding VMEM store instructions. This has the following advantages: - Correctly handles atomics-with-return. - Correctly handles call instructions. - Should be faster because it does not require running a separate pass. Differential Revision: https://reviews.llvm.org/D153279
-
- Jun 19, 2023
-
-
Kun Wu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D153188
-
Jeffrey Byrnes authored
Differential Revision: https://reviews.llvm.org/D143018 Change-Id: I3dc03787a3382c0c3fe6b869f869c2946f450874
-
Louis Dionne authored
-