[all-commits] [llvm/llvm-project] 7e9d70: [Offload] Use llvm::Error throughout liboffload in...
Mingming Liu via All-commits
all-commits at lists.llvm.org
Tue May 27 14:32:18 PDT 2025
Branch: refs/heads/users/mingmingl-llvm/sprof-serialize-mini
Home: https://github.com/llvm/llvm-project
Commit: 7e9d708be02e58ce2deae3ccc9ec33b32674a0a6
https://github.com/llvm/llvm-project/commit/7e9d708be02e58ce2deae3ccc9ec33b32674a0a6
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/include/generated/OffloadEntryPoints.inc
M offload/liboffload/include/generated/OffloadImplFuncDecls.inc
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/tools/offload-tblgen/EntryPointGen.cpp
M offload/tools/offload-tblgen/MiscGen.cpp
M offload/tools/offload-tblgen/RecordTypes.hpp
Log Message:
-----------
[Offload] Use llvm::Error throughout liboffload internals (#140879)
This removes the `ol_impl_result_t` helper class, replacing it with
`llvm::Error`. In addition, some internal functions that returned
`ol_errc_t` now return `llvm::Error` (with a fancy message).
Commit: 20f9f1fc02c294fa98d23e1cf1b09ea6d9679145
https://github.com/llvm/llvm-project/commit/20f9f1fc02c294fa98d23e1cf1b09ea6d9679145
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M offload/CMakeLists.txt
M offload/liboffload/CMakeLists.txt
M offload/libomptarget/CMakeLists.txt
Log Message:
-----------
[Offload][NFCI] Remove coupling to `omp` target for version scripting (#141637)
Summary:
This is a weird dependency on libomp just for testing if version scripts
work. We shouldn't need to do this because LLVM already checks for
this. I believe this should be available as well in standalone when we
call `addLLVM` but I did not test that directly.
Commit: a9b64bb3180dab6d28bf800a641f9a9ad54d2c0c
https://github.com/llvm/llvm-project/commit/a9b64bb3180dab6d28bf800a641f9a9ad54d2c0c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
Log Message:
-----------
[Offload] Fix segfault when looking for host device name (#141632)
Summary:
This is done using the generic device into pointe, but no such thing
exists for the host device, leading to a segfault. This patch fixes that
for now, but in the future we should probably be more careful in general
handling the possibility that the handle is null everywhere.
Fixes: https://github.com/llvm/llvm-project/issues/141434
Commit: 7c9e0d5b5d6de3d7812954fc18f74d705d5c5610
https://github.com/llvm/llvm-project/commit/7c9e0d5b5d6de3d7812954fc18f74d705d5c5610
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/hlsl-resources/spirv.layout.type.ll
Log Message:
-----------
[SPIRV] Lower `spirv.Layout` type (#140059)
Add this type in accordance with the [design
doc](https://github.com/llvm/wg-hlsl/pull/171).
Fixes https://github.com/llvm/llvm-project/issues/138276
---------
Co-authored-by: Nathan Gauër <github at keenuts.net>
Commit: d1a6327b2b5d859c992599ac217aaa6d8b83a998
https://github.com/llvm/llvm-project/commit/d1a6327b2b5d859c992599ac217aaa6d8b83a998
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/C/C2y/n3369_3.c
Log Message:
-----------
[C2y] Fix _Countof handling of VLAs (#141621)
It turns out that getVLASize() does not get you the size of a single
dimension of the VLA, it gets you the full count of all elements. This
caused _Countof to return invalid values on VLA ranks. Now switched to
using getVLAElements1D() instead, which only gets a single dimension.
Fixes #141409
Commit: 8a21e0f4ff97f5564e8d134f841ae59ed2c5cdb0
https://github.com/llvm/llvm-project/commit/8a21e0f4ff97f5564e8d134f841ae59ed2c5cdb0
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Log Message:
-----------
[LoopIdiom] Strip dead check in processLoopMemSet (NFC) (#141100)
Commit: ea8838446678a1163b361b0598b1259e9f476900
https://github.com/llvm/llvm-project/commit/ea8838446678a1163b361b0598b1259e9f476900
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-coalesce.mir
Log Message:
-----------
[RISCV][InsertVSETVLI] Remove redundant vsetvli by coalescing blocks from bottom up (#141298)
I ran into a relatively rare case in RISCVInsertVSETVLIPass, where right
after the `emitVSETVLI` phase but before the `coalesceVSETVLIs` phase,
we have two blocks that look like this:
```
bb.first:
%46:gprnox0 = PseudoVSETIVLI %30:gprnox0, 199 /* e8, mf2, ta, ma */, implicit-def $vl, implicit-def $vtype
%76:gpr = PseudoVSETVLIX0 killed $x0, ..., implicit-def $vl, implicit-def $vtype
$v10m2 = PseudoVMV_V_I_M2 undef renamable $v10m2, 0, -1, 5 /* e32 */, 0 /* tu, mu */, implicit $vl, implicit $vtype
...
bb.second:
$x0 = PseudoVSETVLI %46, 209 /* e32, m2, ta, ma */, implicit-def $vl, implicit-def $vtype
$v10 = PseudoVMV_S_X undef $v10(tied-def 0), undef %53:gpr, $noreg, 5, implicit $vl, implicit $vtype
$x0 = PseudoVSETVLI %30, 209 /* e32, m2, ta, ma */, implicit-def $vl, implicit-def $vtype
$v8 = PseudoVREDSUM_VS_M2_E32 undef $v8(tied-def 0), killed $v8m2, killed $v10, $noreg, 5, 0, implicit $vl, implicit $vtype
```
After the `coalesceVSETVLIs` phase, it turns into:
``` diff
bb.first:
- %46:gprnox0 = PseudoVSETIVLI %30:gprnox0, 199 /* e8, mf2, ta, ma */, implicit-def $vl, implicit-def $vtype
+ dead %46:gprnox0 = PseudoVSETIVLI %30:gprnox0, 199 /* e8, mf2, ta, ma */, implicit-def $vl, implicit-def $vtype
%76:gpr = PseudoVSETVLIX0 killed $x0, ..., implicit-def $vl, implicit-def $vtype
$v10m2 = PseudoVMV_V_I_M2 undef renamable $v10m2, 0, -1, 5 /* e32 */, 0 /* tu, mu */, implicit $vl, implicit $vtype
...
bb.second:
- $x0 = PseudoVSETVLI %46, 209 /* e32, m2, ta, ma */, implicit-def $vl, implicit-def $vtype
+ $x0 = PseudoVSETVLI %30, 209 /* e32, m2, ta, ma */, implicit-def $vl, implicit-def $vtype
$v10 = PseudoVMV_S_X undef $v10(tied-def 0), undef %53:gpr, $noreg, 5, implicit $vl, implicit $vtype
- $x0 = PseudoVSETVLI %30, 209 /* e32, m2, ta, ma */, implicit-def $vl, implicit-def $vtype
$v8 = PseudoVREDSUM_VS_M2_E32 undef $v8(tied-def 0), killed $v8m2, killed $v10, $noreg, 5, 0, implicit $vl, implicit $vtype
```
We forwarded `%30` to any use of `%46` and further reduced the number of
VSETVLI we need in `bb.second`. But the problem is, if `bb.first` is
processed before `bb.second` -- which is the majority of the cases --
then we're not able to remove the vsetvli which defines the now-dead
`%46` in `bb.first` after coalescing `bb.second`.
This will produce assembly code like this:
```
vsetvli zero, s0, e8, mf2, ta, ma
vsetvli a0, zero, e32, m2, ta, ma
vmv.v.i v10, 0
```
This patch fixes this issue by coalescing the blocks from bottom up such
that we can account for dead VSETVLI in the earlier blocks after its
uses are eliminated in later blocks.
---------
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: 645f0e6723f21aef8099d8d65f5719fd9feb125e
https://github.com/llvm/llvm-project/commit/645f0e6723f21aef8099d8d65f5719fd9feb125e
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/include/llvm/IR/Module.h
M llvm/lib/CodeGen/LowerEmuTLS.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
IR: Make Module::getOrInsertGlobal() return a GlobalVariable.
After pointer element types were removed this function can only return
a GlobalVariable, so reflect that in the type and comments and clean
up callers.
Reviewers: nikic
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/141323
Commit: 782a9e9f64dfa21ca21f4b5c09569b35dd041bb0
https://github.com/llvm/llvm-project/commit/782a9e9f64dfa21ca21f4b5c09569b35dd041bb0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/import.ll
Log Message:
-----------
LowerTypeTests: Set small code model on imported globals.
This is either a vtable (in .data.rel.ro) or a jump table (in .text).
Either way it's expected to be in the low 2 GiB, so set the small
code model.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/141324
Commit: 04f9fac62238a4af2755e40b8020c64b3055c19a
https://github.com/llvm/llvm-project/commit/04f9fac62238a4af2755e40b8020c64b3055c19a
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-categories/TestDataFormatterCategories.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
Log Message:
-----------
[lldb] optionally match the `__debug` namespace for libstdc++ containers. (#140727)
If libstdc++ is compiled with `_GLIBCXX_DEBUG` flag it puts the containers in the namespace `std::__debug`. this causes the summary and synthetic formatters not to match the types. The formatters is updated to optionally match the `__debug::`.
The formatters now clashed with the libc++ containers namespace regex which uses `std::__1` namespace
The libc++ formatter is loaded first, then the libstdc++ since the priority of the formatters in lldb is the last one added.
Fixes #60841
Commit: 317f3bdcc1f96586489a9e48b494e593592b68cf
https://github.com/llvm/llvm-project/commit/317f3bdcc1f96586489a9e48b494e593592b68cf
Author: FabianWolff <16052130+FabianWolff at users.noreply.github.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Fix formatting and add release notes entry (#141584)
Follow-up to #141092.
Commit: c0a87231069452dfeaf9f2601bb30a3f5e7eb840
https://github.com/llvm/llvm-project/commit/c0a87231069452dfeaf9f2601bb30a3f5e7eb840
Author: nerix <nerixdev at outlook.de>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
A lldb/test/API/windows/launch/missing-dll/Makefile
A lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
A lldb/test/API/windows/launch/missing-dll/dummy_dll.c
A lldb/test/API/windows/launch/missing-dll/main.c
Log Message:
-----------
[LLDB] Show exit code on Windows if process can't launch (#141290)
When running a process that would exit before LLDB could stop the
target, it would try to interpret (and subsequently format) the exit
code as a Win32 error. However, processes on Windows won't return Win32
errors in that case. They will often return an
[NTSTATUS](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55).
One common case for this to occur is when a DLL is missing. In that
case, the process will start successfully, but it will exit with
`STATUS_DLL_NOT_FOUND`.
LLDB would previously return "unknown error", because it tried to
[`FormatMessage`](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-formatmessage)
`0xC0000135` which doesn't work, so it fell back to "unknown error".
This PR changes the error to be the string "Process prematurely exited
with {0:x}" and doesn't try to format the exit code. One could
`FormatMessage` an `NTSTATUS` by passing `FORMAT_MESSAGE_FROM_HMODULE`
and a handle to `ntdll.dll`, however, I don't think we can get the
required format arguments (e.g. the missing DLL name - `%hs`).
Commit: ad58ea3ba8b9ab60a3b31316cb2010034f6257e3
https://github.com/llvm/llvm-project/commit/ad58ea3ba8b9ab60a3b31316cb2010034f6257e3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Bail out before construction VPlan0 if MinVF > MaxVF.
This reduces the cases where we need to create initial VPlans
unnecessarily after 567b3172da2d52f5df70a37f3de06b7000b25968.
buildVPlansWithVPRecipes is called with MinVF > MaxVF if the target does
not support scalable vectors.
Recovers some of the compile-time impact
http://llvm-compile-time-tracker.com/compare.php?from=3033f202f6707937cd28c2473479db134993f96f&to=1a0b9e5834f7fd4abf058864e656f8e26b7a26ff&stat=instructions:u
Commit: 580454526b936f7a576ddbc9bb932cf9be376ec4
https://github.com/llvm/llvm-project/commit/580454526b936f7a576ddbc9bb932cf9be376ec4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
R llvm/test/Transforms/LoopUnroll/peel-last-iteration-debug.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-expansion-cost.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-constant-trip-count.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-variable-trip-count.ll
M llvm/test/Transforms/LoopUnroll/unroll-and-peel-last-iteration.ll
Log Message:
-----------
Revert "[LoopPeel] Remove known trip count restriction when peeling last. (#140792)"
This reverts commit 24b97756decb7bf0e26dcf0e30a7a9aaf27f417c.
Also reverts ac9a466e39bf97ffeab127982aa7c405cb257551.
Building CMake triggers a crash with the patch, revert while I
investigate.
Commit: a8edb6a5484964a399f6a297b02338e053d276c7
https://github.com/llvm/llvm-project/commit/a8edb6a5484964a399f6a297b02338e053d276c7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Improve cast code in VPlanRecipes (NFC) (#141240)
Commit: ab391beb11f733b526b86f9df23734a34657d876
https://github.com/llvm/llvm-project/commit/ab391beb11f733b526b86f9df23734a34657d876
Author: yonghong-song <yhs at fb.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
A llvm/test/CodeGen/BPF/BTF/builtin_trap.ll
A llvm/test/CodeGen/BPF/BTF/unreachable.ll
Log Message:
-----------
[BPF] Handle traps with kfunc call __bpf_trap (#131731)
Currently, middle-end generates 'unreachable' insn if the compiler
feels the code is indeed unreachable or the code becomes invalid
due to some optimizaiton (e.g. code optimization with uninitialized
variables).
Right now BPF backend ignores 'unreachable' insn during selectiondag
lowering. For cases where 'unreachable' is due to invalid code
transformation, such a signal will be missed. Later on, users needs
some effort to debug it which impacts developer productivity.
This patch enabled selectiondag lowering for 'unreachable' insn.
Previous attempt ([1]) tries to have a backend IR pass to filter
out 'unreachable' insns in a number of cases. But such pattern
matching may misalign with future middle-end optimization with
'unreachable' insns.
This patch takes a different approach. The 'unreachable' insn is
lowered with special encoding in bpf object file and verifier
will do proper verification for the bpf prog. More specifically,
the 'unreachable' insn is replaced by a __bpf_trap() function.
This function will be a kfunc (in ".ksyms" section) with a weak
attribute, but does not have definition. The actual kfunc definition
is expected to be in kernel. The __bpf_trap() extern function
is also encoded in BTF. The name __bpf_trap() is chosen to satisfy
reserved identifier requirement.
Besides the uninitialized variable case, the builtin function
'__builtin_trap' can also generate kfunc __bpf_trap(). For example
in [3], we have
```
# define __bpf_unreachable() __builtin_trap()
```
If the compiler didn't remove __builtin_trap() during middle-end
optimization, compilation will fail.
With this patch, compilation will not fail and __builtin_trap()
is converted to __bpf_trap() kfunc. The eventual failure will be
in verifier instead of llvm compilation. To keep compilation
time failure, user can add an option like `-ftrap-function=<something>`.
I tested this patch on bpf selftests and all tests are passed.
I also tried original example in [2] and the code looks like below:
```
; {
0: bf 16 00 00 00 00 00 00 r6 = r1
; bpf_printk("Start");
1: 18 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r1 = 0x0 ll
0000000000000008: R_BPF_64_64 .rodata
3: b4 02 00 00 06 00 00 00 w2 = 0x6
4: 85 00 00 00 06 00 00 00 call 0x6
; DEFINE_FUNC_CTX_POINTER(data)
5: 61 61 4c 00 00 00 00 00 w1 = *(u32 *)(r6 + 0x4c)
; bpf_printk("pre ipv6_hdrlen_offset");
6: 18 01 00 00 06 00 00 00 00 00 00 00 00 00 00 00 r1 = 0x6 ll
0000000000000030: R_BPF_64_64 .rodata
8: b4 02 00 00 17 00 00 00 w2 = 0x17
9: 85 00 00 00 06 00 00 00 call 0x6
10: 85 10 00 00 ff ff ff ff call -0x1
0000000000000050: R_BPF_64_32 __bpf_trap
11: 95 00 00 00 00 00 00 00 exit
<END>
```
Eventually kernel verifier will emit the following logs:
```
10: (85) call __bpf_trap#74479
unexpected __bpf_trap() due to uninitialized variable?
```
In another internal sched-ext bpf prog, with the patch we have bpf code:
```
Disassembly of section .text:
0000000000000000 <scx_storage_init_single>:
; {
0: bc 13 00 00 00 00 00 00 w3 = w1
1: b4 01 00 00 00 00 00 00 w1 = 0x0
; const u32 zero = 0;
...
0000000000003a80 <create_dom>:
; {
1872: bc 16 00 00 00 00 00 00 w6 = w1
; bpf_printk("dom_id %d", dom_id);
1873: 18 01 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 r1 = 0x3f ll
0000000000003a88: R_BPF_64_64 .rodata
1875: b4 02 00 00 0a 00 00 00 w2 = 0xa
1876: bc 63 00 00 00 00 00 00 w3 = w6
1877: 85 00 00 00 06 00 00 00 call 0x6
; ret = scx_bpf_create_dsq(dom_id, 0);
1878: bc 61 00 00 00 00 00 00 w1 = w6
1879: b4 02 00 00 00 00 00 00 w2 = 0x0
1880: 85 10 00 00 ff ff ff ff call -0x1
0000000000003ac0: R_BPF_64_32 scx_bpf_create_dsq
; domc->node_cpumask = node_data[node_id];
1881: 85 10 00 00 ff ff ff ff call -0x1
0000000000003ac8: R_BPF_64_32 __bpf_trap
1882: 95 00 00 00 00 00 00 00 exit
<END>
```
The verifier can easily report the error too.
A bpf flag `-bpf-disable-trap-unreachable` is introduced to disable
trapping for 'unreachable' or __builtin_trap.
[1] https://github.com/llvm/llvm-project/pull/126858
[2] https://github.com/msune/clang_bpf/blob/main/Makefile#L3
[3] https://github.com/libbpf/libbpf/blob/master/src/bpf_helpers.h
Commit: 7b1a6a8a9060395babd0ce6253aa2b0e883dfa3e
https://github.com/llvm/llvm-project/commit/7b1a6a8a9060395babd0ce6253aa2b0e883dfa3e
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/atomic-compare-exchange-weak.ll
Log Message:
-----------
[PowerPC ][NFC] Add a test case for the function atomic_compare_exchange_weak (#141263)
Add test case to test the generated asm of the function
atomic_compare_exchange_weak
Commit: 8821c38788d215dd5691774d6777cf58882a2037
https://github.com/llvm/llvm-project/commit/8821c38788d215dd5691774d6777cf58882a2037
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
Log Message:
-----------
[lldb-dap] DisassembleRequestHandler: use a better invalid instruction (#141463)
DisassembleRequestHandler: use a better invalid instruction value that
fits VSCode client
Commit: 9cf4603bf9e3bc4249fbe0d183fa31f2bba1eb7e
https://github.com/llvm/llvm-project/commit/9cf4603bf9e3bc4249fbe0d183fa31f2bba1eb7e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/nvptx-prec-divf32-flag.ll
Log Message:
-----------
[NVPTX] Add -nvptx-prec-divf32=3 to disable ftz for f32 fdiv (#141276)
This change allows a new value (3) to be specified to the
-nvptx-prec-divf32 command line option to force non-ftz div generation
in all cases. This can be useful when debugging precision issues in
NVPTX.
Commit: c720f920094e445af23ce8e214813f57694ab716
https://github.com/llvm/llvm-project/commit/c720f920094e445af23ce8e214813f57694ab716
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCUDA/nosanitize-cuid.hip
Log Message:
-----------
[HIP] disable sanitizer for `__hip_cuid` (#141581)
Global variable `__hip_cuid_*` is for identifying purpose and does not
need sanitization, therefore disable it for sanitizers.
Commit: 777163ca99edd23deb5bedfd8b941cb46c96500d
https://github.com/llvm/llvm-project/commit/777163ca99edd23deb5bedfd8b941cb46c96500d
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
Log Message:
-----------
[RISCV][test] Improve test robustness. [NFCI] (#141268)
In a0b6cfd9752742ff599364545ca9996cee67ef9b the literal in the test
needed to be updated because of the changes in the enums generated by
tablegen.
We can achieve the same "reguse" constraint with a PseudoRET
instruction.
Commit: 4daa07bb68d080298e9efebef4a808195b77efbc
https://github.com/llvm/llvm-project/commit/4daa07bb68d080298e9efebef4a808195b77efbc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-05-27 (Tue, 27 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/C/C2y/n3369_3.c
A clang/test/CodeGenCUDA/nosanitize-cuid.hip
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-categories/TestDataFormatterCategories.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
A lldb/test/API/windows/launch/missing-dll/Makefile
A lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
A lldb/test/API/windows/launch/missing-dll/dummy_dll.c
A lldb/test/API/windows/launch/missing-dll/main.c
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/lib/CodeGen/LowerEmuTLS.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/CodeGen/BPF/BTF/builtin_trap.ll
A llvm/test/CodeGen/BPF/BTF/unreachable.ll
A llvm/test/CodeGen/NVPTX/nvptx-prec-divf32-flag.ll
A llvm/test/CodeGen/PowerPC/atomic-compare-exchange-weak.ll
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-coalesce.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
A llvm/test/CodeGen/SPIRV/hlsl-resources/spirv.layout.type.ll
R llvm/test/Transforms/LoopUnroll/peel-last-iteration-debug.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-expansion-cost.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-constant-trip-count.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-variable-trip-count.ll
M llvm/test/Transforms/LoopUnroll/unroll-and-peel-last-iteration.ll
M llvm/test/Transforms/LowerTypeTests/import.ll
M llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M offload/CMakeLists.txt
M offload/liboffload/CMakeLists.txt
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/include/generated/OffloadEntryPoints.inc
M offload/liboffload/include/generated/OffloadImplFuncDecls.inc
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/CMakeLists.txt
M offload/tools/offload-tblgen/EntryPointGen.cpp
M offload/tools/offload-tblgen/MiscGen.cpp
M offload/tools/offload-tblgen/RecordTypes.hpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
Log Message:
-----------
Merge branch 'main' into users/mingmingl-llvm/sprof-serialize-mini
Compare: https://github.com/llvm/llvm-project/compare/2502a55b377c...4daa07bb68d0
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list