[all-commits] [llvm/llvm-project] a6fdbc: [StaticDataLayout][MemProf] Record whether the IR ...
Florian Mayer via All-commits
all-commits at lists.llvm.org
Mon Oct 13 13:35:22 PDT 2025
Branch: refs/heads/users/fmayer/spr/flowsensitive-statusor-1n-add-mock-headers
Home: https://github.com/llvm/llvm-project
Commit: a6fdbcbb2ccca07af2154509801fc6b6d27542a3
https://github.com/llvm/llvm-project/commit/a6fdbcbb2ccca07af2154509801fc6b6d27542a3
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
Log Message:
-----------
[StaticDataLayout][MemProf] Record whether the IR is compiled with data access profiles by module flag. (#162333)
The codegen pass in the pipeline can read the module flag to tell
whether the IR is compiled with data access profile, to support two use
cases when `memprof-annotate-static-data-prefix=true` is enabled
1. The binary is compiled with data access profiles.
- The module flag will have value 1, and codegen pass should regard an
empty section prefix as 'unknown' and conservatively not placing the
data into `.unlikely` data sections.
2. The binary is compiled without data access profiles (e.g., during
incremental rollout, etc)
- The module flag will have value 0, and codegen pass can override an
empty section prefix based on PGO counters.
https://github.com/llvm/llvm-project/pull/155337 shows the motivating
use case in function `StaticDataProfileInfo::getConstantSectionPrefix`
in `llvm/lib/Analysis/StaticDataProfileInfo.cpp`
This is the 1st patch as a split of
https://github.com/llvm/llvm-project/pull/155337
Commit: c67c5b47ad6cc1316f21c2cdd993d994755c976b
https://github.com/llvm/llvm-project/commit/c67c5b47ad6cc1316f21c2cdd993d994755c976b
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[llvm][RISCV] Correct the order of statement in insertVSETMTK (#163215)
We need to set register to noreg before shrinking interval
Commit: 92e6fa84eab45c318e7569488486eff19e056078
https://github.com/llvm/llvm-project/commit/92e6fa84eab45c318e7569488486eff19e056078
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
Log Message:
-----------
Revert OpenACC Reduction recipe Sema changes. (#163225)
This reverts commit 09d9f508a44a30a323bd06fe14a5962b2cf95866. This
reverts commit 1d89844bd4152af93f5dbf475996d6bd66c74bd5.
Even after my fix, it seems that this still fails ASAN/the sanitizer
build. I'm going to revert everything and see if I can get this to repro
locally.
Commit: d81e8c02d478ddad13b724b86e6302160f11295a
https://github.com/llvm/llvm-project/commit/d81e8c02d478ddad13b724b86e6302160f11295a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
A clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
Log Message:
-----------
[CIR] Add support for virtual destructor calls (#162725)
This adds support for calling virtual destructors.
Commit: 8d29a3bb6f3d92d65bf5811b53bf42bf63685359
https://github.com/llvm/llvm-project/commit/8d29a3bb6f3d92d65bf5811b53bf42bf63685359
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
Log Message:
-----------
[lldb][API test] TestCortexMExceptionUnwind needs ARM llvm target
Finally figured out the issue with TestCortexMExceptionUnwind.py
failing on some CI. When the llvm is configured without the ARM
target enabled, the ARM ABI plugins will not be initialized in lldb,
and the unwind engine won't backtrace more than one stack frame.
This test requires that the ARM target be enabled in the llvm cmake.
Update the decorator to specify that; should be the end of these
mysterious fails.
Commit: 34c0a5f1b44172de0a9464356b12bd7f6c25023c
https://github.com/llvm/llvm-project/commit/34c0a5f1b44172de0a9464356b12bd7f6c25023c
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/LLVMDialectBytecode.td
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.h
A mlir/test/Dialect/LLVMIR/bytecode.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
[MLIR][LLVM] Add bytecode support for several attributes (#162577)
For a total of 20 attributes, 18 debug information related + 2 regular
ones (loop and alias_scope).
Quick background on how this work: if a given attribute isn't supported,
by default its textual form is dumped into the bytecode. In order to get
proper encoding, an attribute needs a tablegen description of it and its
element. There's an additional rule here: if an attribute is only used
by another attribute, it's user need also to have an encoding in order
for it to be encoded. (e.g. `DICompileUnitAttr` only gets encoded while
in `DISubprogramAttr` if the later also has an encoded form), otherwise
text is used. For this reason, this PR does a bunch at the same time,
otherwise there isn't really much to test (easy to break it down if
needed though).
The PR is tested against some of our internal apps, successfully
round-tripping around 14Gb of llvm dialect text. Some interesting
findings include a 800K mlir textual file that used to become 1.2G in
bytecode format - now down to 100K due to proper encoding of debug info
attributes.
In the future we should find a way to merge this together in the
attribute definitions (perhaps autogenerate the entries from LLVM
attribute descriptions), seems like we can benefit from the boilerplate.
It's not clear yet how to solve some of the tablegen issues; some fields
require manual translation of flag values using `LocalVar`, others
require custom getters, etc. Ideas on that front are welcome.
A next natural step here is to add type support, LLVM structs can also
lead to non-neglible disk footprint.
Commit: d74290319e3db3425bf2f0f87ef6c32f1078371f
https://github.com/llvm/llvm-project/commit/d74290319e3db3425bf2f0f87ef6c32f1078371f
Author: pveras <verasbs at gmail.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
Delegate to ABI plugin to check if call frame addresses are valid (#161398)
Specially when dealing with different address spaces, CFAs could start
from addresses like 0. For instance, Nvidia GPUs have instructions to
read from local memory that use 0-based offsets and stack memory can be
referenced by these offsets rather than global addresses. Note that ABIs
could already specify what they consider to be valid CFA values but this
was never used in these parts of the unwinder code. For most ABIs, this
makes the validation more strict, as they already used to discard 0s and
then checked for alignment which would discard 1s. There a few
exceptions where 0s were possible and this makes it less strict, like
the RISCV and ARC ABIs.
@jasonmolenda Would you be the appropriate reviewer for this?
Also cc. @clayborg @walter-erquinigo
Commit: 7905ec387e7a4470255b7856c71b2ec654ac397a
https://github.com/llvm/llvm-project/commit/7905ec387e7a4470255b7856c71b2ec654ac397a
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M libc/src/string/memory_utils/op_aarch64.h
Log Message:
-----------
[libc] Use UMAXV.4S to reduce bcmp result.
We can use UMAXV.4S to reduce the comparison result in a single
instruction. This improves performance by roughly 4% on Apple M1:
Summary
bin/libc.src.string.bcmp_benchmark3 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10 ran
1.01 ± 0.02 times faster than bin/libc.src.string.bcmp_benchmark3 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.01 ± 0.03 times faster than bin/libc.src.string.bcmp_benchmark3 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.01 ± 0.03 times faster than bin/libc.src.string.bcmp_benchmark3 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.01 ± 0.02 times faster than bin/libc.src.string.bcmp_benchmark2 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.02 ± 0.03 times faster than bin/libc.src.string.bcmp_benchmark2 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.03 ± 0.03 times faster than bin/libc.src.string.bcmp_benchmark2 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.03 ± 0.03 times faster than bin/libc.src.string.bcmp_benchmark2 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.05 ± 0.02 times faster than bin/libc.src.string.bcmp_benchmark1 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.05 ± 0.02 times faster than bin/libc.src.string.bcmp_benchmark1 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.05 ± 0.03 times faster than bin/libc.src.string.bcmp_benchmark1 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
1.05 ± 0.02 times faster than bin/libc.src.string.bcmp_benchmark1 --study-name="new bcmp" --sweep-mode --sweep-max-size=128 --output=/dev/null --num-trials=10
(1 = original, 2 = a variant of this patch that uses UMAXV.16B, 3 = this patch)
Reviewers: michaelrj-google, gchatelet, overmighty, SchrodingerZhu
Pull Request: https://github.com/llvm/llvm-project/pull/99260
Commit: 068e1796bac5229210f57862862e8995d4b6f009
https://github.com/llvm/llvm-project/commit/068e1796bac5229210f57862862e8995d4b6f009
Author: Wanyi <wanyi at meta.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M lldb/bindings/python/python-typemaps.swig
M lldb/test/API/python_api/default-constructor/sb_filespec.py
Log Message:
-----------
[lldb][swig] Support SBFileSpec::GetPath (#162964)
# Summary
`SBFileSpec::GetPath(char *dst_path, size_t dst_len)` contains `char*`
type argument. Need to handle this for python. Fortunately there're
already similar definitions we can reuse.
# Test Plan
Start the freshly built lldb and run the following code
```
$ lldb
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> debugger = lldb.SBDebugger.Create()
>>> debugger.SetAsync (False)
>>> target = debugger.CreateTarget("~/tmp/hello")
>>> target.IsValid()
True
>>> breakpoint = target.BreakpointCreateByName('main', 'hello')
>>> breakpoint.GetNumLocations()
1
>>> process = target.LaunchSimple (None, None, os.getcwd())
>>> process.IsValid()
True
>>> thread = process.GetThreadAtIndex(0)
>>> frame = thread.GetFrameAtIndex(0)
>>> line = frame.GetLineEntry()
# Important line below
>>> file = line.GetFileSpec().GetPath(1024)
# Important line above
>>> print(file)
/home/wanyi/tmp/main.cpp
```
## Before this change
```
$ lldb
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> debugger = lldb.SBDebugger.Create()
>>> debugger.SetAsync (False)
>>> target = debugger.CreateTarget("~/tmp/hello")
>>> target.IsValid()
True
>>> breakpoint = target.BreakpointCreateByName('main', 'hello')
>>> breakpoint.GetNumLocations()
1
>>> process = target.LaunchSimple (None, None, os.getcwd())
>>> process.IsValid()
True
>>> thread = process.GetThreadAtIndex(0)
>>> frame = thread.GetFrameAtIndex(0)
>>> line = frame.GetLineEntry()
>>> file = line.GetFileSpec().GetPath(1024)
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: SBFileSpec.GetPath() missing 1 required positional argument: 'dst_len'
>>> print(file)
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'file' is not defined
```
Commit: e313bc834ea8c511e1665c738a33cb2eee4f94d8
https://github.com/llvm/llvm-project/commit/e313bc834ea8c511e1665c738a33cb2eee4f94d8
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
Log Message:
-----------
[StaticDataLayout] Factor out a helper function for section prefix eligibility and use it in both optimizer and codegen (#162348)
This change introduces new helper functions to check if a global
variable is eligible for section prefix annotation.
This shared logic is used by both MemProfUse and StaticDataSplitter to
avoid annotating ineligible variables.
This is the 2nd patch as a split of
https://github.com/llvm/llvm-project/pull/155337
Commit: b86503efe51aae792da0a27acc01af66ceff0418
https://github.com/llvm/llvm-project/commit/b86503efe51aae792da0a27acc01af66ceff0418
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
A llvm/test/CodeGen/AMDGPU/sched.group.classification.mir
Log Message:
-----------
[AMDGPU] Do not put memory instructions in *ALU SchedGroups (#162560)
Classifying some memory instructions as VALU leads to unexpected
behavior from the sched*barrier intrinsics.
Commit: 48c9a8a9c859701d3bd401dc1e8c5002c9bd9c86
https://github.com/llvm/llvm-project/commit/48c9a8a9c859701d3bd401dc1e8c5002c9bd9c86
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] Enable blocking for scatter ops with offsets (#162896)
The unroll patterns for these ops were added in the previous PR but the
getTileShape method was not changed to handle these ops and hence
blocking pass was not kicking in.
Commit: 32adfb561277a8680ac694223deea19d6e4565fa
https://github.com/llvm/llvm-project/commit/32adfb561277a8680ac694223deea19d6e4565fa
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Add interface and lowering for tma_bulk_s2g (#163232)
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#load-and-store-functions-using-cache-hints
Commit: 9bf88d09b340380c314ca0ccbb1b283fafb96449
https://github.com/llvm/llvm-project/commit/9bf88d09b340380c314ca0ccbb1b283fafb96449
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][HLSL] Remove unused function 'ContainsBitField' (#163230)
Remove unused function, 'ContainsBitField', which was meant to be
removed when bitfield support was added to HLSLAggregateSplatCast and
HLSLElementwiseCast.
Commit: 13e563e5c60d9d71f8807477b6ecf555037a35bc
https://github.com/llvm/llvm-project/commit/13e563e5c60d9d71f8807477b6ecf555037a35bc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/test/CodeGen/X86/global-variable-partition-with-dap.ll
Log Message:
-----------
[NFCI][StaticDataLayout] Get rid of section prefix validation in codegen (#162349)
The section prefix validation was initially added when global variable's
section prefix is only added in the codegen pass.
Now the optimizer pass MemProfUse can annotate data section prefix by
making use of data access profiles, so we can remove the validation.
Also calls `setSectionPrefix` which returns whether section prefix is
updated.
This is the 3rd patch as a split of
https://github.com/llvm/llvm-project/pull/155337
Commit: 01a87f2e057f89bc16f76499d5d600d9573a4cd3
https://github.com/llvm/llvm-project/commit/01a87f2e057f89bc16f76499d5d600d9573a4cd3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
[flang][cuda] Make sure dstEleTy is set when used in CUFOpConversion (#163240)
When the src is an i1, we use the dst element type. In some case, the
dst element type was null. Make sure we pass one to `emboxSrc` and add
an assertion when we use it to catch it in case it is null.
Commit: e56b5921899d303b481150c1beecb6368c252a63
https://github.com/llvm/llvm-project/commit/e56b5921899d303b481150c1beecb6368c252a63
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
R clang/test/OpenMP/amdgcn_parallel_num_threads_strict_messages.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/OpenMP/target_parallel_num_threads_strict_messages.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Log Message:
-----------
[clang][OMPIRBuilder] Fix two missed function pointer type issues (#162914)
Two small issues, when storing function pointers we need to use the
program address space.
With this change there are no asserts if I run all OpenMP tests with the
offload target manually changed to SPIR-V, so we are getting somewhere.
About 10 test fails though.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: e10e2f7288c88ef31ef9ca2a1eb0eaba610080e0
https://github.com/llvm/llvm-project/commit/e10e2f7288c88ef31ef9ca2a1eb0eaba610080e0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove 'Use' from name of two members of DemandedFields. NFC (#163234)
Every member represents a vtype field that is used/demanded, but the
others don't say 'Use'. Make them consistent.
Commit: 7f04ee19d21d28f7a533fff98c69c16863e6984a
https://github.com/llvm/llvm-project/commit/7f04ee19d21d28f7a533fff98c69c16863e6984a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Move URem matching to ScalarEvolutionPatternMatch.h (#163170)
Move URem matching to ScalarEvolutionPatternMatch.h so it can
be re-used together with other matchers.
Depends on https://github.com/llvm/llvm-project/pull/163169
PR: https://github.com/llvm/llvm-project/pull/163170
Commit: e95cedd31be6cc4d9e46ad2e38a77473808e373f
https://github.com/llvm/llvm-project/commit/e95cedd31be6cc4d9e46ad2e38a77473808e373f
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
Log Message:
-----------
Reapply "[OpenACC] Sema changes for +*&|^ reduction combiner recipes (… (https://github.com/llvm/llvm-project/pull/162920) (#163246)
This reverts commit
https://github.com/llvm/llvm-project/commit/8d9aecce064776a9a890f3c898165f99e8eaa13e.
Additionally, this refactors how we're doing the AST storage to put it
all in the trailing storage, which will hopefully prevent it from
leaking. The problem was that the AST doesn't call destructors on things
in ASTContext storage, so we weren't actually able to delete the
combiner
SmallVector (which I should have known...). This patch instead moves all
of that SmallVector data into trailing storage, which shouldn't have the
same
problem with leaking as before.
Commit: 7e690517bceea62a6b9c7e05622fb48bb6316efc
https://github.com/llvm/llvm-project/commit/7e690517bceea62a6b9c7e05622fb48bb6316efc
Author: Martin Storsjö <martin at martin.st>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M lld/COFF/DLL.cpp
M lld/test/COFF/arm64-delayimport.yaml
M lld/test/COFF/arm64x-delayimport.test
Log Message:
-----------
[LLD] [COFF] Fix aarch64 delayimport of sret arguments (#163096)
For sret arguments on aarch64, the x8 register is used as input
parameter to functions, even though x8 normally isn't an input parameter
register.
When delayloading a DLL, the first call of a delayloaded function ends
up calling a helper which resolves the function. Therefore, any input
arguments to the actual function to be called need to be backed up and
restored - this also includes x8.
This matches how MS link.exe also changed its delayloading trampoline,
between MSVC 2019 16.7 and 16.8 (between link.exe 14.27.29110.0 and
14.28.29333.0).
This fixes running LLDB on aarch64 mingw, after
ec28b95b7491bc2fbb6ec66cdbfd939e71255c42 and
93d326038959fd87fb666a8bf97d774d0abb3591. Those commits make LLDB load
liblldb.dll with delayloading, and the first function to be called,
SBDebugger::InitializeWithErrorHandling(), returns an SBError, which in
the itanium C++ ABI is returned as an sret via a pointer in x8.
Commit: fe00ab4c108d46b8ed092862f67534828f20300d
https://github.com/llvm/llvm-project/commit/fe00ab4c108d46b8ed092862f67534828f20300d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/StringExtras.h
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/unittests/ADT/StringExtrasTest.cpp
Log Message:
-----------
[NFC][MIR] Fix extra whitespace in MIR printing (#162928)
Fix a whitespace regression in MIR printing that was introduced in
https://github.com/llvm/llvm-project/pull/137361.
The default value for `ListSeparator` is `", "`, so we don't need to
print an additional space in front of tokens for optional symbols and
other things printed after operands.
Note, the modified LIT test will fail at trunk without the fix,
demonstrating that the extra space before `, pre-instr-symbol <mcsymbol
>` on Line 63 exists currently and is fixed with this change.
Commit: c5bd68cbd522e6ac477d2b99a67d8b6054cb8bee
https://github.com/llvm/llvm-project/commit/c5bd68cbd522e6ac477d2b99a67d8b6054cb8bee
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
A llvm/utils/gn/secondary/clang/lib/Analysis/LifetimeSafety/BUILD.gn
Log Message:
-----------
[gn] Fix after c37c82de1acbec165d39d725fe1c7e1d96710219 (#163227)
Commit: 4174aa6e06d94eae664e16cabb74c51596481eee
https://github.com/llvm/llvm-project/commit/4174aa6e06d94eae664e16cabb74c51596481eee
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
A clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
R clang/test/OpenMP/amdgcn_parallel_num_threads_strict_messages.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/OpenMP/target_parallel_num_threads_strict_messages.cpp
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/module/cudadevice.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M libc/src/string/memory_utils/op_aarch64.h
M lld/COFF/DLL.cpp
M lld/test/COFF/arm64-delayimport.yaml
M lld/test/COFF/arm64x-delayimport.test
M lldb/bindings/python/python-typemaps.swig
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
M lldb/test/API/python_api/default-constructor/sb_filespec.py
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
A llvm/test/CodeGen/AMDGPU/sched.group.classification.mir
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/CodeGen/X86/global-variable-partition-with-dap.ll
M llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
M llvm/unittests/ADT/StringExtrasTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/LLVMDialectBytecode.td
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
A mlir/test/Dialect/LLVMIR/bytecode.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.7
[skip ci]
Commit: 6a3cd38c1b0fdea243c85c167909a72d25f4dddc
https://github.com/llvm/llvm-project/commit/6a3cd38c1b0fdea243c85c167909a72d25f4dddc
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
A clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
R clang/test/OpenMP/amdgcn_parallel_num_threads_strict_messages.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/OpenMP/target_parallel_num_threads_strict_messages.cpp
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/module/cudadevice.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M libc/src/string/memory_utils/op_aarch64.h
M lld/COFF/DLL.cpp
M lld/test/COFF/arm64-delayimport.yaml
M lld/test/COFF/arm64x-delayimport.test
M lldb/bindings/python/python-typemaps.swig
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
M lldb/test/API/python_api/default-constructor/sb_filespec.py
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
A llvm/test/CodeGen/AMDGPU/sched.group.classification.mir
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/CodeGen/X86/global-variable-partition-with-dap.ll
M llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
M llvm/unittests/ADT/StringExtrasTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/LLVMDialectBytecode.td
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
A mlir/test/Dialect/LLVMIR/bytecode.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/00a05213acb8...6a3cd38c1b0f
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