- Nov 27, 2023
-
-
cmtice authored
This adds 23 new helper functions to LLDB's CompilerType class, things like IsSmartPtrType, IsPromotableIntegerType, GetNumberofNonEmptyBaseClasses, and GetTemplateArgumentType (to name a few). These helper functions are needed as part of the implementation for the Data Inspection Language, (see https://discourse.llvm.org/t/rfc-data-inspection-language/69893).
-
Jakub Kuderski authored
Because `OpDot` does not require any extra capabilities or extensions, enable it by default in the vector to spirv conversion.
-
Owen Pan authored
Fixed #70789.
-
Raghu Maddhipatla authored
Fix for https://github.com/llvm/llvm-project/issues/68593
-
philnik777 authored
I don't know when, but at some point we lost test coverage to ensue that all the headers are in the modulemap. This adds a test to make sure all the headers (excluding a few which shouldn't be part of the modulemap) are at least mentioned. This also fixes a few headers which bit-rotted while we were missing the coverage.
-
Jeremy Morse authored
Loop-rotate manually maintains dbg.value intrinsics -- it also needs to manually maintain the replacement for dbg.value intrinsics, DPValue objects. For the most part this patch adds parallel implementations using the new type Some extra juggling is needed when loop-rotate hoists loop-invariant instructions out of the loop: the DPValues attached to such an instruction need to get rotated but not hoisted. Exercised by the new test function invariant_hoist in dbgvalue.ll. There's also a "don't insert duplicate debug intrinsics" facility in LoopRotate. The value and correctness of this isn't clear, but to continue preserving behaviour that's now tested in the "tak_dup" function in dbgvalue.ll. Other things in this patch include a helper DebugVariable constructor for DPValues, a insertDebugValuesForPHIs handler for RemoveDIs (exercised by the new tests), and beefing up the dbg.value checking in dbgvalue.ll to ensure that each record is tested (and that there's an implicit check-not).
-
Jeremy Morse authored
-
Nico Weber authored
As far as I can tell, the non-lib part never depended on MCJIT, so I'm not sure why I added that. While here, re-sync some other deps. Since there's no shared library build for the gn build, no real behavior change.
-
Nico Weber authored
-
Jeremy Morse authored
With intrinsics representing debug-info, we just clone all the intrinsics when inlining a function and don't think about it any further. With non-instruction debug-info however we need to be a bit more careful and manually move the debug-info from one place to another. For the most part, this means keeping a "cursor" during block cloning of where we last copied debug-info from, and performing debug-info copying whenever we successfully clone another instruction. There are several utilities in LLVM for doing this, all of which now need to manually call cloneDebugInfo. The testing story for this is not well covered as we could rely on normal instruction-cloning mechanisms to do all the hard stuff. Thus, I've added a few tests to explicitly test dbg.value behaviours, ahead of them becoming not-instructions.
-
Aiden Grossman authored
This pass isn't used anywhere upstream and thus has no test coverage. For these reasons, remove it.
-
Aiden Grossman authored
This patch adds a NewPM printer pass for the LazyValueAnalysis.
-
philnik777 authored
[libc++][NFC] Use __construct_at and __destroy_at instead of using preprocessor conditionals (#70866)
-
philnik777 authored
The tests were missing the `.pass.cpp` suffix to be recognized as tests. As a result, they were never run and some are completely broken.
-
Sunil Kuravinakop authored
Diff Revision: https://reviews.llvm.org/D123235
-
Cyndy Ishida authored
-
Stephan T. Lavavej authored
Found while running libc++'s test suite with MSVC's STL. This is structured into a series of commits for easier reviewing; I could also split this into smaller PRs if desired. * Add void-casts for `invoke_r` calls to fix MSVC STL `[[nodiscard]]` warnings. + Our rationale is that if someone is calling `invoke_r<NonVoidType>`, it sure looks like they care about the return value. * Add `[[maybe_unused]]` to silence `-Wunused-parameter` warnings. + This happens because the parameters are used within `LIBCPP_ASSERT`, which vanishes for MSVC's STL. This also motivates the following changes. * Add `[[maybe_unused]]` to fix `-Wunused-variable` warnings. * Always void-cast `debug_comparisons` to fix `-Wunused-variable` warnings. + As this was already unused with a void-cast in one `_LIBCPP_HARDENING_MODE` branch, I'm simply lifting it next to the variable definition. * Add `[[maybe_unused]]` to fix `-Wunused-local-typedef` warnings.
- Nov 26, 2023
-
-
Da-Viper authored
Fixes #65890. --------- Co-authored-by:Danny Mösch <danny.moesch@icloud.com>
-
Tom Stellard authored
ninja defaults to using ncpus + 2 build jobs, and this extra parallelism helps the script complete faster in my testing on the GitHub runners.
-
Youngsuk Kim authored
Opaque ptr cleanup effort
-
Aiden Grossman authored
This pass has no test coverage in upstream LLVM, is not used anywhere in upstream LLVM, and has a NewPM equivalent. For these reasons, remove it.
-
Aiden Grossman authored
12b0ab2c switched llvm-exegesis from using MCJIT to OrcJIT, which is a different dep/library. This was ported over in the CMake build, but not in the bazel build. This patch adjusts the llvm-exegesis deps in the Bazel build to account for this change.
-
Maksim Panchenko authored
This is a follow-up to #73076. We need to reset output addresses for deleted blocks, otherwise the address translation may mistakenly attribute input address of a deleted block to a non-zero address. While working on a test case, I've discovered that DWARF output ranges were already broken for deleted basic blocks: #73428. I will provide a test case for this PR with a DWARF address range fix PR.
-
Douglas Yung authored
Add "REQUIRES: asserts" to test as it requires the compiler to hit an assertion failure to pass and was failing in release builds.
-
Maksim Panchenko authored
Remove redundant check in updateOutputValues().
-
Chen Zheng authored
This will help tools like llvm-symbolizer recognizes more functions.
-
Shengchen Kan authored
-
Shengchen Kan authored
-
Aiden Grossman authored
This pass has no test coverage upstream, is not used anywhere upstream, and has a NewPM equivalent. For these reasons, remove it.
-
Aiden Grossman authored
This pass isn't used by anywhere upstream and thus has no test coverage. For these reasons, remove it.
-
Aiden Grossman authored
This pass has a NewPM equivalent, isn't used anywhere upstream, and doesn't have any test coverage. For these reasons, remove it.
-
Aiden Grossman authored
This pass isn't used anywhere upstream, has a NewPM equivalent, and has no test coverage. For these reasons, remove it.
-
Aiden Grossman authored
This pass isn't used anywhere upstream and thus doesn't have any test coverage. For these reasons, remove it.
-
Aiden Grossman authored
This pass isn't used anywhere upstream and thus has no test coverage. For these reasons, remove it.
-
Aiden Grossman authored
This pass isn't used anywhere upstream and thus has no test coverage. For these reasons it should be removed.
-
avl-llvm authored
This fixes usage of PointerIntPair on 32-bit platform - https://github.com/llvm/llvm-project/issues/73267.
-
Aiden Grossman authored
This reverts commit ddc6ef46. This relands commit 12b0ab2c. There was an issue with certain configurations failing to build due to a deleted Error constructor that should be fixed with this relanding.
-
antangelo authored
Reland "[clang][Sema] Use original template pattern when declaring implicit deduction guides for nested template classes" (#73087) Reland of f4183197 with proper handling of template constructors When a nested template is instantiated, the template pattern of the inner class is not copied into the outer class ClassTemplateSpecializationDecl. The specialization contains a ClassTemplateDecl with an empty record that points to the original template pattern instead. As a result, when looking up the constructors of the inner class, no results are returned. This patch finds the original template pattern and uses that for the lookup instead. Based on CWG2471 we must also substitute the known outer template arguments when creating deduction guides for the inner class. Changes from last iteration: 1. In template constructors, arguments are first rewritten to depth - 1 relative to the constructor as compared to depth 0 originally. These arguments are needed for substitution into constraint expressions. 2. Outer arguments are then applied with the template instantiator to produce a template argument at depth zero for use in the deduction guide. This substitution does not evaluate constraints, which preserves constraint arguments at the correct depth for later evaluation. 3. Tests are added that cover template constructors within nested deduction guides for all special substitution cases. 4. Computation of the template pattern and outer instantiation arguments are pulled into the constructor of `ConvertConstructorToDeductionGuideTransform`.
-
Craig Topper authored
This covers the simm12 offset case.
-