- Nov 25, 2023
-
-
Mark de Wever authored
Implements: - P2871R3 Remove Deprecated Unicode Conversion Facets from C++26
-
Mark de Wever authored
Implements - P2918R2 Runtime format strings II
-
Kiran Chandramohan authored
-
Sebastian Poeplau authored
The LinkageSpec case was omitted, and there is a declared CXCursor_Kind for it. Adapt the testsuite drivers to print mangled names for declarations with extern linkage. Also update the test baseline for the recursive-cxx-member-calls.cpp test. Co-authored-by:Matthieu Eyraud <eyraud@adacore.com>
-
Alexey Bataev authored
Expr container, NFC. Saves the memory and may improve compile time.
-
Akash Banerjee authored
As per the RFC: [https://discourse.llvm.org/t/rfc-flang-new-directory-for-adding-end-to-end-tests-for-lowering-to-llvm-ir-in-flang/74872/11](https://discourse.llvm.org/t/rfc-flang-new-directory-for-adding-end-to-end-tests-for-lowering-to-llvm-ir-in-flang/74872/11), this patch adds a new Integration test directory for OpenMP- `flang/test/Integration/OpenMP` and moves the existing OpenMP integration tests from `flang/test/Driver/OpenMP` to this directory. **This directory can be used to add Integration tests involving multiple stages of the compiler (for eg. from Fortran to LLVM IR). It should not contain executable tests. We should only add tests here sparingly and only if there is no other way to test. Repeat this message in each test that is added to this directory and sub-directories.**
-
Guillaume Chatelet authored
This will be used to support conditional compilation based on compiler version. We adopt the same convention as [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config) - thx @legrosbuffle for the suggestion! Usage: ``` #if defined(LIBC_COMPILER_CLANG_VER) # if LIBC_COMPILER_CLANG_VER < 1500 # warning "Libc only supports Clang 15 and later" # endif #elif defined(LIBC_COMPILER_GCC_VER) # if LIBC_COMPILER_GCC_VER < 1500 # warning "Libc only supports GCC 15 and later" # endif #elif defined(LIBC_COMPILER_MSC_VER) # if LIBC_COMPILER_MSC_VER < 1930 # warning "Libc only supports Visual Studio 2022 RTW (17.0) and later" # endif #endif ```
-
- Nov 24, 2023
-
-
José Lira Junior authored
Fixes [#68035](https://github.com/llvm/llvm-project/issues/68035), where an inconsistency in the order of "Process launched" and "Process stopped" messages occurs during `process launch`. The fix involves adjusting the message output sequence in `CommandObjectProcessLaunch::DoExecute` within `source/Commands/CommandObjectProcess.cpp`. This ensures "Process launched" consistently precedes "Process stopped" when executing commands with the '-o' flag, i.e., non-interactive mode. Upon implementing this change, two tests failed: `lldb/test/Shell/Breakpoint/jit-loader_jitlink_elf.test` and `lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test`. These failures were expected as they relied on the previous, now-corrected message order. Updating these tests to align with the new message sequence is part of this PR's scope.
-
Egor Zhdan authored
``` llvm-project/clang/include/clang/AST/OpenMPClause.h:7762:14: warning: parameter 'Modifier' not found in the function declaration [-Wdocumentation] /// \param Modifier The modifier applied to 'order' clause. ^~~~~~~~ llvm-project/clang/include/clang/AST/OpenMPClause.h:7762:14: note: did you mean 'M'? /// \param Modifier The modifier applied to 'order' clause. ``` -
Guillaume Chatelet authored
-
Jeremy Morse authored
This patch adds support for CloneBasicBlock duplicating the DPValues attached to instructions, and adds facilities to remap them into their new context. The plumbing to achieve this is fairly straightforwards and mechanical. I've also added illustrative uses to LoopUnrollRuntime, SimpleLoopUnswitch and SimplifyCFG. The former only updates for the epilogue right now so I've added CHECK lines just for the end of an unrolled loop (further updates coming later). SimpleLoopUnswitch had no debug-info tests so I've added a new one. The two modified parts of SimplifyCFG are covered by the two modified SimplifyCFG tests. These are scenarios where we have to do extra cloning for copying of DPValues because they're no longer instructions, and remap them too.
-
Jeremy Morse authored
There's good justification for having a function specifying "I need there to be a marker here, so return the marker there or create a new one". This was going to come later in the series, but it's starting to become necessary much eariler alas. Make use of it in spliceDebugInfo, where we can occasionally splice DPValues onto the end() iterator of a block while it's been edited.
-
Guillaume Chatelet authored
Floating point properties are a combination of target OS, target architecture and compiler support. - Adding target OS detection, - Moving floating point type detection to its own file. This is in preparation of adding support for `_Float16` which requires testing compiler **version** and target architecture.
-
Nikita Popov authored
Avoid some spurious changes in a future patch.
-
Nikita Popov authored
There have been some minor but pervasive changes to the generated CHECK lines, so regenerate all of them, to minimize future diffs.
-
Jinsong Ji authored
The new libcxx workflow are run and failing in non llvm repo. Skip it similar to other workflow.
-
Florian Hahn authored
Manually add clobbers for various register combinations to tests. This highlights incorrectly performing shrink-wrapping, with StoreSwiftAsyncContext expansion clobbering a live register.
-
Stefan Gränitz authored
-
Stefan Gränitz authored
If GOTSym is not defined, we cannot call `GOTSym.getBlock()`. It failed with: ``` Assertion failed: (Base->isDefined() && "Not a defined symbol"), function getBlock, file JITLink.h, line 554. ```
-
Nikita Popov authored
Explicitly include some headers or forward-declare types, in preparation for removing an include that pulls in many transitive headers.
-
Timm Baeder authored
-
Balázs Kéri authored
Import of a function with `auto` return type that is expanded to a `SubstTemplateTypeParmType` could fail if the function itself is the template specialization where the parameter was replaced.
-
Guillaume Chatelet authored
-
Jeremy Morse authored
The code in the CloneInstructionsIntoPredec... function modified by this patch has a long history that dates back to 2011, see d715ec82. There, when folding branches, all dbg.value intrinsics seen when folding would be saved and then re-inserted at the end of whatever was folded. Over the last 12 years this behaviour has been preserved. However, IMO it's bad behaviour. If we have: inst1 dbg.value1 inst2 dbg.value2 And we fold that sequence into a different block, then we would want the instructions and variable assignments to appear in the same order. However because of this old behaviour, the dbg.values are sunk, and we get: inst1 inst2 dbg.value1 dbg.value2 This clustering of dbg.values can make assignments to the same variable invisible, as well as reducing the coverage of other assignments. This patch relaxes the CloneInstructions... function and allows it to clone and update dbg.values in-place, causing them to appear in the original order in the destination block. I've added some extra dbg.values to the updated test: without the changes to the pass, the dbg.values sink into a blob ahead of the select. The RemoveDIs code can't cope with this right now so I've removed the "--try..." flag, restored in a commit to land in a couple of hours. (Metadata changes to make the LLVM-IR parser not drop the debug-info for it being out of date. The RemoveDIs related RUN line has been removed because it was spuriously passing due to the debug-info being dropped).
-
Utkarsh Saxena authored
-
pasmpe01 authored
Update regex to _explicitly_ show which exp versions are added. The previous regex used `exp[^e]` to avoid matching calls like: `@llvm.experimental.stepvector`. Note: ArmPL Mappings for scalable types are not yet utilized (eg, `llvm.exp10.nxv2f64`, `llvm.exp10.nxv4f32`), as `replace-with-veclib` pass needs improvements.
-
Tulio Magno Quites Machado Filho authored
Struct Module::Header is not a POD type. As such, qsort() and llvm::array_pod_sort() must not be used to sort it. This became an issue with the new implementation of qsort() in glibc 2.39 that is not guaranteed to be a stable sort, causing Headers to be re-ordered and corrupted. Replace the usage of llvm::array_pod_sort() with std::stable_sort() in order to fix this issue. The signature of compareModuleHeaders() has to be modified. Fixes #73145.
-
Alexander Batashev authored
The following pattern fails on recent GCC versions with -std=c++20 flag passed and succeeds with -std=c++17. Such behavior is not observed on Clang 16.0. ``` template <typename T> struct Foo { Foo<T>(int a) {} }; ``` This patch removes template parameter from constructor in two occurences to make the following command complete successfully: bazel build -c fastbuild --cxxopt=-std=c++20 --host_cxxopt=-std=c++20 @llvm-project//mlir/... This patch is similar to https://reviews.llvm.org/D154782 Co-authored-by:Alexander Batashev <a.batashev@partner.samsung.com>
-
Akash Banerjee authored
-
Akash Banerjee authored
This patch removes the val field from the `MapInfoOp`. Previously when lowering `TargetOp`, the bounds information for the `BoxValues` were also being mapped. Instead these ops are now cloned inside the target region to prevent mapping of non reference typed values.
-
Nikita Popov authored
TargetLowering.h shouldn't include any passes and thus pull in the entire pass infrastructure. Replace the include with forward declarations.
-
Kadir Cetinkaya authored
-
LLVM GN Syncbot authored
-
Kai Wang authored
Add patterns to lower vector.load to spirv.load and vector.store to spirv.store.
-
Jay Foad authored
Add support for emitting GFX11.5 s_singleuse_vdst instructions. This is a power saving feature whereby the compiler can annotate VALU instructions whose results are known to have only a single use, so the hardware can in some cases avoid writing the result back to VGPR RAM. To begin with the pass is disabled by default because of one missing feature: we need an exclusion list of opcodes that never qualify as single-use producers and/or consumers. A future patch will implement this and enable the pass by default. --------- Co-authored-by:Scott Egerton <scott.egerton@amd.com>
-
Aiden Grossman authored
These are unlikely to produce errors in the build, assuming that the tablegen emitter works as expected, but we're still losing some documentation build testing coverage but not building upon changes to these files.
-
Aiden Grossman authored
This patch refactors ExecutableFunction to use a named constructor pattern, namely adding the create function, so that errors occurring during the creation of an ExecutableFunction can be propogated back up rather than having to deal with them in report_fatal_error.
-
David Green authored
-
Momchil Velikov authored
[MachineSink] Some more preserving of debug location when rematerialising an instruction to replace a COPY (#73155) Somewhat similar to ef9bcace ([MachineSink][AArch64] Preserve debug location when rematerialising an instruction to replace a COPY (#72685)) reuse the debug location of the COPY, iff the rematerialised instruction did not have a location. Fixes a regression in `DebugInfo/AArch64/constant-dbgloc.ll` after enabling sink-and-fold.
-
Ramkumar Ramachandra authored
-