- Sep 23, 2021
-
-
David Blaikie authored
This is to build the foundation of a new debug info feature to use only the base name of template as its debug info name (eg: "t1" instead of the full "t1<int>"). The intent being that a consumer can still retrieve all that information from the DW_TAG_template_*_parameters. So gno-simple-template-names is business as usual/previously ("t1<int>") =simple is the simplified name ("t1") =mangled is a special mode to communicate the full information, but also indicate that the name should be able to be simplified. The data is encoded as "_STNt1|<int>" which will be matched with an llvm-dwarfdump --verify feature to deconstruct this name, rebuild the original name, and then try to rebuild the simple name via the DWARF tags - then compare the latter and the former to ensure that all the data necessary to fully rebuild the name is present. -
Alex Langford authored
The work that IRExecutionUnit::CollectFallbackNames is basically the work that `CPlusPlusLanguage::GetDemangledFunctionNameWithoutArguments` does already. It's also (at time or writing) specific to C++, so it can be folded into `IRExecutionUnit::CollectCandidateCPlusPlusNames`. Differential Revision: https://reviews.llvm.org/D109928
-
David Green authored
Neither of these passes modify the CFG, allowing us to preserve DomTree and LoopInfo across them by using setPreservesCFG. Differential Revision: https://reviews.llvm.org/D110161
-
Erich Keane authored
Allow multiversioning declarations to match when the actual formal linkage matches, not just when the storage class is identical. Additionally, change the ambiguous 'linkage' mismatch to be more specific and say 'language linkage'.
-
Sanjay Patel authored
The return type of strlen is size_t, not just any integer. This is a partial fix for an example based on: https://llvm.org/PR50836 There's another bug here because we can still crash processing a real strlen or something that looks like it.
-
Michael Benfield authored
This applies to -Wunused-but-set-variable and -Wunused-but-set-parameter. This addresses bug 51865. Differential Revision: https://reviews.llvm.org/D109862
-
Tobias Gysi authored
If no interchange vector is given initialize it with the identity permutation from 0 to number of loops. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D110249
-
Hongtao Yu authored
For large app, dumping disasm of the whole program can be slow and result in gianant output. Adding a switch to dump specific symbols only. Reviewed By: wlei Differential Revision: https://reviews.llvm.org/D110079
-
Daniil Fukalov authored
The pass uses different cost kinds to estimate "old" and "interleaved" costs: default cost kind for all targets override `getInterleavedMemoryOpCost()` is `TCK_SizeAndLatency`. Although at the moment estimated `TCK_Latency` costs are equal to `TCK_SizeAndLatency`, (so the change is NFC) it may change in future. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110100
-
Aaron Ballman authored
This doesn't add all of the document numbers, but it adds a bunch of them. Not all of the documents are available on the committee page (they're old enough that they come from a time when the mailing was comprised of physical pieces of paper), so some of the documents listed are assumed to be correct based on my reading of editor's reports.
-
Arthur Eubanks authored
When determining whether to fold branches to a common destination by merging two blocks, SimplifyCFG will count the number of instructions to be moved into the first basic block. However, there's no reason to count free instructions like bitcasts and other similar instructions. This resolves missed branch foldings with -fstrict-vtable-pointers in llvm-test-suite's lambda benchmark. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D108837
-
Siva Chandra Reddy authored
Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D110222
-
Matt Morehouse authored
Specifying .global and .weak causes a compiler warning: warning: __sigsetjmp changed binding to STB_WEAK Specifying only .weak should have the same effect without causing a warning. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D110178
-
Stefan Gränitz authored
Initially, lli only supported lazy mode for ORC. Greedy mode was added with e1579894 and it's the default setting now. DebugObjectManagerPlugin tests don't rely on laziness, so we can switch them to greedy in order to avoid some unnecessary complexity.
-
Joseph Huber authored
This patch adds support for an RAII struct that will print function traces when placed inside of a function declaration. Each successive call will increase the indentation to make it easier to visually inspect. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D110202
-
Aart Bik authored
This revision removes the ad-hoc MemRefs that were needed using the old ABI (when we still passed by value) and replaces them with the shared StridedMemRef definitions of CRunnerUtils (possible now that we pass by pointer). This avoids code duplication and makes sure we have a consistent view of strided memory references in all our support libraries. Reviewed By: jsetoain Differential Revision: https://reviews.llvm.org/D110221
-
Craig Topper authored
We can use riscv_vse intrinsic instead of riscv_vse_mask. The code here is based on similar code for handling masked.scatter and vp.scatter. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D110206
-
Shilei Tian authored
-
Hongtao Yu authored
Currenlty PseudoProbeInserter is a pass conditioned on a target switch. It works well with a single clang invocation. It doesn't work so well when the backend is called separately (i.e, through the linker or llc), where user has always to pass -pseudo-probe-for-profiling explictly. I'm making the pass a default pass that requires no command line arg to trigger, but will be actually run depending on whether the CU comes with `llvm.pseudo_probe_desc` metadata. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D110209
-
Alexey Bataev authored
pointers.
-
- Sep 22, 2021
-
-
Kazu Hirata authored
Note that MIRCanonicalizerID is declared in llvm/include/llvm/CodeGen/Passes.h, which MIRCanonicalizerPass.cpp includes. Identified with readability-redundant-declaration.
-
Stefan Gränitz authored
These tests were disabled by accident after D107640. Actually, REQUIRES lines don't support `x86_64` and so these tests stopped running on all targets. `native && target-x86_64` should be the correct term to express "x86_64 host targeting native arch".
-
Simon Pilgrim authored
Avoid relying on the default cost kinds in TTI calls (we already do this in other places in SLP) - noticed while trying to see how much work it'd be to extend D110242 and remove all remaining uses of default CostKind arguments.
-
hyeongyu kim authored
[InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) This patch is for fixing potential shufflevector-related bugs like D93818. As D93818, this patch change shufflevector's default placeholder to poison. To reduce risk, it was divided into several patches, and this patch is for InstCombineVectorOps. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D110230
-
Joe Loser authored
LWG 2447 is marked as `Complete`, but there is no `static_assert` to reject volatile types in `std::allocator`. See the discussion at https://reviews.llvm.org/D108856. Add `static_assert` in `std::allocator` to disallow volatile types. Since this is an implementation choice, mark the binding test as `libc++` only. Remove tests that use containers backed by `std::allocator` that test the container when used with a volatile type. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D109056
-
Shilei Tian authored
The execution mode of a kernel is stored in a global variable, whose value means: - 0 - SPMD mode - 1 - indicates generic mode - 2 - SPMD mode execution with generic mode semantics We are going to add support for SIMD execution mode. It will be come with another execution mode, such as SIMD-generic mode. As a result, this value-based indicator is not flexible. This patch changes to bitset based solution to encode execution mode. Each position is: [0] - generic mode [1] - SPMD mode [2] - SIMD mode (will be added later) In this way, `0x1` is generic mode, `0x2` is SPMD mode, and `0x3` is SPMD mode execution with generic mode semantics. In the future after we add the support for SIMD mode, `0b1xx` will be in SIMD mode. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D110029
-
hyeongyu kim authored
[InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) This patch is for fixing potential shufflevector-related bugs like D93818. As D93818, this patch change shufflevector's default placeholder to poison. To reduce risk, it was divided into several patches, and this patch is for InstCombineCompares and InstructionCombining. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D110227
-
Louis Dionne authored
-
Teresa Johnson authored
This will hopefully fix the sanitizer_windows bot failure after D109794: https://lab.llvm.org/buildbot/#/builders/127/builds/17222
-
Simon Pilgrim authored
Based off a discussion on D110100, we should be avoiding default CostKinds whenever possible. This initial patch removes them from the 'inner' target implementation callbacks - these should only be used by the main TTI calls, so this should guarantee that we don't cause changes in CostKind by missing it in an inner call. This exposed a few missing arguments in getGEPCost and reduction cost calls that I've cleaned up. Differential Revision: https://reviews.llvm.org/D110242
-
hyeongyu kim authored
[InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (1/3) This patch is for fixing potential shufflevector-related bugs like D93818. As D93818, this patch change shufflevector's default placeholder to poison. To reduce risk, it was divided into several patches, and this patch is for InstCombineCasts. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D110226
-
Sander de Smalen authored
This patch splits up sve-extract-vector.ll into * sve-extract-fixed-vector.ll * sve-extract-scalable-vector.ll For testing extracts of a fixed-width or scalable sub-vector from a scalable source vector, respectively.
-
Joseph Huber authored
Summary: The thread ID function was reintroduced in D110195, but could potentially be removed by the optimizer. Make the function noinline to preserve the call sites and add it to the externalization RAII so its definition is not removed by the attributor.
-
Joseph Tremoulet authored
-
Sander de Smalen authored
Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D110163
-
Sander de Smalen authored
This code seems untested and is likely obsolete, because this case should already be handled by the code that legalizes the result type of EXTRACT_SUBVECTOR. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D110061
-
Tim Northover authored
Like normal atomicrmw operations, at -O0 the simple register-allocator can insert spills into the LL/SC loop if it's expanded and visible when regalloc runs. This can cause the operation to never succeed by repeatedly clearing the monitor. Instead expand to a cmpxchg, which has a pseudo-instruction for -O0.
-
Andrew Ng authored
Restore the checking of addresses in ICF test which was testing the behaviour of ICF with regards to different alignments of otherwise identical sections. Also make the test more robust to layout changes. Differential Revision: https://reviews.llvm.org/D110090
-
Alexey Bataev authored
transformation.
-
Stefan Gränitz authored
At first, lli only supported lazy mode for ORC. Greedy mode was added with e1579894 and is the default settings now. JITLoaderGDB tests don't rely on laziness, so we can switch them to greedy and remove some complexity.
-