[all-commits] [llvm/llvm-project] 8d7b35: [CUDA] Remove obsolete GPU-side __constexpr_* wrap...
Alexander Richardson via All-commits
all-commits at lists.llvm.org
Mon May 19 17:26:05 PDT 2025
Branch: refs/heads/users/arichardson/spr/main.amdgpu-set-as8-address-width-to-48-bits
Home: https://github.com/llvm/llvm-project
Commit: 8d7b35eeffa4ce6b8781eac4012ead7d5422264a
https://github.com/llvm/llvm-project/commit/8d7b35eeffa4ce6b8781eac4012ead7d5422264a
Author: Artem Belevich <tra at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M clang/lib/Headers/cuda_wrappers/cmath
Log Message:
-----------
[CUDA] Remove obsolete GPU-side __constexpr_* wrappers. (#139164)
Commit: b233c5fbe0af0daab426e8c9b1949c45d04749a5
https://github.com/llvm/llvm-project/commit/b233c5fbe0af0daab426e8c9b1949c45d04749a5
Author: Stephan Bergmann <sbergman at redhat.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libcxx/include/locale
Log Message:
-----------
[libc++] Fix use of std::errc() for C++ < 11 (#138522)
After 8fc2538f338088bd084d217a7569d72c3b630e8c "Reapply '[libc++]
Optimize num_put integral functions' (#131613) (#133572)", including
<locale> in C++03 mode with Debug hardening enabled fails.
This patch fixes that by applying a workaround used elsewhere to
construct errc in C++03 mode.
Commit: 028f70d2524be56bb5d191ec3d7022b40bc4859b
https://github.com/llvm/llvm-project/commit/028f70d2524be56bb5d191ec3d7022b40bc4859b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[ItaniumDemangle] Add Named flag to "pm" operator (#136862)
Compilers can generate mangled names such as `_ZN1CpmEi` which we
currently fail to demangle. The OperatorInfo table only marked the `pt`
operator as being "named", which prevented the others from demangling
properly. Removing this logic for the other kinds of member operators
isn't causing any tests to fail.
Commit: fc3b67aee852d99bbb5d2f4670695d8246375dac
https://github.com/llvm/llvm-project/commit/fc3b67aee852d99bbb5d2f4670695d8246375dac
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libc/CMakeLists.txt
M libcxx/CMakeLists.txt
M libcxxabi/CMakeLists.txt
M libunwind/CMakeLists.txt
Log Message:
-----------
[cmake] Normalize TARGET_SUBDIR paths (#138524)
Some code paths normalize ".." and thus don't create the directory. But some execute in a
shell thus requiring the directory to exist to be able to take the parent directory.
This patch normalizes all the `TARGET_SUBDIR` variables to avoid this issue.
Commit: 608c85cb02c057909b70efefae1e55ed644133c2
https://github.com/llvm/llvm-project/commit/608c85cb02c057909b70efefae1e55ed644133c2
Author: Martin Licht <martin.licht at epfl.ch>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/ImplementationDefinedBehavior.rst
M libcxx/docs/Modules.rst
M libcxx/docs/UserDocumentation.rst
Log Message:
-----------
[libc++] Documentation polish (#132962)
- Some lists re-ordered alphabetically
- Spelling, grammar, language, etc
Commit: 8bec5e5b88de6cfa7cd979b73eafdc2ba69ee053
https://github.com/llvm/llvm-project/commit/8bec5e5b88de6cfa7cd979b73eafdc2ba69ee053
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit tests for protocol types (#139502)
Add unit tests for serializing and deserializing protocol types.
Commit: fb017a52e7934e7f287f81e8b6057419b9a82857
https://github.com/llvm/llvm-project/commit/fb017a52e7934e7f287f81e8b6057419b9a82857
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use load/store opcode for VPWiden(Load|Store)EVLRecipe (NFC).
Removes unnecessary uses of Ingredient.
Commit: 5b2fc2bfb9b8ccc4e3cded7c998c31438d7be5fb
https://github.com/llvm/llvm-project/commit/5b2fc2bfb9b8ccc4e3cded7c998c31438d7be5fb
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
Log Message:
-----------
[sanitizer_common][AIX] Use scoped pragma to suppress atomic alignment warnings (#139272)
Have the warning suppression apply only to the code that is currently
affected. The suppression is guarded via preprocessor conditions to
cases where it is tested and known to be needed.
Issue: https://github.com/llvm/llvm-project/issues/138916
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
Commit: 5e94e26a7afb8db00cc123e5fc5471c1125596e3
https://github.com/llvm/llvm-project/commit/5e94e26a7afb8db00cc123e5fc5471c1125596e3
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
A libcxx/test/libcxx/containers/associative/map/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/set/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/unord.map/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/unord.set/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.map/scary.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/scary.pass.cpp
R libcxx/test/std/containers/associative/multiset/scary.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/scary.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/scary.pass.cpp
Log Message:
-----------
[libc++] Improve test coverage for containers' scary.pass.cpp (#131550)
Commit: 769c6a95aee701f09f60c6f887b16093c94786e7
https://github.com/llvm/llvm-project/commit/769c6a95aee701f09f60c6f887b16093c94786e7
Author: Matt <mattstark75 at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libcxx/src/call_once.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/filesystem/filesystem_error.cpp
M libcxx/src/filesystem/operations.cpp
M libcxx/src/include/ryu/common.h
M libcxx/src/memory.cpp
M libcxx/src/mutex.cpp
M libcxx/src/random.cpp
M libcxx/src/ryu/d2fixed.cpp
M libcxx/src/ryu/d2s.cpp
M libcxx/src/ryu/f2s.cpp
M libcxx/src/thread.cpp
Log Message:
-----------
[libc++] Fix missing #includes (#130536)
Adds missing includes that were detected when I tried to build libc++ as
a module.
Working towards #127012
Commit: c8f2cdafd460ea2da9b3f2991fcfbe3b61b86c9c
https://github.com/llvm/llvm-project/commit/c8f2cdafd460ea2da9b3f2991fcfbe3b61b86c9c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libcxx/include/__utility/pair.h
M libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp
Log Message:
-----------
[libc++] Simplify the implementation of std::get for pairs (#114984)
This makes it clearer what the functions actually do. As a nice
side-effect it also avoids a function call. If the C++03 header split is
successful we could drop `__get_pair` entirely.
Commit: fa985b5f1e3db76e5f52dec41c2100cb354c771a
https://github.com/llvm/llvm-project/commit/fa985b5f1e3db76e5f52dec41c2100cb354c771a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/reordered-interleaved-loads.ll
Log Message:
-----------
[SLP][NFC]Add a test with missed reordering of the interleaved loads
Commit: ab60910e01eaa8bcf993cdb59a95f882b3859fd1
https://github.com/llvm/llvm-project/commit/ab60910e01eaa8bcf993cdb59a95f882b3859fd1
Author: A. Jiang <de34 at live.cn>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/formatter_string.h
A libcxx/test/libcxx/utilities/format/format.arguments/format.arg/assert.array.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_tests.h
Log Message:
-----------
[libc++][format] Discard contents since null-terminator in character arrays in formatting (#116571)
Currently, built-in `char`/`wchar_t` arrays are assumed to be
null-terminated sequence with the terminator being the last element in
formatting. This doesn't conform to [format.arg]/6.9.
> otherwise, if `decay_t<TD>` is `char_type*` or `const char_type*`,
> initializes value with `static_cast<const char_type*>(v)`;
The standard wording specifies that character arrays are decayed to
pointers. When the null terminator is not the last element or there's no
null terminator (the latter case is UB), libc++ currently produces
different results.
Also fixes and hardens `formatter<CharT[N], CharT>::format` in
`<__format/formatter_string.h>`. These specializations are rarely used.
Fixes #115935. Also checks the preconditions in this case, which fixes
#116570.
Commit: 09b772e2efad804fdda02e2bd9ee44a2aaaddeeb
https://github.com/llvm/llvm-project/commit/09b772e2efad804fdda02e2bd9ee44a2aaaddeeb
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-update.f90
Log Message:
-----------
[flang] Postpone hlfir.end_associate generation for calls. (#138786)
If we generate hlfir.end_associate at the end of the statement,
we get easier optimizable HLFIR, because there are no compiler
generated operations with side-effects in between the call
and the consumers. This allows more hlfir.eval_in_mem to reuse
the LHS instead of allocating temporary buffer.
I do not think the same can be done for hlfir.copy_out always, e.g.:
```
subroutine test2(x)
interface
function array_func2(x,y)
real:: x(*), array_func2(10), y
end function array_func2
end interface
real :: x(:)
x = array_func2(x, 1.0)
end subroutine test2
```
If we postpone the copy-out until after the assignment, then
the result may be wrong.
Commit: e1ea86e849e736de9e9d82d871e9f8709a380939
https://github.com/llvm/llvm-project/commit/e1ea86e849e736de9e9d82d871e9f8709a380939
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-interleaved-loads.ll
Log Message:
-----------
[SLP]Do not try to use interleaved loads, if reordering is required
If the interleaved loads require reordering, better to avoid generate
load + shuffle sequence, which in this case cannot be recognized as
interleaved load. Also, it fixes the issue with the incorrect codegen.
Fixes #138923
Commit: 96dfd1e61d99d3d29251a1d371af437645f324c3
https://github.com/llvm/llvm-project/commit/96dfd1e61d99d3d29251a1d371af437645f324c3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
Log Message:
-----------
[NFC] Replace report_fatal_error with reportFatalUsageError in DXILIntrinsicExpansion.cpp (#139564)
Replaces the deprecated `report_fatal_error` function with
`reportFatalUsageError`
Commit: 6b7b289038acb297f433fe1c0cb66158277e9974
https://github.com/llvm/llvm-project/commit/6b7b289038acb297f433fe1c0cb66158277e9974
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
[DirectX] Disable all libcalls for DXIL in TargetLibraryInfo.cpp (#138991)
Fixes #138787
To the best of my knowledge, DXIL does not (and should not) support any
of the libcalls in
[`TargetLibraryInfo.def`](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Analysis/TargetLibraryInfo.def).
Math libcalls are not used in HLSL and also do not have lowerings to
DXIL. (The current implementation of math functions are done via
intrinsics.)
If there is a mistake with disabling all libcalls, then the libcalls we
need can be re-enabled in a follow-up PR.
---------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 78f0af5d895be284e4f7448fed007a04ee6a35d4
https://github.com/llvm/llvm-project/commit/78f0af5d895be284e4f7448fed007a04ee6a35d4
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll
Log Message:
-----------
[SimplifyCFG][swifterror] Don't sink calls with swifterror params (#139015)
We've encountered an LLVM verification failure when building Swift with
the SimplifyCFG pass enabled. I found that
https://reviews.llvm.org/D158083 fixed this pass by preventing sinking
loads or stores of swifterror values, but it did not implement the same
protection for call or invokes.
In `Verifier.cpp`
[here](https://github.com/ellishg/llvm-project/blob/c68535581135a1513c9c4c1c7672307d4b5e616e/llvm/lib/IR/Verifier.cpp#L4360-L4364)
and
[here](https://github.com/ellishg/llvm-project/blob/c68535581135a1513c9c4c1c7672307d4b5e616e/llvm/lib/IR/Verifier.cpp#L3661-L3662)
we can see that swifterror values must also be used directly by call
instructions.
Commit: d896e2883e6f6b6266fa745ab758adc351778a89
https://github.com/llvm/llvm-project/commit/d896e2883e6f6b6266fa745ab758adc351778a89
Author: Mariusz Kwiczala <70530507+sfc-gh-mkwiczala at users.noreply.github.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DIContext.h
A llvm/include/llvm/DebugInfo/GSYM/GsymDIContext.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
A llvm/lib/DebugInfo/GSYM/GsymDIContext.cpp
M llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe.gsym
A llvm/test/tools/llvm-symbolizer/sym-gsymonly.test
M llvm/tools/llvm-symbolizer/Opts.td
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Log Message:
-----------
LLVM symbolizer gsym support (#134847)
Add support for gsym files to llvm-symbolizer.
co-author @sfc-gh-sgiesecke
---------
Co-authored-by: David Blaikie <dblaikie at gmail.com>
Commit: 28808596040734e1b373af722dfaf0158174b534
https://github.com/llvm/llvm-project/commit/28808596040734e1b373af722dfaf0158174b534
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
[mlir][ROCDL] Remove unneeded bf16 expansion in LowerGPUToROCDL (#139603)
The umbrella pass fol lowering GPU ops to ROCDL (aka lowering to LLVM
+ the AMDGPU-specific setup) would call the arith patterns that manually
implemented extf and truncf on bfloat because the LLVM AMDGPU backend
used to not suppport those operaitons.
Since the backend does now support these operations and has for quite
some time, remove these patterns from the default lowering flow.
Commit: 045fdda39d43b65aea3604696f53b9fbc78143fb
https://github.com/llvm/llvm-project/commit/045fdda39d43b65aea3604696f53b9fbc78143fb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Replace TTI::getOperandInfo with Ctx.getOperandInfo (NFC).
Update to use VPlan-based implementation of getOperandInfo, removing
uses of underlying IR references.
Commit: 64082912a500d004c53ad1b3425098b495572663
https://github.com/llvm/llvm-project/commit/64082912a500d004c53ad1b3425098b495572663
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
Log Message:
-----------
[RISCV] Fold add_vl into accumulator operand of vqdot* (#139484)
If we have a add_vl following a vqdot* instruction, we can move the add
before the vqdot instead. For cases where the prior accumulator was
zero, we can fold the add into the vqdot* instruction entirely. This
directly parallels the folding we do for multiply add variants.
Commit: 26f97ee9aa413db240c397f96ddd5b0553a57d30
https://github.com/llvm/llvm-project/commit/26f97ee9aa413db240c397f96ddd5b0553a57d30
Author: Nuko Y. <or at dmc.chat>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
A llvm/test/CodeGen/AArch64/reserveXreg-for-regalloc.ll
M llvm/test/CodeGen/AArch64/reserveXreg.ll
Log Message:
-----------
[AArch64] Stop reserved registers from being saved in prolog/epilog (#138448)
[GCC's
documentation](https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/Code-Gen-Options.html)
is clear on how -ffixed-reg must behave:
```
Treat the register named reg as a fixed register; generated
code should never refer to it (except perhaps as a stack pointer,
frame pointer or in some other fixed role).
```
This implies prolog/epilog code also must not save/restore explicitly
fixed registers, even when it is callee-saved. Some projects rely on
this (GCC's) behavior.
For example,
```
void f() {
register uint64_t x28 asm("x28") = 0xee;
asm volatile("" : "+r"(x28)); // avoid mov being eliminated
}
```
should not touch x28 outside of `mov w28,#0xee`.
For riscv64, clang behaves the same as GCC, so I am inclined to believe
this is indeed a bug.
Fixes #111379.
Commit: 227328f6f6d32e93a6c3c0d3c82a7601f92f9abb
https://github.com/llvm/llvm-project/commit/227328f6f6d32e93a6c3c0d3c82a7601f92f9abb
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after d896e2883e6f6b6266fa745ab758adc351778a89
Commit: 9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58
https://github.com/llvm/llvm-project/commit/9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/SetTheory.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/AsmWriterInst.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/ExegesisEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[NFC][TableGen] Use StringRef::str() instead of casting (#139332)
- Also eliminate unneeded std::string() around some literal strings.
Commit: cf3242f3b0f6eec47786426777f6e0b18363caa1
https://github.com/llvm/llvm-project/commit/cf3242f3b0f6eec47786426777f6e0b18363caa1
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
Log Message:
-----------
[InstCombine] Pull shuffles out of binops with splatted ops (#137948)
Given a binary op on splatted vector and a splatted constant,
InstCombine will normally pull the shuffle out in
`InstCombinerImpl::foldVectorBinop`:
```llvm
define <4 x i32> @f(i32 %x) {
%x.insert = insertelement <4 x i32> poison, i32 %x, i64 0
%x.splat = shufflevector <4 x i32> %x.insert, <4 x i32> poison, <4 x i32> zeroinitializer
%res = add <4 x i32> %x.splat, splat (i32 42)
ret <4 x i32> %res
}
```
```llvm
define <4 x i32> @f(i32 %x) {
%x.insert = insertelement <4 x i32> poison, i32 %x, i64 0
%1 = add <4 x i32> %x.insert, <i32 42, i32 poison, i32 poison, i32 poison>
%res = shufflevector <4 x i32> %1, <4 x i32> poison, <4 x i32> zeroinitializer
ret <4 x i32> %res
}
```
However, this currently only operates on fixed length vectors. Splats of
scalable vectors don't currently have their shuffle pulled out, e.g:
```llvm
define <vscale x 4 x i32> @f(i32 %x) {
%x.insert = insertelement <vscale x 4 x i32> poison, i32 %x, i64 0
%x.splat = shufflevector <vscale x 4 x i32> %x.insert, <vscale x 4 x i32> poison, <vscale x 4 x i32> zeroinitializer
%res = add <vscale x 4 x i32> %x.splat, splat (i32 42)
ret <vscale x 4 x i32> %res
}
```
Having this canonical form with the shuffle pulled out is important as
VectorCombine relies on it in order to scalarize binary ops in
`scalarizeBinopOrCmp`, which would prevent the need for #137786. This
also brings it in line for scalable binary ops with two non-constant
operands: https://godbolt.org/z/M9f7ebzca
This adds a combine just after the fixed-length version, but restricted
to splats at index 0 so that it also handles the scalable case:
So the whilst the existing combine looks like: `Op(shuffle(V1, Mask), C)
-> shuffle(Op(V1, NewC), Mask)`
This patch adds: `Op(shuffle(V1, 0), (splat C)) -> shuffle(Op(V1, (splat
C)), 0)`
I think this could be generalized to other splat indexes that aren't
zero, but I think it would be dead code since only fixed-length vectors
can have non-zero shuffle indices, which would be covered by the
existing combine.
Commit: 2b934cba3b18ed0137b0df05517c7adcc9dba760
https://github.com/llvm/llvm-project/commit/2b934cba3b18ed0137b0df05517c7adcc9dba760
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M flang/test/Semantics/PowerPC/ppc-vector-types04.f90
Log Message:
-----------
fix capitalization in test (#139643)
Commit: 86c5112409d51620663cf59afeaf5c3a4017eded
https://github.com/llvm/llvm-project/commit/86c5112409d51620663cf59afeaf5c3a4017eded
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/BTF/BTF.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/Support/TrieRawHashMap.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/lib/IR/AffineMapDetail.h
M mlir/lib/IR/Location.cpp
M mlir/lib/IR/TypeDetail.h
Log Message:
-----------
[NFCI][LLVM/MLIR] Adopt `TrailingObjects` convenience API (#138554)
Adopt `TrailingObjects` convenience API that was added in
https://github.com/llvm/llvm-project/pull/138970 in LLVM and MLIR code.
Commit: bf70f84e173fac1b220cebb4f503d0ab752d6a9f
https://github.com/llvm/llvm-project/commit/bf70f84e173fac1b220cebb4f503d0ab752d6a9f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][Docs] Correct links to Xmipscmov and Xmipslsp specifications. NFC
Need to add 2 underscores after the URL.
Commit: e039d16ee5910d71a1a16e8ab918ceb849b64073
https://github.com/llvm/llvm-project/commit/e039d16ee5910d71a1a16e8ab918ceb849b64073
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/MCF.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/test/X86/branch-data.test
M bolt/test/X86/reader-stale-yaml-std.test
M bolt/test/X86/reader-stale-yaml.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][NFC] Disambiguate sample as basic sample (#139350)
Sample is a general term covering both basic (IP) and branch (LBR)
profiles. Find and replace ambiguous uses of sample in a basic sample
sense.
Rename `RawBranchCount` into `RawSampleCount` reflecting its use for
both kinds of profile.
Rename `PF_LBR` profile type as `PF_BRANCH` reflecting non-LBR based
branch profiles (non-brstack SPE, synthesized brstack ETM/PT).
Follow-up to #137644.
Test Plan: NFC
Commit: e9534873800f78fc1bf4dfa643c55dc8bb4129c8
https://github.com/llvm/llvm-project/commit/e9534873800f78fc1bf4dfa643c55dc8bb4129c8
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M clang/lib/Serialization/ModuleManager.cpp
Log Message:
-----------
[clang] update diagnostic to say 'modification time' instead of mtime, NFC (#139637)
Commit: f2351d9e7f2e13883d15915ded79a0e931679fde
https://github.com/llvm/llvm-project/commit/f2351d9e7f2e13883d15915ded79a0e931679fde
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M bolt/include/bolt/Profile/Heatmap.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][heatmap] Use parsed basic/branch events (#136531)
Remove duplicate profile parsing in heatmap construction, switching to
using parsed profile. #138798 adds support for using pre-aggregated
profile for heatmap construction.
Test Plan: added heatmap.test in
https://github.com/rafaelauler/bolt-tests/commit/0868850a159903ec4dd3bbacae9c8b1726b9e60e
Commit: 6f1f6d184ff07de9076820c1fe2bffaebde38cbd
https://github.com/llvm/llvm-project/commit/6f1f6d184ff07de9076820c1fe2bffaebde38cbd
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/debuginfo-invert.ll
Log Message:
-----------
[InstCombine][DebugInfo] Update debug value uses in `freelyInvertAllUsersOf` (#137013)
This patch updates all debug value uses in `freelyInvertAllUsersOf` by
inserting `DW_OP_not` at the front of the DIExpression.
Related issue: https://github.com/llvm/llvm-project/issues/71065
Commit: fbdb5aeff618f8167aa1236cfde21fa9eaf5e3bb
https://github.com/llvm/llvm-project/commit/fbdb5aeff618f8167aa1236cfde21fa9eaf5e3bb
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/heatmap-preagg.test
Log Message:
-----------
[BOLT] Build heatmap with pre-aggregated data (#138798)
Reuse data structures used by perf data reader for pre-aggregated data.
Combined with #136531 this allows using pre-aggregated data for heatmap.
Test Plan: heatmap-preagg.test
Commit: 6dc6ca3302edadad7d4b195a05038995b84606d0
https://github.com/llvm/llvm-project/commit/6dc6ca3302edadad7d4b195a05038995b84606d0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[LoopInterchange] Skip legality check if surrounding loops already guarantee dependency (NFC) (#139254)
The legality check in LoopInterchange allows two loops to be exchanged
if all direction vectors are lexicographically positive (or zero) for
both before and after the swap. The current implementation performs this
routine naively. However, if a direction vector is lexicographically
positive due to an element corresponding to a loop that is outside the
given two loops (i.e., if there is an element `<` before the loops we
are trying to interchange), then obviously it is also positive after
exchanging them. For example, for a direction vector `[< < >]`, swapping
the last two elements doesn't make it lexicographically negative because
the first element is `<`.
This patch adds a code to skip legality check if surrounding loops
already guarantee that the direction vector is lexicographically
positive. Note that this is only a small improvement on its own, but
it's necessary to relax the legality check I'm working on.
Split off from #118267
---------
Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>
Commit: 3aad7d7a3ce57bc06b3cd08df8030064da97bf4e
https://github.com/llvm/llvm-project/commit/3aad7d7a3ce57bc06b3cd08df8030064da97bf4e
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/HLFIR/designate-codegen.fir
Log Message:
-----------
[flang] Fixed designator codegen for contiguous boxes. (#139003)
Contiguous variables represented with a box do not have
explicit shape, but it looks like the base/shape computation
was assuming that. This caused generation of raw address
fir.array_coor without the shape. This patch is needed
to fix failures hapenning with #138797.
Commit: 2d12d31f44acac54d7b2858624cb8a1db5a0a8ce
https://github.com/llvm/llvm-project/commit/2d12d31f44acac54d7b2858624cb8a1db5a0a8ce
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
A flang/lib/Optimizer/HLFIR/Transforms/PropagateFortranVariableAttributes.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
A flang/test/HLFIR/propagate-contiguous-attribute.fir
Log Message:
-----------
[flang] Propagate contiguous attribute through HLFIR. (#138797)
This change allows marking more designators producing an opaque
box with 'contiguous' attribute, e.g. like in test1 case
in flang/test/HLFIR/propagate-contiguous-attribute.fir.
This would make isSimplyContiguous() return true for such
designators allowing merging hlfir.eval_in_mem with hlfir.assign
where the LHS is a contiguous array section.
Depends on #139003
Commit: ee47aea43572e751afe59f18a9816a5d9d3ca7c1
https://github.com/llvm/llvm-project/commit/ee47aea43572e751afe59f18a9816a5d9d3ca7c1
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/HLFIR/opt-bufferization-eval_in_mem-with-associate.fir
Log Message:
-----------
[flang] Treat hlfir.associate as Allocate for FIR alias analysis. (#139004)
Early HLFIR optimizations may experience problems with values
produced by hlfir.associate. In most cases this is a unique
local memory allocation, but it can also reuse some other
hlfir.expr memory sometimes. It seems to be safe to assume
unique allocation for trivial types, since we always
allocate new memory for them.
Commit: 8857bef1b08a3dff098a5dc4751efe807bcc881d
https://github.com/llvm/llvm-project/commit/8857bef1b08a3dff098a5dc4751efe807bcc881d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/Symbolize/BUILD.gn
Log Message:
-----------
[gn] fix up d896e2883e6
That commit already added the new .cpp file to the gn build, but it
missed adding the new dependency to DebugInfoGSYM to Symbolize.
Commit: 3bdfa6f3e8ebb6b3c139a7f4929f7016a6f56386
https://github.com/llvm/llvm-project/commit/3bdfa6f3e8ebb6b3c139a7f4929f7016a6f56386
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
A clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
A clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add HTMLMustacheGenerator.cpp (#138060)
Split from #133161. This patch adds HTMLMustacheGenerator.cpp, and
the most basic class defintion for the generator. Future patches will
add functionality.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: 23472c56c0357b2e5a8fabd8f4144b0406bf7fe0
https://github.com/llvm/llvm-project/commit/23472c56c0357b2e5a8fabd8f4144b0406bf7fe0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
R lldb/tools/lldb-vscode
Log Message:
-----------
[lldb-dap] Remove the lldb-vscode symlink (NFC) (#139621)
Remove the `lldb-vscode` -> `lldb-dap` symlink in the `tools` directory.
I initially created the symlink when we renamed the tool to make
migration easier. I think enough time has passed that we don't need it
anymore.
My personal motivation is that the symlink causes every file in the
`lldb-dap` directory to show up twice (once under `lldb-dap` and once
under `lldb-vscode`) in Quick Open in VS Code.
Commit: 595544b79db64ff03d55ce21ed19bfe8993c5cd5
https://github.com/llvm/llvm-project/commit/595544b79db64ff03d55ce21ed19bfe8993c5cd5
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/i32-icmp.ll
Log Message:
-----------
[RISCV] Use QC_E_ADDI to improve codegen for icmp {eq, ne} with a constant (#139558)
Use the QC_E_ADDI instruction when the constant is not a signed 12 bit
value but is a signed 26 bit one. Don't use it if a single LUI
instruction can be used instead.
Commit: 5fb742ae27138a92716ddd189225419ca1f7a299
https://github.com/llvm/llvm-project/commit/5fb742ae27138a92716ddd189225419ca1f7a299
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
Log Message:
-----------
[bazel] port 3bdfa6f3e8ebb6b3c139a7f4929f7016a6f56386
Commit: 52ed6791f87a3ef862f555f84ba88a7cdf8fe461
https://github.com/llvm/llvm-project/commit/52ed6791f87a3ef862f555f84ba88a7cdf8fe461
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DIContext.h
R llvm/include/llvm/DebugInfo/GSYM/GsymDIContext.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
R llvm/lib/DebugInfo/GSYM/GsymDIContext.cpp
M llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
R llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe
R llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe.gsym
R llvm/test/tools/llvm-symbolizer/sym-gsymonly.test
M llvm/tools/llvm-symbolizer/Opts.td
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Log Message:
-----------
Revert "LLVM symbolizer gsym support" (#139660)
Reverts llvm/llvm-project#134847
Commit: 64e36da23248b6817e036b5d2c9fa5afb9f2c5e5
https://github.com/llvm/llvm-project/commit/64e36da23248b6817e036b5d2c9fa5afb9f2c5e5
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/test/DebugInfo/Generic/multi-variant.ll
Log Message:
-----------
Fix regex for DW_FORM_string case in multi-variant.ll
Commit: 9011c1eccb8652342b4e8fed7c646fbcd2bb76d5
https://github.com/llvm/llvm-project/commit/9011c1eccb8652342b4e8fed7c646fbcd2bb76d5
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-names-asm-label.ll
Log Message:
-----------
[AIX] Disable debug-names-asm-label.ll due to missing DWARF sections
See older commit 8037481cb2d729ae3d782c3fed930f69d740fa23.
Commit: 6b111dfdb5a273525d1f6e8823518c07e4f37703
https://github.com/llvm/llvm-project/commit/6b111dfdb5a273525d1f6e8823518c07e4f37703
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-names-asm-label.ll
Log Message:
-----------
Fix XFAIL in debug-names-asm-label.ll
Missing semicolon to make XFAIL a comment
Commit: 8a9e767fa690e0232db2cfa8576f53b48ae53f30
https://github.com/llvm/llvm-project/commit/8a9e767fa690e0232db2cfa8576f53b48ae53f30
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/map-character.f90
Log Message:
-----------
[Flang][MLIR] - Handle the mapping of subroutine arguments when they are subsequently used inside the region of an `omp.target` Op (#134967)
This is a fix for https://github.com/llvm/llvm-project/issues/134912
which is a problem with mapping `fir.boxchar<k>` type values to the
target i.e an `omp.target` op.
There really are two problems. Fixing the first exposed the second. The
first problem is that OpenMP lowering of maps in `omp.target` in Flang
cannot handle the mapping of a value that doesnt have a defining
operation. In other words, a value that is a block argument. This is handled
by mapping the value using a `MapInfoOp`.
The second problem this fixes is that it adds bounds to `omp.map.info`
ops that map `fir.char<k, ?>` types by extracting the length from the
corresponding `fir.boxchar`
Commit: 416c782cc671a4b20ed7b9a7b92da35bbd85eae2
https://github.com/llvm/llvm-project/commit/416c782cc671a4b20ed7b9a7b92da35bbd85eae2
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M bolt/test/perf2bolt/perf_test.test
Log Message:
-----------
[BOLT][test] Fix perf_test
The interaction between `--show-density` and NFC testing wrapper is a
bit subtle. ShowDensity is enabled by default in perf2bolt mode, which
is detected based on executable name. NFC wrapper however replaces
the invocation of perf2bolt with `llvm-bolt --aggregate-only`, and so
ShowDensity is not enabled, which caused NFC test to fail:
https://lab.llvm.org/buildbot/#/builders/92/builds/18656
Add show-density flag explicitly to work around the issue.
Test Plan:
```
../llvm-project/bolt/utils/nfc-check-setup.py
bin/llvm-lit -a tools/bolt/test/perf2bolt/perf_test.test
```
Commit: e618a79711a7aefa442f8a417aceeac2ceadbcdd
https://github.com/llvm/llvm-project/commit/e618a79711a7aefa442f8a417aceeac2ceadbcdd
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
Log Message:
-----------
[RISCV][test] Add (add x, C) -> (sub x, -C) multi-use and vector tests
Commit: 619ac3d1ef4b953cd416110b8cb88131f068212b
https://github.com/llvm/llvm-project/commit/619ac3d1ef4b953cd416110b8cb88131f068212b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container dependency versions
This bumps the Github actions runner binary to v2.324.0 and the LLVM version
in the Linux container to v20.1.4.
Commit: 2f9323bc5bea09b728ea285ede08d50517eaac67
https://github.com/llvm/llvm-project/commit/2f9323bc5bea09b728ea285ede08d50517eaac67
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
DAG: Stop forcibly adding nsz to expanded minnum/maxnum (#139615)
Commit: 1d0ee12e3440629ab4ffedf95c3a3d8b7fc1698a
https://github.com/llvm/llvm-project/commit/1d0ee12e3440629ab4ffedf95c3a3d8b7fc1698a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr61065-2.cppm
A clang/test/Modules/pr61065-3.cppm
M clang/test/Modules/pr61065.cppm
Log Message:
-----------
Reland "Reland [Modules] Remove unnecessary check when generating name lookup table in ASTWriter" (#139253)
This relands the patch
https://github.com/llvm/llvm-project/commit/67b298f6d82e0b4bb648ac0dabe895e816a77ef1,
with some more testcases.
The `undefined symbol` error mentioned in
https://github.com/llvm/llvm-project/issues/61065#issuecomment-1517725811
doesn't exist anymore from our internal tests.
Fixes #61065, #134739
---------
Co-authored-by: Viktoriia Bakalova <bakalova at google.com>
Commit: 49ab1d740ee6182fc4f30de88d2adabbb87de2d9
https://github.com/llvm/llvm-project/commit/49ab1d740ee6182fc4f30de88d2adabbb87de2d9
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
Log Message:
-----------
[NFC][RISCV] Remove extra space in `RISCVInstrInfoZfh.td`
Commit: 510c8a23e6edf1385682c6e06b228d4f46aa631a
https://github.com/llvm/llvm-project/commit/510c8a23e6edf1385682c6e06b228d4f46aa631a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
Log Message:
-----------
[llvm] Use llvm::find_if (NFC) (#139654)
Commit: e6e50170b918445cfae3f9e726fb1d46380fa10e
https://github.com/llvm/llvm-project/commit/e6e50170b918445cfae3f9e726fb1d46380fa10e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
[CodeGen] Use llvm::lower_bound (NFC) (#139655)
Commit: 0fedccf3899778c9bf09964b0eab5fb35927c39e
https://github.com/llvm/llvm-project/commit/0fedccf3899778c9bf09964b0eab5fb35927c39e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[IR] Use llvm::upper_bound (NFC) (#139656)
Commit: 383a825d6d7f98452e6be11aa96678617bc83b82
https://github.com/llvm/llvm-project/commit/383a825d6d7f98452e6be11aa96678617bc83b82
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M bolt/lib/Profile/YAMLProfileReader.cpp
Log Message:
-----------
[BOLT] Use StringRef::contains (NFC) (#139658)
Once we convert EventNames to StringRef, which is cheap, we can call
StringRef::contains without creating a temporary instance of
std::string.
Commit: 03934d0a213e479622c7875a2a59ae64b4f2213f
https://github.com/llvm/llvm-project/commit/03934d0a213e479622c7875a2a59ae64b4f2213f
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
A llvm/lib/Target/DirectX/DXILResourceImplicitBinding.cpp
A llvm/lib/Target/DirectX/DXILResourceImplicitBinding.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/ImplicitBinding/arrays.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/multiple-spaces.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/simple.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/unbounded-arrays-error.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/unbounded-arrays.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Implement DXILResourceImplicitBinding pass (#138043)
The `DXILResourceImplicitBinding` pass uses the results of
`DXILResourceBindingAnalysis` to assigns register slots to resources
that do not have explicit binding. It replaces all
`llvm.dx.resource.handlefromimplicitbinding` calls with
`llvm.dx.resource.handlefrombinding` using the newly assigned binding.
If a binding cannot be found for a resource, the pass will raise a
diagnostic error. Currently this diagnostic message does not include the
resource name, which will be addressed in a separate task (#137868).
Part 2/2 of #136786
Closes #136786
Commit: 79eed76c58caedd9dc7c68b38c0dbc08d3ff3da3
https://github.com/llvm/llvm-project/commit/79eed76c58caedd9dc7c68b38c0dbc08d3ff3da3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove incorrect comment (#139571)
We don't create function frames for builtin functions anymore.
Commit: 294eb7670fc2bd5bb898fb3d3fb4b89deb59a203
https://github.com/llvm/llvm-project/commit/294eb7670fc2bd5bb898fb3d3fb4b89deb59a203
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Fix a warning
This patch fixes an unused parameter warning with gcc7 under the
release configuration.
Commit: c95745f2dbe61bedebe0d77e1e7beab18157fc13
https://github.com/llvm/llvm-project/commit/c95745f2dbe61bedebe0d77e1e7beab18157fc13
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[llvm] Use StringRef::{starts_with,find} (NFC) (#139661)
Calling find/contains in the StringRef domain allows us to avoid
creating temporary instances of std::string.
Commit: 75e0865837519493c4efaa6f33480e1db8f2e462
https://github.com/llvm/llvm-project/commit/75e0865837519493c4efaa6f33480e1db8f2e462
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::unique (NFC) (#139663)
Commit: 13d80b4b12af3e6176972dad8218bd08ef51c45c
https://github.com/llvm/llvm-project/commit/13d80b4b12af3e6176972dad8218bd08ef51c45c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/BitcastBuffer.cpp
Log Message:
-----------
[AST] Use llvm::upper_bound (NFC) (#139664)
Commit: 6abf5b94dacc00684325e21e0d848973cad7b9c6
https://github.com/llvm/llvm-project/commit/6abf5b94dacc00684325e21e0d848973cad7b9c6
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV][NFC] Fix typos in `RISCVSchedule.td`
Commit: 9f274a95b13a7c3fbd95d8f80f915a5548df2629
https://github.com/llvm/llvm-project/commit/9f274a95b13a7c3fbd95d8f80f915a5548df2629
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
Log Message:
-----------
[RISCV] Fix indentation for riscv_corev_alu.h in CMakeLists.txt. NFC.
Commit: 1bfd94b1b90d57beeecea587bfee1a325ee4a1eb
https://github.com/llvm/llvm-project/commit/1bfd94b1b90d57beeecea587bfee1a325ee4a1eb
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-binop.ll
Log Message:
-----------
[InstCombine] Precommit tests for PR139109 (NFC)
Commit: adfd59fdb8bfff0b68e54b3ce84c88154f4de2d3
https://github.com/llvm/llvm-project/commit/adfd59fdb8bfff0b68e54b3ce84c88154f4de2d3
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
Log Message:
-----------
[InstCombine] Introduce `foldICmpBinOpWithConstantViaTruthTable` folding
Match icmps of binops where both operands are select with constant arms,
i.e., `icmp pred (select A ? C1 : C2) binop (select B ? C3 : C4), C5`.
Fold such patterns by creating a truth table of the possible four
constant variants, and materialize back the optimal logic from it via
`createLogicFromTable` helper. This also generalizes an existing fold,
which has therefore been dropped.
Proofs: https://alive2.llvm.org/ce/z/NS7Vzu.
Fixes: https://github.com/llvm/llvm-project/issues/138212.
Commit: 3cfdf2ccdf71e594226590f07b3fb316c77a36e7
https://github.com/llvm/llvm-project/commit/3cfdf2ccdf71e594226590f07b3fb316c77a36e7
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
Log Message:
-----------
[RISCV] Handle more (add x, C) -> (sub x, -C) cases (#138705)
This is a follow-up to #137309, adding:
- multi-use of the constant with different adds
- vectors (vadd.vx -> vsub.vx)
Commit: 5c7bc6a0e6a5093812e6aa9719f7d98d14bb0015
https://github.com/llvm/llvm-project/commit/5c7bc6a0e6a5093812e6aa9719f7d98d14bb0015
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash.ll
Log Message:
-----------
[ComplexDeinterleave] Don't try to combine single FP reductions. (#139469)
Currently the apss tries to combine floating point reductions, without
checking for the correct fast-math flags and it also creates invalid IR
(using llvm.reduce.add for FP types).
For now, just bail out for non-integer types.
PR: https://github.com/llvm/llvm-project/pull/139469
Commit: a3fb54c1ae16e524245fd147c19a1fd7371785a7
https://github.com/llvm/llvm-project/commit/a3fb54c1ae16e524245fd147c19a1fd7371785a7
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA][NFC] Unify naming of DepCandidates to DepCands (#139534)
The MemoryDepChecker::DepCandidates instance in each LoopAccessInfo had multiple names (AccessSets, DepCands, DependentAccesses), which was confusing. This patch renames all references to DepCands for consistency.
Commit: f92dd0083e8b635e1084cb01dfcc3424ba844d76
https://github.com/llvm/llvm-project/commit/f92dd0083e8b635e1084cb01dfcc3424ba844d76
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/docs/Passes.md
Log Message:
-----------
[mlir][docs] Add quant dialect pass doc into Passes.md (NFC) (#139363)
This PR added documentation for the quant dialect passes to `Passes.md`,
as it had not been included.
Commit: eea1e50ac281d667992aa74c1819cd80b8eb634f
https://github.com/llvm/llvm-project/commit/eea1e50ac281d667992aa74c1819cd80b8eb634f
Author: drazi <fengxie83 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/TableGen/Interfaces.cpp
A mlir/test/mlir-tblgen/method-body-with-only-spaces.td
Log Message:
-----------
[mlir-tblgen] trim method body to empty with only spaces to avoid crash (#139568)
method body or default impl must be true empty. Even they contain only
spaces, ``mlir-tblgen`` considers they are non-empty and generates
invalid code lead to segment fault. It's very hard to debug.
```c++
InterfaceMethod<
...
/*methodBody=*/ [{ }], // This must be true empty. Leaving a space here can lead to segment fault which is hard to figure out why
/*defaultImpl=*/ [{
...
}]
```
This PR trim spaces when method body or default implementation of
interface method is not empty. Now ``mlir-tblgen`` generates valid code
even when they contain only spaces.
---------
Co-authored-by: Fung Xie <ftse at nvidia.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: d2dafded03a7e6400c3491cdb0ea7228f414e896
https://github.com/llvm/llvm-project/commit/d2dafded03a7e6400c3491cdb0ea7228f414e896
Author: David Green <david.green at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
Log Message:
-----------
[AArch64] Minor test cleanup for postselectopt-dead-cc-defs.mir. NFC
Remove the duplicate definition of %12
Commit: cdbc297ef53fcc784dc0b5661daaba17ea003f3c
https://github.com/llvm/llvm-project/commit/cdbc297ef53fcc784dc0b5661daaba17ea003f3c
Author: Daan De Meyer <daan.j.demeyer at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
include-cleaner: Report function decls from __cleanup__ as used (#138669)
Commit: 137aa573ca1862303da21c10528b682b280e75e2
https://github.com/llvm/llvm-project/commit/137aa573ca1862303da21c10528b682b280e75e2
Author: David Green <david.green at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
Log Message:
-----------
[GlobalISel] Add computeNumSignBits for G_BUILD_VECTOR. (#139506)
The code is similar to SelectionDAG::ComputeNumSignBits, but does not
deal with truncating buildvectors.
Commit: ba2dacd276522d483a38f786cce66b16a349446b
https://github.com/llvm/llvm-project/commit/ba2dacd276522d483a38f786cce66b16a349446b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Print use and definition in verifier on violation.
Improves the error message when a use comes before the def by including
the use and def, when print utilities are available.
Commit: c78e65cc980db9542b32049a5d96b00c64cbc47d
https://github.com/llvm/llvm-project/commit/c78e65cc980db9542b32049a5d96b00c64cbc47d
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
Log Message:
-----------
[lldb][plugin] Use counter directly for number of readers (#139252)
Here we were initializing & locking a shared_mutex in a thread, while
releasing it in the parent which may/often turned out to be a different
thread (shared_mutex::unlock_shared is undefined behavior if called from
a thread that doesn't hold the lock).
Switch to counter to more simply keep track of number of readers and
simply lock/unlock rather than utilizing reader mutex to verify last
freed (and so requiring this matching thread init/destroy behavior).
Commit: 6d35ec233525f278cbe06ff3cd49ea276825817f
https://github.com/llvm/llvm-project/commit/6d35ec233525f278cbe06ff3cd49ea276825817f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
A llvm/test/Transforms/ObjCARC/pr138961-regression.ll
Log Message:
-----------
ObjCARC: Fix regression from using ConstantData uselists (#139609)
Fixes regression after 9383fb23e18bb983d0024fb956a0a724ef9eb03d
Commit: 98763433e66dd91bf5f10b1daf03d9373f07912a
https://github.com/llvm/llvm-project/commit/98763433e66dd91bf5f10b1daf03d9373f07912a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Optimize enum value range checks (#139672)
Only do the work if we really have to.
Commit: fd3fecfc0936703f2715fe6fea890e81b0b3c2ac
https://github.com/llvm/llvm-project/commit/fd3fecfc0936703f2715fe6fea890e81b0b3c2ac
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lld/ELF/ICF.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
R lld/test/ELF/aarch64-got-merging-icf.s
M lld/test/ELF/icf-preemptible.s
Log Message:
-----------
Revert "[lld] Merge equivalent symbols found during ICF (#134342)"
The change would also merge *non-equivalent* symbols under some circumstances,
see comment with a reproducer on the PR.
> Fixes a correctness issue for AArch64 when ADRP and LDR instructions are
> outlined in separate sections and sections are fed to ICF for
> deduplication.
>
> See test case (based on
> https://github.com/llvm/llvm-project/issues/129122) for details. All
> rodata.* sections are folded into a single section with ICF. This leads
> to all f2_* function sections getting folded into one (as their
> relocation target symbols g* belong to .rodata.g* sections that have
> already been folded into one). Since relocations still refer original g*
> symbols, we end up creating duplicate GOT entry for all such symbols.
> This PR addresses that by tracking such folded symbols and create one
> GOT entry for all such symbols.
>
> Fixes https://github.com/llvm/llvm-project/issues/129122
>
> Co-authored by: @jyknight
This reverts commit 8389d6fad76bd880f02bddce7f0f2612ff0afc40.
Commit: 3de2fa91e17287c0bc45f8080064fc327e803314
https://github.com/llvm/llvm-project/commit/3de2fa91e17287c0bc45f8080064fc327e803314
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode] Avoid classifying in visitArrayElemInit() (#139674)
We usually call this more than once, but the type of the initializer
never changes. Let's classify only once and pass that to
visitArrayElemInit().
Commit: 6456ee056ff2ddce665df2032620207281fedaf8
https://github.com/llvm/llvm-project/commit/6456ee056ff2ddce665df2032620207281fedaf8
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
Log Message:
-----------
Reapply "[AMDGPU][Scheduler] Refactor ArchVGPR rematerialization during scheduling (#125885)" (#139548)
This reapplies 067caaa and 382a085 (reverting b35f6e2) with fixes to
issues detected by the address sanitizer (MIs have to be removed from
live intervals before being removed from their parent MBB).
Original commit description below.
AMDGPU scheduler's `PreRARematStage` attempts to increase function
occupancy w.r.t. ArchVGPR usage by rematerializing trivial
ArchVGPR-defining instruction next to their single use. It first
collects all eligible trivially rematerializable instructions in the
function, then sinks them one-by-one while recomputing occupancy in all
affected regions each time to determine if and when it has managed to
increase overall occupancy. If it does, changes are committed to the
scheduler's state; otherwise modifications to the IR are reverted and
the scheduling stage gives up.
In both cases, this scheduling stage currently involves repeated queries
for up-to-date occupancy estimates and some state copying to enable
reversal of sinking decisions when occupancy is revealed not to
increase. The current implementation also does not accurately track
register pressure changes in all regions affected by sinking decisions.
This commit refactors this scheduling stage, improving RP tracking and
splitting the stage into two distinct steps to avoid repeated occupancy
queries and IR/state rollbacks.
- Analysis and collection (`canIncreaseOccupancyOrReduceSpill`). The
number of ArchVGPRs to save to reduce spilling or increase function
occupancy by 1 (when there is no spilling) is computed. Then,
instructions eligible for rematerialization are collected, stopping as
soon as enough have been identified to be able to achieve our goal
(according to slightly optimistic heuristics). If there aren't enough of
such instructions, the scheduling stage stops here.
- Rematerialization (`rematerialize`). Instructions collected in the
first step are rematerialized one-by-one. Now we are able to directly
update the scheduler's state since we have already done the occupancy
analysis and know we won't have to rollback any state. Register
pressures for impacted regions are recomputed only once, as opposed to
at every sinking decision.
In the case where the stage attempted to increase occupancy, and if both
rematerializations alone and rescheduling after were unable to improve
occupancy, then all rematerializations are rollbacked.
Commit: 83ce8a44bb7ec52a20fea1f2eb28c7756f46786b
https://github.com/llvm/llvm-project/commit/83ce8a44bb7ec52a20fea1f2eb28c7756f46786b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Get BuiltinID from the direct callee (#139675)
getBuiltinCallee() just checks the direct callee for its builtin id
anyway, so let's do this ourselves.
Commit: 8ecb958b8f7bc8110fd2bd3e9b023095e7f14c94
https://github.com/llvm/llvm-project/commit/8ecb958b8f7bc8110fd2bd3e9b023095e7f14c94
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/flush04.f90
Log Message:
-----------
[flang][OpenMP][Semantics] resolve objects in the flush arg list (#139522)
Fixes #136583
Normally the flush argument list would contain a DataRef to some
variable. All DataRefs are handled generically in resolve-names and so
the problem wasn't observed. But when a common block name is specified,
this is not parsed as a DataRef. There was already handling in
resolve-directives for OmpObjectList but not for argument lists. I've
added a visitor for FLUSH which ensures all of the arguments have been
resolved.
The test is there to make sure the compiler doesn't crashed encountering
the unresolved symbol. It shows that we currently deny flushing a common
block. I'm not sure that it is right to restrict common blocks from
flush argument lists, but fixing that can come in a different patch.
This one is fixing an ICE.
Commit: 61536f2781834ffabfa1dc4bf0c9e891e25c9ed4
https://github.com/llvm/llvm-project/commit/61536f2781834ffabfa1dc4bf0c9e891e25c9ed4
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
M mlir/include/mlir/Dialect/Func/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/LegalizeForExport.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/OptimizeForNVVM.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/RequestCWrappers.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/RequestCWrappers.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
Log Message:
-----------
[mlir] Retire additional `let constructor` (NFC) (#139390)
Three main changes:
- The pass createRequestCWrappersPass is renamed as
createLLVMRequestCWrappersPass
- createOptimizeForTargetPass is now under the LLVM namespace. It’s
unclear why the NVVM namespace was used initially, as all passes in
LLVMIR/Transforms/Passes.h consistently reside in the LLVM namespace.
- DuplicateFunctionEliminationPass is now in the func namespace.
Commit: 69f4e6009318ab2e0cd852a503f876e839b615fd
https://github.com/llvm/llvm-project/commit/69f4e6009318ab2e0cd852a503f876e839b615fd
Author: Nuko Y. <or at dmc.chat>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/reserveXreg.ll
Log Message:
-----------
[AArch64][test] Fix test failing on unknown options (#139696)
Fixes buildbot failure
https://lab.llvm.org/buildbot/#/builders/16/builds/18873 originating
from #138448. Normally ignored silently but fails on higher error
levels.
Buildbot errors:
```
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc < /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll -mtriple=aarch64-unknown-linux-gnu | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll # RUN: at line 6
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -mtriple=aarch64-unknown-linux-gnu
'+reserve-x8' is not a recognized feature for this target (ignoring feature)
'+reserve-x8' is not a recognized feature for this target (ignoring feature)
'+reserve-x16' is not a recognized feature for this target (ignoring feature)
'+reserve-x16' is not a recognized feature for this target (ignoring feature)
'+reserve-x17' is not a recognized feature for this target (ignoring feature)
'+reserve-x17' is not a recognized feature for this target (ignoring feature)
```
Commit: 671cef029fc13ea652ca6605b6b508c0d7332fa9
https://github.com/llvm/llvm-project/commit/671cef029fc13ea652ca6605b6b508c0d7332fa9
Author: David Green <david.green at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/or-shift-chain.ll
Log Message:
-----------
[AggressiveInstcombine] Fold away shift in or reduction chain. (#137875)
If we have `icmp eq or(a, shl(b)), 0` then the shift can be removed so
long as it is nuw or nsw. It is still comparing that some bits are
non-zero.
https://alive2.llvm.org/ce/z/nhrBVX.
This is also true of ne, and true for longer or chains.
Commit: 28b7d6621a70799705b04d2e08dc98a185151d3a
https://github.com/llvm/llvm-project/commit/28b7d6621a70799705b04d2e08dc98a185151d3a
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A llvm/test/TableGen/SubRegsAndAliases.td
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen][CodeGen] Give every leaf register a unique regunit (#139526)
Give every leaf register a unique regunit, even if it has ad hoc
aliases.
Previously only leaf registers *without* ad hoc aliases would get a
unique regunit, but that caused situations where regunits could not be
used to distinguish a register from its subregs. For example:
- Registers A and B alias. They both get regunit 0 only.
- Register C has subregs A and B. It inherits regunits from its subregs,
so it also gets regunit 0 only.
After this fix, registers A and B will get a unique regunit in addition
to the regunit representing the alias, for example:
- A will get regunits 0 and 1.
- B will get regunits 0 and 2.
- C will get regunits 0, 1 and 2.
Commit: d05854dfc8513fab9064c9ca4f3f3eb1c71f525d
https://github.com/llvm/llvm-project/commit/d05854dfc8513fab9064c9ca4f3f3eb1c71f525d
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/docs/TestSuiteGuide.md
Log Message:
-----------
llvm][docs] Use default checkout location in test suite guide (#139264)
Step 2 tells you to checkout "llvm-test-suite" to "test-suite", but I
don't see a particular reason to use a non-default path.
If you're following the instructions exactly, it all works, but if you
autopilot that step it is surprising later when things do not work.
It's not hard for an individual to fix later, but we should suggest the
least surprising thing where we can.
Commit: 2278f5e65b487f7df0c613990b72fedba3ae34af
https://github.com/llvm/llvm-project/commit/2278f5e65b487f7df0c613990b72fedba3ae34af
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readfirstlane.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readlane.ll
Log Message:
-----------
[AMDGPU] Hoist readlane/readfirstlane through unary/binary operands (#129037)
When a read(first)lane is used on a binary operator and the intrinsic is
the only user of the operator, we can move the read(first)lane into the
operand if the other operand is uniform.
Unfortunately IC doesn't let us access UniformityAnalysis and thus we
can't truly check uniformity, we have to do with a basic uniformity
check which only allows constants or trivially uniform intrinsics calls.
We can also do the same for unary and cast operators.
Commit: cece0581916b64cf67e7d4eecf3d1262d4382012
https://github.com/llvm/llvm-project/commit/cece0581916b64cf67e7d4eecf3d1262d4382012
Author: Wang Qiang <736242642 at qq.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
M llvm/test/Object/archive-update.test
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
Log Message:
-----------
[llvm][mlir][NFC] Fix typos in comments and test descriptions (#139688)
This patch fixes several typographical errors in comments and test
files:
1. Corrected "achive" to "archive" in archive-update.test.
2. Fixed "achive" to "achieve" in a comment in
XeGPUSubgroupDistribute.cpp.
3. Corrected "achived" to "achieved" in a test note in
SimpleSIVNoValidityCheckFixedSize.ll.
These changes are non-functional and intended to improve readability and
documentation accuracy.
Signed-off-by: Kane Wang <wangqiang1 at kylinos.cn>
Co-authored-by: Kane Wang <wangqiang1 at kylinos.cn>
Commit: 63ad1492dce7d4acff7ded2d4d657b1b0c1cacc5
https://github.com/llvm/llvm-project/commit/63ad1492dce7d4acff7ded2d4d657b1b0c1cacc5
Author: yanming <ming.yan at terapines.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/docs/Tutorials/transform/Ch0.md
Log Message:
-----------
[mlir][NFC] Fix the MLIR example format to conform to SSA form.
Commit: 3009aa75cae240fc400c65c748a366d584998f9d
https://github.com/llvm/llvm-project/commit/3009aa75cae240fc400c65c748a366d584998f9d
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
Log Message:
-----------
[clang][Tooling] Extend special symbol mappings for (U)INTN_C
Commit: 382ad6f2e7050c4134300fbbe275bdbc1ff5442c
https://github.com/llvm/llvm-project/commit/382ad6f2e7050c4134300fbbe275bdbc1ff5442c
Author: jyli0116 <yu.li at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[GISel][AArch64] Added more efficient lowering of Bitreverse (#139233)
GlobalISel was previously inefficient in handling bitreverses of vector
types. This deals with i16, i32, i64 vector types and converts them into
i8 bitreverses and rev instructions.
Commit: 91f3cdbd4f173c534d718322ef6b1ec537024af6
https://github.com/llvm/llvm-project/commit/91f3cdbd4f173c534d718322ef6b1ec537024af6
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
A mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
A mlir/test/Dialect/GPU/promote-shuffle-amdgpu.mlir
Log Message:
-----------
[mlir][gpu] Pattern to promote `gpu.shuffle` to specialized AMDGPU ops (#137109)
Only swizzle promotion for now, may add DPP ops support later.
Commit: 7866c4091eb3badd8e0f145a200c8a3d11849ef5
https://github.com/llvm/llvm-project/commit/7866c4091eb3badd8e0f145a200c8a3d11849ef5
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/test/Parser/cxx-invalid-function-decl.cpp
Log Message:
-----------
Fix crash with invalid member function param list (#139595)
We cannot consume annotation tokens with ConsumeToken(), so any pragmas
present in an invalid initializer would previously crash. Now we handle
annotation tokens more generally and avoid the crash.
Fixes #113722
Commit: 49ee674e5de272e9a1f439d37533646f63933594
https://github.com/llvm/llvm-project/commit/49ee674e5de272e9a1f439d37533646f63933594
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
Log Message:
-----------
[NFC][LLVM][CodeGen][X86] Add ConstantInt/FP based vector support to MachineInstr fixup and printing code. (#137331)
When -use-constant-{int,fp}-for-fixed-length-splat are enabled, constant
vector splats take the form of ConstantInt/FP instead of ConstantVector.
These constants get linked to MachineInstrs via constant pools for later
processing. The processing assumes ConstantInt/FP to always represent
scalar constants with this PR extending the code to support vector
types.
NOTE: The test choices are somewhat artificial because pretty much all
the vector tests failed without these changes when the new constants are
enabled.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 655151a7e0c7f67cf3959b79e62ccafdf7053a3e
https://github.com/llvm/llvm-project/commit/655151a7e0c7f67cf3959b79e62ccafdf7053a3e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libclc/clc/include/clc/geometric/binary_decl.inc
A libclc/clc/include/clc/geometric/binary_def.inc
A libclc/clc/include/clc/geometric/clc_distance.h
M libclc/clc/include/clc/geometric/clc_dot.h
R libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/geometric/clc_fast_distance.h
A libclc/clc/include/clc/geometric/clc_fast_length.h
A libclc/clc/include/clc/geometric/clc_length.h
R libclc/clc/include/clc/geometric/floatn.inc
A libclc/clc/include/clc/geometric/unary_decl.inc
A libclc/clc/include/clc/geometric/unary_def.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_distance.cl
A libclc/clc/lib/generic/geometric/clc_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_distance.cl
A libclc/clc/lib/generic/geometric/clc_fast_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_length.cl
A libclc/clc/lib/generic/geometric/clc_length.cl
A libclc/clc/lib/generic/geometric/clc_length.inc
M libclc/generic/include/clc/geometric/distance.h
R libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/dot.h
R libclc/generic/include/clc/geometric/dot.inc
M libclc/generic/include/clc/geometric/fast_distance.h
R libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
R libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
R libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/geometric/length.h
R libclc/generic/include/clc/geometric/length.inc
M libclc/generic/include/clc/geometric/normalize.h
R libclc/generic/include/clc/geometric/normalize.inc
M libclc/generic/lib/geometric/distance.cl
R libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
R libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
Log Message:
-----------
[libclc] Move (fast) length & distance to CLC library (#139701)
This commit also refactors how geometric builtins are defined and
declared, by sharing more helpers. It also removes an unnecessary
gentype-like helper in favour of the more complete math/gentype.inc.
There are no changes to the IR for any of these four builtins.
The 'normalize' builtin will follow in a subsequent commit because it
would involve the addition of missing halfn-type overloads for
completeness.
Commit: 0e8f0b51ff598689b5eccc8b28c402b0dbcc97be
https://github.com/llvm/llvm-project/commit/0e8f0b51ff598689b5eccc8b28c402b0dbcc97be
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libclc/clc/lib/generic/geometric/clc_length.inc
Log Message:
-----------
[libclc][NFC] Fix return after else
Commit: 95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9
https://github.com/llvm/llvm-project/commit/95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_ilogb.h
A libclc/clc/include/clc/math/clc_logb.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/unary_decl_with_int_return.inc
A libclc/clc/include/clc/math/unary_def_with_int_return.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_ilogb.cl
A libclc/clc/lib/generic/math/clc_ilogb.inc
A libclc/clc/lib/generic/math/clc_logb.cl
A libclc/clc/lib/generic/math/clc_logb.inc
M libclc/generic/include/clc/math/ilogb.h
R libclc/generic/include/clc/math/ilogb.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/logb.cl
Log Message:
-----------
[libclc] Move logb/ilogb to CLC library; optimize (#128028)
This commit moves the logb and ilogb builtins to the CLC library.
It simultaneously optimizes them both for vector types and for half
types. Vector types were being scalarized in some cases. Half types were
previously promoting to float, whereas this commit provides them a
native implementation.
Everything passes the OpenCL-CTS.
I had to intuit some magic numbers used by these implementations in
order to generate the half variants. I gave them clearer definitions
derived from what I believe are their actual component numbers, but
named them 'magic' to convey that they weren't derived from first
principles.
Commit: c14acb74423a577e10bbb635109851742e77444f
https://github.com/llvm/llvm-project/commit/c14acb74423a577e10bbb635109851742e77444f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Save Immediate bit in Function (#139671)
Otherwise, we have to look at the FunctionDecl at every function call.
Commit: 9570bf978d77aa53fffb50c60388da8f1bd71e4c
https://github.com/llvm/llvm-project/commit/9570bf978d77aa53fffb50c60388da8f1bd71e4c
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
Log Message:
-----------
[TableGen][MacroFusion] Predicate if the first inst has the same register (#137778)
We rename `SameReg` to `SecondInstHasSameReg ` and add
`FirstInstHasSameReg `
which has the logic but applies to the first instruction.
We have some cases that require the first instruction has the same
input/output register.
Commit: e01bdc18e39db1cb3a8968e732a138bfee20ffe5
https://github.com/llvm/llvm-project/commit/e01bdc18e39db1cb3a8968e732a138bfee20ffe5
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
Log Message:
-----------
[LLVM][SelectionDAG] Simplify SplitVecOp_VSETCC. (#139295)
Preserving the original result element type when splitting vector setcc
operations removes redundant extensions that are awkward to optimise
after the fact.
Commit: 9b63bdd15418e90d0c6889d26e490db89ae744d1
https://github.com/llvm/llvm-project/commit/9b63bdd15418e90d0c6889d26e490db89ae744d1
Author: Denzel-Brian Budii <73462654+chios202 at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
A mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchFinder.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/Matcher/Parser.h
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
A mlir/test/mlir-query/complex-test.mlir
M mlir/tools/mlir-query/mlir-query.cpp
Log Message:
-----------
[mlir] Improve mlir-query tool by implementing `getBackwardSlice` and `getForwardSlice` matchers (#115670)
Improve mlir-query tool by implementing `getBackwardSlice` and
`getForwardSlice` matchers. As an addition `SetQuery` also needed to be
added to enable custom configuration for each query. e.g: `inclusive`,
`omitUsesFromAbove`, `omitBlockArguments`.
Note: backwardSlice and forwardSlice algoritms are the same as the ones
in `mlir/lib/Analysis/SliceAnalysis.cpp`
Example of current matcher. The query was made to the file:
`mlir/test/mlir-query/complex-test.mlir`
```mlir
./mlir-query /home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir -c "match getDefinitions(hasOpName(\"arith.add
f\"),2)"
Match #1:
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:5:8:
%0 = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel"]} ins(%arg0 : tensor<5x5xf32>) outs(%arg1 : tensor<5x5xf32>) {
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:7:10: note: "root" binds here
%2 = arith.addf %in, %in : f32
^
Match #2:
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:10:16:
%collapsed = tensor.collapse_shape %0 [[0, 1]] : tensor<5x5xf32> into tensor<25xf32>
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:13:11:
%c2 = arith.constant 2 : index
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:14:18:
%extracted = tensor.extract %collapsed[%c2] : tensor<25xf32>
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:15:10: note: "root" binds here
%2 = arith.addf %extracted, %extracted : f32
^
2 matches.
```
Commit: ddf124984212718edc65a7a21d0c04eed4d8fcd9
https://github.com/llvm/llvm-project/commit/ddf124984212718edc65a7a21d0c04eed4d8fcd9
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_perf.s
M llvm/test/lit.cfg.py
Log Message:
-----------
[Test] Disable Linux perf test under WSL (#137822)
Linux perf_events is not implemented in WSL1, skip the test that
requires it.
There is just a single test that requires perf_events. It fails under
WSL1 with:
```sh
env JITDUMPDIR=/home/meinersbur/build/llvm-project/release/test/ExecutionEngine/JITLink/x86-64/Output/ELF_perf.s.tmp /home/meinersbur/build/llvm-project/release/bin/llvm-jitlink -perf-support /home/meinersbur/build/llvm-project/release/test/ExecutionEngine/JITLink/x86-64/Output/ELF_perf.s.tmp/ELF_x86-64_perf.o
llvm-jitlink error: PerfState not initialized
```
WSL environment detection logic follows
https://github.com/scivision/detect-windows-subsystem-for-linux/blob/main/is_wsl.py
Also see WSL issue: https://github.com/microsoft/WSL/issues/4595
Commit: ba2b21a584219055c1c8106ba81ca49db538a6a5
https://github.com/llvm/llvm-project/commit/ba2b21a584219055c1c8106ba81ca49db538a6a5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/test/Dialect/ArmSME/invalid.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-vertical.mlir
Log Message:
-----------
[mlir][ArmSME] Audit ArmSME load/store ops (#139573)
This patch updates the following ArmSME ops to require that input and
output element types match:
* `arm_sme.tile_load`, `arm_sme.tile_store`,
`arm_sme.tile_load_slice`, `arm_sme.tile_store_slice`.
In addition, it ensures that the base memref operand for `tile_load` and
`tile_store` is always rank-2, aligning with the semantics of Arm SME
tiles (always rank-2). This change is effectively a follow-up to
#135151:
* "[mlir][vector] Tighten the semantics of vector.{load|store}"
The patch also updates `createLoadStoreForOverTileSlices` in
ArmSMEToSCF.cpp to fail when processing invalid tile stores like the
following:
```mlir
arm_sme.tile_store %arg0, %arg1[%c0] : memref<?x4xi8>, vector<[4]x[4]xi32>
```
This particular change fixes #118769. As noted in the TODO, we should
further extend op verification logic — I plan to address that in a
follow-up patch.
Commit: 8be514cc96345feb35d8d8a372ee771c6d69a73f
https://github.com/llvm/llvm-project/commit/8be514cc96345feb35d8d8a372ee771c6d69a73f
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Avoid assignmentInAssert warning (#139715)
ExpectedID should be optimized out anyway if built without assertions
because nothing reads its value.
Fixes #90327
Commit: e99ca74dc187a86671dd5b13c89fe2755465078a
https://github.com/llvm/llvm-project/commit/e99ca74dc187a86671dd5b13c89fe2755465078a
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
A llvm/test/Transforms/LoopInterchange/legality-check.ll
Log Message:
-----------
[LoopInterchange] Relax the legality check to accept more patterns (#139690)
When proving the legality of exchanging two loops, it doesn't need to
check the elements of the direction vectors associated with the loops
outside of the two target loops. Before this patch, the legality check
looked at all elements of a direction vector to calculate the
lexicographically order of the vector, which may reject some legal
exchanges. For example, if a direction vector is `[* < =]`, it is safe
to swap the last two loops because the corresponding subsequence of the
vector (`[< =]`) is lexicographically positive for both before and after
the exchange. However, the its order is unknown if we don't drop the
prefix since the first element is `*`. This patch improves the logic of
legality check to ignore such unrelated prefixes of direction vectors.
Commit: 6c6413f3f973862c7275e7baecdd4bb6bcf430c9
https://github.com/llvm/llvm-project/commit/6c6413f3f973862c7275e7baecdd4bb6bcf430c9
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Fixup #139715
The increment must be after the assert, not before, otherwise the assert fails everytime.
Commit: 726d2cf01402e8da9b271008dd10106da45d16ac
https://github.com/llvm/llvm-project/commit/726d2cf01402e8da9b271008dd10106da45d16ac
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Lex/MacroArgs.cpp
Log Message:
-----------
[NFC][Clang] Adopt `TrailingObjects` convenience API in MacroArgs (#139635)
Adopt convenience API for single trailing type added in
https://github.com/llvm/llvm-project/pull/138970.
Commit: 4ee6f74e5540d634199a2cbf1602fdf5cff69330
https://github.com/llvm/llvm-project/commit/4ee6f74e5540d634199a2cbf1602fdf5cff69330
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprOpenMP.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
Log Message:
-----------
[NFC][Clang] Adopt `TrailingObjects` API to build ArrayRef (#139639)
Adopt `getTrailingObjects()` overload that returns an ArrayRef that was
added in https://github.com/llvm/llvm-project/pull/138970.
Commit: 89826f04589af9d309319b3651b609fdd8978631
https://github.com/llvm/llvm-project/commit/89826f04589af9d309319b3651b609fdd8978631
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Fix compilation errors from #138896 (#139711)
- s/size_t/SIZE_T to match the windows API
- case HANDLE to int64_t to avoid cast-to-int-of-different-size
errors/warnings
Commit: 84c1564d1825880d463d9f85153812f1f6805289
https://github.com/llvm/llvm-project/commit/84c1564d1825880d463d9f85153812f1f6805289
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
Log Message:
-----------
[libunwind] Add initial ARM64EC support (#138583)
ARM64EC defines `__x86_64__`, which is sufficient to make most C/C++
code behave correctly. To preserve an external ABI compatible with
x86_64, this patch uses the x86_64 context layout and implements
`unw_getcontext` by storing the appropriate aarch64 registers according
to the mapping defined by the ARM64EC ABI.
Commit: 55c48ee6f1a9b4961c7b1efd2d5bf23d28298ead
https://github.com/llvm/llvm-project/commit/55c48ee6f1a9b4961c7b1efd2d5bf23d28298ead
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
Log Message:
-----------
[RISCV] Ignore interleaved accesses with non-default address spaces (#139698)
This fixes a crash introduced in
https://github.com/llvm/llvm-project/pull/137045#issuecomment-2872208568
where we don't have overloaded pointer types for segmented load/store
intrinsics.
This should be temporary until #139634 lands and overloads the pointer
type for these
Commit: 195fe59c11b825548343ba996cf5e26fe2c432f1
https://github.com/llvm/llvm-project/commit/195fe59c11b825548343ba996cf5e26fe2c432f1
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Fix a warning in GlobalISelCombinerEmitter.cpp (NFC)
/llvm-project/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp:2612:14:
error: variable 'ExpectedID' set but not used [-Werror,-Wunused-but-set-variable]
unsigned ExpectedID = 0;
^
1 error generated.
Commit: d934d17fb3d570bbc42b8cdaaf5225ca5595efb6
https://github.com/llvm/llvm-project/commit/d934d17fb3d570bbc42b8cdaaf5225ca5595efb6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/IR/Properties.td
Log Message:
-----------
[mlir] Call hash_combine_range with a range (NFC) (#139676)
With #136459, we can now invoke hash_combine_range with a range.
Commit: 69ce68109a3df221b507eb2308d5984ee7a71e22
https://github.com/llvm/llvm-project/commit/69ce68109a3df221b507eb2308d5984ee7a71e22
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Use StringRef::substr (NFC) (#139678)
StringRef::substr is shorter here because we can rely on its default
second parameter.
Commit: 29a45619f1f8f0e0f0edd4937cf31827d1a4c4d4
https://github.com/llvm/llvm-project/commit/29a45619f1f8f0e0f0edd4937cf31827d1a4c4d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/TableGen/Predicate.cpp
Log Message:
-----------
[mlir] Use std::string::find with std::string_view (NFC) (#139683)
Starting with C++17, std::string::find accepts anything that can be
converted to std::string_view, including StringRef, allowing us to
avoid creating temporary instances of std::string.
Commit: ac583df03b3c1b2cc3ef7ececbeca697f3449bec
https://github.com/llvm/llvm-project/commit/ac583df03b3c1b2cc3ef7ececbeca697f3449bec
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Use heterogeneous lookups (NFC) (#139685)
Heterogenous lookups allow us to call find with StringRef, avoiding a
temporary heap allocation of std::string.
Commit: 8aaac80ddde6a23527d3caa98ec998ebe402e0d9
https://github.com/llvm/llvm-project/commit/8aaac80ddde6a23527d3caa98ec998ebe402e0d9
Author: Max Graey <maxgraey at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M lld/MachO/SymbolTable.cpp
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[NFC] Use more isa and isa_and_nonnull instead dyn_cast for predicates (#137393)
Also fix some typos in comments
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 75d36dc5a77ba3759eef15aeca925a1400504c89
https://github.com/llvm/llvm-project/commit/75d36dc5a77ba3759eef15aeca925a1400504c89
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86][SelectionDAG] Fix the Gather's base and index by modifying the Scale value (#137813)
Fix the Gather's base and index for one use or multiple uses of Index Node. Using the approach to update the Scale if SHL Opcode and followed by truncate.
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 764e0ccbba02c141b2fc8d869d58694b02119588
https://github.com/llvm/llvm-project/commit/764e0ccbba02c141b2fc8d869d58694b02119588
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/reduction-undefined.f90
Log Message:
-----------
[flang][OpenMP]Replace assert with if-condition (#139559)
If a symbol is not declared, check-omp-structure hits an assert. It
should be safe to treat undeclared symbols as "not from a block", as
they would have to be declared to be in a block...
Adding simple test to confirm it gives error messages, not crashing.
This should fix issue #131655 (there is already a check for symbol being
not null in the code identified in the ticket).
Commit: 2ca2e1c9d5e353064586ccc314377dc4ef1bf25d
https://github.com/llvm/llvm-project/commit/2ca2e1c9d5e353064586ccc314377dc4ef1bf25d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/call43.f90
Log Message:
-----------
[flang] Tune warning about incompatible implicit interfaces (#136788)
The compiler was emitting a warning about incompatible shapes being used
for two calls to the same procedure with an implicit interface when one
passed a whole array and the other passed a scalar. When the scalar is a
whole element of a contiguous array, however, we must allow for storage
association and not flag it as being a problem.
Commit: e75fda107da8bd6a3993bf1e3cb51dc03e952e23
https://github.com/llvm/llvm-project/commit/e75fda107da8bd6a3993bf1e3cb51dc03e952e23
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Semantics/c7108.f90
M flang/test/Semantics/generic09.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
Log Message:
-----------
[flang] Acknowledge non-enforcement of C7108 (#139169)
Fortran 2023 constraint C7108 prohibits the use of a structure
constructor in a way that is ambiguous with a generic function reference
(intrinsic or user-defined). Sadly, no Fortran compiler implements this
constraint, and the common portable interpretation seems to be the
generic resolution, not the structure constructor.
Restructure the processing of structure constructors in expression
analysis so that it can be driven both from the parse tree as well as
from generic resolution, and then use it to detect ambigous structure
constructor / generic function cases, so that a portability warning can
be issued. And document this as a new intentional violation of the
standard in Extensions.md.
Fixes https://github.com/llvm/llvm-project/issues/138807.
Commit: 53f0367ab0fa7e958f42fc07ceb9c38b9b9c74f2
https://github.com/llvm/llvm-project/commit/53f0367ab0fa7e958f42fc07ceb9c38b9b9c74f2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/definable.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/assign11.f90
A flang/test/Semantics/bug139129.f90
M flang/test/Semantics/call28.f90
M flang/test/Semantics/deallocate07.f90
M flang/test/Semantics/declarations05.f90
Log Message:
-----------
[flang] Fix spurious error on defined assignment in PURE (#139186)
An assignment to a whole polymorphic object in a PURE subprogram that is
implemented by means of a defined assignment procedure shouldn't be
subjected to the same definability checks as it would be for an
intrinsic assignment (which would also require it to be allocatable).
Fixes https://github.com/llvm/llvm-project/issues/139129.
Commit: 936481fdf5b0ab214e381aa96a151ec33348cfca
https://github.com/llvm/llvm-project/commit/936481fdf5b0ab214e381aa96a151ec33348cfca
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/boz-rhs.f90
Log Message:
-----------
[flang] Use LHS type for RHS BOZ on assignment (#139626)
F'2023 allows the right-hand side of an assignment to an integer or real
scalar to be a BOZ literal constant; this has already been supported in
some compilers. The type of the left-hand side variable is used to
convert the value of the BOZ.
Commit: e3f87e15910a5f1c5552fc3ef57e7dda3f68901a
https://github.com/llvm/llvm-project/commit/e3f87e15910a5f1c5552fc3ef57e7dda3f68901a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/warn-tentative-defn-compat.c
Log Message:
-----------
[C] Fix a false-positive with tentative defn compat (#139738)
C++ has a carve-out that makes a declaration with 'extern' explicitly
specified and no initializer be a declaration rather than a definition.
We now account for that to silence a diagnostic with:
```
extern const int i;
const int i = 12;
```
which is valid C++.
Addresses an issue that was brought up via post-commit review.
Commit: e4b6cc314a459b803ea6b3dc8b63da38d1dd50db
https://github.com/llvm/llvm-project/commit/e4b6cc314a459b803ea6b3dc8b63da38d1dd50db
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV][InsertVSETVLI] Improve LMUL formatting in debug messages
Commit: 4b794c8aff3ba01d95bd29973f45ff776aaee3ed
https://github.com/llvm/llvm-project/commit/4b794c8aff3ba01d95bd29973f45ff776aaee3ed
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ObjCARCUtil.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/call-rv-marker.ll
Log Message:
-----------
[ObjC] Support objc_claimAutoreleasedReturnValue (#139720)
This adds basic support for objc_claimAutoreleasedReturnValue, which is
mostly equivalent to objc_retainAutoreleasedReturnValue, with the
difference that it doesn't require the marker nop to be emitted between
it and the call it was attached to.
To achieve that, this also teaches the AArch64 attachedcall bundle
lowering to pick whether the marker should be emitted or not based on
whether the attachedcall target is claimARV or retainARV.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: bbb7f0148177d332df80b5cfdc7d161dca289056
https://github.com/llvm/llvm-project/commit/bbb7f0148177d332df80b5cfdc7d161dca289056
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/test/Fir/invalid.fir
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-allocatable1.f90
Log Message:
-----------
[flang] Fix volatile attribute propagation on allocatables (#139183)
Ensure volatility is reflected not just on the reference to an
allocatable, but on the box, too. When we declare a volatile
allocatable, we now get a volatile reference to a volatile box.
Some related cleanups:
* SELECT TYPE constructs check the selector's type for volatility when
creating and designating the type used in the selecting block.
* Refine the verifier for fir.convert. In general, I think it is ok to
implicitly drop volatility in any ptr-to-int conversion because it means
we are in codegen (and representing volatility on the LLVM ops and
intrinsics) or we are calling an external function (are there any cases
I'm not thinking of?)
* An allocatable test that was XFAILed is now passing. Making
allocatables' boxes volatile resulted in accesses of those boxes being
volatile, which resolved some errors coming from the strict verifier.
* I noticed a runtime function was missing the fir.runtime attribute.
Commit: 7e8b3fea43f1dfa1d5611a70d887cba5d79b2da9
https://github.com/llvm/llvm-project/commit/7e8b3fea43f1dfa1d5611a70d887cba5d79b2da9
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/test/Transforms/dlti-dependency.fir
Log Message:
-----------
[Flang] Add missing dependent dialects to MLIR passes (#139260)
This patch updates several passes to include the DLTI dialect, since
their use of the `fir::support::getOrSetMLIRDataLayout()` utility
function could, in some cases, require this dialect to be loaded in
advance.
Also, the `CUFComputeSharedMemoryOffsetsAndSize` pass has been updated
with a dependency to the GPU dialect, as its invocation to
`cuf::getOrCreateGPUModule()` would result in the same kind of error if
no other operations or attributes from that dialect were present in the
input MLIR module.
Commit: 99f03096697625d14a536c5ac764ca530daa4008
https://github.com/llvm/llvm-project/commit/99f03096697625d14a536c5ac764ca530daa4008
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/optimize-vector.ll
M llvm/test/CodeGen/PowerPC/pr47891.ll
Log Message:
-----------
[PowerPC] catch v2i64 shift left by 1 is add case (#138772)
Catch missing case in PPC BE for v2i64 x << 1 and generate x + x.
Commit: f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc
https://github.com/llvm/llvm-project/commit/f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc
Author: Mariusz Kwiczala <70530507+sfc-gh-mkwiczala at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M llvm/include/llvm/DebugInfo/DIContext.h
A llvm/include/llvm/DebugInfo/GSYM/GsymDIContext.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
A llvm/lib/DebugInfo/GSYM/GsymDIContext.cpp
M llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe.gsym
A llvm/test/tools/llvm-symbolizer/sym-gsymonly.test
M llvm/tools/llvm-symbolizer/Opts.td
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Log Message:
-----------
LLVM symbolizer gsym support - attempt 2 (#139686)
Add support for gsym files to llvm-symbolizer.
co-author @sfc-gh-sgiesecke
Notes:
There was a PR that was
approved and merged: https://github.com/llvm/llvm-project/pull/134847
and reverted: https://github.com/llvm/llvm-project/pull/139660
Due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/66/builds/13851 - it looks like
related
https://lab.llvm.org/buildbot/#/builders/51/builds/16018 - it looks like
related
https://lab.llvm.org/buildbot/#/builders/146/builds/2905 - it looks like
it's not related to changes
Fix:
To fix missing GSYM symbols
```
+ diff -u expected.new undefined.new
+_ZN4llvm4gsym10GsymReader8openFileENS_9StringRefE U
+_ZN4llvm4gsym10GsymReaderC1EOS1_ U
+_ZN4llvm4gsym10GsymReaderD1Ev U
+_ZN4llvm4gsym13GsymDIContextC1ENSt20__InternalSymbolizer10unique_ptrINS0_10GsymReaderENS2_14default_deleteIS4_EEEE U
+ echo 'Failed: unexpected symbols'
```
for script
compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
LLVMDebugInfoGSYM was added.
Please check the commit:
https://github.com/llvm/llvm-project/pull/139686/commits/ba55425db9fd8fd1ebb06a4c8d8c95eef213444f
That's the only change compare to
https://github.com/llvm/llvm-project/pull/134847
Commit: 3cf280c16aaf93148db9080a47f24ac76c01bde4
https://github.com/llvm/llvm-project/commit/3cf280c16aaf93148db9080a47f24ac76c01bde4
Author: ykhatav <yashasvi.khatavkar at intel.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/unused_nested_enump.cpp
Log Message:
-----------
Emit nested unused enum types with -fno-eliminate-unused-debug-types (#137818)
Unused types are retained in the debug info when
-fno-eliminate-unused-debug-types is specified.
However, unused nested enums were not being emitted even with this
option.
This patch fixes the missing emission of unused nested enums with
-fno-eliminate-unused-debug-types
Commit: dcd5e476d91da267f49b837c07a84df43b1800cd
https://github.com/llvm/llvm-project/commit/dcd5e476d91da267f49b837c07a84df43b1800cd
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Add AOT compilation support for Intel GPUs/CPUs (#133194)
This PR adds support for AOT compilation for Intel CPUs and GPUs in
clang-sycl-linker. When no `-arch` is passed to `clang-sycl-linker`, the
output of the tool will be the resulting linked SPIR-V bytecode. If the
`-arch` is passed to `clang-sycl-linker` and the value is a supported
Intel CPU or GPU, then SPIR-V bytecode is then further passed to the
respective tool (`opencl-aot` or `ocloc`) for AOT compilation.
Commit: 91ea49499325aeff8426135721b1bd432e5b7780
https://github.com/llvm/llvm-project/commit/91ea49499325aeff8426135721b1bd432e5b7780
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A lldb/packages/Python/lldbsuite/test/make/attach.h
M lldb/packages/Python/lldbsuite/test/make/test_common.h
M lldb/test/API/commands/process/attach-resume/main.cpp
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/commands/process/detach-resumes/main.cpp
M lldb/test/API/commands/register/register/register_command/main.cpp
M lldb/test/API/driver/batch_mode/main.c
M lldb/test/API/functionalities/deleted-executable/main.cpp
M lldb/test/API/functionalities/load_after_attach/main.cpp
M lldb/test/API/functionalities/process_group/main.c
M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
M lldb/test/API/iohandler/completion/main.c
M lldb/test/API/python_api/hello_world/main.c
M lldb/test/API/tools/lldb-dap/attach/main.c
M lldb/test/API/tools/lldb-dap/disconnect/main.cpp
M lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
M lldb/test/API/tools/lldb-server/main.cpp
Log Message:
-----------
[lldb] Move lldb_enable_attach from test_common to a separate header (#139550)
test_common is force-included into every compilation, which causes
problems when we're compiling assembly code, as we were in #138805.
This avoids that as we can include the header only when it's needed.
Commit: 1ffdf5325f1009d56d1c62fe6993eab575460de6
https://github.com/llvm/llvm-project/commit/1ffdf5325f1009d56d1c62fe6993eab575460de6
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Introduce add_vl combine for identity operand (#139742)
This is mostly a refactor of the recently added zvqdotq accumulation
path so that I can try merging that with the vwmacc codepaths.
Commit: 224ec839a41f78aa67b6ea88c98849fdb212df59
https://github.com/llvm/llvm-project/commit/224ec839a41f78aa67b6ea88c98849fdb212df59
Author: David Tenty <daltenty at ibm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[AIX] Opt in to per-target runtime dir (#139620)
Many targets have already migrated to the per-target runtime directory
layout, which is generally preferred. For AIX however, we are currently
using per-target runtime directories by default for some runtimes (i.e.
`flang-rt`) but not others. This change makes things consistent for
other runtimes (most primarily `compiler-rt`) as well, adopting the
layout uniformly for the AIX target.
This change also normalizes the triple used for building compiler-rt to
remove any OS version number, as there is currently no need to version
the runtimes this way and the driver code doesn't expect this anyhow.
Commit: e4106aabfd3ea857ae87fa5c7683e4b460aff104
https://github.com/llvm/llvm-project/commit/e4106aabfd3ea857ae87fa5c7683e4b460aff104
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-i1test.ll
Log Message:
-----------
[X86] avx512-i1test.ll - regenerate to remove whitespace changes. NFC.
Commit: eaa45dc6227e08e9a828297f98005addd668a417
https://github.com/llvm/llvm-project/commit/eaa45dc6227e08e9a828297f98005addd668a417
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Remove unneeded isel (sext_inreg $rs1, i32) isel pattern from RISCVInstrInfoXTHead.td. NFC
This pattern is identical to the pattern for the sext.w encoding of
addiw which has higher priority.
Commit: 7a4af40896496064ed34f89bb6a30fc91c3c2f7a
https://github.com/llvm/llvm-project/commit/7a4af40896496064ed34f89bb6a30fc91c3c2f7a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libclc/clc/include/clc/geometric/clc_cross.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_cross.cl
A libclc/clc/lib/generic/geometric/clc_cross.inc
M libclc/generic/lib/geometric/cross.cl
Log Message:
-----------
[libclc] Move cross to CLC library; add missing half overloads (#139713)
The half overloads are trivially identical to the float and double ones.
It didn't seem worth using 'gentype' for the OpenCL layer or CLC
declarations so they're just written out explicitly. It does help avoid
less trivial repetition in the CLC implementation, though.
Commit: c24890305378979a66ea6d35bee754c03e61178f
https://github.com/llvm/llvm-project/commit/c24890305378979a66ea6d35bee754c03e61178f
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMP][NFC] Use pass by const ref for Dependencies (#139592)
Static analysis flagged the passing of Dependencies to emitTargetCall as
a
place we could use std::move to avoid copying. A closer look indicated
we could
instead turn the parameter into a const & and not have a default value
since it
was only used in two lines in a test and changing those two locations
was easy.
Commit: af6261b50bc2e2dce73ed0f24f6175d460be3b1c
https://github.com/llvm/llvm-project/commit/af6261b50bc2e2dce73ed0f24f6175d460be3b1c
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
Log Message:
-----------
[DAG] visitINSERT_VECTOR_ELT - convert to or mask if all insertions are -1 (#138213)
We did this for 0 and and, but we can do this with or and -1.
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 5198205fb7d0228fdab2c08a24d22e97de673e51
https://github.com/llvm/llvm-project/commit/5198205fb7d0228fdab2c08a24d22e97de673e51
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/ops.mlir
Log Message:
-----------
[mlir][affine] Make [de]linearize_index a valid source of dims (#138929)
There's a sense in which affine.linearize_index and
affine.delinearize_index are special-cases of affine.apply (which get
their own ops to enable better code generation and more accurate
canonicalization). Therefore, allow these operations to be dimension
operands for operations like affine.load just like affine.apply can be.
Commit: 49a6d90bbf120460963972b75d96ffb69dcefb3c
https://github.com/llvm/llvm-project/commit/49a6d90bbf120460963972b75d96ffb69dcefb3c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
Log Message:
-----------
[X86] isel-brcond-fcmp.ll - regenerate checks
Commit: 0187421a8abd25efd79379955771171f86f76367
https://github.com/llvm/llvm-project/commit/0187421a8abd25efd79379955771171f86f76367
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/isel-brcond-icmp.ll
Log Message:
-----------
[X86] isel-brcond-icmp.ll - regenerate checks and add missing X86 test coverage
Add split X86 SDAG/FASTISEL check prefixes
Commit: e7547b25f594eda1325f7e9e0adb364faf5d4db1
https://github.com/llvm/llvm-project/commit/e7547b25f594eda1325f7e9e0adb364faf5d4db1
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic-ranks.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy-multi-key.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-calls.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-ranks-blocks.ll
Log Message:
-----------
[KeyInstr][DwarfDebug] Add is_stmt emission support (#133495)
Interpret Key Instructions metadata to determine is_stmt placement.
The lowest rank (highest precedent) instructions in each {InlinedAt, atomGroup}
set are candidates for is_stmt. Only the last instruction in each set in a given
block gets is_stmt. Calls always get is_stmt.
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 3f6ef4ecfbb1597dc818cf2819907ab12799ade4
https://github.com/llvm/llvm-project/commit/3f6ef4ecfbb1597dc818cf2819907ab12799ade4
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Cleanup support for C functions (#136854)
This adds basic handling for non-prototype functions in C.
Closes #130200.
Commit: 23f6358ec30918babde2bbf0966e80e689a9363d
https://github.com/llvm/llvm-project/commit/23f6358ec30918babde2bbf0966e80e689a9363d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.h
Log Message:
-----------
[clang][bytecode][NFC] Delete DynamicAllocator copy/move ctors (#139710)
They should never be needed.
Commit: 131c8f84bb4799ba8dded520791115b3c2b94f29
https://github.com/llvm/llvm-project/commit/131c8f84bb4799ba8dded520791115b3c2b94f29
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/stripe_messages.cpp
Log Message:
-----------
[OpenMP] Fix crash with invalid size expression (#139745)
We weren't correctly handling size expressions with errors before trying
to get the type of the size expression.
No release note needed because support for 'stripe' was added to the
current release.
Fixes #139433
Commit: 831592d6171bc62f6991387546512b9cf2ce1c9e
https://github.com/llvm/llvm-project/commit/831592d6171bc62f6991387546512b9cf2ce1c9e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
Log Message:
-----------
[NVPTX] Fixup under-aligned dynamic alloca lowering (#139628)
The alignment on a ISD::DYNAMIC_STACKALLOC node may be 0 to indicate
that the default stack alignment should be used. Prior to this change,
we passed this alignment through unchanged leading to an error in
ptxas. Now, we use the stack-alignment in this case. Also did a little
cleanup while I'm here.
Commit: 41229581a456619c341daca8354b8c9ae1b150df
https://github.com/llvm/llvm-project/commit/41229581a456619c341daca8354b8c9ae1b150df
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/exercise-ps.c
Log Message:
-----------
[analyzer] Fix crashing __builtin_bit_cast (#139188)
Previously, CSA did not handle __builtin_bit_cast correctly. It
evaluated the LvalueToRvalue conversion for the casting expression,
but did not actually convert the value of the expression to be of the
destination type.
This commit fixes the problem.
rdar://149987320
Commit: 165d47ef704ae6e93b0b31991efe8feed1f68a09
https://github.com/llvm/llvm-project/commit/165d47ef704ae6e93b0b31991efe8feed1f68a09
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing deps after 91f3cdbd4f173c534d718322ef6b1ec537024af6
Commit: 7038d50d624d43667a7c56501b83e3bb7cc2fe3b
https://github.com/llvm/llvm-project/commit/7038d50d624d43667a7c56501b83e3bb7cc2fe3b
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Xqci Extensions v0.11.0 (#137881)
This updates all the extensions to their version in the v0.11.0 spec.
All changes from this version are already implemented or are not
relevant to LLVM.
This change also alphabetises the lists of Xqci extensions, to make
future checks easier, and removes irrelevant info from the usage docs.
Commit: d9380ec63707be2cf0b0010220e4a34d2dbd107b
https://github.com/llvm/llvm-project/commit/d9380ec63707be2cf0b0010220e4a34d2dbd107b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-extract-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecExtractOp (#139304)
This change adds a folder for the VecExtractOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: e581f1cc9a9fd6933ebf612ec3907a0fc67db1e6
https://github.com/llvm/llvm-project/commit/e581f1cc9a9fd6933ebf612ec3907a0fc67db1e6
Author: lntue <lntue at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/ENTRY.h
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/src/search/CMakeLists.txt
M libc/src/search/hsearch.h
M libc/src/search/hsearch_r.h
Log Message:
-----------
[libc] Add proxy header for ENTRY type. (#139746)
https://github.com/llvm/llvm-project/issues/139561
Commit: 698fcb1251c301d7dad02dbcd53f5c3bd60622d5
https://github.com/llvm/llvm-project/commit/698fcb1251c301d7dad02dbcd53f5c3bd60622d5
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/test/Dialect/Affine/affine-expand-index-ops.mlir
Log Message:
-----------
[mlir][affine] Set overflow flags when lowering [de]linearize_index (#139612)
By analogy to some changess to the affine.apply lowering which put
`nsw`s on various multiplications, add appropritae overflow flags to the
multiplications and additions that're emitted when lowering
affine.delinearize_index and affine.linearize_index to arith ops.
Commit: 377cb7fb267031e8815c37fa0e5cadd36d227b11
https://github.com/llvm/llvm-project/commit/377cb7fb267031e8815c37fa0e5cadd36d227b11
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Upstream shift operators for VectorType (#139465)
This change adds support for shift ops for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 810148cb0769f61f8afebdaf27a9c1af95de27aa
https://github.com/llvm/llvm-project/commit/810148cb0769f61f8afebdaf27a9c1af95de27aa
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
A llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
Log Message:
-----------
[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV (#139762)
This teaches ObjCARCContract to transform attachedcall bundles
referencing objc_retainAutoreleasedReturnValue to instead reference
objc_claimAutoreleasedReturnValue.
The only distinction between the two is that the latter is required to
be guaranteed to immediately follow the call it's attached to, and, by
construction, the bundles always achieve that by:
- not being separable from the call through IR and the backend
- not getting the marker emitted when claimARV is the attachedcall.
This is enabled only for arm64, arm64e, and arm64_32 on macOS13/iOS16
and related operating systems.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: a891163e506238194b715f901c89a424806c8cf3
https://github.com/llvm/llvm-project/commit/a891163e506238194b715f901c89a424806c8cf3
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][MemRef] Use specialized index ops to fold expand/collapse_shape (#138930)
This PR updates the FoldMemRefAliasOps to use `affine.linearize_index`
and `affine.delinearize_index` to perform the index computations needed
to fold a `memref.expand_shape` or `memref.collapse_shape` into its
consumers, respectively.
This also loosens some limitations of the pass:
1. The existing `output_shape` argument to `memref.expand_shape` is now
used, eliminating the need to re-infer this shape or call `memref.dim`.
2. Because we're using `affine.delinearize_index`, the restriction that
each group in a `memref.collapse_shape` can only have one dynamic
dimension is removed.
Commit: 8af397af65082dc702a3e89797553e8b03e4db5e
https://github.com/llvm/llvm-project/commit/8af397af65082dc702a3e89797553e8b03e4db5e
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 810148cb0769f61f8afebdaf27a9c1af95de27aa
Commit: 649b7994fb277950c21eaadac0afcdcca98597c4
https://github.com/llvm/llvm-project/commit/649b7994fb277950c21eaadac0afcdcca98597c4
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll
Log Message:
-----------
[NFC][WPD] Add constant propagation tests checking relative vtables (#138989)
This is a patch with precommitted tests to make
https://github.com/llvm/llvm-project/pull/136630 easier to review. The
`virtual-const-prop-small-alignment-*` tests check the output when the
loaded int alignment is less than the vtable alignment.
This also changes some constants to make it easier to differentiate
between propagated values in vtables.
Commit: 5bb8e9db5f59dc2d3d8658f5b03577f9296be267
https://github.com/llvm/llvm-project/commit/5bb8e9db5f59dc2d3d8658f5b03577f9296be267
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
R llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
Log Message:
-----------
Revert "[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV" (#139780)
Reverts llvm/llvm-project#139762 for breaking bots
Commit: af54c704c764deffb08c2e4cdb70bc59f56867ef
https://github.com/llvm/llvm-project/commit/af54c704c764deffb08c2e4cdb70bc59f56867ef
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX] Refactor intrinsic definitions with loops and classes to remove redundancy (NFC) (#139611)
Commit: 81932945d76a49a4dd222da39afbc18435e66fb0
https://github.com/llvm/llvm-project/commit/81932945d76a49a4dd222da39afbc18435e66fb0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for ColumnDescriptor, BreakpointMode and Breakpoint (#139627)
Implement `fromJSON` for `ColumnDescriptor`, `BreakpointMode` and
`Breakpoint` and use it to implement the corresponding unit tests.
Commit: 81b20e110b3ffeb6d7069e7fe3e6339e63f8c03d
https://github.com/llvm/llvm-project/commit/81b20e110b3ffeb6d7069e7fe3e6339e63f8c03d
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_extent.h
Log Message:
-----------
[libc++] Work around new GCC 15 type_traits builtins that can't be used as Clang's can (#137871)
GCC 15 has added builtins for various C++ type traits that Clang
already had. Since `__has_builtin(...)` now finds these, the #if
branches previously only used for Clang are now used for GCC 15.
However, GCC 15 requires that these builtins only be used in type
aliases, not in template aliases.
For now, just don't use the `__has_builtin(...)` branches under newer
GCC versions, so both 14 and 15 work during the transition. This
can be cleaned up later to use all the GCC 15 builtins available.
Fixed: #137704
Fixed: #117319
Commit: 3b62a3369a41ad6550bf595e12d941ec947d529c
https://github.com/llvm/llvm-project/commit/3b62a3369a41ad6550bf595e12d941ec947d529c
Author: lntue <lntue at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/include/llvm-libc-types/ENTRY.h
Log Message:
-----------
[libc] Add `struct entry` definition in addition to `ENTRY` according to POSIX. (#139773)
Commit: 8767d55ff36ea81ea889410132fcec30107b8021
https://github.com/llvm/llvm-project/commit/8767d55ff36ea81ea889410132fcec30107b8021
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Consistently use VPlanTransforms::runPass if possible (NFC).
Update some more transforms to use ::runPass.
Commit: 3b3adefd58826ca4dfd87df8099766d416c54341
https://github.com/llvm/llvm-project/commit/3b3adefd58826ca4dfd87df8099766d416c54341
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/test/Sema/builtins-wasm.c
Log Message:
-----------
[Clang] Fix Sema::checkArgCount for 0-arg functions (#139638)
When calling a function that expects zero arguments with one argument,
`Call->getArg(1)` will trap when trying to format the diagnostic.
This also seems to improve the rendering of the diagnostic some of the
time. Before:
```
$ ./bin/clang -c a.c
a.c:2:30: error: too many arguments to function call, expected 2, have 4
2 | __builtin_annotation(1, 2, 3, 4);
| ~ ^
```
After:
```
$ ./bin/clang -c a.c
a.c:2:30: error: too many arguments to function call, expected 2, have 4
2 | __builtin_annotation(1, 2, 3, 4);
| ^~~~
```
Split from #139580.
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 7f4febde1030b8bb409cc56a50e575ff08fcd6ae
https://github.com/llvm/llvm-project/commit/7f4febde1030b8bb409cc56a50e575ff08fcd6ae
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/heatmap-preagg.test
Log Message:
-----------
[BOLT][heatmap] Compute section utilization and partition score (#139193)
Heatmap groups samples into buckets of configurable size (`--block-size`
flag with 64 bytes as the default =X86 cache line size). Buckets are
mapped to containing sections; for buckets that cover multiple sections,
they are attributed to the first overlapping section. Buckets not mapped
to a section are reported as unmapped.
Heatmap reports **section hotness** which is a percentage of samples
attributed to the section.
Define **section utilization** as a percentage of buckets with non-zero
samples relative to the total number of section buckets.
Also define section **partition score** as a product of section hotness
(where total excludes unmapped buckets) and mapped utilization, ranging
from 0 to 1 (higher is better).
The intended use of new metrics is with **production profile** collected
from BOLT-optimized binary. In this case the partition score of .text
(hot text if function splitting is enabled) reflects **optimization
profile** representativeness and the quality of hot-cold splitting.
Partition score of 1 means that all samples fall into hot text, and all
buckets (cache lines) in hot text are exercised, equivalent to perfect
hot-cold splitting.
Test Plan: updated heatmap-preagg.test
Commit: 0289ca09bebe16c6e93dc13df6c293529fb1ee77
https://github.com/llvm/llvm-project/commit/0289ca09bebe16c6e93dc13df6c293529fb1ee77
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/heatmap/heatmap.cpp
Log Message:
-----------
[BOLT] Print heatmap from perf2bolt (#139194)
Add perf2bolt `--heatmap` option to produce heatmaps during profile
aggregation.
Distinguish exclusive mode (`llvm-bolt-heatmap`) and optional mode
(`perf2bolt --heatmap`), which impacts perf.data handling:
exclusive mode covers all addresses, whereas optional mode consumes
attached profile only covering function addresses.
Test Plan: updated per2bolt tests:
- pre-aggregated-perf.test: pre-aggregated data,
- bolt-address-translation-yaml.test: pre-aggregated + BOLTed input,
- perf_test.test: no-LBR perf data.
Commit: 616489e2ee432a4085ab3c42fd51237f432cd037
https://github.com/llvm/llvm-project/commit/616489e2ee432a4085ab3c42fd51237f432cd037
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Drop perf2bolt cold samples diagnostic (#139337)
Cold samples diagnostics in perf2bolt are superseded by
`perf2bolt --heatmap` option (#139194). It provides a superset of stats
and works without BAT section which is not emitted by default.
Test Plan: NFC
Commit: 952b680fd1a283883ee2075146a7b10ea9510e8a
https://github.com/llvm/llvm-project/commit/952b680fd1a283883ee2075146a7b10ea9510e8a
Author: jimingham <jingham at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
A lldb/test/API/macosx/branch-islands/padding3.s
A lldb/test/API/macosx/branch-islands/padding4.s
Log Message:
-----------
Support stepping through Darwin "branch islands" (#139301)
When an intra-module jump doesn't fit in the immediate branch slot, the
Darwin linker inserts "branch island" symbols, and emits code to jump
from branch island to branch island till it makes it to the actual
function.
The previous submissions failed because in that environment the linker
was putting the `foo.island` symbol at the same address as the `padding`
symbol we we emitting to make our faked-up large binary. This submission
jams a byte after the padding symbol so that the other symbols can't
overlap it.
Commit: a1e1a84d2c8bb627945cda2a991539d39b034269
https://github.com/llvm/llvm-project/commit/a1e1a84d2c8bb627945cda2a991539d39b034269
Author: Drew Kersnar <dkersnar at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
A llvm/test/CodeGen/NVPTX/ldg-invariant-256.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors-256.ll
A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/load-store-256-bit.ll
Log Message:
-----------
[NVPTX] Vectorize and lower 256-bit global loads/stores for sm_100+/ptx88+ (#139292)
PTX 8.8+ introduces 256-bit-wide vector loads/stores under certain
conditions. This change extends the backend to lower these loads/stores.
It also overrides getLoadStoreVecRegBitWidth for NVPTX, allowing the
LoadStoreVectorizer to create these wider vector operations.
See the spec for the three relevant PTX instructions here:
- https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-ld
- https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-ld-global-nc
- https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-st
Commit: b93173185d9c93bd6fc94baaa453bd030cd36fea
https://github.com/llvm/llvm-project/commit/b93173185d9c93bd6fc94baaa453bd030cd36fea
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/cast.ll
Log Message:
-----------
[InstCombine] Narrow trunc(lshr) in more cases (#139645)
We can narrow `trunc(lshr(i32)) to i8` to `trunc(lshr(i16)) to i8` even
when the bits that we are shifting in are not zero, in the cases where
the MSBs of the shifted value don't actually matter and actually end up
being truncated away.
This kind of narrowing does not remove the trunc but can help the
vectorizer generate better code in a smaller type.
Motivation: libyuv, functions like ARGBToUV444Row_C().
Proof: https://alive2.llvm.org/ce/z/9Ao2aJ
Commit: 25348394bb54075ad6e368ab3567c8cd3d37e7f8
https://github.com/llvm/llvm-project/commit/25348394bb54075ad6e368ab3567c8cd3d37e7f8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp:106:14:
error: unused variable 'sourceType' [-Werror,-Wunused-variable]
Commit: 22fac63bde4a4a1cdae2ab2500d66dd3a6ce5a59
https://github.com/llvm/llvm-project/commit/22fac63bde4a4a1cdae2ab2500d66dd3a6ce5a59
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
gn build: Port f896bd367016
Commit: 8a05c20c963db27db0c93b422dab061a0d53a91f
https://github.com/llvm/llvm-project/commit/8a05c20c963db27db0c93b422dab061a0d53a91f
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/bitfield-layout.c
M clang/test/Sema/bitfield-layout_1.c
M clang/test/Sema/mms-bitfields.c
M clang/test/SemaCXX/bitfield.cpp
A clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
Log Message:
-----------
Add an off-by-default warning to complain about MSVC bitfield padding (#117428)
This just adds a warning for bitfields placed next to other bitfields
where the underlying type has different storage. Under the MS struct
bitfield packing ABI such bitfields are not packed.
Commit: 989a40cba889630a916a4f815a8cabca1e14242a
https://github.com/llvm/llvm-project/commit/989a40cba889630a916a4f815a8cabca1e14242a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/sdk-settings-json-dep.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][modules] Invalidate module cache when SDKSettings.json changes (#139751)
This PR adds the `%sdk/SDKSettings.json` file to the PCM input file
table, so that the PCM gets invalidated when the file changes. This is
necessary for availability checks to work correctly.
Commit: 70a3a1b8e5907c42f30980d61a73e15318ae1ae8
https://github.com/llvm/llvm-project/commit/70a3a1b8e5907c42f30980d61a73e15318ae1ae8
Author: Tim Besard <tim.besard at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm-c/Orc.h
Log Message:
-----------
[ORC] Fix the prototype of a C API function. (#139259)
In 38d16f509a3faff3c545da5bfd5a8bcbd234ff24, the `TargetTriple` argument
was removed from the `LLVMOrcCreateStaticLibrarySearchGeneratorForPath`
without updating the C API headers. This resulted in the function being
exported without C linkage, making it impossible to use from C.
Co-authored-by: Lang Hames <lhames at gmail.com>
Commit: 76dba2ea02048b587d10ccdf777b0875369f362c
https://github.com/llvm/llvm-project/commit/76dba2ea02048b587d10ccdf777b0875369f362c
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/src/locale.cpp
Log Message:
-----------
[libcxx] Fix a comment link for the unicode NBSP char. NFC. (#139692)
Commit: 79e8e27bfebebd9db425022987d3a9c60b8db2a9
https://github.com/llvm/llvm-project/commit/79e8e27bfebebd9db425022987d3a9c60b8db2a9
Author: lntue <lntue at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libc/hdr/types/ACTION.h
M libc/hdr/types/CMakeLists.txt
M libc/src/search/CMakeLists.txt
M libc/src/search/hsearch.h
M libc/src/search/hsearch_r.h
Log Message:
-----------
[libc] Add proxy header for ACTION type. (#139796)
https://github.com/llvm/llvm-project/issues/139561
Commit: 66bb445d5ccc275ffea674287a7ac55d030801b2
https://github.com/llvm/llvm-project/commit/66bb445d5ccc275ffea674287a7ac55d030801b2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/include/sys/syscall.h.def
M libc/src/poll/linux/poll.cpp
Log Message:
-----------
[libc] Enable poll function for riscv (#139180)
RV32 uses SYS_ppoll_time64 instead of SYS_ppoll, but the call is the
same.
Commit: 36b4ffeb7ea731dabddc2188950c57053e39ca03
https://github.com/llvm/llvm-project/commit/36b4ffeb7ea731dabddc2188950c57053e39ca03
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/include/sys/syscall.h.def
M libc/src/sys/time/linux/utimes.cpp
Log Message:
-----------
[libc] Enable utimes function for riscv (#139181)
RV32 uses SYS_utimensat_time64 instead of SYS_utimensat but the call is
the same.
Commit: e4d21aea042d4b9463ba0614f0a5c052a0ad5b57
https://github.com/llvm/llvm-project/commit/e4d21aea042d4b9463ba0614f0a5c052a0ad5b57
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Move DXIL Resource Access Pass before Intrinsic Expansion Pass (#139562)
Move dxil resource access legacy pass before intrinsic expansion legacy
pass so TypedBuffer Loads and Stores will be created before intrinsic
expansion.
This is to facilitate #104423
Commit: 61272b5a1c6ca9287450705e24509370033f9451
https://github.com/llvm/llvm-project/commit/61272b5a1c6ca9287450705e24509370033f9451
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
A mlir/test/Target/LLVMIR/Import/struct.ll
Log Message:
-----------
[MLIR][LLVM] Print LLVMStructType name using printEscapedString (#139652)
LLVM struct type names need to be escaped when printed in order to allow
interesting name choices.
Commit: cc2beddaa44fb1f0e0ca9eb51c5feaca368c00b0
https://github.com/llvm/llvm-project/commit/cc2beddaa44fb1f0e0ca9eb51c5feaca368c00b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Interpreter/Options.cpp
Log Message:
-----------
[lldb] Use std:::string::find with std::string_view (NFC) (#139679)
std::string::find accepts anything that can be converted to
std::string_view starting in C++17. Since StringRef can be converted
to std::string_view, we do not need to create a temporary instance of
std::string here.
Commit: 298ace7dff4f612e1d7dbf7bc18c32ee6c6c774b
https://github.com/llvm/llvm-project/commit/298ace7dff4f612e1d7dbf7bc18c32ee6c6c774b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Use std::string::find (NFC) (#139681)
This patch partially reverts #139661 for a better solution.
Specifically, we can take advantage of the fact that std::string::find
accepts anything that can be converted to std::string_view, including
StringRef, starting with C++17. This way, we do not need to cast Val
to StringRef or LHSs->getValue() to std::string.
Commit: db9e30735a39d4823624bd1fdff81673598dbdc9
https://github.com/llvm/llvm-project/commit/db9e30735a39d4823624bd1fdff81673598dbdc9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir] Use a range-based for loop (NFC) (#139756)
WHile I am at it, this patch replaces std::find with
llvm::is_contained.
Commit: 27983696a6d6caf8f90d77745598aeaec88b7009
https://github.com/llvm/llvm-project/commit/27983696a6d6caf8f90d77745598aeaec88b7009
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
Log Message:
-----------
[mlir] Use llvm::find (NFC) (#139757)
Commit: 85bbf8c887615b6b2c70353761fad8139d6ecbe8
https://github.com/llvm/llvm-project/commit/85bbf8c887615b6b2c70353761fad8139d6ecbe8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb] Use llvm::is_contained (NFC) (#139758)
Commit: 50316c1eb8ed189dc3a979d552b8b04b0730b287
https://github.com/llvm/llvm-project/commit/50316c1eb8ed189dc3a979d552b8b04b0730b287
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] Use llvm::binary_search (NFC) (#139760)
Commit: 4e604d46681f722b1def10ce72c89046dac39e63
https://github.com/llvm/llvm-project/commit/4e604d46681f722b1def10ce72c89046dac39e63
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/src/__support/GPU/utils.h
Log Message:
-----------
[libc][NFC] Add u64 shuffle helpers to GPU
Summary:
Precommit for later use.
Commit: 9ae3bce17543f92ce0237597cc66503d58cce317
https://github.com/llvm/llvm-project/commit/9ae3bce17543f92ce0237597cc66503d58cce317
Author: Bill Wendling <morbo at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang][counted_by] Add support for 'counted_by' on struct pointers (#137250)
The 'counted_by' attribute is now available for pointers in structs.
It generates code for sanity checks as well as
__builtin_dynamic_object_size()
calculations. For example:
struct annotated_ptr {
int count;
char *buf __attribute__((counted_by(count)));
};
If the pointer's type is 'void *', use the 'sized_by' attribute, which
works similarly to 'counted_by', but can handle the 'void' base type:
struct annotated_ptr {
int count;
void *buf __attribute__((sized_by(count)));
};
If the 'count' field member occurs after the pointer, use the
'-fexperimental-late-parse-attributes' flag during compilation.
Note that 'counted_by' cannot be applied to a pointer to an incomplete
type, because the size isn't known.
struct foo;
struct annotated_ptr {
int count;
struct foo *buf __attribute__((counted_by(count))); /* invalid */
};
Signed-off-by: Bill Wendling <morbo at google.com>
Commit: a3d2b7e2cb0fd421b0170721ed5becf099b53c5a
https://github.com/llvm/llvm-project/commit/a3d2b7e2cb0fd421b0170721ed5becf099b53c5a
Author: Jeremy Kun <jkun at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
R mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
R mlir/test/Dialect/Polynomial/attributes.mlir
R mlir/test/Dialect/Polynomial/canonicalization.mlir
R mlir/test/Dialect/Polynomial/ops.mlir
R mlir/test/Dialect/Polynomial/ops_errors.mlir
R mlir/test/Dialect/Polynomial/types.mlir
R mlir/test/IR/parser_dialect_loading.mlir
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/unittests/Dialect/CMakeLists.txt
R mlir/unittests/Dialect/Polynomial/CMakeLists.txt
R mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][polynomial] Remove polynomial dialect (#139766)
Cf. https://discourse.llvm.org/t/future-of-the-polynomial-dialect/86117
For posterity, the polynomial dialect development has moved to HEIR, and
as of this writing the different components can be found here:
-
https://github.com/google/heir/tree/a422f130fa42ed2acf319a1bd6e420b651863c03/lib/Dialect/Polynomial
-
https://github.com/google/heir/tree/a422f130fa42ed2acf319a1bd6e420b651863c03/lib/Transforms/PolynomialApproximation
-
https://github.com/google/heir/tree/a422f130fa42ed2acf319a1bd6e420b651863c03/lib/Transforms/LowerPolynomialEval
Commit: e9ce7527691ec2b3748895598cd5ee31ac644f3a
https://github.com/llvm/llvm-project/commit/e9ce7527691ec2b3748895598cd5ee31ac644f3a
Author: A. Jiang <de34 at live.cn>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__vector/vector_bool.h
M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
Log Message:
-----------
[libc++] Remove the constexpr `hash<vector<bool>>` extension (#132617)
libc++ makes the `hash<vector<bool, A>>::operator()` `constexpr` since
C++20, which is a conforming extension, but it was unintended.
This patch removes the extension, with an escape hatch macro for it, and
the escape hatch will be removed in the future. Test cases for
`constexpr` along with the assumption of hash values are moved to the
`libcxx/test/libcxx/` subdirectory.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 7460056a81fbf897fecfaaae7aa8cc515599ea97
https://github.com/llvm/llvm-project/commit/7460056a81fbf897fecfaaae7aa8cc515599ea97
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Parse/ParseObjc.cpp
M clang/test/SemaObjCXX/cxxoperator-selector.mm
Log Message:
-----------
[ObjC] Stop hard-coding the list of keywords that are allowed in selectors (#138952)
The design intent is that ObjC selector pieces can be arbitrary
keywords, including basic C keywords like `if`, and the grammar permits
this and makes it unambiguous.
Allow any token that has an identifier (except `__attribute__`) to be
part of a selector.
rdar://150383689
Commit: 2d57b6132588cd1676d817d120c2f49916227414
https://github.com/llvm/llvm-project/commit/2d57b6132588cd1676d817d120c2f49916227414
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for breakpoint types (#139792)
- Add unit test for breakpoint types for SourceBreakpoint,
FunctionBreakpoint and DataBreakpoint.
- Rename DataBreakpointInfo to DataBreakpoint.
- Fix some mapOptions for optional fields.
Commit: f965996cfbeb11b44eb2838a544284924e7fcfc3
https://github.com/llvm/llvm-project/commit/f965996cfbeb11b44eb2838a544284924e7fcfc3
Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
Log Message:
-----------
[Offload] Remove unused field IsBareKernel. (#139815)
Commit: 5f41928689125667cf645835fa9fefee97511d8a
https://github.com/llvm/llvm-project/commit/5f41928689125667cf645835fa9fefee97511d8a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/AST/OpenACCClause.cpp
Log Message:
-----------
[NFC][Clang] Add `setExprs` overload to reduce some code duplication (#139749)
Add a `setExprs` overload to `OpenACCClauseWithExprs` that allows
initializing the trailing storage to help eliminate some code
duplication in various subclass constructors.
Commit: 30b428aaa8e85ee307e3c0ef0ffb5c5092dbcb5f
https://github.com/llvm/llvm-project/commit/30b428aaa8e85ee307e3c0ef0ffb5c5092dbcb5f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/test/API/functionalities/unwind/frameless-faulted/Makefile
M lldb/test/API/functionalities/unwind/frameless-faulted/TestUnwindFramelessFaulted.py
Log Message:
-----------
[lldb] try re-enabling TestUnwindFramelessFaulted.py
on Linux with a small change to the Makefile to make
preprocessing the assembly code work.
Commit: b8ba9636f0f46a02ebe3ab369fe6b47703f45ba6
https://github.com/llvm/llvm-project/commit/b8ba9636f0f46a02ebe3ab369fe6b47703f45ba6
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/test/API/functionalities/unwind/frameless-faulted/TestUnwindFramelessFaulted.py
Log Message:
-----------
[lldb] don't run TestUnwindFramelessFaulted.py on Linux
I thought I could call $(CPP) to preprocess the assembly
file, but the aarch64-ubuntu bot runs this as clang -E and
it issues a warning and no output file, apparently,
build/bin/clang -E -o interrupt-and-trap-funcs.s /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/unwind/frameless-faulted/interrupt-and-trap-funcs.s
clang: warning: /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/unwind/frameless-faulted/interrupt-and-trap-funcs.s: 'assembler' input unused [-Wunused-command-line-argument]
/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang -g -O0 -c -o interrupt-and-trap-funcs.o interrupt-and-trap-funcs.s
clang: error: no such file or directory: 'interrupt-and-trap-funcs.s'
clang: error: no input files
Commit: c5331276cb24209f3e13a232d7b81c4e62c3fbd6
https://github.com/llvm/llvm-project/commit/c5331276cb24209f3e13a232d7b81c4e62c3fbd6
Author: Shoreshen <372660931 at qq.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
Log Message:
-----------
AMDGPU: Add sgpr bit convert tests (#136112)
Add inreg test for sgpr purpose
This is the second PR after
https://github.com/llvm/llvm-project/pull/135729.
To test sgpr inputs and outputs, using inreg cases for bit-conversions
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 62a6218adb42557099da06c57edca0713c0dd700
https://github.com/llvm/llvm-project/commit/62a6218adb42557099da06c57edca0713c0dd700
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilia-valid.s
Log Message:
-----------
[RISCV] Add a couple of more compress patterns for QC_E_ADDI (#139734)
Compress QC_E_ADDI to C_MV/C_ADDI16SP when possible.
Commit: 036d637a1dc7be4af6178d4a4df32adaffbd9015
https://github.com/llvm/llvm-project/commit/036d637a1dc7be4af6178d4a4df32adaffbd9015
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Assembler/amdgcn-unreachable.ll
Log Message:
-----------
[AMDGPU][Verifier] Allow llvm.amdgcn.unreachable after cs.chain (#139494)
Unreachable is transformed to llvm.amdgcn.unreachable() during exit
unification. Make sure the verifier tolerates this.
Commit: 866f1cd6a9146b3ee6ed012c0d90e02bc96d4e16
https://github.com/llvm/llvm-project/commit/866f1cd6a9146b3ee6ed012c0d90e02bc96d4e16
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/GH55509.cpp
Log Message:
-----------
[Clang] Stop changing DC when instantiating dependent friend specializations (#139436)
Since 346077aa, we began using the primary template's lexical
DeclContext for template arguments in order to properly instantiate a
friend definition.
There is a missed peculiar case, as in a friend template is specialized
within a dependent context. In this scenario, the primary template is
not a definition, whereas the specialization is. So the primary
template's DeclContext doesn't provide anything meaningful
for instantiation.
Fixes https://github.com/llvm/llvm-project/issues/139052
Commit: 691ca556e04dafa3d755e975ea3432fbfd4ca9ad
https://github.com/llvm/llvm-project/commit/691ca556e04dafa3d755e975ea3432fbfd4ca9ad
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
A llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
Log Message:
-----------
[RISCV] Emit .note.gnu.property section when Zicfiss-based shadow stack is enabled (#127036)
RISC-V Zicfiss-based shadow stack needs to let the linker/loader know if
the binary is built with the mechanism enabled to support proper
link-time/load-time management of this feature. The information is
encoded as a bit in the `.note.gnu.property` section. This patch
implements emitting the section for RISC-V targets when Zicfiss-based
shadow stack is enabled.
When Clang receives the `-fcf-protection=return` flag, it adds the
`hw-shadow-stack` attribute to LLVM functions, and adds a non-zero
valued attribute named `cf-protection-return` to the LLVM module it
generates. The backend depends on the `hw-shadow-stack` attributes to
generate Zicfiss-based shadow stack instructions for each function, but
at the module scope, the `cf-protection-return` attribute is a better
indication of whether the translation unit is built with Zicfiss-based
shadow stack enabled, so this patch emits the `.note.gnu.property`
section with the "Zicfiss-based shadow stack" bit toggled on when it
sees the `cf-protection-return` attribute.
Commit: 5a7e72d575cb2bd8fb171b58324fd2b0a39d5025
https://github.com/llvm/llvm-project/commit/5a7e72d575cb2bd8fb171b58324fd2b0a39d5025
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/test/CodeGen/Hexagon/fminmax-v67.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
Log Message:
-----------
Hexagon: sfmax/sfmin instructions are IEEE754-2019 (#139056)
The min/max instructions of Hexagon follow IEEE754-2019
minimumNumber/maximumNumber,
aka
FMINIMUMNUM and FMAXIMUMNUM
instead of
FMAXNUM and FMINNUM
Commit: 1a0b82563fc720d5bf9ea22b940c08c51cb9e7b1
https://github.com/llvm/llvm-project/commit/1a0b82563fc720d5bf9ea22b940c08c51cb9e7b1
Author: John Harrison <harjohn at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
Log Message:
-----------
[lldb-dap] Improving tests logging to understand CI failures. (#139311)
To improve logging this adjusts two properties of the existing tests:
* Forwards stderr from lldb-dap to the process in case errors are
reported to stderr.
* Adjusts `DebugAdapterServer.terminate` to close stdin and wait for the
process to exit instead of sending SIGTERM. Additionally, if we end up
with a non-zero exit status we now raise an error to note the unexpected
exit status.
With these changes, I did find one test case in
`TestDAP_console.test_diagnositcs` that was not waiting to ensure the
expected event had arrived by the time it performed an assert.
Commit: e29b70ee11c168475f15064c68c4a7e76c08d269
https://github.com/llvm/llvm-project/commit/e29b70ee11c168475f15064c68c4a7e76c08d269
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaWasm.h
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/test/CodeGen/builtins-wasm.c
M clang/test/Sema/builtins-wasm.c
Log Message:
-----------
[WebAssembly][Clang] Add __builtin_wasm_ref_is_null_extern (#139580)
I also fixed __builtin_wasm_ref_null_extern() to generate a diagnostic
when it gets an argument. It seems like `SemaRef.checkArgCount()` has a
bug that makes it unable to check for 0 args.
Commit: aef39f5dcb8b0c73cef4192c5d49a32de7d4ef44
https://github.com/llvm/llvm-project/commit/aef39f5dcb8b0c73cef4192c5d49a32de7d4ef44
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Clang][PGO][UserManual] Specify usage of -b flag (#139763)
llvm-profgen cannot accept the perf profiles collected without `-b` and
errors out with a message `"Invalid perf script input!"`.
This can also be validated from the code in function
`checkPerfScriptType()` in `tools/llvm-profgen/PerfReader.cpp.`
Commit: 0b490f11da245ad178bb4389cd8bfd858262aca6
https://github.com/llvm/llvm-project/commit/0b490f11da245ad178bb4389cd8bfd858262aca6
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A flang/test/Lower/OpenMP/Todo/taskloop-inreduction.f90
A flang/test/Lower/OpenMP/Todo/taskloop-reduction.f90
Log Message:
-----------
[FLANG][OpenMP][Taskloop] - Add testcase for reduction and in_reduction clause in taskloop construct (#139704)
Added a testcase for reduction and in_reduction clause in taskloop
construct.
Reduction and in_reduction clauses are not supported in taskloop so
below error is issued: "not yet implemented: Unhandled clause
REDUCTION/IN_REDUCTION in TASKLOOP construct"
Commit: 1377535d993ca9457978d0065dde59ccf1aca187
https://github.com/llvm/llvm-project/commit/1377535d993ca9457978d0065dde59ccf1aca187
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
A llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-fail.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-wave32.mir
Log Message:
-----------
[AMDGPU] si-peephole-sdwa: Fix cndmask vcc use for wave32 (#139541)
Before V_CNDMASK_B32_e64 gets converted to SDWA form, a conversion to
V_CNDMASK_B32_e32 occurs.
The vcc use of this instruction must be fixed into a vcc_lo use for wave32.
This fix only happens after the final conversion to the SDWA form. This led
to a compiler error in situations where the conversion to SDWA aborts.
Make sure that the vcc-fix gets applied even if the SDWA conversion is
not completed.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: fbeab2c391361eeaaa56fe13177dbdb446e2b6c9
https://github.com/llvm/llvm-project/commit/fbeab2c391361eeaaa56fe13177dbdb446e2b6c9
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/TableGen/Pattern.cpp
Log Message:
-----------
[mlir][drr] Use fully qualified name in getValueAndRangeUse (#139847)
Commit: ad2f7034a2823f2366e55a5758c1c623b9348746
https://github.com/llvm/llvm-project/commit/ad2f7034a2823f2366e55a5758c1c623b9348746
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for capabilities (#139835)
Add unit a test for the capabilities type.
Commit: 7e098bebeb4578aa7338995133ab206e6b7f4f31
https://github.com/llvm/llvm-project/commit/7e098bebeb4578aa7338995133ab206e6b7f4f31
Author: Shoreshen <372660931 at qq.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU] using loop to define data type convert patterns (#132899)
using loop to define data type convert patterns
Commit: f1c9128115f1cf8b9638513f85093837fa593f01
https://github.com/llvm/llvm-project/commit/f1c9128115f1cf8b9638513f85093837fa593f01
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
M flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
M flang/test/Semantics/OpenACC/acc-serial-loop.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Align async check for combined construct (#139744)
Align async clause check for combined construct to behave the same as
parallel, kernels and serial.
Commit: b4b5013aa3a3f830fc7f52a4a1892049f95875c6
https://github.com/llvm/llvm-project/commit/b4b5013aa3a3f830fc7f52a4a1892049f95875c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir] Use llvm::is_contained (NFC) (#139834)
Commit: bdf8c9984ae325b9934ec6051a853a29830af9e2
https://github.com/llvm/llvm-project/commit/bdf8c9984ae325b9934ec6051a853a29830af9e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/docs/resources/build.rst
M lldb/docs/resources/contributing.rst
M lldb/docs/resources/debugging.rst
M lldb/docs/resources/qemu-testing.rst
M lldb/docs/use/variable.rst
Log Message:
-----------
[lldb] Fix typos in documentation (#139839)
Commit: 301340ace64b7c741f14101ec84b3d8448b85cec
https://github.com/llvm/llvm-project/commit/301340ace64b7c741f14101ec84b3d8448b85cec
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Regroup declarations in `Parser` (#138511)
Following the steps of #82217, this patch reorganizes declarations in
`Parse.h`. Highlights are:
1) Declarations are grouped in the same fashion as in `Sema.h`. Table of
contents is provided at the beginning of `Parser` class. `public`
declaration go first, then `private` ones, but unlike `Sema`, most of
the stuff in `Parser` is private.
2) Documentation has been moved from `.cpp` files to the header. Grammar
was consistently put in `\verbatim` blocks to render nicely in Doxygen.
3) File has been formatted with clang-format, except for the grammar,
because clang-format butchers it.
Commit: 6c1bb48cc45396894597c8cb897c31205d1bdeb6
https://github.com/llvm/llvm-project/commit/6c1bb48cc45396894597c8cb897c31205d1bdeb6
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaInit.cpp
R clang/test/SemaCXX/libstdcxx_gets_hack.cpp
R clang/test/SemaCXX/libstdcxx_pointer_return_false_hack.cpp
Log Message:
-----------
[Clang] Remove workaround for libstdc++4.7 (#139693)
We document libstdc++4.8 as the minimum supported version, and we
carried a hack for `include/tr1/hashtable.h` fixed in 4.7.
Cleanup some libstdc++ compatibility comments.
Commit: b77109ff8c17cd20ac2c791761028a358c9e3447
https://github.com/llvm/llvm-project/commit/b77109ff8c17cd20ac2c791761028a358c9e3447
Author: JJ Marr <168750718+jj-marr at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ExprConstant.cpp
A clang/test/SemaCXX/consteval-assert.cpp
Log Message:
-----------
Better diagnostics when assertion fails in `consteval` (#130458)
Take this piece of code:
```cpp
#include <cassert>
consteval int square(int x) {
int result = x * x;
assert(result == 42);
return result;
}
void test() {
auto val = square(2);
}
```
The assertion will fail, and `clang++` will output
(https://godbolt.org/z/hjz3KbTTv):
```cpp
<source>:10:14: error: call to consteval function 'square' is not a constant expression
10 | auto val = square(2);
| ^
<source>:5:3: note: non-constexpr function '__assert_fail' cannot be used in a constant expression
5 | assert(result == 42);
| ^
/usr/include/assert.h:95:9: note: expanded from macro 'assert'
95 | : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION))
| ^
<source>:10:14: note: in call to 'square(2)'
10 | auto val = square(2);
| ^~~~~~~~~
/usr/include/assert.h:69:13: note: declared here
69 | extern void __assert_fail (const char *__assertion, const char *__file,
| ^
1 error generated.
Compiler returned: 1
```
This is confusing because it implies that the issue was using an
assertion in a constant-evaluted context, and not that the assertion
failed (`assert()` is OK in constant evaluation). This PR changes the
error message to:
```cpp
test.cpp:10:14: error: call to consteval function 'square' is not a constant expression
10 | auto val = square(2);
| ^
test.cpp:5:3: note: assertion failed in consteval context: 'result == 42'
5 | assert(result == 42);
| ^
/nix/store/lw21wr626v5sdcaxxkv2k4zf1121hfc9-glibc-2.40-36-dev/include/assert.h:102:9: note: expanded from macro 'assert'
102 | : __assert_fail (#expr, __ASSERT_FILE, __ASSERT_LINE, \
| ^
test.cpp:10:14: note: in call to 'square(2)'
10 | auto val = square(2);
| ^~~~~~~~~
1 error generated.```
Commit: 65eb5e8b87f2d5755988e3d0eee4461180298b4d
https://github.com/llvm/llvm-project/commit/65eb5e8b87f2d5755988e3d0eee4461180298b4d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaARM.cpp
Log Message:
-----------
[Sema] Use llvm::is_contained (NFC) (#139833)
Commit: c659a3be3bab9beb3b77343b2f50585e976b74a5
https://github.com/llvm/llvm-project/commit/c659a3be3bab9beb3b77343b2f50585e976b74a5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/vector
Log Message:
-----------
[libc++][C++03] Remove macros that expand to nothing (#134046)
This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 47c892a49136c68425e7ade08553598e63ef4e70
https://github.com/llvm/llvm-project/commit/47c892a49136c68425e7ade08553598e63ef4e70
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Headers/opencl-c-base.h
M clang/test/Headers/opencl-c-header.cl
Log Message:
-----------
[OpenCL] Add cl_ext_image_unsigned_10x6_12x4_14x2 extension (#134216)
Add the defines for the `cl_ext_image_unsigned_10x6_12x4_14x2`
extension.
Commit: 4554c852398d0f6e46950e9bc51f74aa1b11b29a
https://github.com/llvm/llvm-project/commit/4554c852398d0f6e46950e9bc51f74aa1b11b29a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Use IsNonNull op in visitBool() (#139846)
We don't need to emit the nullptr and compare to it anymore.
Commit: a6ae2237aad763c2abf90f28c247a084216a48b2
https://github.com/llvm/llvm-project/commit/a6ae2237aad763c2abf90f28c247a084216a48b2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid an implicit integer conversion (#139845)
getCharByteWidth() returns an unsigned.
Commit: cf16c97bfa1416672d8990862369e86f360aa11e
https://github.com/llvm/llvm-project/commit/cf16c97bfa1416672d8990862369e86f360aa11e
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
Log Message:
-----------
[Flang] Turn on alias analysis for locally allocated objects (#139682)
Previously, a bug in the MemCptOpt LLVM IR pass caused issues with
adding alias tags for locally allocated objects for Fortran code.
However, the bug has now been fixed (
https://github.com/llvm/llvm-project/pull/129537 ), and we can safely
enable alias tags for these objects. This change should improve the
accuracy of the alias analysis.
Commit: 0bda492ba12c391dff99b15cd4d0149049413ebf
https://github.com/llvm/llvm-project/commit/0bda492ba12c391dff99b15cd4d0149049413ebf
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
Log Message:
-----------
[MLIR] Cache symbol tables during OneShotBufferization analyses (#138125)
During bufferization, the callee of each `func::CallOp` / `CallableOpInterface` operation is retrieved by means of a symbol table that is temporarily built for the lookup purpose. The creation of the symbol table requires a linear scan of the operation body (e.g., a linear scan of the `ModuleOp` body). Considering that functions are typically called at least once, this leads to a scaling behavior that is quadratic with respect to the number of symbols. The problem is described in the following Discourse topic: https://discourse.llvm.org/t/quadratic-scaling-of-bufferization/86122/
This patch aims to partially address this scaling issue by leveraging the `SymbolTableCollection` class, whose instance is added to the `FuncAnalysisState` extension. Later modifications are also expected to address the problem in other methods required by `BufferizableOpInterface` (e.g., `bufferize` and `getBufferType`), which suffer of the same problem but do not provide access to any bufferization state.
Commit: 3a81979a3143da34f8430e0da74a4d7d7da0da8a
https://github.com/llvm/llvm-project/commit/3a81979a3143da34f8430e0da74a4d7d7da0da8a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBroadcast - use LoadSDNode::getBasePtr instead of raw getOperand() call. NFC. (#139747)
Commit: 86ba681e286d0a377830d2cbbc5e58bb5fad442c
https://github.com/llvm/llvm-project/commit/86ba681e286d0a377830d2cbbc5e58bb5fad442c
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/libstdcxx_format_kind_hack.cpp
Log Message:
-----------
[Clang][Sema] Disable checking invalid template id in initializer of primary variable template `std::format_kind` with libstdc++ (#139560)
#134522 triggers compilation error with libstdc++, in which primary
variable template `std::format_kind` is defined like
```cpp
template <typename R>
constexpr auto format_kind =
__primary_template_not_defined(
format_kind<R>
);
```
See #139067 or <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120190>.
This PR disables checking template id in initializer of primary variable
template `std::format_kind` in libstdc++ (by checking `__GLIBCXX__`).
Fixes #139067
Commit: d441d28083e2f9de5170f5a96a8e44a38d306c62
https://github.com/llvm/llvm-project/commit/d441d28083e2f9de5170f5a96a8e44a38d306c62
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
Log Message:
-----------
[clang][NFC] Fix indentation in a comment
Commit: 4e63e0457cc1f768c628e71a0786fdb8a6ec271e
https://github.com/llvm/llvm-project/commit/4e63e0457cc1f768c628e71a0786fdb8a6ec271e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-amount-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
Log Message:
-----------
[AMDGPU] Canonicalize G_ZEXT of the shift amount in RegBankCombiner (#131792)
Canonicalize it to a G_AND instead so that ISel patterns can pick it
up and ignore it, as the shift instructions only read low bits.
G_ZEXT would be lowered to a v/s_and anyway in most cases.
I'm also looking at making a DAG version of this in a separate patch.
Commit: 155e188d94c95b9f389912db2fb180ac8dd75a28
https://github.com/llvm/llvm-project/commit/155e188d94c95b9f389912db2fb180ac8dd75a28
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
Log Message:
-----------
[NVPTX] Add intrinsics and clang builtins for conversions of f4x2 type (#139244)
This change adds intrinsics and clang builtins for the cvt instruction
variants of type (FP4) `.e2m1x2`. introduced in PTX 8.6 for `sm_100a`,
`sm_101a`, and `sm_120a`.
Tests are added in `NVPTX/convert-sm100a.ll` and
`clang/test/CodeGen/builtins-nvptx.c` and verified through ptxas 12.8.0.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: b59fc5497d15220fcbd0a295f3c275f7e7223f92
https://github.com/llvm/llvm-project/commit/b59fc5497d15220fcbd0a295f3c275f7e7223f92
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Extract some process into a separate function (#137662)
This patch moves a process in `addLoopCarriedDependences` that checks
for a loop-carried dependency between two instructions to another
function. This patch is preliminary to a later patch and is not intended
to change current behavior.
Split off from #135148
Commit: 6b97a98e794fc35f26ed6ea5c91e30ff25f3ea55
https://github.com/llvm/llvm-project/commit/6b97a98e794fc35f26ed6ea5c91e30ff25f3ea55
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
Log Message:
-----------
[mlir][vector][nfc] Update comments in vector-transpose.mlir (#139699)
* Fixes comments (swaps incorrect `Test of FoldTransposeShapeCast` with
`Test of shape_cast folding`, and vice-versa).
* Replaces duplicate comments with block comments.
Commit: 97aa01bef770ec651c86978d137933e09221dd00
https://github.com/llvm/llvm-project/commit/97aa01bef770ec651c86978d137933e09221dd00
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb] Call Target::ClearAllLoadedSections earlier (#138892)
Minidump files contain explicit information about load addresses of
modules, so it can load them itself. This works on other platforms, but
fails on darwin because DynamicLoaderDarwin nukes the loaded module list
on initialization (which happens after the core file plugin has done its
work).
This used to work until #109477, which enabled the dynamic loader
plugins for minidump files in order to get them to provide access to
TLS.
Clearing the load list makes sense, but I think we could do it earlier
in the process, so that both Process and DynamicLoader plugins get a
chance to load modules. This patch does that by calling the function
early in the launch/attach/load core flows.
This fixes TestDynamicValue.py:test_from_core_file on darwin.
Commit: 8f91b108df21bee8ee64e88ffa7bdee230389800
https://github.com/llvm/llvm-project/commit/8f91b108df21bee8ee64e88ffa7bdee230389800
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Arith/bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-other.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-allow-return-allocs.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-force-copy-before-write.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
M mlir/test/Dialect/Bufferization/canonicalize.mlir
M mlir/test/Dialect/Bufferization/ops.mlir
M mlir/test/Dialect/ControlFlow/one-shot-bufferize.mlir
M mlir/test/Dialect/Linalg/bufferize.mlir
M mlir/test/Dialect/Linalg/hoisting.mlir
M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
M mlir/test/Dialect/SCF/bufferize.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-encodings.mlir
M mlir/test/Dialect/Shape/bufferize.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matvec_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_sampled_matmul_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_sddmm_lib.mlir
M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
M mlir/test/Dialect/SparseTensor/dense.mlir
M mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
M mlir/test/Dialect/SparseTensor/sorted_coo.mlir
M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_batch.mlir
M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir
M mlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
M mlir/test/Dialect/SparseTensor/sparse_nd.mlir
M mlir/test/Dialect/SparseTensor/sparse_outbuf.mlir
M mlir/test/Dialect/SparseTensor/sparse_pack.mlir
M mlir/test/Dialect/SparseTensor/sparse_parallel_reduce.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_scalars.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm_org.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_index.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm_bsr.mlir
M mlir/test/Dialect/SparseTensor/unused-tensor.mlir
M mlir/test/Dialect/SparseTensor/vectorize_reduction.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Vector/bufferize.mlir
M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
M mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
M mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir
M mlir/utils/tree-sitter-mlir/dialect/bufferization.js
M mlir/utils/tree-sitter-mlir/queries/highlights.scm
Log Message:
-----------
[mlir][bufferization][NFC] Rename to_memref to to_buffer (#137180)
As part of the work on transitioning bufferization dialect, ops, and
associated logic to operate on newly added type interfaces (see
00eaff3e9c897c263a879416d0f151d7ca7eeaff), rename the
bufferization.to_memref to highlight the generic nature of the op.
Bufferization process produces buffers while memref is a builtin type
rather than a generic term.
Preserve the current API (to_buffer still produces a memref), however,
as the new type interfaces are not used yet.
Commit: 019d7694df91d75322e3c19ebc2e1aa7d3120e02
https://github.com/llvm/llvm-project/commit/019d7694df91d75322e3c19ebc2e1aa7d3120e02
Author: anbbna <117081688+anbbna at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
A llvm/test/CodeGen/Mips/qnan.ll
Log Message:
-----------
[MIPS]Fix QNaNs in the MIPS legacy NaN encodings (#139829)
The MSB of the mantissa should be zero for QNaNs in the MIPS legacy NaN
encodings, and one for sNaNs.
Fix #100495
Commit: adabc83a92130e556d4d16adaee6e81e09fdf570
https://github.com/llvm/llvm-project/commit/adabc83a92130e556d4d16adaee6e81e09fdf570
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
M lldb/source/Symbol/FuncUnwinders.cpp
Log Message:
-----------
[lldb] Merge/unify ABI-provided AArch64 unwind plans (#139545)
The macos and sysv ABIs return functionally equivalent unwind plans, so
they can be implemented in the base AArch64 class. The only difference
between them was that the macos plan provided a "pc=lr" rule whereas the
sysv plan called SetReturnAddressRegister (which causes the unwind
machinery to act as if that rule was present). This difference was
enough to cause `CompareUnwindPlansForIdenticalInitialPCLocation` to
return a different value and break the (temporarily reverted)
TestUnwindFramelessFaulted test.
While merging the two functions, I couldn't stop myself from simplifying
them to use the generic register number schemes -- which exposed another
bug in CompareUnwindPlansForIdenticalInitialPCLocation, namely that it
was expecting all unwind plans to use the LLDB numbering scheme. This
patch fixes that as well.
Commit: 14836597f5d86ab16f426bc256dbcf7b2af0af71
https://github.com/llvm/llvm-project/commit/14836597f5d86ab16f426bc256dbcf7b2af0af71
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/lib/CodeGen/GCMetadata.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/GCMetadata.cpp
Log Message:
-----------
[GC] Use `MapVector` for `GCStrategyMap` (#132729)
Use `MapVector` so `GCStrategyMap` can support forward and reverse
iterator, which is required in `AsmPrinter`.
Commit: 82b179ca6621f2f0b7bc6062fddb1af663785041
https://github.com/llvm/llvm-project/commit/82b179ca6621f2f0b7bc6062fddb1af663785041
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Consider EMUL if it is unknown in EMULAndEEWAreEqual (#139670)
Fix https://github.com/llvm/llvm-project/issues/139288
Commit: ec406e86745af0a306870d3e4ce56325584f9b1e
https://github.com/llvm/llvm-project/commit/ec406e86745af0a306870d3e4ce56325584f9b1e
Author: David Green <david.green at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-const.mir
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Log Message:
-----------
[GlobalISel] Add a GISelValueTracker printing pass (#139687)
This adds a GISelValueTrackingPrinterPass that can print the known bits
and sign bit of each def in a function. It is built on the new pass
manager and so adds a NPM GISelValueTrackingAnalysis, renaming the older
class to GISelValueTrackingAnalysisLegacy.
The first 2 functions from the AArch64GISelMITest are ported over to an
mir test to show it working. It also runs successfully on all files in
llvm/test/CodeGen/AArch64/GlobalISel/*.mir that are not invalid. It can
hopefully be used to test GlobalISel known bits analysis more directly
in common cases, without jumping through the hoops that the C++ tests
requires.
Commit: 98683b0a48d438f757db4185bd0ddff329bab31d
https://github.com/llvm/llvm-project/commit/98683b0a48d438f757db4185bd0ddff329bab31d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Construct VPBlendRecipe from VPWidenPHIRecipe (NFC).
Update VPRecipeBuilder to construct VPBlendRecipe from VPWidenPHIRecipe,
starting to thread recipes through the builder instead of the
underlying IR instruction up-front.
Landing first part of approved
https://github.com/llvm/llvm-project/pull/139475 separately as NFC as
suggested.
Commit: bbc5221c95343d8d6869dce83d6fcf183767bd9f
https://github.com/llvm/llvm-project/commit/bbc5221c95343d8d6869dce83d6fcf183767bd9f
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[DAGCombiner] Fold pattern for srl-shl-zext (#138290)
Fold `(srl (lop x, (shl (zext y), c1)), c1) -> (lop (srl x, c1), (zext y))` where c1 <= leadingzeros(zext(y)).
This is equivalent of existing fold chain `(srl (shl (zext y), c1), c1) -> (and (zext y), mask) -> (zext y)`, but logical op in the middle prevents it from combining.
Profit : Allow to reduce the number of instructions.
---------
Signed-off-by: Alexander Peskov <apeskov at nvidia.com>
Commit: 06bf100386a3d4d70151a6a777d8f75a39678848
https://github.com/llvm/llvm-project/commit/06bf100386a3d4d70151a6a777d8f75a39678848
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2a-three-way-comparison.cpp
Log Message:
-----------
[C++20] Fix a crash with spaceship and vector types (#139767)
Vector types cannot be directly compared, you get an error when you try
to do so. This patch causes the explicitly defaulted spaceship operator
to be implicitly deleted.
Fixes #137452
Commit: a1664e5015b41098e7923ab302c9c1372caf7cbc
https://github.com/llvm/llvm-project/commit/a1664e5015b41098e7923ab302c9c1372caf7cbc
Author: Shoreshen <372660931 at qq.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
Log Message:
-----------
[AMDGPU] Remove verification failing cases due to bundle (#139868)
This is a fix up PR for https://github.com/llvm/llvm-project/pull/136112
There are test cases failing machine instruction verifier due to bundle
(see this
issue:https://github.com/llvm/llvm-project/issues/139102#issuecomment-2863620759)
Commit: 2070044c17242ad290665dc46bac5cd1c2b5e2c1
https://github.com/llvm/llvm-project/commit/2070044c17242ad290665dc46bac5cd1c2b5e2c1
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/sve2-bsl.ll
M llvm/test/CodeGen/AArch64/vselect-constants.ll
Log Message:
-----------
[LLVM][AArch64] Set hasAndNot() to true for scalable vectors. (#139755)
NOTE: I've not added an SVE check because the use of scalable vectors
implies SVE or StreamingSVE must be available.
Commit: a2a280e58c95f76185ab93c1b73cb1608318b699
https://github.com/llvm/llvm-project/commit/a2a280e58c95f76185ab93c1b73cb1608318b699
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M openmp/runtime/src/ompt-internal.h
M openmp/runtime/src/ompt-specific.h
Log Message:
-----------
[OpenMP] Fix __builtin_return_address calls for SPARC (#138520)
`libomp` uses `__builtin_return_address` in two places. However, on some
targets those calls need to wrapped in `___builtin_extract_return_addr`
to get at the actual return address. SPARC is among those targets and
the only one where `clang` actually implements this, cf. [[clang][Sparc]
Fix __builtin_extract_return_addr
etc.](https://reviews.llvm.org/D91607). `compiler-rt` needed the same
adjustment, cf. [[sanitizer_common][test] Enable tests on
SPARC](https://reviews.llvm.org/D91608). On other targets, this is a
no-op. However, there are more targets that have the same issue and
`gcc`, unlike `clang`, correctly implements it, so there might be issues
when building `libomp` with `gcc`.
This patch adds the necessary calls.
Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: ca912c7c08156e0c20cdd25f7cb0d3a277847a71
https://github.com/llvm/llvm-project/commit/ca912c7c08156e0c20cdd25f7cb0d3a277847a71
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
R llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
Revert bbc5221c95343d8d6869dce83d6fcf183767bd9f "[DAGCombiner] Fold pattern for srl-shl-zext" (#139876)
Reverts llvm/llvm-project#138290 due to buildbot failures in shift-opt.ll
Commit: b96c5df04e55396572a7c12cb6505f5a116072cb
https://github.com/llvm/llvm-project/commit/b96c5df04e55396572a7c12cb6505f5a116072cb
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
A llvm/test/CodeGen/Mips/unreachable.ll
Log Message:
-----------
[Mips] Add support of MipsInstrInfo::getNop() (#139863)
Fix compile crash when using __builtin_unreachable.
Fix #134913.
Commit: 3abd77ac157f87f2fa0c8083b9f27c1dd2896a25
https://github.com/llvm/llvm-project/commit/3abd77ac157f87f2fa0c8083b9f27c1dd2896a25
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
A clang/test/OpenMP/openmp_workshare.c
Log Message:
-----------
[clang][OpenMP] Treat "workshare" as unknown OpenMP directive (#139793)
The "workshare" construct is only present in Fortran. The common OpenMP
code does treat it as any other directive, but in clang we need to
reject it, and do so gracefully before it encounters an internal
assertion.
Fixes https://github.com/llvm/llvm-project/issues/139424
Commit: e06363f80f95b53a433762d0561741277521241e
https://github.com/llvm/llvm-project/commit/e06363f80f95b53a433762d0561741277521241e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/cancellation-construct-type.f90
Log Message:
-----------
[flang][OpenMP] Verify uses of OmpCancellationConstructTypeClause (#139743)
Some directive names can be used as clauses, for example in "cancel". In
case where a directive name is misplaced, it could be interpreted as a
clause.
Verify that such uses are valid, and emit a diagnostic message if not.
Fixes https://github.com/llvm/llvm-project/issues/138224
Commit: 8c67d2568124e8c1fcdef06e69e388ae489c728c
https://github.com/llvm/llvm-project/commit/8c67d2568124e8c1fcdef06e69e388ae489c728c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineGatherScatter - pull out repeated variables. NFC.
Commit: fb07683bc2402a75f6a5c568cdab195b695cd322
https://github.com/llvm/llvm-project/commit/fb07683bc2402a75f6a5c568cdab195b695cd322
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[NVPTX] Add baseline srl-shl-zext tests from #138290 (#139878)
Commit: cdabce0c1b84239e335406c6a8f0429577b7186a
https://github.com/llvm/llvm-project/commit/cdabce0c1b84239e335406c6a8f0429577b7186a
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Transforms/CompositePass.cpp
M mlir/test/Transforms/composite-pass.mlir
Log Message:
-----------
[MLIR] Remove extra 'any' from CompositePass inner pipeline string (#139877)
When a `CompositePass` is created programmatically, it incorrectly
prepends an extra `any` to the inner pipeline string. For example:
```c++
passManager.nestAny().addPass(createCompositeFixedPointPass(
"Pass1AndPass2",
[](OpPassManager &nestedPassManger) {
nestedPassManger.addPass(createPass1());
nestedPassManger.addPass(createPass2());
},
```
This would result in the following pipeline string:
```
any(composite-fixed-point-pass{max-iterations=3 name=Pass1AndPass2
pipeline=any(pass1,pass2)})
```
This commit fixes this issue, resulting in the pipeline string:
```
any(composite-fixed-point-pass{max-iterations=3 name=Pass1AndPass2
pipeline=pass1,pass2})
```
Commit: 2f2c327017598b16045b66c49e9a4c333d3b9dfe
https://github.com/llvm/llvm-project/commit/2f2c327017598b16045b66c49e9a4c333d3b9dfe
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[NFC][TableGen] Use StringRef in X86RecognizableInstr (#139648)
- Use `StringRef` instead of `std::string` in several functions.
- Fix some variable names to conform to LLVM coding standard.
- Use llvm::function_ref instead of function pointer for `handleOperand`
argument.
Commit: 7c57e82456c882b2e8cca728e3ff79030c9ae619
https://github.com/llvm/llvm-project/commit/7c57e82456c882b2e8cca728e3ff79030c9ae619
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[NFC][TableGen] Code cleanup in Record.h/cpp (#138876)
- Use range for loops in several places.
- Change some variable names to conform to LLVM coding standard.
- Use ListSeparator instead of manual code to generate comma interleaved
strings.
- Remove unnecessary copies in SETDAGOP evaluation in BinOpInit::Fold.
- Eliminate duplicated code in the 2 overloads of RecordVal::setValue.
- Use explicit type in some range for loops.
- Tested by verifying that all the .inc files generated by building all
the *CommonTableGen targets stay unchanged.
Commit: 8732d0f38961687b8d2f588d35f9164784660862
https://github.com/llvm/llvm-project/commit/8732d0f38961687b8d2f588d35f9164784660862
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
A llvm/test/CodeGen/SPIRV/global-var-name-align.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
Log Message:
-----------
[SPIRV] Don't add CPacked and Alignement decorations for Vulkan (#138711)
Packed structs get a different layout than a struct that is not packed.
This is handled by assigning different offset decoration when
appropriate. The `CPacked` decoration is not required, and is in fact
not valid when creating a shader.
Similaraly the alignment decoration is not allows when creating a
shader. We must avoid generating that decoration.
Fixes https://github.com/llvm/llvm-project/issues/138268
Commit: a31d7d1a2480708e665bd8556a5f0013f6350322
https://github.com/llvm/llvm-project/commit/a31d7d1a2480708e665bd8556a5f0013f6350322
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_cmath.h
Log Message:
-----------
[NFC] Typo in __clang_hip_cmath.h (#139892)
ambibuity -> ambiguity
Commit: 1914184e5c84d5e978512cfe790e3653a02bcb8e
https://github.com/llvm/llvm-project/commit/1914184e5c84d5e978512cfe790e3653a02bcb8e
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
A llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
Log Message:
-----------
Reland "[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV" (#139889)
This teaches ObjCARCContract to transform attachedcall bundles
referencing objc_retainAutoreleasedReturnValue to instead reference
objc_claimAutoreleasedReturnValue.
The only distinction between the two is that the latter is required to
be guaranteed to immediately follow the call it's attached to, and, by
construction, the bundles always achieve that by:
- not being separable from the call through IR and the backend
- not getting the marker emitted when claimARV is the attachedcall.
This is enabled only for arm64, arm64e, and arm64_32 on macOS13/iOS16
and related operating systems.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a
https://github.com/llvm/llvm-project/commit/7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Clear loaded sections even earlier
Follow-up to #138892 fixing breakage on windows. Calling
ClearAllLoadedSections earlier is necessary to avoid throwing out the
work done by the windows process plugin.
Commit: 7a9fd62278a2eab8160fa476c3a64e66786f99ad
https://github.com/llvm/llvm-project/commit/7a9fd62278a2eab8160fa476c3a64e66786f99ad
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
Log Message:
-----------
[VPlan] Use VPlan operand order for VPBlendRecipes. (#139475)
Don't use the order of incoming values of IR phis when creating
VPBlendRecipes. Instead, simply use the incoming operands and
blocks from the VPWidenPHIRecipe.
Note that this changes the order of the incoming operands/masks for some
blends.
PR: https://github.com/llvm/llvm-project/pull/139475
Commit: 6a125afdd586411e02f85f6cf078acbd855a2724
https://github.com/llvm/llvm-project/commit/6a125afdd586411e02f85f6cf078acbd855a2724
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc] Fix DyadicFloat::generic_as() using FPBits<float16> not FPBits<T> (#139899)
Commit: 5b9246517f8f82932f3a171c60b5d656f8f51cb0
https://github.com/llvm/llvm-project/commit/5b9246517f8f82932f3a171c60b5d656f8f51cb0
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
Log Message:
-----------
[LV] Fix ScalarIVSteps vplan pattern matcher, remove m_CanonicalIV() (#138298)
783a846 changed VPScalarIVStepsRecipe to take 3 arguments (adding
VF explicitly) instead of 2, but didn't change the corresponding
pattern matcher.
This matcher was only used in vputils::isHeaderMask, and no test
ever reached that function with a ScalarIVSteps recipe for the
value being matched -- it was always a WideCanonicalIV. So the
matcher bailed out immediately before checking arguments and
asserting that the number of arguments in the recipe was the
same provided by the matcher.
Since the constructors for ScalarIVSteps take 3 values, we should
be safe to update the matcher and guard it with a dedicated gtest.
m_CanonicalIV() on the other hand is removed; as a phi recipe it
may not have a consistent number of arguments to match, only
requiring one (the start value) when being constructed with the
assumption that a second incoming value is added for the backedge
later. In order to keep the matcher we would need to add multiple
matchers with different numbers of arguments for it depending on
what phase of vplan construction we were in, and ensure that we
never reorder matcher usage vs. vplan transformation. Since the
main IR PatternMatch.h doesn't contain any matchers for PHI nodes,
I think we can just remove it and match via m_Specific() using the
VPValue we get from Plan.getCanonicalIV().
Commit: 65a9a3d5b12449f4d32b4f6c01bcc421185a4bf6
https://github.com/llvm/llvm-project/commit/65a9a3d5b12449f4d32b4f6c01bcc421185a4bf6
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
A clang/test/SemaOpenACC/gh139894.cpp
Log Message:
-----------
[OpenACC] Fix asserts when checking clauses after invalid directive
When implementing the parsing for OpenACC I ensured that we could always
continue to do diagnostics/etc. For the most part, I was consistent
with that assumption throughout clause Sema, but in 3 cases I left in
some unreachables for cases where this would happen. I've now properly
handled all 3 in a reasonable way.
Fixes: #139894
Commit: f486cc4417059e47e5b6e18294bbacd767c04030
https://github.com/llvm/llvm-project/commit/f486cc4417059e47e5b6e18294bbacd767c04030
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Fir/vector-always.fir
M flang/test/Integration/unroll.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
Log Message:
-----------
[flang] Add loop annotation attributes to the loop backedge (#126082)
Flang currently adds loop metadata to a conditional branch in the loop
preheader, while clang adds it to the loop latch's branch instruction.
Langref says:
> Currently, loop metadata is implemented as metadata attached to the
branch instruction in the loop latch block.
>
> https://llvm.org/docs/LangRef.html#llvm-loop
I misread langref a couple times, but I think this is the appropriate
branch op for the LoopAnnotationAttr. In a couple examples I found that
the metadata was lost entirely during canonicalization. This patch makes
the codegen look more like clang's and the annotations persist through
codegen.
* current clang: https://godbolt.org/z/8WhbcrnG3
* current flang: https://godbolt.org/z/TrPboqqcn
Commit: edc9d91ca4957e3a7b2e10848f3c71fae765fe07
https://github.com/llvm/llvm-project/commit/edc9d91ca4957e3a7b2e10848f3c71fae765fe07
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
[libc++] Enable the GDB pretty printers for Clang (#135484)
The GDB pretty printer test works just fine with Clang in the CI now,
except that it breaks (not exactly unexpectedly) with optimizations
enabled.
Commit: 9ca8248a9173e7756fbeb7ec3562332639d36423
https://github.com/llvm/llvm-project/commit/9ca8248a9173e7756fbeb7ec3562332639d36423
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] Save ShuffleVectorExpr args as ConstantExpr (#139709)
The passed indices have to be constant integers anyway, which we verify
before creating the ShuffleVectorExpr. Use the value we create there and
save the indices using a ConstantExpr instead. This way, we don't have
to evaluate the args every time we call getShuffleMaskIdx().
Commit: c5229e92cefd5d25ffdb0dd5264e67e8ce0cdd5f
https://github.com/llvm/llvm-project/commit/c5229e92cefd5d25ffdb0dd5264e67e8ce0cdd5f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/source_tree_layout.rst
Log Message:
-----------
[libc] Fix typos in documentation (#139852)
Commit: 0eb8a92ce9a55059b06bf456b53971bb62246a9f
https://github.com/llvm/llvm-project/commit/0eb8a92ce9a55059b06bf456b53971bb62246a9f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
[OpenMP] Fix tentative parsing crash with metadirective (#139901)
There were two crashes that have the same root cause: not correctly
handling unexpected tokens. In one case, we were failing to return early
which caused us to parse a paren as a regular token instead of a special
token, causing an assertion. The other case was failing to commit or
revert the tentative parse action when not getting a paren when one was
expected.
Fixes #139665
Commit: 3302f9f63d1cba91b260212992caf6c895582f3b
https://github.com/llvm/llvm-project/commit/3302f9f63d1cba91b260212992caf6c895582f3b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Move release note to a better spot; NFC
Commit: 7e690db5157bfda1a2be3a99d16e8875a2d42b96
https://github.com/llvm/llvm-project/commit/7e690db5157bfda1a2be3a99d16e8875a2d42b96
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Introduce no local variable to avoid use after move (#139784)
Static analysis flagged the use of Left.size() because we just moved out
of Left and that would be undefined behavior. Fix is to take the size
and store it in a local variable instead.
Commit: 440e510b896be2ef4a4f0730b8201378beee55b3
https://github.com/llvm/llvm-project/commit/440e510b896be2ef4a4f0730b8201378beee55b3
Author: Fangyi Zhou <me at fangyi.io>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
A clang/test/Analysis/ftime-trace-no-init.cpp
Log Message:
-----------
[clang][analyzer] Fix a nullptr dereference when `-ftime-trace` is used (#139820)
Fixes #139779.
The bug was introduced in #137355 in `SymbolConjured::getStmt`, when
trying to obtain a statement for a CFG initializer without an
initializer. This commit adds a null check before access.
Commit: c2b9aa0e72616edf9f22e7df27295c259a6b8fc5
https://github.com/llvm/llvm-project/commit/c2b9aa0e72616edf9f22e7df27295c259a6b8fc5
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[docs][mlgo] Fix list formatting (#139922)
Fix after #139205
Commit: c632ac3506731e394dd7e3ac3f3320f5442250b4
https://github.com/llvm/llvm-project/commit/c632ac3506731e394dd7e3ac3f3320f5442250b4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
Log Message:
-----------
[SLP][NFC]Add a test with the gather operand in phi node in gathered loads
Commit: ee47454bb8be7f4cd1ecbd862c5a82d24ef696c7
https://github.com/llvm/llvm-project/commit/ee47454bb8be7f4cd1ecbd862c5a82d24ef696c7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][vector] Refactor `createWriteOrMaskedWrite` (#138137)
This patch updates `createWriteOrMaskedWrite` to make it consistent with
`createReadOrMaskedRead`.
Before diving into the details: note that these utilities are currently
implemented in different files — "VectorUtils.cpp" (Vector) and
"Vectorization.cpp" (Linalg). In a subsequent patch, I plan to move
`createWriteOrMaskedWrite` into "VectorUtils.cpp".
SUMMARY OF CHANGES:
The main change is to remove the logic that creates the destination
tensor, which previously looked like:
```cpp
Value dest = builder.create<tensor::EmptyOp>(loc, destSizes,
inputType.getElementType());
```
With this patch, createWriteOrMaskedWrite now simply generates:
```mlir
%res = vector.transfer_write %vectorToStore into %dest
```
This replaces the previous form:
```mlir
%dest = tensor.empty(%destSizes)
%res = vector.transfer_write %vectorToStore into %dest
```
In other words, the destination value `%dest` is now passed as an input
parameter. This makes `createWriteOrMaskedWrite` re-usable in contexts
where the destination tensor is already known — for example, in
`vectorizeAsInsertSliceOp`, which I will update in a follow-up patch.
OTHER CHANGES:
* Added comments and clarified TODOs.
* Updated tests: since destination sizes are now computed independently
inside `createWriteOrMaskedWrite`, some additional `tensor.dim` ops
appear. These will be cleaned up by CSE + canonicalization.
Commit: eac7466448f920e733f12beca28ff848cfa4810d
https://github.com/llvm/llvm-project/commit/eac7466448f920e733f12beca28ff848cfa4810d
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/LTO/LTOBackend.cpp
A llvm/test/ThinLTO/X86/cache-emit-asm.ll
Log Message:
-----------
[LTO] Fix a crash with thin LTO caching and asm output (#138203)
The `CacheStream::commit()` function (defined in Caching.cpp) deletes
the underlying raw stream. Some output streamers may hold a pointer
to it, which then will outlive the stream object.
In particular, MCAsmStreamer keeps the pointer to the raw stream
though a separate `formatted_raw_stream` object, which buffers data and
there is no path to explicitly flush this data. Before this change,
the buffered data was flushed during the MCAsmStreamer destructor.
After #136121, this happened after the `commit()` function is called.
Therefore, it caused a crash because the `formatted_raw_stream` object
tries to write the buffered data into a deleted raw stream. Even if
we don't delete the stream to avoid the crash, it would be too late
as the output stream cannot accept data after commit().
Fixes: #138194.
Commit: aa054c681059257d371857945c08840f69f68379
https://github.com/llvm/llvm-project/commit/aa054c681059257d371857945c08840f69f68379
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/eq.ll
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
M llvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/or.ll
Log Message:
-----------
[ConstraintElim] Simplify and/or instead of replacing its operand (#139874)
In `checkOrAndOpImpliedByOther`, replacing an operand of a disjoint or
is unsafe: https://alive2.llvm.org/ce/z/4R4hxN
This patch performs the simplification directly, to avoid miscompilation
and unnecessary canonicalization.
Closes https://github.com/llvm/llvm-project/issues/137937.
Commit: c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9
https://github.com/llvm/llvm-project/commit/c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
[llvm] properly guard dump methods in Support lib classes (#139804)
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.
## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.
NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.
## Background
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.
According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void dump() const;
#endif
```
## Validation
* Local release build succeeds.
* CI
Commit: 93f19cb00917303027be2013c48cf9b78ff453d6
https://github.com/llvm/llvm-project/commit/93f19cb00917303027be2013c48cf9b78ff453d6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp:1544:14: error:
unused variable 'destType' [-Werror,-Wunused-variable]
Commit: 998dca42351f3292512af56207b603dc2fef565b
https://github.com/llvm/llvm-project/commit/998dca42351f3292512af56207b603dc2fef565b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for protocol enum types (#139848)
Add dedicated unit tests for the protocol enum types.
Commit: 5fb9dca14aeaf12219ff149bf3a4f94c8dc58d8b
https://github.com/llvm/llvm-project/commit/5fb9dca14aeaf12219ff149bf3a4f94c8dc58d8b
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
Revert "[lldb] Call Target::ClearAllLoadedSections earlier (#138892)"
This reverts commit 97aa01bef770ec651c86978d137933e09221dd00 and
7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a due to failures on windows.
Commit: 899f26315cdae25addfd0ddbc6c9390bfbb74c3e
https://github.com/llvm/llvm-project/commit/899f26315cdae25addfd0ddbc6c9390bfbb74c3e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/CMakeLists.txt
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
A clang/docs/analyzer/user-docs/Options.rst.in
A clang/docs/tools/generate_analyzer_options_docs.py
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
A clang/test/Analysis/generate_analyzer_options_docs.test
M clang/test/lit.cfg.py
Log Message:
-----------
[NFC][analyzer] Document configuration options (#135169)
This commit documents the process of specifying values for the analyzer
options and checker options implemented in the static analyzer, and adds
a script which includes the documentation of the analyzer options (which
was previously only available through a command-line flag) in the
RST-based web documentation.
Commit: ba23eedc68ee1363ae8c31afc0f4b5071779eb0b
https://github.com/llvm/llvm-project/commit/ba23eedc68ee1363ae8c31afc0f4b5071779eb0b
Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/AsmParser/AsmParserImpl.h
M mlir/lib/AsmParser/Lexer.cpp
M mlir/lib/AsmParser/TokenKinds.def
M mlir/test/IR/parser.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][parser] Add token type and parser methods for forward slashes (#125056)
This adds a token for a forward slash to the token definition list and
the methods to `AsmParser::parseSlash()` and
`AsmParser::parseOptionalSlash()`, similar to other tokens used as
operators (e.g., star, plus, etc.). This allows implementations of
attributes that contain arithmetic expressions to support operators with
a forward slash, e.g., a division.
The newly added check tests trigger the parsing of a slash in an
attribute.
Commit: 9a0e1c79886ed95642b3400c0ec82f8a72d52ff6
https://github.com/llvm/llvm-project/commit/9a0e1c79886ed95642b3400c0ec82f8a72d52ff6
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
Revert "[llvm] properly guard dump methods in Support lib classes" (#139927)
Reverts llvm/llvm-project#139804
Commit: 26fbbfd98f56a065b415eb9bea88a20e4c44ab31
https://github.com/llvm/llvm-project/commit/26fbbfd98f56a065b415eb9bea88a20e4c44ab31
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/lib/AST/OpenACCClause.cpp
Log Message:
-----------
[NFC][Clang] Simplify getTrailingObjects for OpenACC/OpenMP Clause (#139838)
Simplify usage of `getTrailingObjects` for OpenACC/OpenMP Clause by
using either the non-templated form for single trailing types or using
the single argument form that returns an ArrayRef/MutableArrayRef.
Commit: 9d5d715330821b8dc1c2880a8d6356a7829eef64
https://github.com/llvm/llvm-project/commit/9d5d715330821b8dc1c2880a8d6356a7829eef64
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M bolt/include/bolt/Profile/Heatmap.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/heatmap-preagg.test
Log Message:
-----------
[BOLT][heatmap] Add synthetic hot text section (#139824)
In heatmap mode, report samples and utilization of the section(s)
between hot text markers `[__hot_start, __hot_end)`.
The intended use is with multi-way splitting where there are several
sections that contain "hot" code (e.g. `.text.warm` with CDSplit).
Addresses the comment on #139193
https://github.com/llvm/llvm-project/pull/139193#pullrequestreview-2835274682
Test Plan: updated heatmap-preagg.test
Commit: 31e981ca1dc323c8a32012cb60a0a8fe3985db1a
https://github.com/llvm/llvm-project/commit/31e981ca1dc323c8a32012cb60a0a8fe3985db1a
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[NFC][analyzer] Clarify that ExplodedGraph has only one root (#139903)
Previously the class `ExplodedGraph` had a data member called `Roots`
which could (in theory) store multiple root nodes -- but in practice
exploded graphs always had at most one root node (zero was possible for
empty and partially copied graphs) and introducing a graph with multiple
roots would've caused severe malfuncitons (e.g. in code that used the
pattern `*roots_begin()` to refer to _the_ root node).
I don't see any practical use case for adding multiple root nodes in a
single graph (this seems to be yet another of the "generalize for the
sake of generalization" decisions which were common in the early history
of the analyzer), so this commit replaces the vector `Roots` with
`ExplodedNode *Root` (which may be null when the graph is empty or under
construction).
Note that the complicated logic of `ExplodedGraph::trim` deserves a
through cleanup, but I left that for a follow-up commit.
Commit: 2422b1795f3c10edbd9db4cce2a5cd16f657ca17
https://github.com/llvm/llvm-project/commit/2422b1795f3c10edbd9db4cce2a5cd16f657ca17
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
Log Message:
-----------
[DebugInfo] Simplify a string comparison (NFC) (#139918)
Note that the lambda function we are in returns bool, so
FileZero.compare(FileOne) is equivalent to FileZero != FileOne in this
context.
Commit: bcf36548476191c74e88281e00a36a67eab7a278
https://github.com/llvm/llvm-project/commit/bcf36548476191c74e88281e00a36a67eab7a278
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
A llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Lower i64 load/stores to ld/sd with Zilsd. (#139808)
Don't split i64 load/store when we have Zilsd.
In the future, we should enhanced the LoadStoreOptimizer pass to do
this, but this is a good starting point. Even if we support it in
LoadStoreOptimizer, we might still want this for volatile loads/stores
to guarantee the use of Zilsd.
Commit: 441d382f9350c1345555c958244f252c00923824
https://github.com/llvm/llvm-project/commit/441d382f9350c1345555c958244f252c00923824
Author: John Harrison <harjohn at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/TransportTest.cpp
Log Message:
-----------
[lldb-dap] Adding unit tests for Transport. (#139926)
This adds basic support for testing the Transport class and includes
tests for 'Read' and 'Write'.
Commit: 4ac8e90df78354b06f7b4f8ffa135c1a1ee7e944
https://github.com/llvm/llvm-project/commit/4ac8e90df78354b06f7b4f8ffa135c1a1ee7e944
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/Driver/ppc-mrop-protection-support-check.c
Log Message:
-----------
[PPC] Disable rop-protect for 32-bit OS targets. (#139619)
The instructions are not supported on either 32-bit ELF (due to no
redzone) or 32-bit AIX due to the instructions always using the full
64-bit width of the register inputs.
Commit: f1ecff8f8890a5fd7c78ede648039a206d2dbd83
https://github.com/llvm/llvm-project/commit/f1ecff8f8890a5fd7c78ede648039a206d2dbd83
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
Log Message:
-----------
[libc++] Improve test coverage and readability for swap_ranges (#133752)
This patch enhances the test coverage of `{std,ranges}::swap_ranges` by
adding larger test cases with 100 elements across different containers.
It also inlines standalone tests for better readability, avoiding
unnecessary navigation.
This patch addresses a follow-up suggestion from PR #121138 to extend
test coverage beyond 3 elements.
Commit: 0afa62c169021ac56bc4c25b76604586f4bdae06
https://github.com/llvm/llvm-project/commit/0afa62c169021ac56bc4c25b76604586f4bdae06
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/test/Driver/ppc-mrop-protection-support-check.c
Log Message:
-----------
[NFC] Reduce number of run steps in ppc rop-protect test. (#139607)
Test was running both -mcpu=pwrN and -mcpu=powerN compile steps for
power N = 8, 9 and 10. Reduce to one run step for each form using power8
for one instance and power 10 for the other.
Commit: a3ba00a3dbc314794d8ca14d0c0993ef5a229069
https://github.com/llvm/llvm-project/commit/a3ba00a3dbc314794d8ca14d0c0993ef5a229069
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
Log Message:
-----------
[HLSL][NFC] Simplify resource constructors codegen tests (#139842)
Verification of the local allocas and load/store is not that useful and
it makes the test fragile.
Commit: bf0655f2080248a59aa2b79f2579798b8158869c
https://github.com/llvm/llvm-project/commit/bf0655f2080248a59aa2b79f2579798b8158869c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[RISCV] Improve casting between i1 scalable vectors and i8 fixed vectors for -mrvv-vector-bits (#139190)
For i1 vectors, we used an i8 fixed vector as the storage type.
If the known minimum number of elements of the scalable vector type is
less than 8, we were doing the cast through memory. This used a load or
store from a fixed vector alloca. If is less than 8, DataLayout
indicates that the load/store reads/writes vscale bytes even if vscale
is known and vscale*X is less than or equal to 8. This means the load or
store is outside the bounds of the fixed size alloca as far as
DataLayout is concerned leading to undefined behavior.
This patch avoids this by widening the i1 scalable vector type with zero
elements until it is divisible by 8. This allows it be bitcasted to/from
an i8 scalable vector. We then insert or extract the i8 fixed vector
into this type.
Hopefully this enables #130973 to be accepted.
Commit: 80fa6214821582511c687d00a484929530df1661
https://github.com/llvm/llvm-project/commit/80fa6214821582511c687d00a484929530df1661
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
Log Message:
-----------
[DirectX] Set shader feature flags MinimumPrecision and NativeLowPrecision, and refactor the logic for setting low-precision-related flags (#139623)
Fixes #138997 and does refactoring for low-precision-related flags.
The shader feature flags MinimumPrecision and NativeLowPrecision were
not being set, leading to validation errors.
This PR sets these shader feature flags [as in
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/377c4ca6d82adb83bf2eaf978a7040443848d6fd/lib/DXIL/DxilShaderFlags.cpp#L58-L63)
and adds tests for them.
This PR also performs some refactoring of low-precision-related flags to
make it less confusing.
- The `UseNativeLowPrecision` DXIL module flag has been renamed to
`NativeLowPrecisionMode` to imply that it is setting some execution
state which the module should be interpreted with
- The LLVM module flag `dx.nativelowprec` is now read only once and sets
a bool to be used by `updateFunctionFlags()` and for setting the DXIL
module flag `NativeLowPrecisionMode`
- The `MinimumPrecision`, `NativeLowPrecision`, and
`LowPrecisionPresent` shader feature flags are all set together under
`updateFunctionFlags()`
- Moved the logic for setting DXIL module flags `NativeLowPrecisionMode`
and `ResMayNotAlias` out of the per-function loop and placed it
alongside the logic for setting other DXIL module flags
(`DisableOptimizations`, `Max64UAVs`, and `UAVsAtEveryStage` flags)
---------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 47144a0dc1f987981da14c18af9dbf962a6eb9c7
https://github.com/llvm/llvm-project/commit/47144a0dc1f987981da14c18af9dbf962a6eb9c7
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[CloneFunction][DebugInfo] Ensure DILocalVariables of inlined functions are not cloned (NFC) (#138590)
This change was separated from
https://github.com/llvm/llvm-project/pull/119001.
When cloning functions, use IdentityMDPredicate to ensure that if
DISubprogram is not cloned, then its DILocalVariables are not cloned
either.
This is currently expected to be an NFC, as DILocalVariables only
reference their subprograms (via DILocalScopes) and types, and inlined
DISubprograms and DITypes are not cloned. Thus, DILocalVariables are
mapped to self in ValueMapper (in mapTopLevelUniquedNode).
However, it will be needed for the original PR
https://github.com/llvm/llvm-project/pull/119001, where a
DILocalVariable may refer to a local type of a DISubprogram that is
being cloned. In that case, ValueMapper will clone DILocalVariable even
if it belongs to an inlined DISubprogram that is not cloned, which
should be avoided.
I'm making this change into a separate PR to make the original PR a bit
smaller, and because this has more to do with variables than with types.
Commit: baf2cfa299ea62f3bdb717c8f464f824257527ff
https://github.com/llvm/llvm-project/commit/baf2cfa299ea62f3bdb717c8f464f824257527ff
Author: Fangyi Zhou <me at fangyi.io>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
R clang/test/Analysis/ftime-trace-no-init.cpp
Log Message:
-----------
Revert "[clang][analyzer] Fix a nullptr dereference when `-ftime-trace` is used" (#139936)
Reverts llvm/llvm-project#139820
Reverting due to buildbot failures in asan
Commit: 28d732a24ef06bab3a2cd6c17975281155f63cd6
https://github.com/llvm/llvm-project/commit/28d732a24ef06bab3a2cd6c17975281155f63cd6
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/tools/debugserver/source/CMakeLists.txt
Log Message:
-----------
[lldb][cmake] Set `CMAKE_OSX_SYSROOT` when building debugserver with CMake 4 (#138020)
CMake 4 no longer sets the `CMAKE_OSX_SYSROOT` variable by default. If
you've updated to CMake 4 on macOS (e.g. with brew) and try building
LLDB with CMake/ninja, this will yield an error when building
debugserver that clang is unable to run since it tries to compile files
that don't exist.
These files are supposed to be generated by the `mig` process. `mig`
needs the `CMAKE_OSX_SYSROOT` variable in order to work and without it,
it silently fails to generate the files that later on need to be
compiled.
This commit sets this SDK path for mig and will fatal error out of config
when building debugserver without having set CMAKE_OSX_SYSROOT.
Commit: db099f14d9c80110beb4c1999cfdec7a08ae462d
https://github.com/llvm/llvm-project/commit/db099f14d9c80110beb4c1999cfdec7a08ae462d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lld/docs/ELF/warn_backrefs.rst
M lld/docs/windows_support.rst
Log Message:
-----------
[lld] Fix typos in documentation (#139854)
Commit: cf552a1d82650f9ea4a03e0467d0ca64dbc3e5c4
https://github.com/llvm/llvm-project/commit/cf552a1d82650f9ea4a03e0467d0ca64dbc3e5c4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Log Message:
-----------
[LIR] Simplify processLoopStridedStore [nfc]
Just move the assertions and exits down under the existing if clauses.
This improves readability.
Commit: 6049db08fa5005c9535b22da0e07993395129f29
https://github.com/llvm/llvm-project/commit/6049db08fa5005c9535b22da0e07993395129f29
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/ThinLTO/X86/cache-emit-asm.ll
Log Message:
-----------
[LTO] Use llvm-lto2 instead of lld in the test (#139928)
This is a follow-up to #138203. The added test used lld but lld is not
always available, which breaks builds. Make the test use llvm-lto2. Also
make the test a bit more similar to other tests in the same directory.
Commit: a05cf2927aab2494740853e6f4bd98591382e11c
https://github.com/llvm/llvm-project/commit/a05cf2927aab2494740853e6f4bd98591382e11c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use WeakTrackVH instead of Instruction in EntryToLastInstruction
Use WEakTrackVH to prevent instability in the vectorizer.
Fixes #139729
Commit: 539265b9044f8cda513e5e65d11f2630a32176cf
https://github.com/llvm/llvm-project/commit/539265b9044f8cda513e5e65d11f2630a32176cf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
Log Message:
-----------
[lldb] Simplify a string comparison (NFC) (#139932)
Commit: d47cd5008bae7c4159dac1f92d266ddeeb70f55d
https://github.com/llvm/llvm-project/commit/d47cd5008bae7c4159dac1f92d266ddeeb70f55d
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/blockaddress.mlir
Log Message:
-----------
[MLIR][LLVM] Fix blockaddress mapping to LLVM blocks (#139814)
After each function is translated, both value and block maps are erased,
which makes the current mapping of blockaddresses to llvm blocks broken
- the patching happens only after *all* functions are translated.
Simplify the overall mapping, update comments, variable names and fix
the bug.
---------
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: b434bc4e90c2b83156871e7b4e12f04447930b9c
https://github.com/llvm/llvm-project/commit/b434bc4e90c2b83156871e7b4e12f04447930b9c
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR][NFC] Remove redundant pointer casts (#139898)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1609
Commit: 8c435886aaee7619314edac9b142ef6fb2dd935f
https://github.com/llvm/llvm-project/commit/8c435886aaee7619314edac9b142ef6fb2dd935f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
R libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/common.h
A libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
Log Message:
-----------
[libc++] Refactor and add benchmark coverage for [alg.sort] (#128236)
This patch adds missing benchmark coverage for partial_sort,
partial_sort_copy, is_sorted and is_sorted_until.
It also refactors the existing benchmarks for sort and stable_sort to
follow the consistent style of the new algorithm benchmarks. However,
these benchmarks were notoriously slow to run since they tested multiple
data patterns on multiple data types. To try to alleviate this, I
reduced the benchmarks to only run on integral types and on a single
non-integral type, which should faithfully show how the algorithm
behaves for anything non-integral. However, this is technically a
reduction in coverage.
Commit: 61c1f6d7e84f1213bd727437a7ec5b7fc5eaf121
https://github.com/llvm/llvm-project/commit/61c1f6d7e84f1213bd727437a7ec5b7fc5eaf121
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Warn if LLVM_PROFDATA_FILE was specified but wasn't found (#139882)
Ideally we should perhaps even error out here; if the user requested
building with profiling info, but that profile wasn't found, it seems
like the build configuration is subtly broken, and I would expect the
user to want to know about it. But that may be a too disruptive change,
as users may very well rely on being able to build things in such a
setup anyway thanks to Hyrum's Law.
To make things clearer, at least print a warning in this case.
Commit: 6ed05ed773f9ab1aa31c86d55254884ce48f0915
https://github.com/llvm/llvm-project/commit/6ed05ed773f9ab1aa31c86d55254884ce48f0915
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] linearize vector.insert_strided_slice (flatten to vector.shuffle) (#138725)
Extends the set of vector operations that we can linearize to include
vector.insert_strided_slice. The new pattern reuses the ideas from
vector.extract_strided_slice linearization.
Commit: e1b3af6dc4362c5281abf255c4078992ce64ad33
https://github.com/llvm/llvm-project/commit/e1b3af6dc4362c5281abf255c4078992ce64ad33
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/double-mem.ll
Log Message:
-----------
[RISCV] Add isel patterns to use Zilsd for f64 load/store for Zdinx on RV32. (#139935)
Commit: 76d866f7935b746e5e50e7d760344c14502bd8e7
https://github.com/llvm/llvm-project/commit/76d866f7935b746e5e50e7d760344c14502bd8e7
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/dllexport.c
M clang/test/CodeGen/dllimport.c
M clang/test/CodeGen/dso-local-executable.c
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-members.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
Log Message:
-----------
[Cygwin] Global symbols should be external by default (#139797)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.
Divided from https://github.com/llvm/llvm-project/pull/138773
Commit: a3d52ea99e1438d6cd39de2eb27e43ac27700bf7
https://github.com/llvm/llvm-project/commit/a3d52ea99e1438d6cd39de2eb27e43ac27700bf7
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CodeGenCXX/dllexport-missing-key.cpp
M clang/test/CodeGenCXX/dllimport-missing-key.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/rtti-mingw64.cpp
M clang/test/CodeGenCXX/virt-dtor-key.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
Log Message:
-----------
[Cygwin] RTTI and VTable should be dllexport-ed (#139798)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.
Divided from https://github.com/llvm/llvm-project/pull/138773
Commit: cb53ece2cab0096539e6a5c9d53da4e5db5cc270
https://github.com/llvm/llvm-project/commit/cb53ece2cab0096539e6a5c9d53da4e5db5cc270
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CodeGenCXX/dllexport-members.cpp
M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
Log Message:
-----------
[Cygwin] Template instantiations should be exported by default (#139799)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.
Divided from https://github.com/llvm/llvm-project/pull/138773
Commit: b6c7d7c879032e8e04686f257a3494d3672051cc
https://github.com/llvm/llvm-project/commit/b6c7d7c879032e8e04686f257a3494d3672051cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
Log Message:
-----------
[RISCV] Tweak zdinx-large-spill.mir so it tests what it was intended to. NFC
Commit: 03697cf8fce89e8841c67543aa0e4ecebe91387e
https://github.com/llvm/llvm-project/commit/03697cf8fce89e8841c67543aa0e4ecebe91387e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir] Use llvm::find_if (NFC) (#139912)
Commit: 5ee67ee6bc45979eb81b087c6a700573e2ab61db
https://github.com/llvm/llvm-project/commit/5ee67ee6bc45979eb81b087c6a700573e2ab61db
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Code cleanup in FastISelEmitter.cpp (#139644)
- Use StringRef instead of std::string for `InstructionMemo::Name`.
- Use range for loops, zip_equal and structured bindings in loops.
- Use llvm::any_of instead of manual loops.
- Use ListSeparator.
- Remove {} around single-line if-else chains.
- Use ArrayRef<> instead of const vector reference for function args.
- Change `getLegalCName` to accept a `StringRef` to avoid
StringRef->std::string casting in several places.
- Use StringRef instead of std::string for `OpcodeName` (and in
associated maps).
Tested by verifying no changes in .inc files with and without this
change.
Commit: 3138f6cc8c3378731aad966bf63cb5d54fb9e2ea
https://github.com/llvm/llvm-project/commit/3138f6cc8c3378731aad966bf63cb5d54fb9e2ea
Author: Peng Chen <pchen7e2 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A mlir/test/mlir-tblgen/cpp-class-comments.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/CMakeLists.txt
A mlir/tools/mlir-tblgen/CppGenUtilities.cpp
A mlir/tools/mlir-tblgen/CppGenUtilities.h
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[MLIR] Generate cpp comments for TableGen summary and description (#139606)
This commit takes the `summary` and `description` of TableGen files and
generate a cpp comments on top of the declarations of generated cpp
classes.
The main motivation is to improve the developer experience. When people
work on compilers from an IDE, they will be able to hover over the
symbols (e.g. `"ADialect::BOp"`) in their cpp code and see the summary
and descriptions without having to referring to the `.td` files.
Commit: e24d8662e8121a22c4629071692bd114c3ff8b42
https://github.com/llvm/llvm-project/commit/e24d8662e8121a22c4629071692bd114c3ff8b42
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M bolt/test/X86/callcont-fallthru.s
Log Message:
-----------
[BOLT][test] Disable PLT check in callcont-fallthru (#139953)
Some testing configurations don't support `nm --synthetic` option (where
nm is a symlink to llvm-nm), which prevents us from resolving `puts at plt`
symbol address in profile generation inside the test.
Disable the check until llvm-nm support is landed (#138232).
Test Plan: bin/llvm-lit -a tools/bolt/test/X86/callcont-fallthru.s
Commit: 0563186a76ddf51b8a7b6eaf0357c224f2625df8
https://github.com/llvm/llvm-project/commit/0563186a76ddf51b8a7b6eaf0357c224f2625df8
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
[llvm] properly guard dump methods in Support lib classes (#139938)
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.
## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.
NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.
## Background
This PR is a redo of #139804 with some changes to fix clang and unit
test build breaks.
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.
According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void dump() const;
#endif
```
## Validation
* Local release build succeeds.
* CI
Commit: 0ab67ec191673a148d84f3819f5c97aaa5b84364
https://github.com/llvm/llvm-project/commit/0ab67ec191673a148d84f3819f5c97aaa5b84364
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/EVLIndVarSimplify.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/EVLIndVarSimplify.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/evl-iv-simplify.ll
Log Message:
-----------
[LV][EVL] Introduce the EVLIndVarSimplify Pass for EVL-vectorized loops (#131005)
When we enable EVL-based loop vectorization w/ predicated tail-folding,
each vectorized loop has effectively two induction variables: one
calculates the step using (VF x vscale) and the other one increases the
IV by values returned from experiment.get.vector.length. The former,
also known as canonical IV, is more favorable for analyses as it's
"countable" in the sense of SCEV; the latter (EVL-based IV), however, is
more favorable to codegen, at least for those that support scalable
vectors like AArch64 SVE and RISC-V.
The idea is that we use canonical IV all the way until the end of all
vectorizers, where we replace it with EVL-based IV using EVLIVSimplify
introduced here. Such that we can have the best from both worlds.
This Pass is enabled by default in RISC-V. However, since we haven't
really vectorize loops with predicate tail-folding by default, this Pass
is no-op at this moment.
Commit: 864f0ff4efc220609764a3075c289b395dc9b907
https://github.com/llvm/llvm-project/commit/864f0ff4efc220609764a3075c289b395dc9b907
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-wasm.c
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Assembler/autoupgrade-thread-pointer.ll
M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-array.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-compat.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
M llvm/test/Transforms/SafeStack/AArch64/abi.ll
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[clang][IR] Overload @llvm.thread.pointer to support non-AS0 targets (#132489)
Thread-local globals live, by default, in the default globals address
space, which may not be 0, so we need to overload @llvm.thread.pointer
to support other address spaces, and use the default globals address
space in Clang.
Commit: d46458c11b4ea7906e1d02d598af2033df98f80e
https://github.com/llvm/llvm-project/commit/d46458c11b4ea7906e1d02d598af2033df98f80e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
Log Message:
-----------
[llvm-exegesis] Disable test
This patch disables the skip unsupported instructions test on AArch64. On
machines that have hardware support for pointer authentication the test will
try and disable certain features, but currently fails depending upon the
configuration.
Commit: e8b2c3176a9adf3c3a6b9cb78e2fb140dbdbf71a
https://github.com/llvm/llvm-project/commit/e8b2c3176a9adf3c3a6b9cb78e2fb140dbdbf71a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/M68k/CMakeLists.txt
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.h
M llvm/lib/Target/M68k/M68kInstrInfo.td
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.cpp
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.h
M llvm/lib/Target/M68k/M68kSubtarget.cpp
M llvm/lib/Target/M68k/M68kSubtarget.h
Log Message:
-----------
[M68k] TableGen-erate SDNode descriptions (#139449)
This consolidates node definitions into one place and enables automatic
node verification.
Part of #119709.
Commit: a608b4914209f4238fe83a6b5fa8fd7219f11115
https://github.com/llvm/llvm-project/commit/a608b4914209f4238fe83a6b5fa8fd7219f11115
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
Log Message:
-----------
[llvm] clang-format llvm/CodeGen/Passes.h (#139951)
Reformat a few header files under llvm/include/llvm/CodeGen/Passes.h
with clang-format in preparation for a codemod.
This is just a formatting change; no functionality is impacted.
Commit: 960afcc90e8fb75b725ed331f4bc60eb2398d6e5
https://github.com/llvm/llvm-project/commit/960afcc90e8fb75b725ed331f4bc60eb2398d6e5
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
[clang][modules] Timestamp-less validation API (#138983)
Timestamps are an implementation detail of the cross-process module
cache implementation. This PR hides it from the `ModuleCache` API, which
simplifies the in-process implementation.
Commit: 0dd2c9f7a3f42138da0b8ed4fea80470ea7a510f
https://github.com/llvm/llvm-project/commit/0dd2c9f7a3f42138da0b8ed4fea80470ea7a510f
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
Fix-forward build error from #132489
Replace deprecated use of getDeclaration that was added in #132489
llvm/lib/IR/AutoUpgrade.cpp:1480:26: error: 'getDeclaration' is deprecated: Use getOrInsertDeclaration instead [-Werror,-Wdeprecated-declarations]
1480 | NewFn = Intrinsic::getDeclaration(
| ^~~~~~~~~~~~~~
| getOrInsertDeclaration
Commit: 21f1a616d60934953de3f304aafcad968e770b0a
https://github.com/llvm/llvm-project/commit/21f1a616d60934953de3f304aafcad968e770b0a
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
Log Message:
-----------
[mlir][vector] Additional transpose folding (#138347)
Fold transpose with unit-dimensions. Seen in the wild:
```
%0 = vector.transpose %arg, [0, 2, 1, 3] : vector<6x1x1x4xi8> to vector<6x1x1x4xi8>
```
This transpose can be folded because (1) it preserves the shape and (2)
the shuffled dims are unit extent.
Also addresses comment about static vs anonymous namespace:
https://github.com/llvm/llvm-project/pull/135841#discussion_r2071869067
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: 847561e48f4e00f69ceaa3b25ca6ad2138fbbb83
https://github.com/llvm/llvm-project/commit/847561e48f4e00f69ceaa3b25ca6ad2138fbbb83
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX] Further refactor intrinsic definitions to remove redundancy (NFC) (#139924)
Note: the diff indicates this change has no impact on the intrinsic code
generated by table-gen.
Commit: 1043810769a5efcbf5d1f468dc48ddcc289c5b32
https://github.com/llvm/llvm-project/commit/1043810769a5efcbf5d1f468dc48ddcc289c5b32
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
R offload/test/offloading/gpupgo/pgo1.c
R offload/test/offloading/gpupgo/pgo2.c
A offload/test/offloading/gpupgo/pgo_atomic_teams.c
A offload/test/offloading/gpupgo/pgo_atomic_threads.c
A offload/test/offloading/gpupgo/pgo_device_and_host.c
A offload/test/offloading/gpupgo/pgo_device_only.c
Log Message:
-----------
[PGO][Offload] Update PGO GPU tests (#132262)
Commit: 1778d3b8245b9a7787bbd0b00f60f879ed4689c9
https://github.com/llvm/llvm-project/commit/1778d3b8245b9a7787bbd0b00f60f879ed4689c9
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir] [vector] Add linearization pattern for vector.create_mask (#138214)
This PR is a breakdown [3 / 4] of the PR #136193
The PR adds linearization patterns for vector.create_mask
Commit: d0a6b2f4c093f085f861f0f91767091e561bcec0
https://github.com/llvm/llvm-project/commit/d0a6b2f4c093f085f861f0f91767091e561bcec0
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
Log Message:
-----------
[gn] port 3bdfa6f3e8eb
Commit: 3a9992d248b510428d31a6ba644a673fe5c9683e
https://github.com/llvm/llvm-project/commit/3a9992d248b510428d31a6ba644a673fe5c9683e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn] port ec406e86745af
Commit: 87e6f1d7eba26e724c2824353edb48b3d9269957
https://github.com/llvm/llvm-project/commit/87e6f1d7eba26e724c2824353edb48b3d9269957
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0ab67ec19167
Commit: 699a2f188d77a273312a68ae8bae60606559c860
https://github.com/llvm/llvm-project/commit/699a2f188d77a273312a68ae8bae60606559c860
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 14836597f5d8
Commit: 8b53ada2422a350397cbe4058f8cd8c21a5137a5
https://github.com/llvm/llvm-project/commit/8b53ada2422a350397cbe4058f8cd8c21a5137a5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 5b9246517f8f
Commit: 41fcd7e78be0dac2c8d984afce341b5223703a8a
https://github.com/llvm/llvm-project/commit/41fcd7e78be0dac2c8d984afce341b5223703a8a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/ADT/BitmaskEnum.h
M llvm/unittests/ADT/BitmaskEnumTest.cpp
Log Message:
-----------
[ADT] Add operator! to BitmaskEnum (#139958)
Add a logical (boolean) "not" operator.
Commit: 18b885f66babff3a10451bc811ffc077d61ed8ee
https://github.com/llvm/llvm-project/commit/18b885f66babff3a10451bc811ffc077d61ed8ee
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
Revert "[clang][modules] Timestamp-less validation API" (#139987)
Reverts llvm/llvm-project#138983
Commit: 34be80aa6edda60e240e4ea46f28b1b54ababf72
https://github.com/llvm/llvm-project/commit/34be80aa6edda60e240e4ea46f28b1b54ababf72
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/lib/ExecutionEngine/JitRunner.cpp
R mlir/test/mlir-runner/verify-entry-point-result.mlir
A mlir/test/mlir-runner/verify-entry-point.mlir
Log Message:
-----------
[mlir-runner] Check entry function does not expect arguments (#136825)
This PR fixes a crash if entry function has inputs. Fixes #136143.
Commit: 520773b47eba0df02730b929df073e1a38474bae
https://github.com/llvm/llvm-project/commit/520773b47eba0df02730b929df073e1a38474bae
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
Log Message:
-----------
[HLSL] Add resource constructor with implicit binding for global resources (#138976)
Adds constructor for resources with implicit binding and applies it to
all resources without binding at the global scope.
Adds Clang builtin function
`__builtin_hlsl_resource_handlefromimplicitbinding` that gets translated
to `llvm.dx|spv.resource.handlefromimplicitbinding` intrinsic calls.
Specific bindings are assigned in DXILResourceImplicitBinding pass.
Design proposals:
https://github.com/llvm/wg-hlsl/blob/main/proposals/0024-implicit-resource-binding.md
https://github.com/llvm/wg-hlsl/blob/main/proposals/0025-resource-constructors.md
One change from the proposals is that the `orderId` parameter is added
onto the constructor. Originally it was supposed to be generated in
codegen when the `llvm.dx|spv.resource.handlefromimplicitbinding` call
is emitted, but that is not possible because the call is inside a
constructor, and the constructor body is generated once per resource
type and not resource instance. So the only way to inject instance-based
data like `orderId` into the
`llvm.dx|spv.resource.handlefromimplicitbinding` call is that it must
come in via the constructor argument.
Closes #136784
Commit: 2a8960e48b178fb2533e71bbe164e9f383046114
https://github.com/llvm/llvm-project/commit/2a8960e48b178fb2533e71bbe164e9f383046114
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xandesvdot-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesVDot (Andes Vector Dot Product) extension. (#139849)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
This patch only supports assembler.
Intrinsics support will be added in a later patch.
Commit: ee786975195c9cab264c88db8c43980b78780167
https://github.com/llvm/llvm-project/commit/ee786975195c9cab264c88db8c43980b78780167
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
A llvm/include/llvm/IR/IntrinsicsRISCVXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll
Log Message:
-----------
[RISCV] Support LLVM IR intrinsics for XAndesVPackFPH (#139860)
This patch adds LLVM IR intrinsic support for XAndesVPackFPH.
The document for the intrinsics can be found at:
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/intrinsic_funcs.adoc#andes-vector-packed-fp16-extensionxandesvpackfph
and with policy variants
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/policy_funcs/intrinsic_funcs.adoc#andes-vector-packed-fp16-extensionxandesvpackfph
The clang part will be added in a later patch.
Co-authored-by: Tony Chuan-Yue Yuan <yuan593 at andestech.com>
Commit: 4630d464c5cfd3f2ccdf3ac167694977736ce00e
https://github.com/llvm/llvm-project/commit/4630d464c5cfd3f2ccdf3ac167694977736ce00e
Author: Matt <msta at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Module.h
A clang/test/Modules/pr130712.cppm
Log Message:
-----------
[clang] Fix a segfault when M is a nullptr (#130712)
If `MM->getOwningModule` returns nullptr, then `isVisible` is called
with nullptr, which then calls `getImportLoc(nullptr)`
https://github.com/llvm/llvm-project/blob/077e0c134a31cc16c432ce685458b1de80bfbf84/clang/lib/Lex/PPMacroExpansion.cpp#L208
Commit: 1e503d08e1b6a285608e266acafd40eb2be5ca83
https://github.com/llvm/llvm-project/commit/1e503d08e1b6a285608e266acafd40eb2be5ca83
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-arch.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
A llvm/lib/Target/RISCV/RISCVInstrInfoQ.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/rv32q-invalid.s
A llvm/test/MC/RISCV/rv64q-invalid.s
A llvm/test/MC/RISCV/rv64q-valid.s
A llvm/test/MC/RISCV/rvq-aliases-valid.s
A llvm/test/MC/RISCV/rvq-pseudos.s
A llvm/test/MC/RISCV/rvq-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Add support for Q extension (#139369)
Closes #130217.
https://github.com/riscv/riscv-isa-manual/blob/main/src/q-st-ext.adoc
Commit: 25e91ed202f0a0c4a8ad946fbbc0a507deff2b8b
https://github.com/llvm/llvm-project/commit/25e91ed202f0a0c4a8ad946fbbc0a507deff2b8b
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
A llvm/test/MC/RISCV/rv64zfa-only-valid.s
M llvm/test/MC/RISCV/zfa-invalid.s
A llvm/test/MC/RISCV/zfa-quad-invalid.s
M llvm/test/MC/RISCV/zfa-valid.s
Log Message:
-----------
[RISCV][MC] Add Q support for Zfa (#139508)
https://github.com/riscv/riscv-isa-manual/blob/main/src/zfa.adoc
Commit: 99e8d22d6944428d6e6632e9537bd338a650c453
https://github.com/llvm/llvm-project/commit/99e8d22d6944428d6e6632e9537bd338a650c453
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoQ.td
M llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
M llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV][Scheduler] Add scheduler definitions for the Q extension (#139495)
Commit: 369c4093482210442bb42366c53fd55f4355dc8c
https://github.com/llvm/llvm-project/commit/369c4093482210442bb42366c53fd55f4355dc8c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M llvm/include/llvm/Support/FileOutputBuffer.h
M llvm/lib/Support/FileOutputBuffer.cpp
M llvm/unittests/Support/FileOutputBufferTest.cpp
Log Message:
-----------
Support,lld: Rename misnamed F_no_mmap to F_mmap
`F_no_mmap` introduced by https://reviews.llvm.org/D69294 is misnamed.
It oughts to be `F_mmap`
When the output is a regular file or do not exist,
`--no-mmap-output-file` is the default. Relands #134787 by fixing the
lld option default. Note: changing the default to --map-output-file
would likely fail on llvm-clang-x86_64-sie-win
(https://lab.llvm.org/buildbot/#/builders/46/builds/14847)
Pull Request: https://github.com/llvm/llvm-project/pull/139836
Commit: 40778822f7191d6f10fa36d9036133370a12bd9a
https://github.com/llvm/llvm-project/commit/40778822f7191d6f10fa36d9036133370a12bd9a
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/Transforms/GVN/phi.ll
M llvm/test/Transforms/GVN/pre-compare.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
Log Message:
-----------
[GVN][NFC] Add MSSA checks in tests 2/N (#137814)
The previous patch in this series is #130261
Commit: 690a30f3fd68a1a97bd3f8b13470abf9d34a61df
https://github.com/llvm/llvm-project/commit/690a30f3fd68a1a97bd3f8b13470abf9d34a61df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[llvm] Construct SmallVector with ArrayRef (NFC) (#139992)
Commit: 70ef89b9137e03b86cd49fd221cb8c0324984684
https://github.com/llvm/llvm-project/commit/70ef89b9137e03b86cd49fd221cb8c0324984684
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU] Use std::optional::value_or (NFC) (#140006)
Commit: 53f11dd4d60ad416cfeaabaf59a33d7754a8f1f1
https://github.com/llvm/llvm-project/commit/53f11dd4d60ad416cfeaabaf59a33d7754a8f1f1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M libcxx/include/__fwd/pair.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__node_handle
M libcxx/include/__tree
M libcxx/include/map
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/utils/gdb/libcxx/printers.py
Log Message:
-----------
[libc++] Avoid type-punning between __value_type and pair (#134819)
Before this patch, we were dereferencing pointers to objects which were
never constructed. Now we always assume that nodes store `pair<const
KeyT, ValueT>` for maps instead, as they actually do. This patch also
allows for significant follow-up simplifications, since
`__node_value_type` and `__container_value_type` are the same type now.
Commit: ab119add3573c834185810a15a8a3648b1819959
https://github.com/llvm/llvm-project/commit/ab119add3573c834185810a15a8a3648b1819959
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
LangRef: Fix minimumnum/maximumnum nan handling phrasing (#139228)
Make this consistent with other operations with respect to
signaling nan quieting. This was specifying that quieting is
required, which is true for IEEE. Make this consistent with other
IR operations, and signaling nan quieting is possible but optional
in the case where there are two nan inputs.
This permits directly selecting the intrinsic to the hardware
instruction in the default floating-point environment for shaders.
Commit: 647db1b02d1c6702737378c0726deda234a23ec4
https://github.com/llvm/llvm-project/commit/647db1b02d1c6702737378c0726deda234a23ec4
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
A llvm/test/CodeGen/AArch64/aarch64-sme-stubs.ll
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
Log Message:
-----------
Reland "[AArch64][SME] Split SMECallAttrs out of SMEAttrs" (#138671)
SMECallAttrs is a new helper class that holds all the SMEAttrs for a
call. The interfaces to query actions needed for the call (e.g. change
streaming mode) have been moved to the SMECallAttrs class.
The main motivation for this change is to make the split between the
caller, callee, and callsite attributes more apparent.
Before this change, we would always merge callsite and callee
attributes. The main reason to do this was to handle indirect calls,
however, we also occasionally used callsite attributes on direct calls
in tests (mainly to avoid creating multiple function declarations). With
this patch, we now explicitly handle indirect calls and disallow
incompatible attributes on direct calls (so this patch is not entirely
an NFC).
Same as #137239, but with a change to avoid inferring SME attributes for
function definitions. This allows stubbing the SME ABI routines in C/C++
(and matches the old behaviour).
Commit: 85c3c986304a83b2e2fda2cefb62e0f456c14dac
https://github.com/llvm/llvm-project/commit/85c3c986304a83b2e2fda2cefb62e0f456c14dac
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/include/lldb/Core/Address.h
M lldb/source/Core/Address.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
M lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
Log Message:
-----------
[lldb] Fix offset computation in RegisterContextUnwind (#137155)
AddressFunctionScope was always returning the first address range of the
function (assuming it was the only one). This doesn't work for
RegisterContextUnwind (it's only caller), when the function doesn't
start at the lowest address because it throws off the 'how many bytes
"into" a function I am' computation. This patch replaces the result with
a call to (recently introduced)
SymbolContext::GetFunctionOrSymbolAddress.
Commit: 291fa641ec084ce32468d8a2a9205157d88b022d
https://github.com/llvm/llvm-project/commit/291fa641ec084ce32468d8a2a9205157d88b022d
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A clang/test/Headers/__clang_hip_cmath-return_types.hip
Log Message:
-----------
Pre-Commit tests: [HIP] Fix return type in __clang_hip_cmath.h (#139891)
Tests related to https://github.com/llvm/llvm-project/pull/139697
Commit: aa9f8596b01fef013ab62c20e61fc96d165f60f7
https://github.com/llvm/llvm-project/commit/aa9f8596b01fef013ab62c20e61fc96d165f60f7
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dropped_debug_info_assert.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-legalize-range-metadata.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-all-indirect-accesses.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/mmra.ll
Log Message:
-----------
[AMDGPU] Add flag to prevent reruns of LowerModuleLDS (#129520)
FullLTO has to run this early before module splitting occurs otherwise
module splitting won't work as expected. There was a targeted fix for
fortran on another branch that disables the LTO run but that'd break
full LTO module splitting entirely.
Test changes are due to metadata indexes shifting.
See #122891
Commit: c15539cdc45dafbaca45cda83d0ca7a09d6b9d51
https://github.com/llvm/llvm-project/commit/c15539cdc45dafbaca45cda83d0ca7a09d6b9d51
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
Log Message:
-----------
[mlir][x86vector] Improve intrinsic operands creation (#138666)
Refactors intrinsic op interface to delegate initial operands mapping to
the dialect converter and allow intrinsic operands getters to only
perform last mile post-processing.
Commit: 780054d3ff18075a6bc433029f336931792b1d2d
https://github.com/llvm/llvm-project/commit/780054d3ff18075a6bc433029f336931792b1d2d
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
A llvm/test/CodeGen/AArch64/nofpclass.ll
A llvm/test/CodeGen/ARM/nofpclass.ll
A llvm/test/CodeGen/Mips/nofpclass.ll
A llvm/test/CodeGen/X86/nofpclass.ll
Log Message:
-----------
CodeGen: Add ISD::AssertNoFPClass (#138839)
It is used to mark a value that we are sure that it is not some fcType.
The examples include:
* An arguments of a function is marked with nofpclass
* Output value of an intrinsic can be sure to not be some type
So that the following operation can make some assumptions.
Commit: 0bc39937164f09823c906926d7eefd7a8bcb5161
https://github.com/llvm/llvm-project/commit/0bc39937164f09823c906926d7eefd7a8bcb5161
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Log Message:
-----------
[SelectionDAG] Add an ISD node for for get.active.lane.mask (#139084)
For now expansion still happens in SelectionDAGBuilder when
GET_ACTIVE_LANE_MASK is not legal on the target.
This patch also includes changes in AArch64ISelLowering to replace
handling of the get.active.lane.mask intrinsic to use the ISD node.
Tablegen patterns are added which match to whilelo for scalable types.
A follow up change will add support for more types to be lowered to
GET_ACTIVE_LANE_MASK by allowing splitting of the node.
Commit: eb5e66b82d09a5d084700fa5d8713c40d27ed1bd
https://github.com/llvm/llvm-project/commit/eb5e66b82d09a5d084700fa5d8713c40d27ed1bd
Author: Alexander Romanov <alexander.romanov at syntacore.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISCV] Change type of Zicbop prefetch operand to GPRMem (#139888)
Prior to this commit PREFETCH_* instructions considered their operand
register to be a simple GPR which is not entirely correct as it is a
base address for possible prefetching operation (According to cmobase
v1.0.1)
Commit: c4f7ab1d2e27d7d742d89606eb40ffd547b448b1
https://github.com/llvm/llvm-project/commit/c4f7ab1d2e27d7d742d89606eb40ffd547b448b1
Author: George Chaltas <george.chaltas at intel.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Initialize IR block pointers in ILV. (NFC) (#139807)
Setting unitialized pointers to nullptr in InnerLoopVectorizer()
constructor. These were noticed during a review of the code. Seems like
a good idea to clean them up.
Commit: ba5591e39d50973bf60fe2716d085465b62768e8
https://github.com/llvm/llvm-project/commit/ba5591e39d50973bf60fe2716d085465b62768e8
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
Log Message:
-----------
[mlir][Transform] Reuse bbArgs in FuseIntoContainingOp (#135066)
When fusing two ops with the same output operand using
FuseIntoContainingOp, the current implementation makes both ops write
into a different value pointing to the same tensor. This, in the end,
will bufferize into two different buffers, which is sub-optimal. The
current patch solves this problem, adding support to reuse the tensor by
both consumer and producer.
More precisely, before FuseIntoContainingOp is applied, we may have two
ops that write into the same output tensor. However, the consumer would
be tiled, thus the op would write into the loop iter_args (i.e., it does
not write directly into the original tensor). When the producer is fused
into the loop, the output tensor of the producer remains the same, so
the consumer and producer writes into two different values (consumer
writes into the iter_args and producer into the original tensor).
The current patch clones the consumer into the loop and checks if the
consumer is writing to the same value pointed by the loop inits, in
which case, it makes the output point to such tensor.
Commit: 947a52db7c88a6946e0d888851cc93faca6d726f
https://github.com/llvm/llvm-project/commit/947a52db7c88a6946e0d888851cc93faca6d726f
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
M llvm/test/CodeGen/AArch64/shuffle-extend.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
Log Message:
-----------
[AArch64] Prefer using DUP instead of INS where possible (#138549)
Replace all instances of `INS(IMPLICIT_DEF, 0, v, idx)` with
`DUP(v, idx)` in instruction selection.
`INS` (e.g. `mov v0.s[0], v1.s[1]`) has a value dependency on its output
register, which becomes a false dependency when we're inserting into an
`IMPLICIT_DEF` register. We can break this false dependency by using
`DUP` (e.g. `mov s0, v1.s[1]`) instead.
Commit: fbdf38ed4397e1d24c31a4bd79f7c6f55939f34f
https://github.com/llvm/llvm-project/commit/fbdf38ed4397e1d24c31a4bd79f7c6f55939f34f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M libcxx/src/.clang-tidy
M libcxx/test/configs/cmake-bridge.cfg.in
A libcxx/test/libcxx/clang_tidy.sh.py
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++] run clang-tidy on src/ in the CI (#121198)
This adds a new test to run clang-tidy on the `src/` directory and
temporarily disables and clang-tidy checks that currently fail. They
will be enabled in follow-up patches.
Commit: e7e4d99c586399758e6ddb76fb358c2dcccfae36
https://github.com/llvm/llvm-project/commit/e7e4d99c586399758e6ddb76fb358c2dcccfae36
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64] Use vecshiftL64 instead of vecshiftR64 to match scalar SLI imm. (#139904)
`SIMDScalarLShiftDTied` should be using `vecshiftL64` to match
the immediate argument rather than `vecshiftR64` as the latter
prevents the pattern from matching 0 (and allows 64 instead).
Fixes #139879.
Commit: 49bced456c50fbb4e06543115b34e15585c7864b
https://github.com/llvm/llvm-project/commit/49bced456c50fbb4e06543115b34e15585c7864b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M libcxx/include/__format/format_functions.h
M libcxx/test/benchmarks/format/format.bench.cpp
Log Message:
-----------
[libc++] Add basic constant folding for std::format (#107197)
```
-------------------------------------------------------------------
Benchmark old new
-------------------------------------------------------------------
BM_format_string<char>/1 42.1 ns 7.67 ns
BM_format_string<char>/2 22.3 ns 3.84 ns
BM_format_string<char>/4 10.6 ns 1.92 ns
BM_format_string<char>/8 5.31 ns 0.815 ns
BM_format_string<char>/16 2.79 ns 0.480 ns
BM_format_string<char>/32 1.63 ns 0.550 ns
BM_format_string<char>/64 0.782 ns 0.276 ns
BM_format_string<char>/128 0.397 ns 0.145 ns
BM_format_string<char>/256 0.211 ns 0.066 ns
BM_format_string<char>/512 0.154 ns 0.035 ns
BM_format_string<char>/1024 0.146 ns 0.021 ns
BM_format_string<char>/2048 0.125 ns 0.033 ns
BM_format_string<char>/4096 0.097 ns 0.016 ns
BM_format_string<char>/8192 0.077 ns 0.012 ns
BM_format_string<char>/16384 0.066 ns 0.010 ns
BM_format_string<char>/32768 0.062 ns 0.016 ns
BM_format_string<char>/65536 0.062 ns 0.016 ns
BM_format_string<char>/131072 0.443 ns 0.015 ns
BM_format_string<char>/262144 0.629 ns 0.017 ns
BM_format_string<char>/524288 0.715 ns 0.020 ns
BM_format_string<char>/1048576 0.757 ns 0.020 ns
BM_format_string<wchar_t>/1 38.8 ns 34.0 ns
BM_format_string<wchar_t>/2 19.4 ns 16.9 ns
BM_format_string<wchar_t>/4 9.88 ns 8.45 ns
BM_format_string<wchar_t>/8 6.30 ns 6.47 ns
BM_format_string<wchar_t>/16 3.11 ns 3.21 ns
BM_format_string<wchar_t>/32 1.60 ns 1.63 ns
BM_format_string<wchar_t>/64 0.899 ns 0.925 ns
BM_format_string<wchar_t>/128 0.676 ns 0.693 ns
BM_format_string<wchar_t>/256 0.658 ns 0.685 ns
BM_format_string<wchar_t>/512 0.556 ns 0.531 ns
BM_format_string<wchar_t>/1024 0.428 ns 0.402 ns
BM_format_string<wchar_t>/2048 0.328 ns 0.319 ns
BM_format_string<wchar_t>/4096 0.276 ns 0.274 ns
BM_format_string<wchar_t>/8192 0.252 ns 0.251 ns
BM_format_string<wchar_t>/16384 0.248 ns 0.246 ns
BM_format_string<wchar_t>/32768 0.229 ns 0.232 ns
BM_format_string<wchar_t>/65536 0.248 ns 0.246 ns
BM_format_string<wchar_t>/131072 0.250 ns 0.240 ns
BM_format_string<wchar_t>/262144 3.03 ns 3.03 ns
BM_format_string<wchar_t>/524288 3.14 ns 3.15 ns
BM_format_string<wchar_t>/1048576 3.60 ns 3.61 ns
BM_string_without_formatting<char> 32.2 ns 0.470 ns
BM_string_without_formatting<wchar_t> 38.8 ns 10.2 ns
```
Commit: 9893f6bed3ab707383dc1901a237f0d4481049d6
https://github.com/llvm/llvm-project/commit/9893f6bed3ab707383dc1901a237f0d4481049d6
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_cmath.h
M clang/test/Headers/__clang_hip_cmath-return_types.hip
Log Message:
-----------
[HIP] Fix return type in __clang_hip_cmath.h (#139697)
Before, some functions like `isgreater(float, double)` would return a
`double` instead of a `bool`.
Stumbled upon this bug while trying to adapt
[`External/CUDA/cmath.cu`](https://github.com/llvm/llvm-test-suite/blob/main/External/CUDA/cmath.cu)
to HIP.
```
/_llvm-test-suite/External/HIP/../CUDA/math_h.cu:617:20: error: static assertion failed due to requirement 'std::is_same<double, bool>::value':
617 | static_assert((std::is_same<decltype(isgreater((float)0, (double)0)), bool>::value), "");
```
Commit: 8bd35ca41253ea36fff78d5acf59956a30b6555b
https://github.com/llvm/llvm-project/commit/8bd35ca41253ea36fff78d5acf59956a30b6555b
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
Log Message:
-----------
[SPIR-V] Fix LIT tests, improve ICmpInst's type inference (#139726)
1. There are failed LIT tests at the moment due to type inference
errors.
```
Failed Tests (3):
LLVM :: CodeGen/SPIRV/pointers/ptr-eq-types.ll
LLVM :: CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
LLVM :: CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
```
This PR improves type inference to fix the errors.
2. The following tests start passing:
```
Unexpectedly Passed Tests (2):
LLVM :: CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
LLVM :: CodeGen/SPIRV/pointers/resource-addrspacecast.ll
```
This PR removes XFAILS in those two test cases.
Commit: c807395011a027caae9ac196edfac328fb90443a
https://github.com/llvm/llvm-project/commit/c807395011a027caae9ac196edfac328fb90443a
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/long-pointer-distance.ll
Log Message:
-----------
[LAA/SLP] Don't truncate APInt in getPointersDiff (#139941)
Change getPointersDiff to return an std::optional<int64_t>, and fill
this value with using APInt::trySExtValue. This simple change requires
changes to other functions in LAA, and major changes in SLPVectorizer
changing types from 32-bit to 64-bit.
Fixes #139202.
Commit: 7cc200529f5791ceed510a02c0fa5343d535267d
https://github.com/llvm/llvm-project/commit/7cc200529f5791ceed510a02c0fa5343d535267d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/pr63108.ll
Log Message:
-----------
[X86] pr63108.ll - regenerate test checks
Commit: 7983bdcaa57cb8647b7abede15ec91c89cc43bba
https://github.com/llvm/llvm-project/commit/7983bdcaa57cb8647b7abede15ec91c89cc43bba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/machine-combiner-int-vec.ll
Log Message:
-----------
[X86] machine-combiner-int-vec.ll - regenerate test checks for TERNLOG comments
Reduces diffs in upcoming patch
Commit: 4f19a5c050b0f18703198d839f135a7800306eb5
https://github.com/llvm/llvm-project/commit/4f19a5c050b0f18703198d839f135a7800306eb5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/avg-mask.ll
Log Message:
-----------
[X86] avg-mask.ll - regenerate test checks for TERNLOG comments
Reduces diffs in upcoming patch
Commit: 156985eb8803d72caeff2cbe0e9098286606847f
https://github.com/llvm/llvm-project/commit/156985eb8803d72caeff2cbe0e9098286606847f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/avgfloors.ll
Log Message:
-----------
[X86] avgfloors.ll - regenerate test checks for TERNLOG comments
Reduces diffs in upcoming patch
Commit: 4ba8f4e213c97733e3b61e5856b0e85e3d7d6a7f
https://github.com/llvm/llvm-project/commit/4ba8f4e213c97733e3b61e5856b0e85e3d7d6a7f
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb][lldb-dap] Migrate ScopesRequest to structured types (#138116)
Migrate ScopesRequest To use the Protocol Types
Commit: 5b0572875cafb02fc144d1f6e6e51a34ef27d951
https://github.com/llvm/llvm-project/commit/5b0572875cafb02fc144d1f6e6e51a34ef27d951
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64ec-entry-mangle.test
M lld/test/COFF/arm64ec-hybmp.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-patchable-thunks.test
M lld/test/COFF/arm64ec-range-thunks.s
M lld/test/COFF/arm64ec.test
M lld/test/COFF/arm64x-altnames.s
M lld/test/COFF/arm64x-buildid.s
M lld/test/COFF/arm64x-comm.s
M lld/test/COFF/arm64x-crt-sec.s
M lld/test/COFF/arm64x-ctors-sec.s
M lld/test/COFF/arm64x-guardcf.s
M lld/test/COFF/arm64x-import.test
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/arm64x-wrap.s
M lld/test/COFF/autoimport-arm64ec-data.test
Log Message:
-----------
[LLD][COFF] Add support for including native ARM64 objects in ARM64EC images (#137653)
MSVC linker accepts native ARM64 object files as input with
`-machine:arm64ec`, similar to `-machine:arm64x`. Its usefulness is very
limited; for example, both exports and imports are not reflected in the
PE structures and can't work. However, their symbol tables are otherwise
functional.
Since we already have handling of multiple symbol tables implemented for
ARM64X, the required changes are mostly about adjusting relevant checks
to account for them on the ARM64EC target.
Delay-load helper handling is a bit of a shortcut. The patch never pulls
it for native object files and just ensures that the code is fine with
that. In general, I think it would be nice to adjust the driver to pull
it only when it's actually referenced, which would allow applying the
same logic to the native symbol table on ARM64EC without worrying about
pulling too much.
Commit: 3764ba23484afda683eea390407103e609ef4354
https://github.com/llvm/llvm-project/commit/3764ba23484afda683eea390407103e609ef4354
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/aarch64/chkstk.S
M compiler-rt/lib/builtins/aarch64/lse.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64.h
M compiler-rt/lib/builtins/fp_compare_impl.inc
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/udivmodti4.c
M compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
M compiler-rt/test/builtins/Unit/multc3_test.c
Log Message:
-----------
[compiler-rt] Add initial ARM64EC builtins support (#139279)
Use the aarch64 variants of assembly functions.
Co-authored-by: Billy Laws <blaws05 at gmail.com>
Commit: 849ecbc3ba1c95f41ee8dd5240c314e1a1980438
https://github.com/llvm/llvm-project/commit/849ecbc3ba1c95f41ee8dd5240c314e1a1980438
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
[AMDGPU] Simplify getIns64. NFCI. (#139981)
This big switch is unmaintainable and buggy. In particular it
unconditionally
adds clamp if there is omod to VOP3.
Commit: e3867cb07ed1ed319609fbea0ce15f40e2a0efad
https://github.com/llvm/llvm-project/commit/e3867cb07ed1ed319609fbea0ce15f40e2a0efad
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[NFC][lldb][lldb-dap] fix C++20 extension warning (#140031)
warning for designated initializers
introduced in commit 4ba8f4e
Commit: d5da557782dd47395fb41e03d7663df6319d7ea6
https://github.com/llvm/llvm-project/commit/d5da557782dd47395fb41e03d7663df6319d7ea6
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Options.td
A lld/test/COFF/arm64x-sameaddress.test
Log Message:
-----------
[LLD][COFF] Allow -arm64xsameaddress in ARM64EC directives (#139631)
Make it a no-op for now, which is sufficient for non-hybrid images.
Fixes #131712.
Commit: c507a0830df2e4fd0c234eee035aac2109de6d6e
https://github.com/llvm/llvm-project/commit/c507a0830df2e4fd0c234eee035aac2109de6d6e
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/cp-async-bulk-s2g-sm100.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll
Log Message:
-----------
[NVPTX] Add TMA Bulk Copy Intrinsics (#138679)
This patch adds a new variant of TMA Bulk Copy
intrinsics introduced in sm100+. This variant
has an additional byte_mask to select the bytes
for the copy operation.
* Selection is all done through table-gen now.
So, this patch removes the corresponding
SelectCpAsyncBulkS2G() function.
* lit tests are verified with a cuda-12.8 ptxas
executable.
PTX Spec link:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-bulk-copy
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: f8f11c541dec9bfc19f80918cf12da71d6ae7b99
https://github.com/llvm/llvm-project/commit/f8f11c541dec9bfc19f80918cf12da71d6ae7b99
Author: David Green <david.green at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
Log Message:
-----------
[AArch64] Add a test case for the coerced arguments. NFC
Commit: 767a203a9e61e307086be96288947d130367a267
https://github.com/llvm/llvm-project/commit/767a203a9e61e307086be96288947d130367a267
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Fix discarded LValueToRValueBitCasts (#140034)
We handle discarding fine, but we used to ignore all discarded cast
expressions. Handle bitcasts differently.
Commit: 8bbe0d050ae49062835a8a0729b3219ba1f6362b
https://github.com/llvm/llvm-project/commit/8bbe0d050ae49062835a8a0729b3219ba1f6362b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Verify dominance for incoming values of phi-like recipes. (#124838)
Update the verifier to verify dominance for incoming values for phi-like
recipes. The defining recipe must dominate the incoming block for the
incoming value.
Builds on top of https://github.com/llvm/llvm-project/pull/138472 to
retrieve incoming values & corresponding blocks for phi-like recipes.
PR: https://github.com/llvm/llvm-project/pull/124838
Commit: 42ee758bec885deaad08162cc8e97a87d2aba100
https://github.com/llvm/llvm-project/commit/42ee758bec885deaad08162cc8e97a87d2aba100
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
Log Message:
-----------
Complete the Implementation of DAP modules explorer. (#139934)
This extends the TreeView to show the module property as a tree item instead of
rendering it through the markdown tooltip.

Commit: 30b0946326354d247a92622f08be4722df58bb55
https://github.com/llvm/llvm-project/commit/30b0946326354d247a92622f08be4722df58bb55
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/target.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang][MLIR][OpenMP] Improve use_device_* handling (#137198)
This patch updates MLIR op verifiers for operations taking arguments
that must always be defined by an `omp.map.info` operation to check this
requirement.
It also modifies Flang lowering for `use_device_{addr, ptr}`, as well as
the custom MLIR printer and parser for these clauses, to support
initializing it to `OMP_MAP_RETURN_PARAM` and represent this in the MLIR
representation as `return_param`. This internal mapping flag is what
eventually is used for variables passed via these clauses into the
target region when translating to LLVM IR, so making it explicit in
Flang and MLIR removes an inconsistency in the current representation.
Commit: 0cd7e8aa911dd4d0d6f4c43bef28fd853cf929f5
https://github.com/llvm/llvm-project/commit/0cd7e8aa911dd4d0d6f4c43bef28fd853cf929f5
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Assert on map translation functions, NFC (#137199)
This patch adds assertions to map-related MLIR to LLVM IR translation
functions and utils to explicitly document whether they are intended for
host or device compilation only.
Over time, map-related handling has increased in complexity. This is
compounded by the fact that some handling is device-specific and some is
host-specific. By explicitly asserting on these functions on the
expected compilation pass, the flow should become slighlty easier to
follow.
Commit: 849990479f0ccc93b1f599167de6e90bdd3e219a
https://github.com/llvm/llvm-project/commit/849990479f0ccc93b1f599167de6e90bdd3e219a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Update check line in verifier unit test w/o assertions.
Should fix failures with assertions disabled, including
https://lab.llvm.org/buildbot/#/builders/2/builds/24015.
Commit: 310ed2b070432db3899473c4c2fd92f6a5e35067
https://github.com/llvm/llvm-project/commit/310ed2b070432db3899473c4c2fd92f6a5e35067
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
Log Message:
-----------
[LoopUnroll] Add tests with multiple exiting/latches and small BTCs.
Extra test coverage for cases mentioned during review of
https://github.com/llvm/llvm-project/pull/139551.
Commit: 124e547e83f3604ac634083542f5313d1badef9b
https://github.com/llvm/llvm-project/commit/124e547e83f3604ac634083542f5313d1badef9b
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Correct Radeon Pro 5600M ISA (#140041)
As observed by LLVM Discord user "buck", the Radeon Pro 5600M is gfx1011
and the entry in the gfx1010 category was probably meant to be Radeon RX
5600M which indeed is gfx1010.
Commit: 2110faaf5546c06fa4e06697eff8842f19302221
https://github.com/llvm/llvm-project/commit/2110faaf5546c06fa4e06697eff8842f19302221
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[NFC][TableGen][X86] Use StringSwitch to map from string -> enum (#139929)
Use StringSwitch instead of macro to map from a string to enum values in
X86RecognizableInstr.cpp.
Commit: df9a90cdc5d6a74a183e0c1a77bd7fceacf1df0c
https://github.com/llvm/llvm-project/commit/df9a90cdc5d6a74a183e0c1a77bd7fceacf1df0c
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M openmp/runtime/test/ompt/callback.h
Log Message:
-----------
[OpenMP][test] Define print_possible_return_addresses on SPARC (#138523)
Parts of the `openmp` testsuite currently don't build on SPARC due to
the lack of a `print_possible_return_addresses` definition.
This patch provides one. With it, the vast majority of tests `PASS` on
Solaris/sparcv9 and, with an additional patch, on Linux/sparc64.
The current definition was obtained empirically.
Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: f1eebf9e94e3051e88e8f3d3365b663a88e1ca0a
https://github.com/llvm/llvm-project/commit/f1eebf9e94e3051e88e8f3d3365b663a88e1ca0a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/lib/AST/ASTConcept.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ASTConcept (#139974)
Use non-templated form of `getTrailingObjects` when using a single
trailing type in `TrailingObjects`.
Commit: 5f53ca30da249b2d46f61791e12e74efef9a8bb6
https://github.com/llvm/llvm-project/commit/5f53ca30da249b2d46f61791e12e74efef9a8bb6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in Decl/DeclTemplate (#139977)
Adopt simplied `getTrailingObjects` variants that are not templated
and/or return ArrayRef in Decl/DeclTemplate .h/.cpp files.
Commit: b26adacc8550bc8786ecba08ec87d0b228930bf4
https://github.com/llvm/llvm-project/commit/b26adacc8550bc8786ecba08ec87d0b228930bf4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Check destructors for temporaries (#140039)
Also, increase the EvalID in isPotentialConstantExpr(), since this is
its own evaluation.
Commit: 8e2ac7d6194451cbe2b7203212f2bb4f278e6438
https://github.com/llvm/llvm-project/commit/8e2ac7d6194451cbe2b7203212f2bb4f278e6438
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[llvm][OpenMP] Add "SourceLanguages" property to Directive (#139960)
The official languages that OpenMP recognizes are C/C++ and Fortran.
Some OpenMP directives are language-specific, some are C/C++-only, some
are Fortran-only.
Add a property to the TableGen definition of Directive that will be the
list of languages that allow the directive.
The TableGen backend will then generate a bitmask-like enumeration
SourceLanguages, and a function
SourceLanguages getDirectiveLanguages(Directive D);
Commit: 9273091502994f9b68ca0d1fd04fadd02c0a36df
https://github.com/llvm/llvm-project/commit/9273091502994f9b68ca0d1fd04fadd02c0a36df
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
A clang/test/OpenMP/openmp_non_c_directives.c
R clang/test/OpenMP/openmp_workshare.c
Log Message:
-----------
[clang][OpenMP] Improve handling of non-C/C++ directives (#139961)
The PR139793 added handling of the Fortran-only "workshare" directive,
however there are more such directives, e.g. "allocators". Use the
genDirectiveLanguages function to detect non-C/C++ directives instead of
enumerating them.
Commit: 6090c0e0ee1ab8f1a9b6b2354fc5b204ebaebb99
https://github.com/llvm/llvm-project/commit/6090c0e0ee1ab8f1a9b6b2354fc5b204ebaebb99
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M bolt/test/X86/callcont-fallthru.s
Log Message:
-----------
[BOLT][test] Fix disabling of the PLT check in callcont-fallthru (#140026)
PR #139953 used `DONTRUN` to disable some run lines, but that didn't
work. Now switching to `RUN-DISABLED` for disabling the tests until
llvm-nm support is landed (#138232).
Commit: 43db72d56d6491e5b826172f9dea706aec92693c
https://github.com/llvm/llvm-project/commit/43db72d56d6491e5b826172f9dea706aec92693c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
A llvm/test/Transforms/ForcedFunctionAttrs/open-file-error.ll
Log Message:
-----------
ForceFunctionAttrs: Use reportFatalUsageError (#139473)
Commit: 6fc031291955d5d3c69f7df9b9f7460c473d114a
https://github.com/llvm/llvm-project/commit/6fc031291955d5d3c69f7df9b9f7460c473d114a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CodeGen/AArch64/fp8-init-list.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
M clang/test/CodeGen/arm-mfp8.c
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[Clang][AArch64] Add fp8 variants for untyped NEON intrinsics (#128019)
This patch adds fp8 variants to existing intrinsics, whose operation
doesn't depend on arguments being a specific type.
It also changes mfloat8 type representation in memory from `i8` to
`<1xi8>`
Commit: d08b176edc82b8fbd417e0ead7b77abc5f45fce2
https://github.com/llvm/llvm-project/commit/d08b176edc82b8fbd417e0ead7b77abc5f45fce2
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MLIR][NVVM] Add `inline_ptx` op (#139923)
This op allows using PTX directly within the NVVM dialect, while greatly
simplifying llvm.inline_asm generation.
**Example 1: Read-only Parameters**
Sets `"l,r"` automatically.
```
nvvm.inline_ptx "mbarrier.init.b64 [$0], $1;" (%barrier_gen, %count) : !llvm.ptr, i32
// Lowers to:
llvm.inline_asm has_side_effects asm_dialect = att
"mbarrier.init.b64 [$0], $1;", "l,r" %arg0, %arg2 : (!llvm.ptr, i32) -> ()
```
**Example 2: Read-only and Write-only Parameters**
Sets `=f,f"` automatically. `=` is set because there is store.
```
%0 = nvvm.inline_ptx "ex2.approx.ftz.f32 $0, $1;" (%input) : f32 -> f32
// Lowers to:
%0 = llvm.inline_asm has_side_effects asm_dialect = att "ex2.approx.ftz.f32 $0, $1;", "=f,f" %arg0 : (f32) -> f32
```
**Example 3: Predicate Usage**
Now `@$2` is set automatically for predication.
```
nvvm.inline_ptx "mbarrier.init.b64 [$0], $1;" (%barrier_gen, %count), predicate = %pred : !llvm.ptr, i32, i1
// Lowers to:
llvm.inline_asm has_side_effects asm_dialect = att "@$2 mbarrier.init.b64 [$0], $1;", "l,r,b" %arg0, %arg2, %arg3 : (!llvm.ptr, i32, i1) -> ()
```
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: a2f156b84ab124ccfbbe2bd6cbbdb2f3bcbba0ce
https://github.com/llvm/llvm-project/commit/a2f156b84ab124ccfbbe2bd6cbbdb2f3bcbba0ce
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Fix deduction of explicit object member functions (#140030)
When taking the address of an overload set containing an explicit object
member, we should not take the
explicit object parameter into account.
Commit: 636628d8fde45fc2bb99a1016f7503d0e744ab89
https://github.com/llvm/llvm-project/commit/636628d8fde45fc2bb99a1016f7503d0e744ab89
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Frontend/CommandLineSourceLoc.h
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeCompletion/source-loc-zero.cpp
A clang/test/Refactor/source-loc-zero.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
Log Message:
-----------
[clang] Enforce 1-based indexing for command line source locations (#139457)
Fixes #139375
Clang expects command line source locations to be provided using 1-based
indexing.
Currently, Clang does not reject zero as invalid argument for column or
line number, which can cause Clang to crash.
This commit extends validation in `ParsedSourceLocation::FromString` to
only accept (unsinged) non-zero integers.
Commit: 9a26dff74834d6c3d9d72eac10e2f2479014ebca
https://github.com/llvm/llvm-project/commit/9a26dff74834d6c3d9d72eac10e2f2479014ebca
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Check dtor calls for one-past-end pointers (#140047)
Commit: 6ee30e8dd8810f6ce49095a30a2caae683d92ff5
https://github.com/llvm/llvm-project/commit/6ee30e8dd8810f6ce49095a30a2caae683d92ff5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[InstCombine] Fix incorrect number of iterations (#140004)
Commit: 7314d38b72ea647c67ceab0de4755d2d61073dac
https://github.com/llvm/llvm-project/commit/7314d38b72ea647c67ceab0de4755d2d61073dac
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[NFC][AutoUpgrade] Use `ConstantPointerNull::get` instead of `Constant::getNullValue` for known pointer types (#139984)
This is a preparation change for upcoming PRs that will update the
semantics of
`ConstantPointerNull`, making it to represent an actual `nullptr` rather
than a
zero-valued pointer.
Commit: 9658c55116c2bb4757ca309b37028f06f5709526
https://github.com/llvm/llvm-project/commit/9658c55116c2bb4757ca309b37028f06f5709526
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Fix a warning
This patch fixes:
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7506:17: error:
unused variable 'NoFPClass' [-Werror,-Wunused-variable]
Commit: ed572aaac8b142a7bf09a235f5497bc7e201f762
https://github.com/llvm/llvm-project/commit/ed572aaac8b142a7bf09a235f5497bc7e201f762
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
Log Message:
-----------
[flang] Add missing copy assignment operator (#139966)
On Clang 17 the implicit copy assignment operator was issuing a warning because of the user-declared copy constructor. Declare the copy assignment operator as default.
Commit: 059b0c2efbf30d986d812c4d2cf6d6c7876569fe
https://github.com/llvm/llvm-project/commit/059b0c2efbf30d986d812c4d2cf6d6c7876569fe
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking][NFC] Drop outdated TODO in canCreateUndefOrPoison (#139915)
The inrange constexpr GEP case is handled since 425cbbc602c9.
Commit: 1f570b1c2df6ec93a90ec8f0751fe8355644f1c6
https://github.com/llvm/llvm-project/commit/1f570b1c2df6ec93a90ec8f0751fe8355644f1c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/source/Target/DynamicRegisterInfo.cpp
Log Message:
-----------
[lldb] Use llvm::unique (NFC) (#139910)
While I am at it, this patch removes the "if" statement.
std::vector::erase(first, last) doesn't do anything when
first == last.
Commit: 9f569fe2e7b68db856716a1ae3b0a6738a281d1e
https://github.com/llvm/llvm-project/commit/9f569fe2e7b68db856716a1ae3b0a6738a281d1e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Use std::optional::value_or (NFC) (#140011)
Commit: d9ab5bc82d7e5dc4d132d1e674b06ec683e019f9
https://github.com/llvm/llvm-project/commit/d9ab5bc82d7e5dc4d132d1e674b06ec683e019f9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Quant/IR/QuantOps.cpp
Log Message:
-----------
[mlir] Use llvm::is_contained (NFC) (#140012)
Commit: 3667f29dfd1100a0eda7bfc4584ba2cfb6880b94
https://github.com/llvm/llvm-project/commit/3667f29dfd1100a0eda7bfc4584ba2cfb6880b94
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
[llvm] Use std::optional::value_or (NFC) (#140014)
Commit: b7d6a54703823bfba2b437e4b764ceb16b73c2af
https://github.com/llvm/llvm-project/commit/b7d6a54703823bfba2b437e4b764ceb16b73c2af
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/DesignDocs/FileTimeType.rst
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++] Fix typos in documentation (#139853)
Commit: 3d6d5dfed2b303e9fba74586993df3fa85058991
https://github.com/llvm/llvm-project/commit/3d6d5dfed2b303e9fba74586993df3fa85058991
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Address linearization comments (post commit) (#138075)
This PR adds some documentation to address comments in
https://github.com/llvm/llvm-project/pull/136581
This PR adds a test for linearization across scf.for. This new test
might be considered redundant by more experienced MLIRers, but might
help newer users understand how to linearize scf/cf/func operations
easily
The documentation added in this PR also tightens our definition of
linearization, to now exclude unrolling (which creates multiple ops from
1 op). We hadn't really specified what linearization meant before.
Commit: 6d942c5c16c384feca50c9f2a4262413410e7d9e
https://github.com/llvm/llvm-project/commit/6d942c5c16c384feca50c9f2a4262413410e7d9e
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[llvm] Fix test breakage in Vectorize/VPlanVerifierTest.cpp (#140079)
Fix test breakage in Vectorize/VPlanVerifierTest.cpp introduced in
change 849990479 (typo).
Commit: cd72777f09506a43daeae64dce587cde9c57a1f6
https://github.com/llvm/llvm-project/commit/cd72777f09506a43daeae64dce587cde9c57a1f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/zdinx-spill.ll
Log Message:
-----------
[RISCV] Add test for spilling and reloading a GPRPair for Zdinx+RV32. NFC (#139983)
I couldn't find any existing coverage for PseudoRV32ZdinxSD and
PseudoRV32ZdinxLD being emitted from
storeRegToStackSlot/loadRegFromStackSlot.
Commit: 426573332cb7c70ede293d13bac7564eb2c0b753
https://github.com/llvm/llvm-project/commit/426573332cb7c70ede293d13bac7564eb2c0b753
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use RISCVRegisterInfo::isRVVRegClass to replace IsScalableVector in storeRegToStackSlot/loadRegFromStackSlot. NFC (#139979)
Commit: 540cf25a6df56fa1810a7411477dca9896aeed20
https://github.com/llvm/llvm-project/commit/540cf25a6df56fa1810a7411477dca9896aeed20
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-previous-failure.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
M llvm/test/CodeGen/RISCV/zdinx-memoperand.ll
Log Message:
-----------
[RISCV] Split f64 loads/stores for RV32+Zdinx during isel instead of post-RA. (#139840)
This avoids a bunch of complexity around making sure the offset doesn't
exceed 4093 so we can add 4 after splitting later. By splitting early,
the split loads/stores will get selected independently.
There's a bit of follow up work to do, particularly around splitting a
constant pool load. Overall I think this is cleaner with less edge
cases.
Commit: 381a649fb991eadb0c594de2d8b6166fcc11345a
https://github.com/llvm/llvm-project/commit/381a649fb991eadb0c594de2d8b6166fcc11345a
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTDiagnostic.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M libcxx/include/print
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/localization/codecvt_unicode.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
M libcxx/utils/libcxx/test/features.py
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/lib/Support/ConvertUTFWrapper.cpp
Log Message:
-----------
[Clang] Add warnings when mixing different charN_t types (#138708)
charN_t represent code units of different UTF encodings. Therefore the
values of 2 different charN_t objects do not represent the same
characters.
In order to avoid comparing apples and oranges, we add new warnings to
warn on:
- Implicit conversions
- Comparisons
- Other cases involving arithmetic conversions
We only produce the warning if we cannot establish the comparison would
be safe through constant evaluation.
The new `-Wimplicit-unicode-conversion` warning is enabled by default.
Note that this PR intentionally doesn;t touches char/wchar_t, but it
would be worth considering also warning on extending the new warnings to
these types (in a follow up)
Additionally most arithmetic operations on charN_t don't really make
sense (ie what does it mean to addition code units), so we could add
warnings for that.
Fixes #138526
Commit: 21d506414053d260ee78fa5a27b6bf3edc547088
https://github.com/llvm/llvm-project/commit/21d506414053d260ee78fa5a27b6bf3edc547088
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - remove VBMI2 limit for v32i16/v64i8 shuffle concatentation (#140077)
This is no longer required with the improvements to subvector load sharing with shouldReduceLoadWidth
Commit: d58d5d6e9d6761f88344f439e7fdf63d41c8c384
https://github.com/llvm/llvm-project/commit/d58d5d6e9d6761f88344f439e7fdf63d41c8c384
Author: Vincent <vincent0710 at outlook.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
Log Message:
-----------
[clang] Compound Literal Statement Constant Expression Assertion Fix (#139479)
Compound literals initializer-list should be a constant expression if it
is defined outside the body of a function.
Emit error instead of falling through tripping assertion error.
Fixes #139160
Commit: 5defe490c9b1356916245e1832859c361ac8d812
https://github.com/llvm/llvm-project/commit/5defe490c9b1356916245e1832859c361ac8d812
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[sanitizer][NFCI] Add 'SanitizerAnnotateDebugInfo' (#139965)
This generalizes the debug info annotation code from https://github.com/llvm/llvm-project/pull/139149 and moves it into a helper function, SanitizerAnnotateDebugInfo().
Future work can use 'ApplyDebugLocation ApplyTrapDI(*this, SanitizerAnnotateDebugInfo(Ordinal));' to add annotations to additional checks.
Commit: 0eb4bd27d1ab15ea6b078ac386be01ae13d261a9
https://github.com/llvm/llvm-project/commit/0eb4bd27d1ab15ea6b078ac386be01ae13d261a9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/Sema/atomic-expr.c
Log Message:
-----------
[C] Silence unreachable -Watomic-access diagnostics (#140064)
Accessing the member of a structure or union which is _Atomic-qualified
is undefined behavior in C. We currently diagnose that with a warning
that defaults to an error. In turn, this means we reject a valid program
if the access it not reachable because of the error. e.g.,
if (0)
SomeAtomicStruct.Member = 12; // Was diagnosed
This silences the diagnostic if the member access is not reachable.
Commit: 59c6d70ed8120b8864e5f796e2bf3de5518a0ef0
https://github.com/llvm/llvm-project/commit/59c6d70ed8120b8864e5f796e2bf3de5518a0ef0
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addr-reuse.ll
Log Message:
-----------
[CodeGenPrepare] Make sure instruction get from SunkAddrs is before MemoryInst (#139303)
Function optimizeBlock may do optimizations on a block for multiple
times. In the first iteration of the loop, MemoryInst1 may generate a
sunk instruction and store it into SunkAddrs. In the second iteration of
the loop, MemoryInst2 may use the same address and then it can reuse the
sunk instruction stored in SunkAddrs, but MemoryInst2 may be before
MemoryInst1 and the corresponding sunk instruction. In order to avoid
use before def error, we need to find appropriate insert position for the
sunk instruction.
Fixes #138208.
Commit: 15b20a13e6a35a8c5864080644f9bc39f6dbd573
https://github.com/llvm/llvm-project/commit/15b20a13e6a35a8c5864080644f9bc39f6dbd573
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[NFC][llvm-objdump] Add ostream param to control console prints (#139931)
Commit: 2bc9f43ba1116fb3989e28ecc3934209145a6250
https://github.com/llvm/llvm-project/commit/2bc9f43ba1116fb3989e28ecc3934209145a6250
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[DAGCombiner] Fold pattern for srl-shl-zext (REAPPLIED) (#140038)
Fold (srl (lop x, (shl (zext y), c1)), c1) -> (lop (srl x, c1), (zext y)) where c1 <= leadingzeros(zext(y)).
This is equivalent of existing fold chain (srl (shl (zext y), c1), c1) -> (and (zext y), mask) -> (zext y), but logical op in the middle prevents it from combining.
Profit : Allow to reduce the number of instructions.
Original commit: #138290 / bbc5221
Previously reverted due to conflict in LIT test. Mainline changed
default version of load instruction to untyped version by this #137698 .
Updated test uses `ld.param.b64` instead of `ld.param.u64`.
Commit: d6b73da15211d2286c6b0750b68d139104d463b9
https://github.com/llvm/llvm-project/commit/d6b73da15211d2286c6b0750b68d139104d463b9
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[NFC] One-liner clang-format (#140104)
`InstrProfWriter::setOutputSparse` gets re-formatted when
InstrProfWriter.cpp is modified. So formatted this line.
Commit: f0d7fea98b4afc29dfca11bfc58c7411c794ccae
https://github.com/llvm/llvm-project/commit/f0d7fea98b4afc29dfca11bfc58c7411c794ccae
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Log Message:
-----------
[IRBuilder] Use AAMDNodes helper class in CreateMem* routines [nfc-ish] (#139950)
I'm not 100% sure this is NFC because we have the possibility we're
propagating additional metadata we'd missed before. We don't see any
test changes resulting from this though.
Commit: 113898326b9cf3d9bb9edc3023e75fb3e4f82422
https://github.com/llvm/llvm-project/commit/113898326b9cf3d9bb9edc3023e75fb3e4f82422
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 3d6d5dfed2b303e9fba74586993df3fa85058991
Commit: 81d48e0f61f3e78cd6d6be9d3c8e48e7761a5ed5
https://github.com/llvm/llvm-project/commit/81d48e0f61f3e78cd6d6be9d3c8e48e7761a5ed5
Author: Fangyi Zhou <me at fangyi.io>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
A clang/test/Analysis/ftime-trace-no-init.cpp
Log Message:
-----------
[clang][analyzer] Fix a nullptr dereference when -ftime-trace is used (Reland) (#139980)
Fixes #139779.
The bug was introduced in #137355 in `SymbolConjured::getStmt`, when
trying to obtain a statement for a CFG initializer without an
initializer. This commit adds a null check before access.
Previous PR #139820, Revert #139936
Additional notes since previous PR:
When conjuring a symbol, sometimes there is no valid CFG element, e.g.
in the file causing the crash, there is no element at all in the CFG. In
these cases, the CFG element reference in the expression engine will be
invalid. As a consequence, there needs to be extra checks to ensure the
validity of the CFG element reference.
Commit: 682a976768b274c71ebd42198d1bbf0f27fec1e2
https://github.com/llvm/llvm-project/commit/682a976768b274c71ebd42198d1bbf0f27fec1e2
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
Log Message:
-----------
[AA] Change RunEarly to be a Boolean Flag in ExternalAAWrapper (#139158)
Change the previous runEarly virtual function in ExternalAAWrapper to be
a boolean flag.
Commit: 58b9b865feffede59616cfc05cefa956d5352314
https://github.com/llvm/llvm-project/commit/58b9b865feffede59616cfc05cefa956d5352314
Author: John Harrison <harjohn at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/DAPTest.cpp
A lldb/unittests/DAP/Handler/DisconnectTest.cpp
A lldb/unittests/DAP/TestBase.cpp
A lldb/unittests/DAP/TestBase.h
M lldb/unittests/DAP/TransportTest.cpp
Log Message:
-----------
[lldb-dap] Setup DAP for unit testing. (#139937)
This is a very simple case that currently only validates we can create a
DAP instance and send a message over the transport layer. More in-depth
tests will require additional helpers and possibly refactors of DAP to
make it more testable, however this is some ground work to have basic
support for unit tests.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: e2c1dd5f234664066adce6467a5e3f36834b971b
https://github.com/llvm/llvm-project/commit/e2c1dd5f234664066adce6467a5e3f36834b971b
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M third-party/unittest/googletest/README.LLVM
M third-party/unittest/googletest/include/gtest/gtest-printers.h
Log Message:
-----------
Fix CI after #138708 (#140111)
Silence a warning in gtest casting a char8_t/char16_t to char32_t.
Note that this cast, as well as the behavior of `PrintTo(char32_t)` is
incorrect when printing a code unit that does not represent a code
point. See https://github.com/google/googletest/issues/4762
Commit: 1acac5cd38210131c543e4635fcbfd4d597e15f5
https://github.com/llvm/llvm-project/commit/1acac5cd38210131c543e4635fcbfd4d597e15f5
Author: Sinkevich Artem <a.sinkevich at ispras.ru>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[sanitizer] Fix empty string in unsupported argument error for -fsanitize-trap (#136549)
When using `-fsanitize-trap` with a sanitizer group that doesn't support
trapping, an empty argument is passed to
`err_drv_unsupported_option_argument`. Use new `toStringWithGroups` for
the diagnostic.
Commit: bb10c3ba7f77d40a7fbfd4ac815015d3a4ae476a
https://github.com/llvm/llvm-project/commit/bb10c3ba7f77d40a7fbfd4ac815015d3a4ae476a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
Log Message:
-----------
[LoopPeel] Implement initial peeling off the last loop iteration. (#139551)
Generalize countToEliminateCompares to also consider peeling off the
last iteration if it eliminates a compare.
At the moment, codegen for peeling off the last iteration is quite
restrictive and callers have to make sure that the exit condition can be
adjusted when peeling and that the loop executes at least 2 iterations.
Both will be relaxed in follow-ups.
PR: https://github.com/llvm/llvm-project/pull/139551
Commit: 2cdb7f3fc4c03df546dc61b67b1a5d2a6f03624d
https://github.com/llvm/llvm-project/commit/2cdb7f3fc4c03df546dc61b67b1a5d2a6f03624d
Author: Nuko Y. <or at dmc.chat>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/reserveXreg.ll
Log Message:
-----------
[AArch64] Disable machine-verifier for failing test, fix perf regression (#140005)
Disables machine-verifier on failing test for now for the test to pass
on expensive-checks. Also fixes performance regression
(https://llvm-compile-time-tracker.com/compare.php?from=64082912a500d004c53ad1b3425098b495572663&to=26f97ee9aa413db240c397f96ddd5b0553a57d30&stat=instructions:u)
mentioned in #138448 by not computing reserved registers every loop
iteration.
Commit: faf5d747f174cc9d714839f0d3bce1a783eac2ac
https://github.com/llvm/llvm-project/commit/faf5d747f174cc9d714839f0d3bce1a783eac2ac
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
Log Message:
-----------
[mlir] Fix DataLayoutPropagation foldings invalidating IR (#140103)
Fixes a bug in DataLayoutPropagation that was replacing generic op
destinations with tensor.empty() ops, even when the destination operand
was being used.
Addresses post-merge comment:
https://github.com/llvm/llvm-project/pull/138332/files/a9c1dccc3f73793bdd9e1f51ab3a6e15403a8338#r2091193712
Signed-off-by: Max Dawkins <maxdawkins19 at gmail.com>
Co-authored-by: Max Dawkins <maxdawkins19 at gmail.com>
Commit: 9457616527b50590e9c9d5e91723b35b26e447cd
https://github.com/llvm/llvm-project/commit/9457616527b50590e9c9d5e91723b35b26e447cd
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/pad-hollerith-arg.f
Log Message:
-----------
[flang] Pad Hollerith actual arguments (#139782)
For more compatible legacy behavior on old tests, extend Hollerith
actual arguments on the right with trailing blanks out to a multiple of
8 bytes. Fixes Fujitsu test 0343_0069.
Commit: 36ccfe29be3a5fec8c9c2e1d8354e304500afd9b
https://github.com/llvm/llvm-project/commit/36ccfe29be3a5fec8c9c2e1d8354e304500afd9b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang-rt/lib/runtime/assign.cpp
Log Message:
-----------
[flang] Clear obsolete type from reallocated allocatable (#139788)
When an assignment to a polymorphic allocatable changes its type to an
intrinsic type, be sure to reset its descriptor's derived type pointer
to null.
Fixes https://github.com/llvm/llvm-project/issues/136522.
Commit: c26e7520a939556bd23f7db3b7e0f4530b9d94a8
https://github.com/llvm/llvm-project/commit/c26e7520a939556bd23f7db3b7e0f4530b9d94a8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
A flang/test/Preprocessing/func-on-command-line.F90
Log Message:
-----------
[flang] Support -D for function-like macros (#139812)
Handle a command-line function-like macro definition like
"-Dfoo(a)=...".
TODO: error reporting for badly formed argument lists.
Commit: b7e13ab42929562d0fa78b623562341ef78617b4
https://github.com/llvm/llvm-project/commit/b7e13ab42929562d0fa78b623562341ef78617b4
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang/docs/ModFiles.md
Log Message:
-----------
[flang][docs] Document technique for regenerating a module hermetically (#139975)
A flang-new module file is Fortran source, so it can be recompiled with
the `-fhermetic-module-files` option to convert it into a hermetic one.
Commit: 5c551cbe462ea1b22bfe7e42e248ca29ea5c334c
https://github.com/llvm/llvm-project/commit/5c551cbe462ea1b22bfe7e42e248ca29ea5c334c
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[NFC] Fix warning formatting for AMDGPUUsage.rst
Commit: 2661e995ceebd6fd083e5b62aeff21e67b28e9a4
https://github.com/llvm/llvm-project/commit/2661e995ceebd6fd083e5b62aeff21e67b28e9a4
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll
M llvm/unittests/Transforms/IPO/WholeProgramDevirt.cpp
Log Message:
-----------
[llvm] Ensure propagated constants in the vtable are aligned (#136630)
It's possible for virtual constant propagation in whole program
devirtualization to create unaligned loads. We originally saw this with
4-byte aligned relative vtables where we could store 8-byte values
before/after the vtable. But since the vtable is 4-byte aligned and we
unconditionally do an 8-byte load, we can't guarantee that the stored
constant will always be aligned to 8 bytes. We can also see this with
normal vtables whenever a 1-byte char is stored in the vtable because
the offset calculation for the GEP doesn't take into account the
original vtable alignment.
This patch introduces two changes to virtual constant propagation:
1. Do not propagate constants whose preferred alignment is larger than
the vtable alignment. This is required because if the constants are
stored in the vtable, we can only guarantee the constant will be stored
at an address at most aligned to the vtable's alignment.
2. Round up the offset used in the GEP before the load to ensure it's at
an address suitably aligned such that we can load from it.
This patch updates tests to reflect this alignment change and adds some
cases for relative vtables.
Commit: 18ecff4f65067adfd9fcd721d93bb29b646e4756
https://github.com/llvm/llvm-project/commit/18ecff4f65067adfd9fcd721d93bb29b646e4756
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/CGData/StableFunctionMap.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVRange.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm] Use llvm::stable_sort (NFC) (#140067)
Commit: 6033a4859a0131062bef4eb765b438e6110b40a2
https://github.com/llvm/llvm-project/commit/6033a4859a0131062bef4eb765b438e6110b40a2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
Log Message:
-----------
[CodeGen] Use std::tie to implement a comparison functor (NFC) (#140088)
std::tie simplifies the lexicographical comparison while making the
code a little more consistent within MIRPrinter.cpp as we have a very
similar comparison functor in MIRPrinter::convertCalledGlobals, about
30 lines below the code this patch touches.
Commit: f9dbfb1566043d744d66ff8b5415269c6ec59743
https://github.com/llvm/llvm-project/commit/f9dbfb1566043d744d66ff8b5415269c6ec59743
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-wait.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Conversion/OpenACCToSCF/convert-openacc-to-scf.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[flang][acc] Update assembly formats to include asyncOnly, async, and wait (#140122)
The async implementation is inconsistent in terms of the assembly
format. While renaming `UpdateOp`'s `async` to `asyncOnly`, this PR
handles `asyncOnly` along with async operands in every operation.
Regarding `EnterDataOp` and `ExitDataOp`, they do not accept device
types; thus, the async and the wait clauses without values lead to the
`async` and the `wait` attributes (not `asyncOnly` nor `waitOnly`). This
PR also processes them with async and wait operands all together.
Commit: a6ddfb387df7866afc8ac0f7e9d517cd37345e61
https://github.com/llvm/llvm-project/commit/a6ddfb387df7866afc8ac0f7e9d517cd37345e61
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/DeclCXX.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in DeclCXX (#140078)
- Adopt non-templated and ArrayRef returning forms of
`getTrailingObjects`.
- Replace some initialization loop with std::uninitialized_fill_n.
- Remove unneeded `numTrailingObjects` for last trailing type.
Commit: 6c405694d134f708c064df37bf4ac79a84374c58
https://github.com/llvm/llvm-project/commit/6c405694d134f708c064df37bf4ac79a84374c58
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Get type from start value for VPWidenIntOrFpInduction (NFC).
NFC for now but this can cause verification failures in the future,
since after bf5627c85e697 wide induction may be narrowed. By using the
type from the start value, we will always return the correct type.
Commit: acdba28e148ac1e94d6c041f9911230e1e90e9cd
https://github.com/llvm/llvm-project/commit/acdba28e148ac1e94d6c041f9911230e1e90e9cd
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-vs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
Log Message:
-----------
[DirectX] Set whole-module flags prior to evaluating per-function flags (#139967)
Fixes #139024 and #139954
- Refactor DXILShaderFlags to compute the flags that apply to a whole
module before computing flags that apply individually to each function
- Make DXILResourceMap const, since it is not modified in
DXILShaderFlags
- Per-function shader flag analysis now initially starts with the set of
flags that apply to the whole module instead of starting from no flags.
This change fixes the above linked issues
- Fix shader flag tests affected by the above change
Commit: 090f46d8d246762401c41c5486dde299382d6c90
https://github.com/llvm/llvm-project/commit/090f46d8d246762401c41c5486dde299382d6c90
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Fix an assertion in the resolution of perfect matches (#140073)
Function pointers can have an identity conversion to a pointer to member
function if they are resolved to a member function.
Fix a regression introduced by #136203
Commit: efae492ad1ba80764ec4a85f5622a8713646f970
https://github.com/llvm/llvm-project/commit/efae492ad1ba80764ec4a85f5622a8713646f970
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Add VPTypeAnalysis constructor taking a VPlan (NFC).
Add constructor that retrieves the scalar type from the trip count
expression, if no canonical IV is available. Used in the verifier, in
preparation for late verification, when the canonical IV has been
dissolved.
Commit: 4f663cca15f2b53c2bc6a84d1b1f5bd81679356d
https://github.com/llvm/llvm-project/commit/4f663cca15f2b53c2bc6a84d1b1f5bd81679356d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
Log Message:
-----------
[LoopPeel] Make sure PeelLast is always initialized.
Make sure PeelLast is initialized on all paths.
Should fix MSan bootstrap failures
https://lab.llvm.org/buildbot/#/builders/164/builds/9992
https://lab.llvm.org/buildbot/#/builders/94/builds/7158
Fixup after https://github.com/llvm/llvm-project/pull/139551.
Commit: fc7857ca95bba93807959ad09f983221db8811e1
https://github.com/llvm/llvm-project/commit/fc7857ca95bba93807959ad09f983221db8811e1
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A clang/include/clang/CIR/Dialect/OpenACC/CIROpenACCTypeInterfaces.h
A clang/include/clang/CIR/Dialect/OpenACC/RegisterOpenACCExtensions.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/CMakeLists.txt
A clang/lib/CIR/Dialect/OpenACC/CIROpenACCTypeInterfaces.cpp
A clang/lib/CIR/Dialect/OpenACC/CMakeLists.txt
A clang/lib/CIR/Dialect/OpenACC/RegisterOpenACCExtensions.cpp
A clang/unittests/CIR/CMakeLists.txt
A clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CMakeLists.txt
Log Message:
-----------
[CIR] Add PointerLikeType interface support for cir::PointerType (#139768)
This adds code to attach the OpenACC PointerLikeType interface to
cir::PointerType, along with a unit test for the interface.
Commit: 2e6433b8293ac64923c737078e87dc39fc4bced6
https://github.com/llvm/llvm-project/commit/2e6433b8293ac64923c737078e87dc39fc4bced6
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
A clang/test/CodeGenHLSL/convergence/global_array.hlsl
Log Message:
-----------
[clang] Emit convergence tokens for loop in global array init (#140120)
When initializing a global array, a loop is generated, but no
convergence is emitted for the loop. This fixes that up.
Commit: a4eb0db062b646907a2c19d54f8240fe4bdd98ce
https://github.com/llvm/llvm-project/commit/a4eb0db062b646907a2c19d54f8240fe4bdd98ce
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/RootSignature.hlsl
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
Log Message:
-----------
[HLSL][RootSignature] Add metadata generation for descriptor tables (#139633)
- prereq: Modify `RootSignatureAttr` to hold a reference to the owned
declaration
- Define and implement `MetadataBuilder` in `HLSLRootSignature`
- Integrate and invoke the builder in `CGHLSLRuntime.cpp` to generate
the Root Signature for any associated entry functions
- Add tests to demonstrate functionality in `RootSignature.hlsl`
Resolves https://github.com/llvm/llvm-project/issues/126584
Note: this is essentially just
https://github.com/llvm/llvm-project/pull/125131 rebased onto the new
approach of constructing a root signature decl, instead of holding the
elements in `AdditionalMembers`.
Commit: f01f08292e894a565baa1b2741b31fbcf53a18cb
https://github.com/llvm/llvm-project/commit/f01f08292e894a565baa1b2741b31fbcf53a18cb
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
R llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.path.ll
Log Message:
-----------
AMDGPU: Make v2f32 -> v2f16 legal when target supports v_cvt_pk_f16_f32 (#139956)
If targets support v_cvt_pk_f16_f32 instruction, v2f32 -> v2f16 should
be legal. However, SelectionDAG does not allow us to specify the source
type in the legalization rules. To workaround this, we make FP_ROUND
Custom for v2f16 then set up v2f32 -> v2f16 to be legal during custom
lowering.
Fixes: SWDEV-532608 -- expected v_cvt_pk_f16_f32 was not generated.
Commit: a3c4a5cb63df01ae63ae0a8c3e4c3e1fdbc3b70c
https://github.com/llvm/llvm-project/commit/a3c4a5cb63df01ae63ae0a8c3e4c3e1fdbc3b70c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[MLGO][Docs] Add documentation on corpus tooling (#139362)
This adds some documentation on the three corpus tools, some examples,
and fixes the TODO telling me to get this done.
Commit: 8e53e3b4ef79ad4f4658d6f3e235e49c6062aec5
https://github.com/llvm/llvm-project/commit/8e53e3b4ef79ad4f4658d6f3e235e49c6062aec5
Author: Matthias Braun <matze at braunis.de>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOperand.h
Log Message:
-----------
Fix comment mentioning nonexistent parameter (#140138)
Don't mention nonexistent parameter in comment. The parameter was
removed in https://github.com/llvm/llvm-project/pull/126003 .
Commit: f113cab1912c19581a48b7330cadfbd24f51fc58
https://github.com/llvm/llvm-project/commit/f113cab1912c19581a48b7330cadfbd24f51fc58
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Cleanup bytesel variables. NFC. (#140131)
Somehow we ended up with 2 sets of td variables: Is...ByteSel and
Has...ByteSel. Keep only Has... form.
Commit: 136f2ba2a7bca015ef831c91fb0db5e5e31b7632
https://github.com/llvm/llvm-project/commit/136f2ba2a7bca015ef831c91fb0db5e5e31b7632
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[Clang][AST] Fix HandleLValueBase to deal with references (#140105)
Since P2280R4 Unknown references and pointers was implemented,
HandleLValueBase now has to deal with referneces:
D.MostDerivedType->getAsCXXRecordDecl()
will return a nullptr if D.MostDerivedType is a ReferenceType. The fix
is to use getNonReferenceType() to obtain the Pointee Type if we have a
reference.
Fixes: https://github.com/llvm/llvm-project/issues/139452
Commit: 642d5d74b5cc8c07b0e35cfa24e8ffb7de189bcd
https://github.com/llvm/llvm-project/commit/642d5d74b5cc8c07b0e35cfa24e8ffb7de189bcd
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn
Log Message:
-----------
[gn] "port" fc7857ca95bb (CIRUnitTests)
CIRUnitTests depends on mlir, so create a dummy target to make
the sync script happy. (This is behind CLANG_ENABLE_CIR in cmake.)
Commit: 6d7b5c3742165d35100adc1605220b590c93ef89
https://github.com/llvm/llvm-project/commit/6d7b5c3742165d35100adc1605220b590c93ef89
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/wait.c
Log Message:
-----------
[OpenACC][CIR] Update tests after #140122
Patch #140122 changed the format of OpenACC 'async', without changing
the clang tests. This patch updates the test.
Commit: b07e19fe5d0521bf0652bd073a6cedc0c4984f2b
https://github.com/llvm/llvm-project/commit/b07e19fe5d0521bf0652bd073a6cedc0c4984f2b
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
Log Message:
-----------
[NFCI][cfi] Refactor into 'SanitizerInfoFromCFICheckKind' (#140117)
This refactors existing code into a 'SanitizerInfoFromCFICheckKind'
helper function. This will be useful in future work to annotate CFI
checks with debug info
(https://github.com/llvm/llvm-project/pull/139809).
Commit: 5c25061f32c2d9a18fb8a35709a4b540f573aa89
https://github.com/llvm/llvm-project/commit/5c25061f32c2d9a18fb8a35709a4b540f573aa89
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[MLGO]{Github] Add MLGO docs page to the MLGO PR subscriber group
This ensures that the MLGO PR subscriber team gets pinged if the document gets
modified which makes sense given it is MLGO specific.
Commit: de0bcd0564e4e67ae2afe1bad41c7bc505362e19
https://github.com/llvm/llvm-project/commit/de0bcd0564e4e67ae2afe1bad41c7bc505362e19
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/stack-offset.ll
Log Message:
-----------
[RISCV] Use QC_E_ADDI while eliminating the frameindex (#139515)
The QC_E_ADDI instruction from the Xqcilia extension takes a signed
26-bit immediate and can be used instead of splitting the offset across
two ADDI's while eliminating the frameindex.
Commit: 8d3a70770fda43c1f1ae797f307adf25b65e7209
https://github.com/llvm/llvm-project/commit/8d3a70770fda43c1f1ae797f307adf25b65e7209
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Improve inline asm importer (#139989)
Add support for importing more information into InlineAsmOp:
elementtype, side effects, align stack, asm dialect and operand attrs.
Commit: 56aa935bec14116314ab0450be761ad9d776bfa8
https://github.com/llvm/llvm-project/commit/56aa935bec14116314ab0450be761ad9d776bfa8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/emit-encoded.h
M flang-rt/lib/runtime/edit-input.cpp
Log Message:
-----------
[flang-rt] Fix warnings
This patch fixes:
flang-rt/include/flang-rt/runtime/emit-encoded.h:67:27: error:
implicit conversion from 'const char16_t' to 'char32_t' may change
the meaning of the represented code unit
[-Werror,-Wcharacter-conversion]
flang-rt/lib/runtime/edit-input.cpp:1114:18: error: implicit
conversion from 'char32_t' to 'char16_t' may lose precision and
change the meaning of the represented code unit
[-Werror,-Wcharacter-conversion]
flang-rt/lib/runtime/edit-input.cpp:1133:18: error: implicit
conversion from 'char32_t' to 'char16_t' may lose precision and
change the meaning of the represented code unit
[-Werror,-Wcharacter-conversion]
flang-rt/lib/runtime/edit-input.cpp:1033:14: error: implicit
conversion from 'char32_t' to 'char16_t' may lose precision and
change the meaning of the represented code unit
[-Werror,-Wcharacter-conversion]
flang-rt/lib/runtime/edit-input.cpp:986:14: error: implicit
conversion from 'char32_t' to 'char16_t' may lose precision and
change the meaning of the represented code unit
[-Werror,-Wcharacter-conversion]
Commit: 97ad399c48d33247a66cca928a77a612f1e7bb4d
https://github.com/llvm/llvm-project/commit/97ad399c48d33247a66cca928a77a612f1e7bb4d
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
A llvm/test/MC/AsmParser/token.s
Log Message:
-----------
MCParser: Move LCurly/RCurly testing into tokenIsStartOfStatement
Commit 8a0453e23abf27433b7539b2da2060d2df9fb39c (2015) added LCurly and
RCurly cases for Hexagon instruction bundles. While gas x86 also adopted
`{` in 2017 for pseudo prefixes (see `tc_symbol_chars`), `{` remains
uncommon among targets. Move `{` and `}` parsing into the newly
introduced `tokenIsStartOfStatement` hook (#137997).
Pull Request: https://github.com/llvm/llvm-project/pull/140101
Commit: f3f28323adbb9d01372d81b4c78ed94683e58757
https://github.com/llvm/llvm-project/commit/f3f28323adbb9d01372d81b4c78ed94683e58757
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A llvm/include/llvm/ProfileData/DataAccessProf.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/DataAccessProf.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/DataAccessProfTest.cpp
Log Message:
-----------
[StaticDataLayout][PGO] Add profile format for static data layout, and the classes to operate on the profiles. (#138170)
Context: For
https://discourse.llvm.org/t/rfc-profile-guided-static-data-partitioning/83744#p-336543-background-3,
we propose to profile memory loads and stores via hardware events,
symbolize the addresses of binary static data sections and feed the
profile back into compiler for data partitioning.
This change adds the profile format for static data layout, and the
classes to operate on it.
The profile and its format
1. Conceptually, a piece of data (call it a symbol) is represented by
its symbol name or its content hash. The former applies to majority of
data whose mangled name remains relatively stable over binary releases,
and the latter applies to string literals (with name patterns like
`.str.<N>[.llvm.<hash>]`.
- The symbols with samples are hot data. The number of hot symbols is
small relative to all symbols. The profile tracks its sampled counts and
locations. Sampled counts come from hardware events, and locations come
from debug information in the profiled binary. The symbols without
samples are cold data. The number of such cold symbols is large. The
profile tracks its representation (the name or content hash).
- Based on a preliminary study, debug information coverage for data
symbols is partial and best-effort. In the LLVM IR, global variables
with source code correspondence may or may not have debug information.
Therefore the location information is optional in the profiles.
2. The profile-and-compile cycle is similar to SamplePGO. Profiles are
sampled from production binaries, and used in next binary releases.
Known cold symbols and new hot symbols can both have zero sampled
counts, so the profile records known cold symbols to tell the two for
next compile.
In the profile's serialization format, strings are concatenated together
and compressed. Individual records stores the index.
A separate PR will connect this class to InstrProfReader/Writer via
MemProfReader/Writer.
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: 8d63afbe5c8c5856ab4c2e663c1076313001565d
https://github.com/llvm/llvm-project/commit/8d63afbe5c8c5856ab4c2e663c1076313001565d
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
Log Message:
-----------
[NFC] Refactoring MCDXBC to support out of order storage of root parameters (#137284)
This PR refactors mcdxbc data structure for root signatures to support
out of order storage of in memory root signature data.
closes: #139585
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: dae5c4e1e7deef1fddad6e83d0f109b6fc9c5cc4
https://github.com/llvm/llvm-project/commit/dae5c4e1e7deef1fddad6e83d0f109b6fc9c5cc4
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/mul-expand.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/xqccmp-additional-stack.ll
M llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll
Log Message:
-----------
[RISCV] Expand constant multiplication for targets without M extension (#137195)
Closes #137023
On RISC-V machines without a native multiply instruction (e.g., `rv32i`
base), multiplying a variable by a constant integer often compiles to a
call to a library routine like `__mul{s,d}i3`.
```assembly
.globl __mulxi3
.type __mulxi3, @function
__mulxi3:
mv a2, a0
mv a0, zero
.L1:
andi a3, a1, 1
beqz a3, .L2
add a0, a0, a2
.L2:
srli a1, a1, 1
slli a2, a2, 1
bnez a1, .L1
ret
```
This library function implements multiplication in software using a loop
of shifts and adds, processing the constant bit by bit. On rv32i, it
requires a minimum of 8 instructions (for multiply by `0`) and up to
about 200 instructions (by `0xffffffff`), involves heavy branching and
function call overhead.
When not optimizing for size, we could expand the constant
multiplication into a sequence of shift and add/sub instructions. For
now we use non-adjacent form for the shift and add/sub sequence, which
could save 1/2 - 2/3 instructions compared to a shl+add-only sequence.
Commit: 7028c00f69864d47e811f955d4b5cb54eaeb73ed
https://github.com/llvm/llvm-project/commit/7028c00f69864d47e811f955d4b5cb54eaeb73ed
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port f3f28323adbb
Commit: 13c484c6e1c96d44bcefe177ea96f170c2e3ac10
https://github.com/llvm/llvm-project/commit/13c484c6e1c96d44bcefe177ea96f170c2e3ac10
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Upstream Vector support in elementTypeIfVector (#140125)
Upstream vector support in the element type if vector as a required
change for upstreaming other Vec Ops
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 664c937b4378b4ecc12ac193f4205966a3aa2aac
https://github.com/llvm/llvm-project/commit/664c937b4378b4ecc12ac193f4205966a3aa2aac
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Implement VPExtendedReduction, VPMulAccumulateReductionRecipe and corresponding vplan transformations. (#137746)
This patch introduce two new recipes.
* VPExtendedReductionRecipe
- cast + reduction.
* VPMulAccumulateReductionRecipe
- (cast) + mul + reduction.
This patch also implements the transformation that match following
patterns via vplan and converts to abstract recipes for better cost
estimation.
* VPExtendedReduction
- reduce(cast(...))
* VPMulAccumulateReductionRecipe
- reduce.add(mul(...))
- reduce.add(mul(ext(...), ext(...))
- reduce.add(ext(mul(ext(...), ext(...))))
The converted abstract recipes will be lower to the concrete recipes
(widen-cast + widen-mul + reduction) just before recipe execution.
Note that this patch still relies on legacy cost model the calculate the
cost for these patters.
Will enable vplan-based cost decision in #113903.
Split from #113903.
Commit: f95f3030e595b76a3aa0295997e7dcf865c28796
https://github.com/llvm/llvm-project/commit/f95f3030e595b76a3aa0295997e7dcf865c28796
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Implicit resource binding for cbuffers (#139022)
Constant buffers defined with the `cbuffer` keyword do not have a
constructor. Instead, the call to initialize the resource handle based
on its binding is generated in codegen. This change adds initialization
of `cbuffer` handles that have implicit binding.
Closes #139617
Commit: 257dfc3a1f568218bf923f37e20a6aff862817b6
https://github.com/llvm/llvm-project/commit/257dfc3a1f568218bf923f37e20a6aff862817b6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Fix using getElementType (#140177)
Fix for elementTypeIfVector
Commit: 9f438e0b0670d5d70fc81288a192b4e8815ac77a
https://github.com/llvm/llvm-project/commit/9f438e0b0670d5d70fc81288a192b4e8815ac77a
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
M llvm/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
M llvm/test/MC/Mips/macro-rem.s
Log Message:
-----------
Mips,test: Fix check prefix
#140149
Commit: dc9171afc481f28865fc19ba7bc88c6596bb86e9
https://github.com/llvm/llvm-project/commit/dc9171afc481f28865fc19ba7bc88c6596bb86e9
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcibi.ll
Log Message:
-----------
[RISCV] Add isel patterns for generating Xqcibi branch instructions (#139872)
Add ISEL patterns for generating the Xqcibi branch immediate
instructions. Similar to #135771 adds new CondCodes for the various
branch instructions and uses them to return the appropriate instruction.
Commit: ca6398c79e43ea1289bfec8c623a55f47ed3f992
https://github.com/llvm/llvm-project/commit/ca6398c79e43ea1289bfec8c623a55f47ed3f992
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
A llvm/test/CodeGen/Mips/private-global-prefix.ll
Log Message:
-----------
[COFF][Mips] Set PrivateGlobalPrefix to .L (#140033)
When calling external functions which start with `L`, would generate
error: assembler label 'LeaveFoo' can not be undefined. This pr would
fix this issue.
Fix #134914.
Commit: 680b3b742da02972bc0b5298b6f472d2b95ca90a
https://github.com/llvm/llvm-project/commit/680b3b742da02972bc0b5298b6f472d2b95ca90a
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
M llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV][Scheduler] Add scheduling definitions for 128-bit Zfa instructions (#140003)
Followup of #139495 and #139508
Commit: 86e9be0954ac054bdf5164d1e9a17e330cbd2429
https://github.com/llvm/llvm-project/commit/86e9be0954ac054bdf5164d1e9a17e330cbd2429
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
EquivalenceClasses: Make ECValue public. NFC (#139689)
Expose the inner class so that we can explicitly write the type outside
the parent class.
Commit: bcb1227c3c1cc904fe6bc724b78c8c737234c709
https://github.com/llvm/llvm-project/commit/bcb1227c3c1cc904fe6bc724b78c8c737234c709
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
A lldb/source/Plugins/Process/AIX/NativeThreadAIX.cpp
A lldb/source/Plugins/Process/AIX/NativeThreadAIX.h
Log Message:
-----------
[lldb][AIX] Adding NativeThreadAIX (#139537)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
**Description:**
Adding NativeThreadAIX base files,
to be integrated with already merged NativeProcessAIX.
Commit: af083d09bd1815bd50f2efb9f999bec145a564b1
https://github.com/llvm/llvm-project/commit/af083d09bd1815bd50f2efb9f999bec145a564b1
Author: Kiva <imkiva at islovely.icu>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
A clang/test/CodeGen/RISCV/riscv-zihintpause.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/riscv-zihintpause.ll
Log Message:
-----------
[RISCV] Add `zihintpause` LLVM/Clang intrinsic (#139519)
This PR adds the missing intrinsic `__builtin_riscv_pause` for the
zihintpause extension.
Spec:
https://five-embeddev.com/riscv-user-isa-manual/Priv-v1.12/zihintpause.html
Fixes #129961
Commit: 0f0fd6213e5cbf2276ee1fb23590e51ebe41810a
https://github.com/llvm/llvm-project/commit/0f0fd6213e5cbf2276ee1fb23590e51ebe41810a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.cpp
Log Message:
-----------
[Basic] Use std::optional::value_or (NFC) (#140172)
Commit: 5ca94f92fbeb2cb3c59e33169bee950b7f521400
https://github.com/llvm/llvm-project/commit/5ca94f92fbeb2cb3c59e33169bee950b7f521400
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Use std::optional::value_or (NFC) (#140173)
Commit: a83668c3dd68bfab02ba8a109a6e09b4127f49e9
https://github.com/llvm/llvm-project/commit/a83668c3dd68bfab02ba8a109a6e09b4127f49e9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M bolt/lib/Core/DIEBuilder.cpp
Log Message:
-----------
[BOLT] Use llvm::upper_bound (NFC) (#140174)
Commit: 1001d6a6cdfcfc3c045afd24e8b4db814384bf4f
https://github.com/llvm/llvm-project/commit/1001d6a6cdfcfc3c045afd24e8b4db814384bf4f
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/TypeFromLLVM.h
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
A mlir/test/Target/LLVMIR/Import/import-structs-as-literals.ll
Log Message:
-----------
[MLIR][LLVM] Add import-structs-as-literals flag to the IR import (#140098)
This commit introduces the `import-structs-as-literals` option to the
MLIR import. This ensures that all struct types are imported as literal
structs, even when they are named in LLVM IR.
Commit: 937446d433b1c0bb3e4194847b3e620f308b0fbb
https://github.com/llvm/llvm-project/commit/937446d433b1c0bb3e4194847b3e620f308b0fbb
Author: Min Hsu <min at myhsu.dev>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/test/MC/M68k/Data/Classes/MxMOVEM_MR.s
M llvm/test/MC/M68k/Data/Classes/MxMOVEM_RM.s
Log Message:
-----------
[M68k] Fix incorrect move mask encoding with pre-decrement operand
When the memory operand of MOVEM instruction has an addressing mode of
pre-decrement, the move mask should be reversed.
This patch fixes it by creating a new asm operand with a different
encoding method.
Reported by @petmac
Commit: c41812e6eaa95a7e43e0613d9ffab6f5eb17b92c
https://github.com/llvm/llvm-project/commit/c41812e6eaa95a7e43e0613d9ffab6f5eb17b92c
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libcxx/include/map
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
Log Message:
-----------
[libcxx] applies #134819 to `insert_or_assign` with `const key_type&` (#140124)
This was missed due to using prvalues in the test case, which were
picked up by the rvalue-reference overload instead.
Commit: 76ba29bfd8e8aaf5b0267598d18434a0d13945a2
https://github.com/llvm/llvm-project/commit/76ba29bfd8e8aaf5b0267598d18434a0d13945a2
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/lib/Basic/DiagnosticIDs.cpp
M llvm/include/llvm/ADT/ImmutableSet.h
M llvm/include/llvm/Bitstream/BitCodes.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/User.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
Log Message:
-----------
[NFC] Address bit-field storage sizes to ensure ideal packing (#139825)
The MS bit-field packing ABI depends on the storage size of the type of
being placed in the bit-field. This PR addresses a number of cases in
llvm where the storage type has lead to suboptimal packing.
Commit: 17853c3a5f59fff72f2e5071d24a365043219376
https://github.com/llvm/llvm-project/commit/17853c3a5f59fff72f2e5071d24a365043219376
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python][NFC] Refactor wildcard import of `ctypes` (#140191)
The list is not that long.
Commit: a23d18726d32172f855d451375df2816b815c191
https://github.com/llvm/llvm-project/commit/a23d18726d32172f855d451375df2816b815c191
Author: Brad Smith <brad at comstyle.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/test/Driver/haiku.c
Log Message:
-----------
[Driver][Haiku] Add /boot/system/develop/headers/gcc/include header path (#140189)
Commit: 9a1bfc17d3acd33a5674cb442625f20495d5e5f5
https://github.com/llvm/llvm-project/commit/9a1bfc17d3acd33a5674cb442625f20495d5e5f5
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Add SEXT_INREG patterns for Xqcibm ext instruction (#140192)
Handle sign_extend_inreg from i1/i8/i16
Commit: 1c2c02c8cbb6949c06fe26a72200ccfb37ac8c96
https://github.com/llvm/llvm-project/commit/1c2c02c8cbb6949c06fe26a72200ccfb37ac8c96
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV][Scheduler] Split `UnsupportedSchedZfa` by other fp extensions (#140186)
Commit: bf92b127d2637948f53d11a187e865aa10e2e74c
https://github.com/llvm/llvm-project/commit/bf92b127d2637948f53d11a187e865aa10e2e74c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
Log Message:
-----------
Revert "[LoopPeel] Implement initial peeling off the last loop iteration. (#139551)"
This reverts commit bb10c3ba7f77d40a7fbfd4ac815015d3a4ae476a.
Also reverts 4f663cca15f2b53c2bc6a84d1b1f5bd81679356d:
Revert "[LoopPeel] Make sure PeelLast is always initialized."
Revert for now to bring msan bots back to green
https://lab.llvm.org/buildbot/#/builders/164/builds/9992
https://lab.llvm.org/buildbot/#/builders/94/builds/7158
Commit: eb4fde9a4e7e43947be9116563f5307f745bc541
https://github.com/llvm/llvm-project/commit/eb4fde9a4e7e43947be9116563f5307f745bc541
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
Log Message:
-----------
Revert "[Flang] Turn on alias analysis for locally allocated objects" (#140202)
Reverts llvm/llvm-project#139682 (commit: cf16c97bfa1416672d8990862369e86f360aa11e )
due to reported regression in Fujitsu Fortran test suite:
https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vla-build/2081/artifact/artifacts/notify/mail-body.txt/*view*/
Commit: 39fa5b31c5e603ef96f5130913c86c821b2f0620
https://github.com/llvm/llvm-project/commit/39fa5b31c5e603ef96f5130913c86c821b2f0620
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
Log Message:
-----------
[llvm][NFC] Update LocalVarDef::CVRegister to fix size MS ABI (#140214)
LocalVarDef::CVRegister being a uint16_t is not enough for the fields to
be packed with the MS ABI.
This makes the field a 16 bit a uint32_t
Commit: bb5566aac2f236d49c74ce3c53b5c832f4d9a22b
https://github.com/llvm/llvm-project/commit/bb5566aac2f236d49c74ce3c53b5c832f4d9a22b
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Improve usage note on stacked PRs (#138949)
Commit: 82a9cb358b4977e06179419b472a5b7657e55963
https://github.com/llvm/llvm-project/commit/82a9cb358b4977e06179419b472a5b7657e55963
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
A clang/bindings/python/tests/cindex/test_lib.py
Log Message:
-----------
[libclang/python] Ensure all used library functions are registered (#140015)
Add a few library functions that were not previously registered to the
`CDLL` object. The current behavior relied on the default `restype` to
work.
Add a test to check that all used library functions are properly
registered.
Commit: c2045f24eab06960e0418d7d82856407b19156ad
https://github.com/llvm/llvm-project/commit/c2045f24eab06960e0418d7d82856407b19156ad
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Add typing annotations for the Cursor class (#138103)
This fully annotates the Cursor class, resolving 95 strict typing errors
as the next step towards #76664
These changes are a superset of the typing annotation changes from
#120590
Commit: fd85ffb4c43be80c179145a382d78a7c9ca3c1b7
https://github.com/llvm/llvm-project/commit/fd85ffb4c43be80c179145a382d78a7c9ca3c1b7
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU] Handle min/max in isNarrowingProfitable (#140206)
Introduces a slight regression in some cases but it'll even out once we
disable the promotion in CGP.
Commit: 858649ad0e2bd4c24d4e577094707a53acfe6ade
https://github.com/llvm/llvm-project/commit/858649ad0e2bd4c24d4e577094707a53acfe6ade
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/StmtProfile.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[Clang] Profile singly-resolved UnresolvedLookupExpr with the declaration (#140029)
For a dependent variable template specialization, we don't build a
dependent Decl node or a DeclRefExpr to represent it. Instead, we
preserve the UnresolvedLookupExpr until instantiation.
However, this approach isn't ideal for constraint normalization. We
consider the qualifier during profiling, but since that's based on the
written code, it can introduce confusing differences, even when the
expressions resolve to the same declaration.
This change ensures that, if possible, we profile the resolved
declaration instead of its qualifier. For expressions that resolve to
more than one declarations, we still profile its qualifier, as otherwise
it would make us depend on the order of lookup results.
Fixes https://github.com/llvm/llvm-project/issues/139476
Commit: 3aaf44f95de24339d73c0093576a4a3cc42404ad
https://github.com/llvm/llvm-project/commit/3aaf44f95de24339d73c0093576a4a3cc42404ad
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/variant-pcs.ll
Log Message:
-----------
[AArch64] Restrict .variant_pcs directive to ELF targets (#138924)
Directive was implemented in c87bd2d8eb37 to support lazy binding and is
emitted for vector PCS functions. It's specific to ELF but is currently
emitted for all binary formats and crashing on non-ELF targets.
Fixes #138260
---------
Co-authored-by: Cullen Rhodes <cullen.rhodes at arm.com>
Commit: 5e7bc5e080fb393c3ddb954fa9fd3714284f72c2
https://github.com/llvm/llvm-project/commit/5e7bc5e080fb393c3ddb954fa9fd3714284f72c2
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove hasOneUse check from sext+sext_inreg to sext_inreg combine (#140207)
The hasOneUseCheck does not really add anything and makes the combine too
restrictive. Upcoming patches benefit from removing the hasOneUse check.
Commit: aacebaeab5448b4ef614aa8aca52ca210e451f79
https://github.com/llvm/llvm-project/commit/aacebaeab5448b4ef614aa8aca52ca210e451f79
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/bitreverse.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/fneg.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/zero_extend.ll
Log Message:
-----------
[AMDGPU] Do not promote uniform i16 operations to i32 in CGP (#140208)
For the majority of cases, this is a neutral or positive change.
There are even testcases that greatly benefit from it, but some regressions are possible.
There is #140040 for GlobalISel that'd need to be fixed but it's only a one instruction regression and I think it can be fixed later.
Solves #64591
Commit: 22576e2ccec60af6d27d8fd95ad3ca721b914815
https://github.com/llvm/llvm-project/commit/22576e2ccec60af6d27d8fd95ad3ca721b914815
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/AArch64/cpu-supports-target.c
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGen/X86/avx512-error.c
M clang/test/CodeGen/target-avx-abi-diag.c
Log Message:
-----------
[Clang][AArch64] Add pessimistic vscale_range for sve/sme (#137624)
The "target-features" function attribute is not currently considered
when adding vscale_range to a function. When +sve/+sme are pushed onto
functions with "#pragma attribute push(+sve/+sme)", the function
potentially misses out on optimizations that rely on vscale_range being
present.
Commit: 299a278db16fa0944472af79bfec31dd678c5b37
https://github.com/llvm/llvm-project/commit/299a278db16fa0944472af79bfec31dd678c5b37
Author: Wenju He <wenju.he at intel.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/lib/generic/math/clc_lgamma_r.cl
Log Message:
-----------
[libclc] Improving vector code generated from scalar code (#140008)
The previous method splits vector data into two halves. shuffle_vector
concatenates the two results into a vector data of original size. This
PR eliminates the use of shuffle_vector.
Commit: d779b8f92b4352b88b8512709ec0fe63f1c03695
https://github.com/llvm/llvm-project/commit/d779b8f92b4352b88b8512709ec0fe63f1c03695
Author: Wenju He <wenju.he at intel.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Append file_specific_compile_options after ARG_COMPILE_FLAGS (#139871)
This enables file_specific_compile_options to take precedence over
ARG_COMPILE_FLAGS. For example, if we add -fno-slp-vectorize to
COMPILE_OPTIONS of a file, the behavior changes as follows:
* Before this PR: -fno-slp-vectorize is overwritten by -O3, resulting in
SLP vectorizer remaining enabled.
* After this PR: -fno-slp-vectorize overwrites -O3, effectively
disabling SLP vectorizer.
Commit: 9f77c26ec641c7f0c353f74ee6ee072086e2f3d7
https://github.com/llvm/llvm-project/commit/9f77c26ec641c7f0c353f74ee6ee072086e2f3d7
Author: Weibo He <NewSigma at 163.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/Coroutines.rst
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
A llvm/test/Transforms/Coroutines/gh105595.ll
Log Message:
-----------
[CoroEarly] Hide promise alloca for later passes (#139243)
Currently coroutine promises are modeled as allocas. This is problematic
because other middle-end passes will assume promise dead after coroutine
suspend, leading to misoptimizations.
I propose the front ends remain free to emit and use allocas to model
coro promise. At CoroEarly, we will replace all uses of promise alloca
with `coro.promise`. Non coroutine passes should only access promise
through `coro.promise`. Then at CoroSplit, we will lower `coro.promise`
back to promise alloca again. So that it will be correctly collected
into coro frame. Note that we do not have to bother maintainers of other
middle-end passes.
Fix #105595
Commit: b712590ef4acfd9f0bea42aff695b22ca99ae5dd
https://github.com/llvm/llvm-project/commit/b712590ef4acfd9f0bea42aff695b22ca99ae5dd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
Log Message:
-----------
[X86] Add test coverage for #140234
Commit: 882a4c531f6d9903d1d98e6fbd2be7b29ff7bdc3
https://github.com/llvm/llvm-project/commit/882a4c531f6d9903d1d98e6fbd2be7b29ff7bdc3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineGatherScatter - ensure index / pointer sizes match when converting index shift to scale (#140110)
The index value can sext/trunc to the pointer size before being scaled
Noticed while reviewing #139703
Commit: 711d72e38ecc5a9b605ae9bf2dbc9c3f34d8aca5
https://github.com/llvm/llvm-project/commit/711d72e38ecc5a9b605ae9bf2dbc9c3f34d8aca5
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-intrinsics-while.ll
Log Message:
-----------
[LLVM][SVE] Relax optimizeIncrementingWhile constant operand requirements. (#140037)
Only the latter part of optimizeIncrementingWhile requires a constant
first operand and so the initial bailout code is preventing the obvious
whilele(X,MAX_INT) -> splat(true) combine.
Commit: e5f8998ac86f3cbbc763f0a1a9e23824e70b4af7
https://github.com/llvm/llvm-project/commit/e5f8998ac86f3cbbc763f0a1a9e23824e70b4af7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/lifetimes26.cpp
Log Message:
-----------
[clang][bytecode] Explicitly start variable lifetimes via placement new (#140221)
placement new /std::construct{,_at} can resurrect a variable after it's
destructor has been called.
Commit: e829963a4fefa1b9540647799800b16d88bf0412
https://github.com/llvm/llvm-project/commit/e829963a4fefa1b9540647799800b16d88bf0412
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libcxx/src/include/overridable_function.h
Log Message:
-----------
[libc++][NFC] Update the documentation for _LIBCPP_OVERRIDABLE_FUNCTION (#140121)
Commit: 25c4478f38378134b303e68f157d2887f749995c
https://github.com/llvm/llvm-project/commit/25c4478f38378134b303e68f157d2887f749995c
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
Log Message:
-----------
[NFC][AMDGPU] Convert commute-compares.ll to autogenerated CHECK lines (#140076)
Commit: 38e0f983ada4cb753bcaafaf8fa9e2f2dfdef2ba
https://github.com/llvm/llvm-project/commit/38e0f983ada4cb753bcaafaf8fa9e2f2dfdef2ba
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang-tools-extra/clangd/index/FileIndex.cpp
Log Message:
-----------
[CLANGD] [NFC] Fix proposed by static analyzer. (#140116)
This fixes an issue reported by the sanitizer with the following error
message:
`copy_constructor_call: IndexOpts` is passed by value as a parameter to`
clang::index::IndexingOptions::IndexingOptions` instead of being moved.
Commit: c02e6ca3b3ea84566800043bb4c29c67eb63f223
https://github.com/llvm/llvm-project/commit/c02e6ca3b3ea84566800043bb4c29c67eb63f223
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
A lldb/test/Shell/ObjectFile/XCOFF/basic-info32.yaml
Log Message:
-----------
[lldb][AIX] Added 32-bit XCOFF Executable support (#139875)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
**Description:**
Adding support for XCOFF 32 bit file format as well in lldb, up to the
point where 64-bit support is implemented.
Added a new test case for the same.
This is an incremental PR on top of the previous couple of XCOFF support
commits.
Commit: a07cc181cced04850a9e93fc9b57321c8b6ff408
https://github.com/llvm/llvm-project/commit/a07cc181cced04850a9e93fc9b57321c8b6ff408
Author: David Green <david.green at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
Log Message:
-----------
[AArch64][GlobalISel] Add GISel test coverage for argument-blocks-array-of-struct.ll. NFC
See #50062.
Commit: dd32ad1c3787c51e72d496c03ab7948c98f93e06
https://github.com/llvm/llvm-project/commit/dd32ad1c3787c51e72d496c03ab7948c98f93e06
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[Clang][Lex][NFC] Assert getExternalSource() in updateOutOfDateIdentifier (#140137)
Static analysis flagged the unconditional access of getExternalSource().
We don't initialize ExternalSource during construction but via
setExternalSource(). If this is not set it will violate the invariant
covered by the assert.
Commit: 689a960b693446f0d258240fea0c844b6e685d6e
https://github.com/llvm/llvm-project/commit/689a960b693446f0d258240fea0c844b6e685d6e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX] Update various intrinsic attributes (#140119)
Commit: 910220b84fa18ce2cbb2e21dd53b9f3d0ae582a7
https://github.com/llvm/llvm-project/commit/910220b84fa18ce2cbb2e21dd53b9f3d0ae582a7
Author: David Salinas <dsalinas at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
A llvm/include/llvm/Object/OffloadBundle.h
M llvm/lib/Object/CMakeLists.txt
A llvm/lib/Object/OffloadBundle.cpp
A llvm/test/tools/llvm-objdump/Offloading/fatbin.test
M llvm/tools/llvm-objdump/OffloadDump.cpp
M llvm/tools/llvm-objdump/OffloadDump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/Object/CMakeLists.txt
A llvm/unittests/Object/OffloadingBundleTest.cpp
Log Message:
-----------
Reapply: [llvm-objdump] Add support for HIP offload bundles (#140128)
Utilize the new extensions to the LLVM Offloading API to extend to
llvm-objdump to handle dumping fatbin offload bundles generated by HIP.
This extension to llvm-objdump adds the option --offload-fatbin.
Specifying this option will take the input object/executable and extract
all offload fatbin bundle entries into distinct code object files with
names reflecting the source file name combined with the Bundle Entry ID.
Users can also use the --arch-name option to filter offload fatbin
bundle entries by their target triple.
---------
Co-authored-by: dsalinas <dsalinas at MKM-L1-DSALINAS.amd.com>
Commit: 8eafd93034063971f08a06faa7a75a616b9866b6
https://github.com/llvm/llvm-project/commit/8eafd93034063971f08a06faa7a75a616b9866b6
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lld/test/ELF/link-open-file.test
M llvm/lib/Support/FileOutputBuffer.cpp
Log Message:
-----------
[Support] Set `OF_Delete` for `InMemoryBuffer`'s call to `openFileForWrite` under `commit` (#140109)
https://github.com/llvm/llvm-project/pull/134787 unintentionally enabled
`--mmap-output-file` by default under LLD which caused the Windows-only
test `lld\test\ELF\link-open-file.test` to fail. This failure uncovered
what appears to be an inconsistency on Windows between
`createOnDiskBuffer` and `createInMemoryBuffer` with respect to `DELETE`
access for the output file.
The output file created by `createOnDiskBuffer` sets the flag
`OF_Delete` as part of `fs::TempFile::create` while the output file
created by `createInMemoryBuffer` sets `OF_None` under
`InMemoryBuffer::commit`.
The test `lld\test\ELF\link-open-file.test` ensures that if
`FILE_SHARE_DELETE` is _not_ specified for an output file that LLD is
expected to overwrite, LLD should fail. This only happens if: "the file
or device has been opened for delete access" which is only done for
`fs::TempFile::create`.
See
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew#FILE_SHARE_DELETE.
Therefore, I propose setting `OF_Delete` for `InMemoryBuffer::commit`'s
call to `openFileForWrite` to stay consistent with
`fs::TempFile::create`.
Commit: e1ca2c5b6098b1fbeca4be7886a128f36ec1ea94
https://github.com/llvm/llvm-project/commit/e1ca2c5b6098b1fbeca4be7886a128f36ec1ea94
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libcxx/utils/sym_diff.py
Log Message:
-----------
[libc++] Reject abilist if it contains an ABI tag (#139030)
We currently don't have any ABI tags in our dylib symbols, and this is
unlikely to change in the future. By diagnosing this we avoid
accidentally adding one through e.g. having `_LIBCPP_HIDE_FROM_ABI` on
an exported symbol.
Commit: 2b5222b1927fbe89d9d6a72a63f5dca2d457565f
https://github.com/llvm/llvm-project/commit/2b5222b1927fbe89d9d6a72a63f5dca2d457565f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - add X86ISD::MOVDDUP handling (#140237)
Reduce YMM MOVDDUP node to XMM if the upper elements are not demanded
Noticed while working on #140234
Commit: ba631508ae7fec17dd104370106191c7ea6539a5
https://github.com/llvm/llvm-project/commit/ba631508ae7fec17dd104370106191c7ea6539a5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Log Message:
-----------
[gn build] Port 910220b84fa1
Commit: 9c3ab1cfc8295e64d7bfb3bd5bec36859069a962
https://github.com/llvm/llvm-project/commit/9c3ab1cfc8295e64d7bfb3bd5bec36859069a962
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
R llvm/include/llvm/Object/OffloadBundle.h
M llvm/lib/Object/CMakeLists.txt
R llvm/lib/Object/OffloadBundle.cpp
R llvm/test/tools/llvm-objdump/Offloading/fatbin.test
M llvm/tools/llvm-objdump/OffloadDump.cpp
M llvm/tools/llvm-objdump/OffloadDump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/Object/CMakeLists.txt
R llvm/unittests/Object/OffloadingBundleTest.cpp
Log Message:
-----------
Revert "Reapply: [llvm-objdump] Add support for HIP offload bundles (#140128)"
This reverts commit 910220b84fa18ce2cbb2e21dd53b9f3d0ae582a7.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/140128
Commit: 3aeced73088e08c61999a8d011e28481d959b1bc
https://github.com/llvm/llvm-project/commit/3aeced73088e08c61999a8d011e28481d959b1bc
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/PropertiesBase.td
A clang/test/Modules/pr140130.cpp
Log Message:
-----------
[clang] Fix assertion failure in constexpr union deserialization (#140179)
This commit fixes https://github.com/llvm/llvm-project/issues/140130
Commit: e401fb8c47f4ac0190654381b21d35451edea5e7
https://github.com/llvm/llvm-project/commit/e401fb8c47f4ac0190654381b21d35451edea5e7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
Log Message:
-----------
[BOLT] Use llvm::replace (NFC) (#140199)
Commit: ab1fea49e252ac40c6c5c84eca59841ac559f932
https://github.com/llvm/llvm-project/commit/ab1fea49e252ac40c6c5c84eca59841ac559f932
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModuleAssistant.cpp
M clang-tools-extra/modularize/PreprocessorTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::replace (NFC) (#140200)
Commit: 5c60f066488e3ebdacc5f63e8421715a152ab401
https://github.com/llvm/llvm-project/commit/5c60f066488e3ebdacc5f63e8421715a152ab401
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/TextAPI/InterfaceFile.cpp
Log Message:
-----------
[TextAPI] Use llvm::replace (NFC) (#140201)
Commit: 7d633068870fde2a05596e9efa3b5ff4d9ad7097
https://github.com/llvm/llvm-project/commit/7d633068870fde2a05596e9efa3b5ff4d9ad7097
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/docs/DebuggingCoroutines.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/Modules.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/user-docs/Installation.rst
Log Message:
-----------
[clang] Fix typos in documentation (#140211)
Commit: 4567c11d284fe404df80fb3293dac3e2aa85b79e
https://github.com/llvm/llvm-project/commit/4567c11d284fe404df80fb3293dac3e2aa85b79e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Lex/PPDirectives.cpp
Log Message:
-----------
[clang] Use llvm::binary_search (NFC) (#140216)
Commit: 36290b7289adc3fe696c5e9111c91cd95ccc2772
https://github.com/llvm/llvm-project/commit/36290b7289adc3fe696c5e9111c91cd95ccc2772
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Log Message:
-----------
[gn build] Port 9c3ab1cfc829
Commit: 8696d16242d220373460ab17f9fc10b2dd5d38dc
https://github.com/llvm/llvm-project/commit/8696d16242d220373460ab17f9fc10b2dd5d38dc
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'async' lowering for combined constructs
Implementation is 'trivial' as were the rest of the non data clauses, so
this implements them, finishing the last non-data/var-list clause for
combined constructs. Also ensures this is properly tested.
Commit: 78af0f3ab8e6fcd52337b7ba5873deea5d2bfe7d
https://github.com/llvm/llvm-project/commit/78af0f3ab8e6fcd52337b7ba5873deea5d2bfe7d
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenEnv.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
[mlir][NFC] Use `llvm::sort` (#140261)
Commit: 04fde85057cb4da2e560da629df7a52702eac489
https://github.com/llvm/llvm-project/commit/04fde85057cb4da2e560da629df7a52702eac489
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Rename isUniform(AfterVectorization) to isSingleScalar (NFC). (#140134)
Update the naming in VPReplicateRecipe and vputils to the more accurate
isSingleScalar, as the functions check for cases where only a single
scalar is needed, either because it produces the same value for all
lanes or has only their first lane used.
Discussed in https://github.com/llvm/llvm-project/pull/139150.
PR: https://github.com/llvm/llvm-project/pull/140134
Commit: 6ebb84869e6cf1a643b053e53931c6075b2cc8ae
https://github.com/llvm/llvm-project/commit/6ebb84869e6cf1a643b053e53931c6075b2cc8ae
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
langref updates for aarch64 trampoline (#139740)
Add clarifying comments to the langref from the review of #126743
Commit: 087a5d2ec7897cd99d3787820711fec76a8e1792
https://github.com/llvm/llvm-project/commit/087a5d2ec7897cd99d3787820711fec76a8e1792
Author: John Harrison <harjohn at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/DAPError.cpp
M lldb/tools/lldb-dap/DAPError.h
M lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
[lldb-dap] Adding additional asserts to unit tests. (#140107)
Adding an assert that the 'continue' request succeeds caused a number of
tests to fail. This showed a number of tests that were not specifying if
they should be stopped or not at key points in the test. This is likely
contributing to these tests being flaky since the debugger is not in the
expected state.
Additionally, I spent a little time trying to improve the readability of
the dap_server.py and lldbdap_testcase.py.
Commit: 63a4cae56cf896abd12ecf8dbd50f7f5fb9549e1
https://github.com/llvm/llvm-project/commit/63a4cae56cf896abd12ecf8dbd50f7f5fb9549e1
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/Target/LLVMIR/arm-sve.mlir
Log Message:
-----------
[MLIR][ArmSVE] Add an ArmSVE dialect operation which maps to `svdupq_lane` (#135633)
Commit: 71d1b4c77c39201b0d533c2eccb2f5cbc1561b22
https://github.com/llvm/llvm-project/commit/71d1b4c77c39201b0d533c2eccb2f5cbc1561b22
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[ItaniumDemangle] Make it independent of LLVM again. NFC
Commit: be6c1684c058ff40b5cb29e7eb88f06f72dd50df
https://github.com/llvm/llvm-project/commit/be6c1684c058ff40b5cb29e7eb88f06f72dd50df
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Automate creation of byte_sel dags. NFCI. (#140155)
Commit: e30301aaecd24141cbdcd740aa4c16c0d9b05307
https://github.com/llvm/llvm-project/commit/e30301aaecd24141cbdcd740aa4c16c0d9b05307
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
Log Message:
-----------
[MachineCopyPropagation] Make use of lane mask info in basic block liveins (#140248)
Commit: 82bad53bda39bd7a7bbdab81e72887dea8479a47
https://github.com/llvm/llvm-project/commit/82bad53bda39bd7a7bbdab81e72887dea8479a47
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/unittests/ProfileData/DataAccessProfTest.cpp
Log Message:
-----------
[StaticDataLayout][PGO] Remove inclusion of private gmock header
This one is supposed to be included via gmock.h
Commit: 589e7abea570a813ef8a2e8b8f130fd40cd07141
https://github.com/llvm/llvm-project/commit/589e7abea570a813ef8a2e8b8f130fd40cd07141
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
Log Message:
-----------
[clang-tidy] Use std::binary_search (NFC) (#140263)
Commit: 9adcb4fe125e5b2bdf894fb35c7d91e10c10e1ea
https://github.com/llvm/llvm-project/commit/9adcb4fe125e5b2bdf894fb35c7d91e10c10e1ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/include/clang/Basic/JsonSupport.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
[clang] Use llvm::replace (NFC) (#140264)
Commit: fa2263b3097c4e5f361505ce564a246a7f289172
https://github.com/llvm/llvm-project/commit/fa2263b3097c4e5f361505ce564a246a7f289172
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
Log Message:
-----------
[CIR][NFC] Use arrangeFunctionDeclaration to build function types (#139787)
This change replaces the simplified call that we were previously using
to convert the function type provided by a global declaration to the CIR
function type. We now go through 'arrangeGlobalDeclaration' which builds
the function type in a more complicated manner. This change has no
observable differences for the currently upstreamed CIR support, but it
is necessary to prepare for C++ member function calls, which require the
extra handling.
Commit: 2f5a24d0c555832ec6e5747cc7bad814ed97cbdc
https://github.com/llvm/llvm-project/commit/2f5a24d0c555832ec6e5747cc7bad814ed97cbdc
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
Log Message:
-----------
[CIR][NFC] Fix warning about unhandled Decl (#140159)
This fixes a warning about an unhandled Decl that was recently
introduced. While adding the new decl, I noticed that one of the others
that was in the "NYI" group belonged in the "unreachable" group, so I
moved it also.
Commit: c72c0b298c13ebc4d374e84b8ea20f8ca4f5ace2
https://github.com/llvm/llvm-project/commit/c72c0b298c13ebc4d374e84b8ea20f8ca4f5ace2
Author: nd <dmitry.neverov at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
Fix race condition during iteration through modules (#139283) (#139862)
Use the locking iterator to ensure module don't change during iteration.
Commit: 7fe1b43122230b556481b56210bc72466c1076d5
https://github.com/llvm/llvm-project/commit/7fe1b43122230b556481b56210bc72466c1076d5
Author: James Y Knight <jyknight at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M utils/bazel/configure.bzl
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
NFC: reformat bazel files with buildifier.
Commit: e9c9c33fa4e26b7e18947dfefa960f68945d1899
https://github.com/llvm/llvm-project/commit/e9c9c33fa4e26b7e18947dfefa960f68945d1899
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/Dialect/ArmSVE/roundtrip.mlir
M mlir/test/Target/LLVMIR/arm-sve.mlir
Log Message:
-----------
[MLIR][ArmSVE] Add an ArmSVE dialect operation which maps to svusmmla (#135634)
Commit: 23a674d2ecc428a96d28c9772cc5178eaf763863
https://github.com/llvm/llvm-project/commit/23a674d2ecc428a96d28c9772cc5178eaf763863
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
Log Message:
-----------
[libcxxabi] Update ItaniumDemangle.h from LLVM (#140273)
76ba29bfd8e8aaf5b0267598d18434a0d13945a2 landed changes in
ItaniumDemangle.h on the LLVM side that were not propagated over to the
libcxxabi side. This patch fixes that.
Commit: 7f4a9105df26a1c481d6b6d390a9d24e8ea987d1
https://github.com/llvm/llvm-project/commit/7f4a9105df26a1c481d6b6d390a9d24e8ea987d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
A llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
Log Message:
-----------
[RISCV] Add Zilsd/Zclsd support to RISCVMakeCompressible. (#140136)
Commit: dcd62f3674907b0d31a303b95ea5aa844ffd8238
https://github.com/llvm/llvm-project/commit/dcd62f3674907b0d31a303b95ea5aa844ffd8238
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Rename MemSDNode::getOriginalAlign to getBaseAlign. NFC (#139930)
This matches the underlying function in MachineMemOperand and how it is
printed when BaseAlign differs from Align.
Commit: ea4bf3456f775360cbf5de40edb2899a19b33456
https://github.com/llvm/llvm-project/commit/ea4bf3456f775360cbf5de40edb2899a19b33456
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
A llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
Log Message:
-----------
[RISCV] Add Zilsd to RISCVMergeBaseOffset. (#140157)
I only tested a simple case for folding the addi from medany codemodel.
I assume everything else should just work.
Commit: ec44c74fe7444c521c82e1ebef0d6a4e7be33252
https://github.com/llvm/llvm-project/commit/ec44c74fe7444c521c82e1ebef0d6a4e7be33252
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/switch_flat_op.cpp
A clang/test/CIR/IR/switch-flat.cir
A clang/test/CIR/Transforms/switch.cir
Log Message:
-----------
[CIR] Upstream support for FlattenCFG switch and SwitchFlatOp (#139154)
This PR adds support for the `FlattenCFG` transformation on `switch`
statements. It also introduces the `SwitchFlatOp`, which is necessary
for subsequent lowering to LLVM.
Commit: 52af23f950bc9585c623bfff6ac2a7d4fbe5e18a
https://github.com/llvm/llvm-project/commit/52af23f950bc9585c623bfff6ac2a7d4fbe5e18a
Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
Log Message:
-----------
[RISCV] Add stack probing in eliminateCallFramePseudoInstr (#139731)
Stack clash protection code was missing from
RISCVFrameLowering::eliminateCallFramePseudoInstr, calling allocateStack
fixes it.
This patch also fixes the tests in stack-probing-dynamic.ll that should
be testing the stack allocation before a function call.
Commit: ebb15353d2a1edefb40faa0ad56e661b7aee3134
https://github.com/llvm/llvm-project/commit/ebb15353d2a1edefb40faa0ad56e661b7aee3134
Author: peremyach <akhabutdinov at meta.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
Log Message:
-----------
Reduce llvm-gsymutil memory usage (#139907)
For large binaries gsymutil ends up using too much memory. This diff
adds DIE tree cleanup per compile unit to reduce memory usage.
P. S. Not sure about formatting. Maybe it hasn't been run in a while, or
I have misconfigured something.
`$ git clang-format HEAD~1
clang-format did not modify any files
$ clang-format --version
clang-format version 21.0.0git
(git at github.com:peremyach/llvm-project.git
8d945c8357e1bd9872a34f92620d4916bfd27482)
`
Co-authored-by: Arslan Khabutdinov <akhabutdinov at fb.com>
Commit: 7674d6fa9e45c1748d0dd49430aa472028d44a2d
https://github.com/llvm/llvm-project/commit/7674d6fa9e45c1748d0dd49430aa472028d44a2d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
Log Message:
-----------
[LLVM][TableGen] Simplify `DagInit::get` (#140056)
- Add `DagInit::get` overloads that do not need ValName to be specified.
- Fix some calls to either not create temporary arrays for DAG args or
use the std::pair<> overload.
Commit: d79d9b8fbfc7e8411aeaf2f5e1be9d4247594fee
https://github.com/llvm/llvm-project/commit/d79d9b8fbfc7e8411aeaf2f5e1be9d4247594fee
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
A llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP]Change the insertion point for outside-block-used nodes and prevec phi operand gathers
Need to set the insertion point for (non-schedulable) vector node after
the last instruction in the node to avoid def-use breakage. But it also
causes miscompilation with gather/buildvector operands of the phi nodes,
used in the same phi only in the block.
These nodes supposed to be inserted at the end of the block and after
changing the insertion point for the non-schedulable vec block, it also
may break def-use dependencies. Need to prevector such nodes, to emit
them as early as possible, so the vectorized nodes are inserted before
these nodes.
Fixes #139728
Reviewers: hiraditya, HanKuanChen, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/139917
Commit: 818893177807663f438155f8d962d32a9473ae99
https://github.com/llvm/llvm-project/commit/818893177807663f438155f8d962d32a9473ae99
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Rename getOriginalAlign->getBaseAlign after #139930
Commit: e620f10f57bf698b7446f134528bb2585fdf1f28
https://github.com/llvm/llvm-project/commit/e620f10f57bf698b7446f134528bb2585fdf1f28
Author: Dan Blackwell <danblackwell95 at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[compiler-rt][sanitizer_common] Alter sanitizer_set_report_path_test to not assume a fixed file path (#139282)
Currently, `Posix/sanitizer_set_report_path_test.cpp` contains the
following check: `// CHECK: ERROR: Can't create directory:
{{.*}}Posix/Output/sanitizer_set_report_path_test.cpp.tmp`. This makes
an assumption that the test file resides in `Posix/Output`, however when
testing on a remote device, an alternative temporary directory path is
used. This patch instead checks that the path in the error message
matches the requested path dynamically.
Commit: aec685ea77e97bcc6892b12e970857fb1b049528
https://github.com/llvm/llvm-project/commit/aec685ea77e97bcc6892b12e970857fb1b049528
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/DataLayout.h
Log Message:
-----------
[DataLayout] Introduce DataLayout::getAddressSize(AS)
This function can be used to retrieve the number of bits that can be used
for arithmetic in a given address space (i.e. the range of the address
space). For most in-tree targets this should not make any difference
but differentiating between the size of a pointer in bits and the address
range is extremely important e.g. for CHERI-enabled targets, where pointers
carry additional metadata such as bounds and permissions and only a subset
of the pointer bits is used as the address.
The address size is defined to be the same as the index size.
We considered adding a separate property since targets exist where indexing
and address range actually use different sizes (AMDGPU fat pointers with
160 representation, 48 bit address and 32 bit index), but for the purposes
of LLVM semantics, differentiating them does not add much value and it
introduces a lot of complexity in ensure the correct bits are used. See
the reasoning by @nikic on https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/38https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/49
Originally uploaded as https://reviews.llvm.org/D135158
Reviewed By: davidchisnall, krzysz00
Pull Request: https://github.com/llvm/llvm-project/pull/139347
Commit: 4b104c68530581cb72da687b6edf61f5e799b5c1
https://github.com/llvm/llvm-project/commit/4b104c68530581cb72da687b6edf61f5e799b5c1
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libcxx/include/__flat_set/utils.h
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/insert_range.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/insert_range.pass.cpp
Log Message:
-----------
[libc++] Fix flat_{multi}set insert_range (#137462)
Fixes #136656
Commit: 85fe4ab8a3faa58317c247051df2195c89bed0fa
https://github.com/llvm/llvm-project/commit/85fe4ab8a3faa58317c247051df2195c89bed0fa
Author: Mariusz Kwiczala <70530507+sfc-gh-mkwiczala at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
A llvm/include/llvm/DebugInfo/GSYM/GsymContext.h
R llvm/include/llvm/DebugInfo/GSYM/GsymDIContext.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
A llvm/lib/DebugInfo/GSYM/GsymContext.cpp
R llvm/lib/DebugInfo/GSYM/GsymDIContext.cpp
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Log Message:
-----------
Rename GsymDIContext to GsymContext (#140227)
Renaming based on suggestion here:
https://github.com/llvm/llvm-project/pull/139686#discussion_r2089538528
Commit: 0de8ff6d9c7cd661f3938d15d370141174afb60f
https://github.com/llvm/llvm-project/commit/0de8ff6d9c7cd661f3938d15d370141174afb60f
Author: David Green <david.green at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] Reduce the cost of repeated sub-shuffle (#139331)
Given a larger-than-legal shuffle we will split into multiple sub-parts.
This adds a check to the computed costs of sub-shuffles so that repeated
sequences are not accounted for multiple times. This especially reduces
the cost of broadcasts/splats.
Commit: 976b00654a37ada462fc19df11a1d2468c1c463c
https://github.com/llvm/llvm-project/commit/976b00654a37ada462fc19df11a1d2468c1c463c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
Log Message:
-----------
[RISCV] Disable combineToVCPOP for illegal scalable vector types. (#140195)
This transform creates target specific instructions which must have
legal types. We were checking this for fixed vectors, but not scalable
vectors. This caused a crash with <vscale x 1 x i1> which isn't legal
for Zve32x.
Commit: 4e01a07cffc43f720ed527969ba70c396940ce2e
https://github.com/llvm/llvm-project/commit/4e01a07cffc43f720ed527969ba70c396940ce2e
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/vararg-tallcall.ll
M llvm/test/CodeGen/AArch64/win64_vararg2.ll
Log Message:
-----------
[AArch64] Fixes for Windows varargs handling. (#139972)
Omit spills when va_start is not present, like we do on other targets.
In most situations this is just an optimization, but for thunks in
arm64ec, we need this because it's illegal to reference varargs in a
thunk.
Fix the bug that prevented omitting vararg spills from working properly:
we need to avoid interfering with musttail handling. (This is not a
Windows-only issue, but it mostly affects Windows because musttail
thunks are mostly used for the Microsoft C++ ABI.)
On arm64ec, don't set x4 and x5 for musttail thunks; forward them from
the caller.
Fixes #139856 .
Commit: 48587f30d63689816f3d5a1d199dba42ff332247
https://github.com/llvm/llvm-project/commit/48587f30d63689816f3d5a1d199dba42ff332247
Author: Grigory Pastukhov <99913765+grigorypas at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/warn-nrvo.cpp
Log Message:
-----------
[clang] Add new warning: not eliding copy on return (missed NRVO) (#139973)
Commit: 00c5cd8a7a3f7e363d8f0d172ea88af91612c7fa
https://github.com/llvm/llvm-project/commit/00c5cd8a7a3f7e363d8f0d172ea88af91612c7fa
Author: Bill Wendling <morbo at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libc/config/config.json
Log Message:
-----------
[libc] Fix typo: Configue -> Configure (#140166)
Commit: efa28338d858e1ea2bf705d50a0404bc602c8fe1
https://github.com/llvm/llvm-project/commit/efa28338d858e1ea2bf705d50a0404bc602c8fe1
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Fix a regression introduced by #140073 (#140288)
Pointer to data member don't decay, assuming they do caused an assertion
failure.
Commit: dd4a73069c289985afc1ccfd0c512e5791ede404
https://github.com/llvm/llvm-project/commit/dd4a73069c289985afc1ccfd0c512e5791ede404
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
[NFCI][Sanitizer] Convert SpecialCaseList::Sections from StringMap to vector.
As discussed in https://github.com/llvm/llvm-project/pull/139772, SpecialCaseList::Sections can keep the order of Sections when parsing the case list.
Reviewers: thurstond, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/140127
Commit: ad6bb707730247abc07810c0598434a86361e049
https://github.com/llvm/llvm-project/commit/ad6bb707730247abc07810c0598434a86361e049
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CIBestPractices.rst
M llvm/docs/CMake.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/Coroutines.rst
M llvm/docs/CoverageMappingFormat.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/ExtendingLLVM.rst
M llvm/docs/InstrProfileFormat.rst
M llvm/docs/InterfaceExportAnnotations.rst
Log Message:
-----------
[llvm] Fix typos in documentation (#140275)
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: ba93685ea228523c1f717f569e08185098b7defb
https://github.com/llvm/llvm-project/commit/ba93685ea228523c1f717f569e08185098b7defb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
Log Message:
-----------
[VPlan] Also use original parent loop for exit VPBBs.
When vectorizing loops with early exits that is nested within another
one, one of the loop exits may be outside both loops, so setting adding
it to the parent loop is incorrect. Also use the original parent loop
for exit blocks.
Commit: 3def9976ebeb1dec7fb867a927f3e2e4adf1816b
https://github.com/llvm/llvm-project/commit/3def9976ebeb1dec7fb867a927f3e2e4adf1816b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/CodeGen/TailDuplicator.cpp
Log Message:
-----------
Use early return/continue in TailDuplicator::duplicateInstruction [nfc]
Commit: 4a4f0ffb5ba62428559f9d8d6f788505d350834f
https://github.com/llvm/llvm-project/commit/4a4f0ffb5ba62428559f9d8d6f788505d350834f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Support/CMakeLists.txt
Log Message:
-----------
Fixed cmake config in case of LLVM_ENABLE_RPMALLOC=ON and non MSVC compiler (#139770)
This patch fixes the following error in case of LLVM_ENABLE_RPMALLOC=ON
and clang or other non MSVC compiler:
```
CMake Error at cmake/modules/AddLLVM.cmake:644 (add_library):
Target "LLVMSupport" links to item " -INCLUDE:malloc" which has leading or
trailing whitespace. This is now an error according to policy CMP0004.
Call Stack (most recent call first):
cmake/modules/AddLLVM.cmake:944 (llvm_add_library)
cmake/modules/AddLLVM.cmake:917 (add_llvm_library)
lib/Support/CMakeLists.txt:139 (add_llvm_component_library)
```
Note `delayload_flags` is empty before this line is case of non MSVC
compiler.
The behavior is the same with CMake 3.25.3 and 4.0.2.
Commit: b3e7e4bb252c82c45639569c6b5f91c5c63742b6
https://github.com/llvm/llvm-project/commit/b3e7e4bb252c82c45639569c6b5f91c5c63742b6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Also specialize getNumIncoming for VPWidenPointerInd (NFC).
Similar to VPWidenIntOrFpInductionRecipe, VPWidenPointerInductionRecipe
only has a single incoming value and no backedge value.
Currently NFC as there are no problematic uses at the moment.
Commit: ff78d233c0c40f94ef922a4ea1b88e02bd126040
https://github.com/llvm/llvm-project/commit/ff78d233c0c40f94ef922a4ea1b88e02bd126040
Author: David Green <david.green at arm.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[AArch64] Ensure Source1 and Source2 are initialized.
Try to appease the sanatizers builders by making sure the Source1 and Source2
and initialized when passed to the tuple.
See #139331.
Commit: fec9be9f73c3a777a7649ce35f3e523f303a8f20
https://github.com/llvm/llvm-project/commit/fec9be9f73c3a777a7649ce35f3e523f303a8f20
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep and include after 9b63bdd15418e90d0c6889d26e490db89ae744d1
This fixes issues when compiling SliceMatchers.h separately. In
particular, the missing include triggered a "member access into
incomplete type" error:
```
third_party/llvm/llvm-project/mlir/include/mlir/Query/Matcher/SliceMatchers.h:91:30: error: member access into incomplete type 'Operation'
91 | for (auto operand : subOp->getOperands()) {
| ^
third_party/llvm/llvm-project/mlir/include/mlir/Analysis/SliceAnalysis.h:20:7: note: forward declaration of 'mlir::Operation'
20 | class Operation;
| ^
```
Commit: 7175970fc5987ac5a7ae0cb8d2527b200b27a5ec
https://github.com/llvm/llvm-project/commit/7175970fc5987ac5a7ae0cb8d2527b200b27a5ec
Author: Amy Huang <akhuang at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/test/Transforms/LoopIdiom/strlen.ll
Log Message:
-----------
Add debug location to strlen in LoopIdiomRecognize pass (#140164)
Pass down the debug location to the generated strlen call
because LLVM maintains that calls to inlinable functions must have debug info.
Commit: 555d68f3db3fd189809bd19dd274e3bf5ac68d2f
https://github.com/llvm/llvm-project/commit/555d68f3db3fd189809bd19dd274e3bf5ac68d2f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Use implicit def/use of SP for PROBED_STACKALLOC*. (#139153)
Commit: 33684ac9be4892579f63a8e2b67080419426cf98
https://github.com/llvm/llvm-project/commit/33684ac9be4892579f63a8e2b67080419426cf98
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
Log Message:
-----------
[llvm][CFI] Do not canonicalize COFF functions in a comdat (#139962)
COFF requires that a function exists with the same name as a comdat. Not
having this key function results in `LLVM ERROR: Associative COMDAT
symbol '...' does not exist.` CFI by default will attempt to
canonicalize a function by appending `.cfi` to its name which allows
external references to refer to the new canonical alias, but it does not
change the comdat name. We can change the comdat name since symbol and
comdat resolution occurs before LTO, so we already know which symbols
are prevailing.
Commit: ba38e56c989af932eaa7b287a8e6197abf693e57
https://github.com/llvm/llvm-project/commit/ba38e56c989af932eaa7b287a8e6197abf693e57
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
Log Message:
-----------
[libc] Enable setitimer and getitimer functions on riscv (#139182)
These functions don't have a _time64 variant, so we can't use time_t
directly (since our time_t is a uint64_t). The workaround is to use
longs when doing the syscall and write back when necessary.
Commit: da944e009955982927759c2f1fd47d43b236cc51
https://github.com/llvm/llvm-project/commit/da944e009955982927759c2f1fd47d43b236cc51
Author: Aaron St George <aaronstgeorge at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Add shape inference support for `tensor.concat` op. (#140168)
## description
`tensor.concat` requires operands and the result to match on all
dimensions except the concatenation dimension. If one operand is already
static in those dimensions, the other operands and result type may
safely be refined to that same static shape. This PR adds
canonicalization patterns to refine `tensor.concat` types and propagate
static shapes to other canonicalization patterns through casts.
## example
```mlir
%2 = tensor.concat dim(0) %0, %1: (tensor<?x12xi32>, tensor<?x?xi32>) ->tensor<?x12xi32>
```
becomes:
```mlir
%cast = tensor.cast %1 : tensor<?x?xi32> to tensor<?x12xi32>
%2 = tensor.concat dim(0) %0, %cast : (tensor<?x12xi32>,
tensor<?x12xi32>) -> tensor<?x12xi32>
```
---------
Co-authored-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: dd4b69f9a837048b19346eff2e9f931a51cc91c9
https://github.com/llvm/llvm-project/commit/dd4b69f9a837048b19346eff2e9f931a51cc91c9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Basic/Diagnostic.cpp
Log Message:
-----------
[Basic] Use llvm::erase_if (NFC) (#140309)
Commit: 1fa8394e78cc0eb73a766bcae1ad76af7e3b84da
https://github.com/llvm/llvm-project/commit/1fa8394e78cc0eb73a766bcae1ad76af7e3b84da
Author: Leonard Chan <leonardchan at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
R llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
Log Message:
-----------
Revert "[llvm][CFI] Do not canonicalize COFF functions in a comdat (#139962)"
This reverts commit 33684ac9be4892579f63a8e2b67080419426cf98.
Reverting since this is breaking a bunch of builders. See the llvm-ci
messages on https://github.com/llvm/llvm-project/pull/139962.
Commit: 286ab11dc65de8175e2bce69fd7e36acd3be7ce0
https://github.com/llvm/llvm-project/commit/286ab11dc65de8175e2bce69fd7e36acd3be7ce0
Author: Leonard Chan <leonardchan at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
Log Message:
-----------
Reapply "[llvm][CFI] Do not canonicalize COFF functions in a comdat (#139962)"
This reapplies 33684ac9be4892579f63a8e2b67080419426cf98 with appropriate
requires on tests.
COFF requires that a function exists with the same name as a comdat. Not
having this key function results in `LLVM ERROR: Associative COMDAT
symbol '...' does not exist.` CFI by default will attempt to
canonicalize a function by appending `.cfi` to its name which allows
external references to refer to the new canonical alias, but it does not
change the comdat name. We can change the comdat name since symbol and
comdat resolution occurs before LTO, so we already know which symbols
are prevailing.
Commit: 437195efbfa32af9ab00cdab4ded5d3756a4cf8e
https://github.com/llvm/llvm-project/commit/437195efbfa32af9ab00cdab4ded5d3756a4cf8e
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.fma.f16.ll
M llvm/test/CodeGen/AMDGPU/load-global-f32.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
M llvm/test/CodeGen/AMDGPU/trunc.ll
Log Message:
-----------
[NFC][AMDGPU] Update tests to use autogened CHECKs (#140311)
Commit: 6a0e626af58bdf8ae8c07cfe8aec94f4565734a3
https://github.com/llvm/llvm-project/commit/6a0e626af58bdf8ae8c07cfe8aec94f4565734a3
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add HTMLMustacheGenerator methods (#138061)
Split from #133161. This patch fills in the implementation for a number
of the MustacheHTMLGenerator methods. Many of these APIs are just
stubbed out, and will have their implementation filled in by later
patches.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: 5c154277efa32cad37be7a09003bc0db61de3198
https://github.com/llvm/llvm-project/commit/5c154277efa32cad37be7a09003bc0db61de3198
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 6a0e626af58bdf8ae8c07cfe8aec94f4565734a3
Commit: f7ef8dcbad9d5ac6cf2a8917d5ce03564fdfd0d8
https://github.com/llvm/llvm-project/commit/f7ef8dcbad9d5ac6cf2a8917d5ce03564fdfd0d8
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
Log Message:
-----------
[CIR] Fix problem with phantom function arguments (#140322)
There was a problem introduced today where sometimes the CIR for
functions with no arguments would be generated with phantom arguments.
This was causing intermittent test failures.
The problem appears to have been that we were using two different
Profile implementations to generate the FoldingSetNodeID for
CIRGenFunctionInfo so occaissionally when we tried to look for a
pre-existing entry for a function with no arguments it would incorrectly
match a CIRGenFunctionInfo entry that had arguments.
To prevent this from happening again, I rewrote one of the two Profile
functions to call the other.
Commit: 39315663a40a261772df94218fd33e205e888e54
https://github.com/llvm/llvm-project/commit/39315663a40a261772df94218fd33e205e888e54
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix false warnings when const sized array is safely accessed (array [idx %const]) (#140113)
The -Wunsafe-buffer-usage analysis currently warns when a const sized
array is safely accessed, with an index that is bound by the remainder
operator. The false alarm is now suppressed.
Example:
int circular_buffer(int array[10], uint idx) {
return array[idx %10]; // Safe operation
}
rdar://148443453
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 9178a1720667807aa46dcfc3069bad7e8fef5f2e
https://github.com/llvm/llvm-project/commit/9178a1720667807aa46dcfc3069bad7e8fef5f2e
Author: LauraElanorJones <164247463+LauraElanorJones at users.noreply.github.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/docs/use/python.rst
Log Message:
-----------
Update python.rst (#140333)
Fix code block formatting in section "The Decision Point Breakpoint
Commands"
Commit: 0e0b501bf53677105b539fa4f84cbfb76c46f74d
https://github.com/llvm/llvm-project/commit/0e0b501bf53677105b539fa4f84cbfb76c46f74d
Author: John Harrison <harjohn at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module-event/TestDAP_module_event.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
Log Message:
-----------
[lldb-dap] Take two at refactoring the startup sequence. (#140331)
This is more straight forward refactor of the startup sequence that
reverts parts of ba29e60f9a2222bd5e883579bb78db13fc5a7588. Unlike my
previous attempt, I ended up removing the pending request queue and not
including an `AsyncReqeustHandler` because I don't think we actually
need that at the moment.
The key is that during the startup flow there are 2 parallel operations
happening in the DAP that have different triggers.
* The `initialize` request is sent and once the response is received the
`launch` or `attach` is sent.
* When the `initialized` event is recieved the `setBreakpionts` and
other config requests are made followed by the `configurationDone`
event.
I moved the `initialized` event back to happen in the `PostRun` of the
`launch` or `attach` request handlers. This ensures that we have a valid
target by the time the configuration calls are made. I added also added
a few extra validations that to the `configurationeDone` handler to
ensure we're in an expected state.
I've also fixed up the tests to match the new flow. With the other
additional test fixes in 087a5d2ec7897cd99d3787820711fec76a8e1792 I
think we've narrowed down the main source of test instability that
motivated the startup sequence change.
Commit: bda8c502bffa4f526bc3a7d22179ebfe398351c7
https://github.com/llvm/llvm-project/commit/bda8c502bffa4f526bc3a7d22179ebfe398351c7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
Log Message:
-----------
[Driver] Use llvm::is_contained (NFC) (#140310)
Commit: dfac0445d0813abe2260ffdc9eeb23671cefd812
https://github.com/llvm/llvm-project/commit/dfac0445d0813abe2260ffdc9eeb23671cefd812
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Avoid creating temporary instances of std::string (NFC) (#140325)
EmplaceSafeString accepts StringRef for the last parameter, str, and
then internally creates a copy of str via StringRef::str or
llvm::json::fixUTF8, so caller do not need to create their own
temporary instances of std::string.
Commit: 6963309af12f8d1a688fa2c42019d83e78a0024c
https://github.com/llvm/llvm-project/commit/6963309af12f8d1a688fa2c42019d83e78a0024c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[Frontend] Avoid creating a temporary instance of std::string (NFC) (#140326)
Since getLastArgValue returns StringRef, and the constructor of
SmallString accepts StringRef, we do not need to go through a
temporary instance of std::string.
Commit: 6d9ce6767d259a5231ae312a19459f8fea3bd0ca
https://github.com/llvm/llvm-project/commit/6d9ce6767d259a5231ae312a19459f8fea3bd0ca
Author: Jeremy Kun <jkun at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/bufferize.mlir
Log Message:
-----------
[mlir][bufferization] implement BufferizableOpInterface for concat op (#140171)
Lowers `tensor.concat` to an alloc with a series of `memref.copy` ops to
copy the operands to the alloc.
Example:
```mlir
func.func @tensor.concat(%f: tensor<8xf32>) -> tensor<16xf32> {
%t = tensor.concat dim(0) %f, %f : (tensor<8xf32>, tensor<8xf32>) -> tensor<16xf32>
return %t : tensor<16xf32>
}
```
Produces
```mlir
module {
func.func @tensor.concat(%arg0: tensor<8xf32>) -> tensor<16xf32> {
// initialization
%0 = bufferization.to_memref %arg0 : tensor<8xf32> to memref<8xf32>
%alloc = memref.alloc() {alignment = 64 : i64} : memref<8xf32>
memref.copy %0, %alloc : memref<8xf32> to memref<8xf32>
%alloc_0 = memref.alloc() {alignment = 64 : i64} : memref<8xf32>
memref.copy %0, %alloc_0 : memref<8xf32> to memref<8xf32>
%alloc_1 = memref.alloc() {alignment = 64 : i64} : memref<16xf32>
// one copy for each operand
%subview = memref.subview %alloc_1[0] [8] [1] : memref<16xf32> to memref<8xf32, strided<[1]>>
memref.copy %alloc, %subview : memref<8xf32> to memref<8xf32, strided<[1]>>
%subview_2 = memref.subview %alloc_1[8] [8] [1] : memref<16xf32> to memref<8xf32, strided<[1], offset: 8>>
memref.copy %alloc_0, %subview_2 : memref<8xf32> to memref<8xf32, strided<[1], offset: 8>>
%1 = bufferization.to_tensor %alloc_1 : memref<16xf32> to tensor<16xf32>
return %1 : tensor<16xf32>
}
}
```
This is my first time implementing BufferizableOpInterface, so I'm
looking for some advice on how I can:
1. Clean up my implementation.
2. Avoid duplicate `memref.copy` ops in the `// initialization` section
above when handling duplicate `tensor.concat` operands.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 7b8bc1b3d1ae99894b4c7741e08a0b9bfb2ffb80
https://github.com/llvm/llvm-project/commit/7b8bc1b3d1ae99894b4c7741e08a0b9bfb2ffb80
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/bufferize.mlir
Log Message:
-----------
Revert "[mlir][bufferization] implement BufferizableOpInterface for concat op (#140171)"
This reverts commit 6d9ce6767d259a5231ae312a19459f8fea3bd0ca.
Multiple builtbot failures have been reported:
https://github.com/llvm/llvm-project/pull/140171
Commit: 952306226b5d9279ad3049baa8f10082e12a635a
https://github.com/llvm/llvm-project/commit/952306226b5d9279ad3049baa8f10082e12a635a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M bolt/lib/Passes/PettisAndHansen.cpp
Log Message:
-----------
[BOLT] Use llvm::max_element (NFC) (#140342)
Commit: e66cecd8d56f4bb62e01e47830327f28dcd7ac66
https://github.com/llvm/llvm-project/commit/e66cecd8d56f4bb62e01e47830327f28dcd7ac66
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[clang][NFC] Clean up Expr::isTemporaryObject() (#140229)
Commit: 578741b5e85110565b9b2de84d93b2c993ac0b79
https://github.com/llvm/llvm-project/commit/578741b5e85110565b9b2de84d93b2c993ac0b79
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
Log Message:
-----------
[AMDGPU][Attributor] Rework update of `AAAMDWavesPerEU` (#123995)
Currently, we use `AAAMDWavesPerEU` to iteratively update values based
on attributes from the associated function, potentially propagating
user-annotated values, along with `AAAMDFlatWorkGroupSize`. Similarly,
we have `AAAMDFlatWorkGroupSize`. However, since the value calculated
through the flat workgroup size always dominates the user annotation
(i.e., the attribute), running `AAAMDWavesPerEU` iteratively is
unnecessary if no user-annotated value exists.
This PR completely rewrites how the `amdgpu-waves-per-eu` attribute is
handled in `AMDGPUAttributor`. The key changes are as follows:
- `AAAMDFlatWorkGroupSize` remains unchanged.
- `AAAMDWavesPerEU` now only propagates user-annotated values.
- A new function is added to check and update `amdgpu-waves-per-eu`
based on the following rules:
- No waves per eu, no flat workgroup size: Assume a flat workgroup size
of `1,1024` and compute waves per eu based on this.
- No waves per eu, flat workgroup size exists: Use the provided flat
workgroup size to compute waves-per-eu.
- Waves per eu exists, no flat workgroup size: This is a tricky case. In
this PR, we assume a flat workgroup size of `1,1024`, but this can be
adjusted if a different approach is preferred. Alternatively, we could
directly use the user-annotated value.
- Both waves per eu and flat workgroup size exist: If there’s a
conflict, the value derived from the flat workgroup size takes
precedence over waves per eu.
This PR also updates the logic for merging two waves per eu pairs. The
current implementation, which uses `clampStateAndIndicateChange` to
compute a union, might not be ideal. If we think from ensure proper
resource allocation perspective, for instance, if one pair specifies a
minimum of 2 waves per eu, and another specifies a minimum of 4, we
should guarantee that 4 waves per eu can be supported, as failing to do
so could result in excessive resource allocation per wave. A similar
principle applies to the upper bound. Thus, the PR uses the following
approach for merging two pairs, `lo_a,up_a` and `lo_b,up_b`: `max(lo_a,
lo_b), max(up_a, up_b)`. This ensures that resource allocation adheres
to the stricter constraints from both inputs.
Fix #123092.
Commit: 4ddab1252fe6a90111a034cef184549882aaba2b
https://github.com/llvm/llvm-project/commit/4ddab1252fe6a90111a034cef184549882aaba2b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
Log Message:
-----------
AMDGPU: Move reg_sequence splat handling (#140313)
This code clunkily tried to find a splat reg_sequence by
looking at every use of the reg_sequence, and then looking
back at the reg_sequence to see if it's a splat. Extract this
into a separate helper function to help clean this up. This now
parses whether the reg_sequence forms a splat once, and defers the
legal inline immediate check to the use check (which is really use
context dependent)
The one regression is in globalisel, which has an extra
copy that should have been separately folded out. It was getting
dealt with by the handling of foldable copies in tryToFoldACImm.
This is preparation for #139908 and #139317
Commit: aaaae99663dbb220c6c27fa9cacf93fcb8f20e7c
https://github.com/llvm/llvm-project/commit/aaaae99663dbb220c6c27fa9cacf93fcb8f20e7c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[SelectionDAG] Use getInsertSubvector/VectorElt and getExtractSubvector/VectorElt in LegalizeVectorTypes. NFC
Commit: 061a7699f343ed2a8782b48dc585f1ab7cc6727e
https://github.com/llvm/llvm-project/commit/061a7699f343ed2a8782b48dc585f1ab7cc6727e
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/DWARFLinker/Parallel/ArrayList.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebugInfoSupport.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/utils/TableGen/ExegesisEmitter.cpp
Log Message:
-----------
[llvm][NFC] Use `llvm::sort()` (#140335)
Commit: 0153b49f32c251ac34a478815f81c92975529b5d
https://github.com/llvm/llvm-project/commit/0153b49f32c251ac34a478815f81c92975529b5d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Scalar] Avoid creating temporary instances of std::string (NFC) (#140327)
ExprLinearizer::write takes StringRef and immediately sends the
content to the stream without hanging onto the pointer, so we do not
need to create temporary instances of std::string.
Commit: e1cee35546c91a4ec1df87827f4ef996fa21a35f
https://github.com/llvm/llvm-project/commit/e1cee35546c91a4ec1df87827f4ef996fa21a35f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
[CodeGen] Use llvm::lower_bound (NFC) (#140341)
Commit: 2c51f5e2d5bc7bdfe38eeb12ea0b343ad9e31650
https://github.com/llvm/llvm-project/commit/2c51f5e2d5bc7bdfe38eeb12ea0b343ad9e31650
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
Log Message:
-----------
[mlir] Use DenseMap::contains (NFC) (#140351)
Commit: 39722154d8ae901e5b69176cc3cd8d63211e80f4
https://github.com/llvm/llvm-project/commit/39722154d8ae901e5b69176cc3cd8d63211e80f4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GCMetadata.h
Log Message:
-----------
[CodeGen] Use MapVector::contains (NFC) (#140352)
Commit: 07e2300a8c9c8a70384ddfe310cf3495fab1821c
https://github.com/llvm/llvm-project/commit/07e2300a8c9c8a70384ddfe310cf3495fab1821c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M lld/test/ELF/aarch64-reloc-implicit-addend.test
M lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/arm-cmse-diagnostics.s
M lld/test/ELF/arm-cmse-implib.s
M lld/test/ELF/arm-cmse-keep-sections.s
M lld/test/ELF/arm-cmse-noveneers.s
M lld/test/ELF/arm-cmse-secure.s
M lld/test/ELF/arm-cmse-veneers.s
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/basic-avr.s
M lld/test/ELF/compress-debug-sections-reloc.s
M lld/test/ELF/eh-frame-value-format7.s
M lld/test/ELF/eh-frame-value-format8.s
M lld/test/ELF/gdb-index-dwarf5-type-unit.s
M lld/test/ELF/gdb-index-icf.s
M lld/test/ELF/i386-pc16.test
M lld/test/ELF/i386-pc8.s
M lld/test/ELF/i386-reloc-16-large-addend.s
M lld/test/ELF/i386-reloc-8-large-addend.s
M lld/test/ELF/i386-reloc-large-addend.s
M lld/test/ELF/i386-reloc-range.s
M lld/test/ELF/i386-reloc8-reloc16-addend.s
M lld/test/ELF/just-symbols-cref.s
M lld/test/ELF/just-symbols.s
M lld/test/ELF/linkerscript/avr5.test
M lld/test/ELF/linkerscript/memory-no-sections.test
M lld/test/ELF/loongarch-pc-aligned.s
M lld/test/ELF/msp430.s
M lld/test/ELF/nmagic.s
M lld/test/ELF/oformat-binary-ttext.s
M lld/test/ELF/sectionstart-noallochdr.s
M lld/test/ELF/systemz-reloc-disp12.s
M lld/test/ELF/systemz-reloc-disp20.s
M lld/test/ELF/systemz-reloc-pc16.s
M lld/test/ELF/systemz-reloc-pc32.s
M lld/test/ELF/x86-64-reloc-32.s
M lld/test/ELF/x86-64-reloc-pc32.s
Log Message:
-----------
[ELF,test] Specify image base to make -Ttext/--section-start tests less sensitive
Many tests specify -Ttext, -Tdata, or --section-start without SECTIONS
commands. When the specified address is lower than the image base,
* In the default --ro-segment case, there will be a read-only PT_LOAD segment covering ELF header/program headers, which may cover no section (as many tests omit .rodata). This appears unusual and has non-ascending p_vaddr.
* In the --no-rosegment case, an `error: output file too large` occurs.
We will add a diagnostic (#140187) and possibly change layout. Add
--image-base to make these tests less sensitive.
Commit: d9a1f8a3a8ffe26949101501f4d07bc316fb4bf9
https://github.com/llvm/llvm-project/commit/d9a1f8a3a8ffe26949101501f4d07bc316fb4bf9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[AMDGPU] Fix a warning
This patch fixes:
llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp:1139:17: error: unused
variable 'Func' [-Werror,-Wunused-variable]
Commit: 21c878e72dddaa1495cb71ea636f69ddcab5e0f4
https://github.com/llvm/llvm-project/commit/21c878e72dddaa1495cb71ea636f69ddcab5e0f4
Author: David Green <david.green at arm.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/artifact-combine-unmerge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/artifact-find-value.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-canonicalize-icmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fabs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-flog2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fneg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fptrunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fsqrt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-inttoptr-ptrtoint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-mul-to-shl.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-int2ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptrtoint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-sext-trunc-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/constant-mir-debugify.mir
M llvm/test/CodeGen/AArch64/GlobalISel/contract-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-brcond-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets-target-features.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-shr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fp16-copy-gpr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/labels-are-not-dead.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bzero.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz-zero-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-divrem.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fexp2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaximum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminimum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp128-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp16-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptoi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-global-pic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-global.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ignore-hint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ignore-non-generic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-get-dynamic-area-offset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-inttoptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-llround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-fewerElts.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector-of-ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-lrint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-lround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-with-debug-info.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sbfx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sext-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sext-zext-128.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ubfx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vaarg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vacopy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-shift.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-zextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-combiner.mir
M llvm/test/CodeGen/AArch64/GlobalISel/lifetime-marker-no-dce.mir
M llvm/test/CodeGen/AArch64/GlobalISel/load-wro-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/localizer-propagate-debug-loc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
M llvm/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
M llvm/test/CodeGen/AArch64/GlobalISel/non-pow-2-extload-combine.mir
M llvm/test/CodeGen/AArch64/GlobalISel/observer-change-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-and-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-trunc-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-shifted-reg-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/phi-mir-debugify.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combine-ptr-add-chain.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-and-trivial-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-copy-prop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-identity.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-merge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-redundant-sextinreg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-duplane.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-trn.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-truncstore.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-vashr-vlshr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-zip.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extractvec-faddp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-hoist-same-hands.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-mulpow2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-rotate.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-constrain-new-regop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern-align.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads-s1.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-funnel-shifts-to-rotates.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-icmp-redundant-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-invert-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-not-really-equiv-insts.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-simplify-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-xor-of-and-with-same-reg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-ceil.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fma.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fp-use-def.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-intrinsic-round.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-intrinsic-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-intrinsic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-llround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-lround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-maxnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-minnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-nearbyint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-shift-imm-64.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-trunc-s128.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-default.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-reductions.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-unmerge-vec.mir
M llvm/test/CodeGen/AArch64/GlobalISel/retry-artifact-combine.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-abs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-add-low.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-brcond-of-binop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-concat-vectors.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ctlz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ctpop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cttz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-extload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-extract-vector-elt-with-extend.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-faddp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fma.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fmaximum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fminimum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fmul-indexed.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-casts.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fp16-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-frint-nofp16.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-frint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-gv-cmodel-tiny.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-implicit-def.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-extract.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-int-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-aarch64-sdiv.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-crypto-aesmc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-round.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ld2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ld4.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldaxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load-store-vector-of-ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-logical-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-logical-shifted-reg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-mul.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-muladd.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-nearbyint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vcvtfxu2fp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-pr32733.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-reduce-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-returnaddress-liveins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-rotate.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-saddo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-sbfx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-scalar-merge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-shufflevec-undef-mask-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ssubo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-st2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-stlxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-store-truncating-float.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-stx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trn.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-uaddo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-usubo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-uzp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-with-no-legality-check.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zext-as-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zip.mir
M llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging-debug.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-wro-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/subreg-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/xro-addressing-mode-constant.mir
Log Message:
-----------
[AArch64][GlobalISel] Regenerate AArch64/GlobalISel/*.mir test checks. NFC
This served as a test of update_mir_test_checks from #140296, although the test
changes are mostly because the tests have not ben regenerated in a long time.
We managed to stop it from removing extra comments, only the empty lines are
now removed.
Commit: 8d0ebd823c6d91527e00a92bbe7ca148de0241f5
https://github.com/llvm/llvm-project/commit/8d0ebd823c6d91527e00a92bbe7ca148de0241f5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vararg.ll
Log Message:
-----------
[InstCombine] Special handle `va_copy(dst, src) + va_end(src)` (#140250)
Closes https://github.com/llvm/llvm-project/issues/140215.
Commit: d84b97ebb3bcdae2b815d1ecfaaee7b5ec8b63f9
https://github.com/llvm/llvm-project/commit/d84b97ebb3bcdae2b815d1ecfaaee7b5ec8b63f9
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/misleading-setter-of-reference.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/misleading-setter-of-reference.cpp
Log Message:
-----------
[clang-tidy] Add check bugprone-misleading-setter-of-reference (#132242)
Commit: 676e660e2dafea6d0f720d2b712dd39fac10e7de
https://github.com/llvm/llvm-project/commit/676e660e2dafea6d0f720d2b712dd39fac10e7de
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port d84b97ebb3bc
Commit: 3fcfce4c5e5fd1c3072e8db1d692c93459e8cd74
https://github.com/llvm/llvm-project/commit/3fcfce4c5e5fd1c3072e8db1d692c93459e8cd74
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
Log Message:
-----------
Reapply "[LoopPeel] Implement initial peeling off the last loop iteration. (#139551)"
This reverts the revert commit bf92b127d2637948f53d11a187e865aa10e2e74c.
This adds missing initialization of PeelLast in gatherPeelingPreferences.
Original message:
Generalize countToEliminateCompares to also consider peeling off the
last iteration if it eliminates a compare.
At the moment, codegen for peeling off the last iteration is quite
restrictive and callers have to make sure that the exit condition can be
adjusted when peeling and that the loop executes at least 2 iterations.
Both will be relaxed in follow-ups.
PR: https://github.com/llvm/llvm-project/pull/139551
Commit: 9e22f9611a5b61f412dbf1b72a4fe2d2089eeec2
https://github.com/llvm/llvm-project/commit/9e22f9611a5b61f412dbf1b72a4fe2d2089eeec2
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[DAGCombiner] Fix a "subtraction if above a constant threshold" miscompile (#140042)
This fixes #135194 incorrectly reusing the existing `add nuw/nsw`
while the transformed code relies on an unsigned wrap.
Commit: 809d3422237ac5a123e03f14cd8559f8b4eb690b
https://github.com/llvm/llvm-project/commit/809d3422237ac5a123e03f14cd8559f8b4eb690b
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/docs/Proposals/VariableNames.rst
Log Message:
-----------
fix the link to the Mozilla coding style ref
Commit: c5ec66880bd3bcab3a93cd1ccf3d6947501b3a9e
https://github.com/llvm/llvm-project/commit/c5ec66880bd3bcab3a93cd1ccf3d6947501b3a9e
Author: David Green <david.green at arm.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir
Log Message:
-----------
[AArch64][GlobalISel] Add a known-bits build vector test. NFC
Commit: 722385e87bb8e6e0fe79975d679285815629cc7f
https://github.com/llvm/llvm-project/commit/722385e87bb8e6e0fe79975d679285815629cc7f
Author: David Green <david.green at arm.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-shuffle.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
Log Message:
-----------
[GlobalISel] Add G_SHUFFLE_VECTOR computeKnownBits (#139501)
The code is taken from SelectionDAG::computeKnownBits.
Commit: bf1d4a0710a6e1d2c99e579bcf435b92ab5d0506
https://github.com/llvm/llvm-project/commit/bf1d4a0710a6e1d2c99e579bcf435b92ab5d0506
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/hoist-binop.ll
Log Message:
-----------
[LICM] Preserve Disjoint flag on OR when hoisting. (#140266)
Update hoistBOAssociation to preserve Disjoint flags on the newly
created instructions if both ORs are disjoint.
Fixes https://github.com/llvm/llvm-project/issues/139625.
PR: https://github.com/llvm/llvm-project/pull/140266
Commit: 252ba8e3fb361772003c38566c99233c07adc4bd
https://github.com/llvm/llvm-project/commit/252ba8e3fb361772003c38566c99233c07adc4bd
Author: Matthias Braun <matze at braunis.de>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
Log Message:
-----------
NFC: Refactor MIRPrinter into state struct and functions (#140317)
Moves `MIRPRinter` and `MIPrinter` fields into a new `MFPrintState`
struct. Turns methods into independent functions.
- This slightly simplifies the code.
- In the future this will allow to pass the state around to other printing functions
without the need to expose classes in the public headers.
Commit: fcef8a471e083e0dbd139302bc20250cfe4c57cd
https://github.com/llvm/llvm-project/commit/fcef8a471e083e0dbd139302bc20250cfe4c57cd
Author: David Green <david.green at arm.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[GlobalISel] Put legalizer rule debug behind a verbose option. (#138277)
With the large number of G_ opcodes now present, this debug information
emitted for checking the global isel legalizer rules are valid is quite
verbose and runs even when gisel is not being used. This makes it
especially verbose when running a single pass with -debug.
This patch puts it behind a verbose debug option so that most people
don't need to worry about it.
Commit: 68e4f6090b369c14da8c6ef1f614664b9e0427e1
https://github.com/llvm/llvm-project/commit/68e4f6090b369c14da8c6ef1f614664b9e0427e1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
Log Message:
-----------
[lldb] Use llvm::replace (NFC) (#140343)
Commit: 395f8695da4c0e22d562dc7255be19491d5169b5
https://github.com/llvm/llvm-project/commit/395f8695da4c0e22d562dc7255be19491d5169b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
Log Message:
-----------
[mlir] Use llvm::replace (NFC) (#140344)
Commit: 17db75eab173c96665cd164443494e41f2dc951e
https://github.com/llvm/llvm-project/commit/17db75eab173c96665cd164443494e41f2dc951e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
Log Message:
-----------
[mlir] Remove an unused "using" decl (NFC) (#140357)
The last use was removed by:
commit f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
Author: Matthias Springer <me at m-sp.org>
Date: Mon Apr 15 18:14:18 2024 +0200
Commit: e81fab68478754097c3354c0d2749ab009f8f0c8
https://github.com/llvm/llvm-project/commit/e81fab68478754097c3354c0d2749ab009f8f0c8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
Log Message:
-----------
[VPlan] Verify final VPlan, just before execution. (NFC)
Add additional verifier call just before execution, to make sure the
final VPlan is valid.
Note that this currently requires disabling a small number of checks
when running late.
Commit: 573746ee519643f4015b2fb6cf4bfab53ccee1f1
https://github.com/llvm/llvm-project/commit/573746ee519643f4015b2fb6cf4bfab53ccee1f1
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV] Remove fixup_riscv_pcrel_hi20 from evaluateTargetFixup. NFC
It can be handled by the target-neutral code path in MCAssembler::evaluateFixup.
Commit: 2f05451198e2f222ec66cec4892ada0509519290
https://github.com/llvm/llvm-project/commit/2f05451198e2f222ec66cec4892ada0509519290
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
Log Message:
-----------
RISCV: Replace most Specifier constants with relocation types
... as they map directly and we don't utilize -Wswitch.
Retained VK_*_LO constants for lowering to LO_I or LO_S.
The Sparc port has eliminated all Specifier constants (commit
003fa7731d81a47c98e9c55f80d509933c9b91f6), and the LoongArch port is
nearly free of them (#138632).
Pull Request: https://github.com/llvm/llvm-project/pull/138644
Commit: f695c8d529eae4b8cf6583bdd02824d24c47b0b0
https://github.com/llvm/llvm-project/commit/f695c8d529eae4b8cf6583bdd02824d24c47b0b0
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/test/CodeGenHLSL/builtins/dot4add_i8packed.hlsl
M clang/test/CodeGenHLSL/builtins/dot4add_u8packed.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/dot4add_i8packed.ll
A llvm/test/CodeGen/DirectX/dot4add_i8packed_error.ll
M llvm/test/CodeGen/DirectX/dot4add_u8packed.ll
A llvm/test/CodeGen/DirectX/dot4add_u8packed_error.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll
Log Message:
-----------
[DirectX][SPIRV] Fix the lowering of dot4add (#140315)
There were some issues with these ops:
- The overload wasn't being specified (`dx.op.dot4AddPacked` vs
`dx.op.dot4AddPacked.i32`)
- The versioning wasn't correct (These ops were added in SM 6.4)
- The argument order was off - while the HLSL function has the
accumulator as the last argument, the DXIL op lists it first.
This fixes the DXIL.td definition and adjusts the LLVM DX and SPIRV
intrinsics to match the argument order in DXIL rather than the argument
order in HLSL.
Fixes #139018
Commit: 60fb92179291e848eb7b04913bdc818d081db296
https://github.com/llvm/llvm-project/commit/60fb92179291e848eb7b04913bdc818d081db296
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
R llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
Revert "[SLP]Change the insertion point for outside-block-used nodes and prevec phi operand gathers"
This reverts commit d79d9b8fbfc7e8411aeaf2f5e1be9d4247594fee to fix
a bug reported in https://github.com/llvm/llvm-project/pull/139917#issuecomment-2888216404
Commit: 9c60431b673c478606e63ff1e47860eb4eb6af09
https://github.com/llvm/llvm-project/commit/9c60431b673c478606e63ff1e47860eb4eb6af09
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallVector.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
Log Message:
-----------
[NFC] Add a specialization of DenseMapInfo for SmallVector (#140380)
Equivalent to the three existing uses I found which were all pointers.
Implementing the general pattern so SmallVector<int> etc will work as
well.
Added to the SmallVector.h header as opposed to DenseMapInfo.h following
the StringRef.h and SmallBitVector.h prior art.
Noticed while writing an unrelated patch which currently wants a map
from small vectors to other things and cleaner to generalise than add
another specialisation to said patch.
Commit: ac16520cfcecfd23b5941ab68a321b5a0ca56b1d
https://github.com/llvm/llvm-project/commit/ac16520cfcecfd23b5941ab68a321b5a0ca56b1d
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/test/MC/ELF/section-unique.s
Log Message:
-----------
MC: Improve ,unique tests
Run llvm-readelf and llvm-objdump, and test .pushsection
Commit: 0642bf9a9830fdab88f9bf15243e965a03c78b3f
https://github.com/llvm/llvm-project/commit/0642bf9a9830fdab88f9bf15243e965a03c78b3f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
Log Message:
-----------
[ICP] Use a block with LLVM_DEBUG (NFC) (#140387)
Using a block inside LLVM_DEBUG allows us to simplify the code with a
single LLVM_DEBUG and remove maybe_unused.
Commit: f9f69dac2a63afd9b317033bfe055a174bdd180f
https://github.com/llvm/llvm-project/commit/f9f69dac2a63afd9b317033bfe055a174bdd180f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
Log Message:
-----------
[clang] Remove redundant control flow statements (NFC) (#140359)
Commit: f5576729a4e26d62ba183a9443025f00ebdcc1e9
https://github.com/llvm/llvm-project/commit/f5576729a4e26d62ba183a9443025f00ebdcc1e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
A llvm/test/Transforms/Reassociate/or-disjoint.ll
Log Message:
-----------
[Reassociate] Add tests with disjoint OR.
Commit: 2e2a7923a428e78b5387be1e28f63db1bc1171bb
https://github.com/llvm/llvm-project/commit/2e2a7923a428e78b5387be1e28f63db1bc1171bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[ProfileData] Use DenseMap::try_emplace (NFC) (#140394)
We can simplify the code with structured binding and try_emplace.
Note that try_emplace default-constructs the value if omitted.
FWIW, structured binding, a C++17 feature, wasn't available in our
codebase at the time the code was written.
Commit: c6ad46434790ebcab6394dbe2381bebcf05c30f7
https://github.com/llvm/llvm-project/commit/c6ad46434790ebcab6394dbe2381bebcf05c30f7
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/ProfileList.cpp
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
[NFC] Run code formatter on Diagnostic.h/cpp ProfileList.cpp SpecialCaseList.cpp
Reviewers: vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/140316
Commit: 55531e33d3114e63ef7d2079896fb80243061395
https://github.com/llvm/llvm-project/commit/55531e33d3114e63ef7d2079896fb80243061395
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/test/Transforms/LICM/hoist-binop.ll
Log Message:
-----------
[LICM] Add test reassociating ADD nuw nsw.
Commit: 7108deca41f1ef05e399287bb5b37301e484123d
https://github.com/llvm/llvm-project/commit/7108deca41f1ef05e399287bb5b37301e484123d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
[MC] Use *Map::try_emplace (NFC) (#140397)
try_emplace with is much shorter and simpler if we are
default-constructing the value.
While I'm at it, this patch uses structured bindings to receive the
return value from try_emplace.
Commit: c51417d75b0090e33299475a3ddec648768bd746
https://github.com/llvm/llvm-project/commit/c51417d75b0090e33299475a3ddec648768bd746
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use llvm::any_of (NFC) (#140398)
Commit: d1cd68881ad41bbaa81c49e54d5f1cb2b0fec093
https://github.com/llvm/llvm-project/commit/d1cd68881ad41bbaa81c49e54d5f1cb2b0fec093
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
Log Message:
-----------
[llvm] Use llvm::is_sorted (NFC) (#140399)
Commit: fadaf0c513c8054db04e5ae234a27232568fac28
https://github.com/llvm/llvm-project/commit/fadaf0c513c8054db04e5ae234a27232568fac28
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
Log Message:
-----------
[SandboxVectorizer] Use llvm::upper_bound (NFC) (#140400)
Commit: 9b93c9a28418febb1eb2642cf7dea034e877d158
https://github.com/llvm/llvm-project/commit/9b93c9a28418febb1eb2642cf7dea034e877d158
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/IR/PassManagerImpl.h
Log Message:
-----------
[PassManager] Simplify code with DenseMap::try_emplace (NFC) (#140402)
We can simplify the code with DenseMap::try_emplace and structured
binding. Note that DenseMap::try_emplace default-constructs the value
if omitted.
Commit: c0ca030782f9c572a5df5f3506652e81aeecad0d
https://github.com/llvm/llvm-project/commit/c0ca030782f9c572a5df5f3506652e81aeecad0d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/find-all-symbols/SymbolInfo.cpp
Log Message:
-----------
[clang-include-fixer] Remove an unused "using" decl (NFC) (#140354)
We do use MappingTraits in this file, but all uses are inside the
llvm::yaml namespace, so we don't rely on the "using" decl.
Commit: bc6107a8d23d7a1d14f801f8f4ec84188d942f2f
https://github.com/llvm/llvm-project/commit/bc6107a8d23d7a1d14f801f8f4ec84188d942f2f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/Support/Allocator.h
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[Support] Use range-based for loops (NFC) (#140401)
Commit: 1a40edf2c08297bde3e651a521d74356ee94e238
https://github.com/llvm/llvm-project/commit/1a40edf2c08297bde3e651a521d74356ee94e238
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::find_if (NFC) (#140411)
Commit: ff78648b096379eb73e6c5976b8a3a16f0b54a68
https://github.com/llvm/llvm-project/commit/ff78648b096379eb73e6c5976b8a3a16f0b54a68
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/unittests/XRay/GraphTest.cpp
Log Message:
-----------
[llvm] Use llvm::find_if (NFC) (#140412)
Commit: 6290cc33e9a6541ccb4711991247a77e0a5b9412
https://github.com/llvm/llvm-project/commit/6290cc33e9a6541ccb4711991247a77e0a5b9412
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[clang] Use llvm::stable_sort (NFC) (#140413)
Commit: 304070575a4c585cc3bb2ef206b77bf988c400ff
https://github.com/llvm/llvm-project/commit/304070575a4c585cc3bb2ef206b77bf988c400ff
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Use range-based for loops (NFC) (#140414)
Commit: 751e6c08b2f6cd40908b8810a2a2da476e88417e
https://github.com/llvm/llvm-project/commit/751e6c08b2f6cd40908b8810a2a2da476e88417e
Author: Matthias Springer <me at m-sp.org>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Check for correct type converter rule implementation (#140347)
If a type conversion rule fails to apply, it should not append any types
to the result. This commit just adds an assertion to detect such cases
of incorrect API usage.
Commit: 3360a23e60b00fb0260b2aa37495867cff3ec40d
https://github.com/llvm/llvm-project/commit/3360a23e60b00fb0260b2aa37495867cff3ec40d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
Log Message:
-----------
[mlir][SparseTensor] Fix type conversion rule (#140350)
A type conversion rule cannot make any assumptions about the number of
pre-existing types in the `results` vector.
This commit fixes a failed assertion in a SparseTensor type conversion
rule. This is only reproducible when type conversion caching is
deactivated. There's no way to do this at the moment. This commit is in
preparation of adding context-aware type conversions, which will
deactivate type caching in such cases.
Commit: d08833f23fc8b25e1c3ef88274aa12f330601932
https://github.com/llvm/llvm-project/commit/d08833f23fc8b25e1c3ef88274aa12f330601932
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/HFSort.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/tools/bat-dump/bat-dump.cpp
Log Message:
-----------
[BOLT] Remove unused local variables (NFC) (#140421)
While I'm at it, this patch removes GetExecutablePath, which becomes
unused after removing the sole use.
Commit: f2165b9d5807ec7dc510ff3727698b3124b0b4e9
https://github.com/llvm/llvm-project/commit/f2165b9d5807ec7dc510ff3727698b3124b0b4e9
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dropped_debug_info_assert.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-legalize-range-metadata.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-all-indirect-accesses.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/mmra.ll
Log Message:
-----------
Revert "[AMDGPU] Add flag to prevent reruns of LowerModuleLDS (#129520)"
This reverts commit aa9f8596b01fef013ab62c20e61fc96d165f60f7 because it made
some assumptions that may not be valid.
Commit: 1bc004346784b91085ebaeed9be15de189d74817
https://github.com/llvm/llvm-project/commit/1bc004346784b91085ebaeed9be15de189d74817
Author: Jeremy Kun <jkun at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/bufferize.mlir
Log Message:
-----------
Restore #140171 with to_memref -> to_buffer (#140355)
https://github.com/llvm/llvm-project/pull/140171 was reverted because an
op's name changed and I neglected to rebase before merging.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: ef1bb2a243e0534394be2a74b0ded212d110d3c7
https://github.com/llvm/llvm-project/commit/ef1bb2a243e0534394be2a74b0ded212d110d3c7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
Log Message:
-----------
[mlir][SparseTensor] Fix unused variable error (#140428)
Commit: c2835e70fd0c8729238bcc56020b6f0a47dfd225
https://github.com/llvm/llvm-project/commit/c2835e70fd0c8729238bcc56020b6f0a47dfd225
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
Log Message:
-----------
[mlir] Remove unused local variables (NFC) (#140423)
Commit: 465e0daa6c6b0ddd010bc1c5f316c6be0d8b17b6
https://github.com/llvm/llvm-project/commit/465e0daa6c6b0ddd010bc1c5f316c6be0d8b17b6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M bolt/include/bolt/Profile/DataReader.h
M bolt/lib/Profile/DataReader.cpp
Log Message:
-----------
[BOLT] Avoid repeated hash lookups (NFC) (#140426)
We can use try_emplace to succinctly implement GetOrCreateFuncEntry
and GetOrCreateFuncMemEntry. Since it's a bit mouthful to say
FuncBasicSampleData::ContainerTy(), this patch changes the second
parameters to default ones.
Commit: ad060dfa4c910e8253ba328be947ef70f6597326
https://github.com/llvm/llvm-project/commit/ad060dfa4c910e8253ba328be947ef70f6597326
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths:
M bolt/lib/Passes/ShrinkWrapping.cpp
Log Message:
-----------
[BOLT] Use llvm::stable_sort (NFC) (#140429)
Commit: 3ccb15d6caf57f2a866d496ada2fb52d14b179d2
https://github.com/llvm/llvm-project/commit/3ccb15d6caf57f2a866d496ada2fb52d14b179d2
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Add typing annotations for the Type class (#140378)
This fully annotates the Type class, resolving 75 strict typing errors
as the next step towards #76664
Commit: 07c085af3efcd67503232f99a1652efc6e54c1a9
https://github.com/llvm/llvm-project/commit/07c085af3efcd67503232f99a1652efc6e54c1a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[VPlan] Add narrowToSingleScalarRecipe transform. (#139150)
Add a new convertToUniformRecipes transform which uses VPlan-based
uniformity analysis to determine if wide recipes and replicate recipes
can be converted to uniform recipes.
There are a few places where we ad-hoc convert recipes to uniform
recipes, which this transform will eventually replace. There are a few
more generalizations required to do so which I plan to do as follow-ups.
By converting the recipes to uniform recipes, we effectively materialize
the information from the VPlan-based analysis.
Note that there is one regression at the moment in SystemZ/pr47665.ll
due to trivial constant folding opportunities in the input IR. This will
be fixed by VPlan-based constant folding
(https://github.com/llvm/llvm-project/pull/125365/)
PR: https://github.com/llvm/llvm-project/pull/139150
Commit: b18ebd17b82db0bdf5bb8cae59c3208288fbef93
https://github.com/llvm/llvm-project/commit/b18ebd17b82db0bdf5bb8cae59c3208288fbef93
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
Log Message:
-----------
[LAA] Improve forked-pointers.ll test (#140383)
Commit: 7e14161f49b32387988cf9d937bbfaa27d0fbdd5
https://github.com/llvm/llvm-project/commit/7e14161f49b32387988cf9d937bbfaa27d0fbdd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
A llvm/test/Transforms/LoopUnroll/unroll-and-peel-last-iteration.ll
Log Message:
-----------
[LoopPeel] Handle constants when updating exit values when peeling last.
Account for constant values when updating exit values after peeling an
iteration from the end. This can happen if the inner loop gets unrolled
and simplified.
Fixes https://github.com/llvm/llvm-project/issues/140442.
Commit: 962aa2666fe8aa99e25bb255a99d3ab02d8441b4
https://github.com/llvm/llvm-project/commit/962aa2666fe8aa99e25bb255a99d3ab02d8441b4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M libcxx/include/map
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/support/min_allocator.h
Log Message:
-----------
[libc++] Don't instantiate allocators in __tree on an incomplete type (#140225)
This causes a mismatch between `value_type` and
`allocator_type::value_type` in `__tree`, but I think that's acceptable.
`__tree` primarily gets a `__value_type` wrapper due to potential ABI
breaks and unwraps it to the same as `allocator_type::value_type` in the
end. A cleanup patch will also change `__tree::value_type` to be the
same as `allocator_type::value_type`, making the type mismatch only
visible where `__tree` is instantiated in `map`.
Commit: f6867709a7a7e59ecf8a39c75627ae906ac8e1df
https://github.com/llvm/llvm-project/commit/f6867709a7a7e59ecf8a39c75627ae906ac8e1df
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M libcxx/include/__tree
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
Log Message:
-----------
[libc++] Fix set::operator= when instantiating with a std::pair (#140385)
This has been introduced by #134819, most likely due to a merge conflict
I didn't resolve properly (I thought I did in that patch what I'm now
doing here).
Commit: 0b553e055ad01ca6a2c88f7da92157df29e42fd0
https://github.com/llvm/llvm-project/commit/0b553e055ad01ca6a2c88f7da92157df29e42fd0
Author: dty2 <118413413+dty2 at users.noreply.github.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
M clang/test/SemaTemplate/cxx17-inline-variables.cpp
Log Message:
-----------
[Clang] Fix missed initializer instantiation bug for variable templates (#138122)
Fixes https://github.com/llvm/llvm-project/issues/135032
Due to nested templates, when instantiating the outer layer (the
template class), the inner layer (the template variable) uses delayed
instantiation.
This causes the declaration (VarDecl) of the template variable to retain
the type from the original template declaration (i.e., auto), and it
loses the initializer.
Later, when instantiating the template variable, its
VarTemplateSpecializationDecl type depends on the VarDecl type.
Thus, the VarTemplateSpecializationDecl also has no initializer, and its
type remains auto.
Ultimately, when building the reference expression in
Sema::BuildDeclarationNameExpr, the expression's type is auto and stays
as auto until code generation, triggering llvm_unreachable in
CodeGenTypes::ConvertType.
Since I noticed that the deduction of auto type is caused by the
initializer
I plan to do special processing for template variables of type auto,
that is, to prevent their delayed instantiation
so that their initializers will not be lost when the outer template
class is instantiated
Commit: a0a2a1e095ddd092e668b0b3f9a7dfa9655255e1
https://github.com/llvm/llvm-project/commit/a0a2a1e095ddd092e668b0b3f9a7dfa9655255e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
Log Message:
-----------
[LoopPeel] Make sure exit condition has a single use when peeling last.
Update the check in canPeelLastIteration to make sure the exiting
condition has a single use. When peeling the last iteration, we adjust
the condition in the loop body to be true one iteration early, which
would be incorrect for other users.
Fixes https://github.com/llvm/llvm-project/issues/140444.
Commit: ffb9bbfd0745dc22e1fd6edd7b62f72b91f4f6de
https://github.com/llvm/llvm-project/commit/ffb9bbfd0745dc22e1fd6edd7b62f72b91f4f6de
Author: Shay Kleiman <42376404+shay-kl at users.noreply.github.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/misc-other.mlir
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
[mlir][MemRef] Changed AssumeAlignment into a Pure ViewLikeOp (#139521)
Made AssumeAlignment a ViewLikeOp that returns a new SSA memref equal
to its memref argument and made it have Pure trait. This
gives it a defined memory effect that matches what it does in practice
and makes it behave nicely with optimizations which won't get rid of it
unless its result isn't being used.
Commit: 4504e775509483ec20912bc1d805717eecb311ca
https://github.com/llvm/llvm-project/commit/4504e775509483ec20912bc1d805717eecb311ca
Author: Shay Kleiman <42376404+shay-kl at users.noreply.github.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/assume-alignment-runtime-verification.mlir
Log Message:
-----------
[mlir][MemRef] Fixed a lit test for assume alignment (#140447)
Fixed a lit test that failed from my previous commit
Commit: 01bf2d71d0681122e2518a12115418c5c0a42218
https://github.com/llvm/llvm-project/commit/01bf2d71d0681122e2518a12115418c5c0a42218
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/select-undef.ll
Log Message:
-----------
[AMDGPU] select-undef.ll - regenerate test checks
Ensure we see all the codegen to help find any lurking unexpected behaviours
Commit: ad3136689090f79b52afcb5a95ec87e893006877
https://github.com/llvm/llvm-project/commit/ad3136689090f79b52afcb5a95ec87e893006877
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.h
Log Message:
-----------
[X86] Move X86ISD::FP_TO_SINT_SAT/FP_TO_UINT_SAT outside of the MEMORY_OPCODE enum block (#140272)
Move to closer to the other regular conversion opcodes
Fixes #140271
Commit: c861fe8a71e64f3d2108c58147e7375cd9314521
https://github.com/llvm/llvm-project/commit/c861fe8a71e64f3d2108c58147e7375cd9314521
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M libcxx/include/__algorithm/shuffle.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__charconv/to_chars_floating_point.h
M libcxx/include/__chrono/exception.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__chrono/steady_clock.h
M libcxx/include/__chrono/system_clock.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_error.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__hash_table
M libcxx/include/__locale
M libcxx/include/__memory/align.h
M libcxx/include/__memory/shared_count.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/random_device.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__system_error/system_error.h
M libcxx/include/__system_error/throw_system_error.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__verbose_abort
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/codecvt
M libcxx/include/condition_variable
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/locale
M libcxx/include/mutex
M libcxx/include/print
M libcxx/include/regex
M libcxx/include/shared_mutex
M libcxx/include/sstream
M libcxx/include/stdexcept
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/strstream
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/src/algorithm.cpp
M libcxx/src/any.cpp
M libcxx/src/atomic.cpp
M libcxx/src/barrier.cpp
M libcxx/src/call_once.cpp
M libcxx/src/charconv.cpp
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/error_category.cpp
M libcxx/src/expected.cpp
M libcxx/src/experimental/chrono_exception.cpp
M libcxx/src/filesystem/directory_entry.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/filesystem/filesystem_error.cpp
M libcxx/src/filesystem/operations.cpp
M libcxx/src/filesystem/path.cpp
M libcxx/src/fstream.cpp
M libcxx/src/functional.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/optional.cpp
M libcxx/src/ostream.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/random_shuffle.cpp
M libcxx/src/regex.cpp
M libcxx/src/shared_mutex.cpp
M libcxx/src/std_stream.h
M libcxx/src/stdexcept.cpp
M libcxx/src/string.cpp
M libcxx/src/strstream.cpp
M libcxx/src/system_error.cpp
M libcxx/src/thread.cpp
M libcxx/src/valarray.cpp
M libcxx/src/vector.cpp
M libcxx/src/verbose_abort.cpp
M libcxx/test/tools/clang_tidy_checks/hide_from_abi.cpp
Log Message:
-----------
[libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156)
This patch introduces `_LIBCPP_{BEGIN,END}_EXPLICIT_ABI_ANNOTATIONS`,
which allow us to have implicit annotations for most functions, and just
where it's not "hide_from_abi everything" we add explicit annotations.
This allows us to drop the `_LIBCPP_HIDE_FROM_ABI` macro from most
functions in libc++.
Commit: dd702b39699f5f35e862387f88e79e078491094c
https://github.com/llvm/llvm-project/commit/dd702b39699f5f35e862387f88e79e078491094c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Object/Object.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/tools/llvm-mca/llvm-mca.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
Log Message:
-----------
[llvm] Remove unused local variables (NFC) (#140422)
Commit: 013c7ba78590badf20d769a2de13bddabcfb1c5d
https://github.com/llvm/llvm-project/commit/013c7ba78590badf20d769a2de13bddabcfb1c5d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[CodeGen] Use DenseMap::try_emplace (NFC) (#140430)
We can simplify the code with DenseMap::try_emplace and structured
binding. Note that DenseMap::try_emplace default-constructs the value
if omitted.
Commit: 4388f38fbd9a0e6e55d5233cefa3e4ac3d8815d9
https://github.com/llvm/llvm-project/commit/4388f38fbd9a0e6e55d5233cefa3e4ac3d8815d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
Log Message:
-----------
[clang] Use llvm::max_element (NFC) (#140435)
Commit: 09d65fe8a190fdd461be18c8f6be57a1c2a2b6f7
https://github.com/llvm/llvm-project/commit/09d65fe8a190fdd461be18c8f6be57a1c2a2b6f7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Support/TrieRawHashMap.cpp
Log Message:
-----------
[Support] Use std::optional::value_or (NFC) (#140436)
Commit: 159f05fcaf9888ceaa70d0a6e78e1da30d418de7
https://github.com/llvm/llvm-project/commit/159f05fcaf9888ceaa70d0a6e78e1da30d418de7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
Log Message:
-----------
[AST] Remove "const" from "const ArrayRef" (NFC) (#140437)
Commit: 852b11c75fb8f6132298b9a67c886b02ff9d387a
https://github.com/llvm/llvm-project/commit/852b11c75fb8f6132298b9a67c886b02ff9d387a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
Log Message:
-----------
[bugpoint] Use range-based for loops (NFC) (#140438)
Commit: a86344c5a9854ae38d925566d3e9fbc0854254f6
https://github.com/llvm/llvm-project/commit/a86344c5a9854ae38d925566d3e9fbc0854254f6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Remove redundant calls to std::unique_ptr<T>::get (NFC) (NFC) (#140440)
Commit: b12d68e0b253b4dc6c3fd9d99ee8421605e274aa
https://github.com/llvm/llvm-project/commit/b12d68e0b253b4dc6c3fd9d99ee8421605e274aa
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
A libcxx/test/libcxx/feature_test_macro/generate_header_test.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/invalid.sh.py
M libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/standard_library_headers.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/test_data.json
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implements the new FTM header test generator. (#134542)
This generator has almost identical output to the existing script.
Notable differences are
- conditionally include headers that are not implemented yet
- removes the synopsis
- uses 2 spaces indent in `# if`
There are a few more test macros added that triggered bugs in existing
FTM.
Commit: e003326cd8e474f1c5be030f63c975b354c3f784
https://github.com/llvm/llvm-project/commit/e003326cd8e474f1c5be030f63c975b354c3f784
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Sema] Use llvm::is_contained (NFC) (#140455)
Commit: 04c73adfe2ed3597e10859c753b0dbdfd7e5f210
https://github.com/llvm/llvm-project/commit/04c73adfe2ed3597e10859c753b0dbdfd7e5f210
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::is_contained (NFC) (#140456)
Commit: 9384e8e63c2e51a5dfac1c53d07442bb0c8d8773
https://github.com/llvm/llvm-project/commit/9384e8e63c2e51a5dfac1c53d07442bb0c8d8773
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::max_element (NFC) (#140458)
Commit: 0fc9cd13a6e3e3707794f4e016b15831d5f0b334
https://github.com/llvm/llvm-project/commit/0fc9cd13a6e3e3707794f4e016b15831d5f0b334
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/include/clang/Serialization/ContinuousRangeMap.h
M clang/lib/Format/UsingDeclarationsSorter.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] Use llvm::unique (NFC) (#140459)
Commit: 61ba3e4c99a0f806a798fba398e82a4969054bc1
https://github.com/llvm/llvm-project/commit/61ba3e4c99a0f806a798fba398e82a4969054bc1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR][LLVMLowering] Upstream unary operators for VectorType (#139444)
This change adds support for unary ops for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 5ab3c5215688f62dbc3707f0e9cc2e8b69c0a7f0
https://github.com/llvm/llvm-project/commit/5ab3c5215688f62dbc3707f0e9cc2e8b69c0a7f0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
Log Message:
-----------
[lldb-dap] Member variable cleanup in DAP.{cpp,h} (NFC) (#140390)
- Use in-class member initialization to simplify the constructor.
- Remove unimplemented SetConfigurationDone.
- Consistently use Doxygen-style comments.
Commit: 3d0c616ce30cdc3d9c26dda8fdc608a6c85f00a6
https://github.com/llvm/llvm-project/commit/3d0c616ce30cdc3d9c26dda8fdc608a6c85f00a6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Variables.cpp
A lldb/tools/lldb-dap/Variables.h
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
[lldb-dap] Move the Variables struct into its own file (#140393)
Move the Variables struct out of DAP.h and into its own file to reduce
the complexity of the latter. This PR also makes the members that are
implementation details private and adds a handful of basic unit tests.
Commit: 5247a4fc71b733ecb107a036046e5e92146aea5c
https://github.com/llvm/llvm-project/commit/5247a4fc71b733ecb107a036046e5e92146aea5c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 3d0c616ce30c
Commit: 5fa985e751c8f890fff31e190473aeeb6f7a9fc5
https://github.com/llvm/llvm-project/commit/5fa985e751c8f890fff31e190473aeeb6f7a9fc5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Support cloning initial VPlan (NFC).
Support cloning VPlans as they are created by the initial buildVPlan,
i.e. scalar header not yet connected and no trip-count set. This is not
used yet but will in follow-up changes/
Also add a unit test for cloning & printing.
Commit: 1b41599cf8972abbf0d2ee7595dba78a4b158af0
https://github.com/llvm/llvm-project/commit/1b41599cf8972abbf0d2ee7595dba78a4b158af0
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCDirectives.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCNullStreamer.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Object/RecordStreamer.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86TargetStreamer.h
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/test/CodeGen/ARM/ldrd.ll
M llvm/test/CodeGen/ARM/thumb-function-section-reloc.ll
M llvm/test/CodeGen/Thumb/thumb-shrink-wrapping.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[MC][AArch64][ARM][X86] Push target-dependent assembler flags into targets (#139844)
The .syntax unified directive and .codeX/.code X directives are, other
than some simple common printing code, exclusively implemented in the
targets themselves. Thus, remove the corresponding MCAF_* flags and
reimplement the directives solely within the targets. This avoids
exposing all targets to all other targets' flags.
Since MCAF_SubsectionsViaSymbols is all that remains, convert it to its
own function like other directives, simplifying its implementation.
Note that, on X86, we now always need a target streamer when parsing
assembly, as it's now used for directives that aren't COFF-specific. It
still does not however need to do anything when producing a non-COFF
object file, so this commit does not introduce any new target streamers.
There is some churn in test output, and corresponding UTC regex changes,
due to comments no longer being flushed by these various directives (and
EmitEOL is not exposed outside MCAsmStreamer.cpp so we couldn't do so
even if we wanted to), but that was a bit odd to be doing anyway.
This is motivated by Morello LLVM, which adds yet another assembler flag
to distinguish A64 and C64 instruction sets, but did not update every
switch and so emits warnings during the build. Rather than fix those
warnings it seems better to instead make the problem not exist in the
first place via this change.
Commit: fb86b3d96b73f4e628288b180ef4e038da8b7bc1
https://github.com/llvm/llvm-project/commit/fb86b3d96b73f4e628288b180ef4e038da8b7bc1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
A llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-node-with-same-last-instr.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP]Change the insertion point for outside-block-used nodes and prevec phi operand gathers
Need to set the insertion point for (non-schedulable) vector node after
the last instruction in the node to avoid def-use breakage. But it also
causes miscompilation with gather/buildvector operands of the phi nodes,
used in the same phi only in the block.
These nodes supposed to be inserted at the end of the block and after
changing the insertion point for the non-schedulable vec block, it also
may break def-use dependencies. Need to prevector such nodes, to emit
them as early as possible, so the vectorized nodes are inserted before
these nodes.
Fixes #139728
Recommit after revert 60fb92179291e848eb7b04913bdc818d081db296
Reviewers: hiraditya, HanKuanChen, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/139917
Commit: 204252e2df80876702616518a5154dccacf3ebac
https://github.com/llvm/llvm-project/commit/204252e2df80876702616518a5154dccacf3ebac
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
Revert "[VPlan] Support cloning initial VPlan (NFC)."
This reverts commit 5fa985e751c8f890fff31e190473aeeb6f7a9fc5.
Revert as this seems to introduce a call to a pure virtual function on a
few configs, e.g.
https://lab.llvm.org/buildbot/#/builders/169/builds/11535
Commit: 35ee462fefe18927cc3a626d22f7b32f14b5eaf7
https://github.com/llvm/llvm-project/commit/35ee462fefe18927cc3a626d22f7b32f14b5eaf7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Add assert check CanDoRTIFNeeded can be computed w/o RT.Need (NFC)
Add assert to ensure that CanDoRTIfNeeded can be computed w/o
RtCheck.Need, to prepare for adjusting the condition.
Commit: 9d3ef8a66fbcb614843ae6e864d0b0a950ceb9ae
https://github.com/llvm/llvm-project/commit/9d3ef8a66fbcb614843ae6e864d0b0a950ceb9ae
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify
Commit: bb8e2a893728d9017409bf1de413eff2a035ae57
https://github.com/llvm/llvm-project/commit/bb8e2a893728d9017409bf1de413eff2a035ae57
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/masked-load-compress-reordered.ll
Log Message:
-----------
[SLP]Relax assertion to avoid compiler crash
Need to relax the assertion to fix a compiler crash in case if the
reordered compress loads are more profitable than the ordered ones.
Fixes #140334
Commit: ec7a5091655f75839e8da57a76aec6600a864915
https://github.com/llvm/llvm-project/commit/ec7a5091655f75839e8da57a76aec6600a864915
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify R_PPC64_TOC special case. NFC
Commit: ad673151085cc6cd85ae05714e201e0b6dd78e37
https://github.com/llvm/llvm-project/commit/ad673151085cc6cd85ae05714e201e0b6dd78e37
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/CommandPlugins.cpp
A lldb/tools/lldb-dap/CommandPlugins.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Move the command plugins out of the DAP header (#140396)
Move the command plugins out of the DAP header and into their file. This
PR also renames the classes from "RequestHandler" to "Command". Although
they are implemented in terms of sending requests, they are not
"handlers".
Commit: 048788419ee2e6d05b0daf0e391ccb0e3466a12b
https://github.com/llvm/llvm-project/commit/048788419ee2e6d05b0daf0e391ccb0e3466a12b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port ad673151085c
Commit: c512d951861c9e35649b6c9672c227244bb9b6be
https://github.com/llvm/llvm-project/commit/c512d951861c9e35649b6c9672c227244bb9b6be
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
Log Message:
-----------
MC: Generalize RISCV/LoongArch handleAddSubRelocations and AVR shouldForceRelocation
Introduce MCAsmBackend::addReloc to manage relocation appending.
The default implementation uses shouldForceRelocation to check
unresolved fixups and calls recordRelocation to append a relocation when
needed.
RISCV and LoongArch override addReloc to handle ADD/SUB relocations,
with potential support for RELAX relocations in the future.
AVR overrides addReloc to customize shouldForceRelocation behavior
(#121498).
applyFixup is moved into evaluateFixup.
Commit: 6d515ce8270ebeeaab771c7db08fbf9bf146e31d
https://github.com/llvm/llvm-project/commit/6d515ce8270ebeeaab771c7db08fbf9bf146e31d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Use llvm::all_of (NFC) (#140464)
Commit: fbb8a0c9c8a0725b60d84333dd0c4af706b15bed
https://github.com/llvm/llvm-project/commit/fbb8a0c9c8a0725b60d84333dd0c4af706b15bed
Author: Brad Smith <brad at comstyle.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M clang/tools/clang-shlib/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[CMake] Add a linker test for -Bsymbolic-functions to AddLLVM (#79539)
Add a linker test for -Bsymbolic-functions to AddLLVM and remove
the illumos hardcoded bits for its handling. OpenBSD also has a
local patch for linking with the old BFD linker on mips64 and
sparc64.
Commit: c78e6bbd830a4633fa7c80aebb9680b6acf913c6
https://github.com/llvm/llvm-project/commit/c78e6bbd830a4633fa7c80aebb9680b6acf913c6
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/CodeGen/RISCV/rv32xandesperf.ll
A llvm/test/CodeGen/RISCV/rv64xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add sext_inreg patterns for XAndesPerf nds.bfos instruction (#139714)
Add the patterns sign_extend_inreg i1/i8/i16.
Commit: eb467a088bd9c5f2755cbc6152195670bf45ae0e
https://github.com/llvm/llvm-project/commit/eb467a088bd9c5f2755cbc6152195670bf45ae0e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/FifoFilesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for FifoFiles (#140480)
Commit: 6e857b49cc2809692c295806ad02288645d60017
https://github.com/llvm/llvm-project/commit/6e857b49cc2809692c295806ad02288645d60017
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-18 (Sun, 18 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/test/MC/PowerPC/ppc64-relocs-01.s
Log Message:
-----------
MC: Move R_PPC64_TOC case to PowerPCAsmBackend
Commit: c798e195409a2d6fabbb166285d9dfe8ca7599a7
https://github.com/llvm/llvm-project/commit/c798e195409a2d6fabbb166285d9dfe8ca7599a7
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMInterfaces.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
Log Message:
-----------
[mlir][llvm][x86vector] One-to-one intrinsic op interface (#140055)
Adds an LLVMIR op interface that can used by external operations to
model LLVM intrinsics. Related 'op to llvm.call_intrinsic' rewriter
helper is moved into common LLVM conversion patterns. The x86vector
dialect is refactored to use the new common abstraction.
The one-to-one intrinsic op is tied to LLVM intrinsic call semantics.
Thus, the op interface, previously defined as a part of x86vector
dialect, is moved into the LLVMIR interfaces to allow other low-level
dialects to define operations abstracting specific intrinsic semantics
while minimizing infrastructure duplication.
Related RFC:
https://discourse.llvm.org/t/rfc-simplify-x86-intrinsic-generation/85581/6
Commit: 267e2406a79a08f62529eb9e59e183f43f575c70
https://github.com/llvm/llvm-project/commit/267e2406a79a08f62529eb9e59e183f43f575c70
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
Log Message:
-----------
[RISCV] Add reusable SelectCC_GPR_riirr multiclass. NFC (#140224)
Add reusable SelectCC_GPR_riirr multiclass. Allow Select_GPR_Using_CC_*
in XCV and Xqci to share a commom multiclass implmentation.
Commit: 23e8480536957b04ccaac2f49a979d5b03c6169c
https://github.com/llvm/llvm-project/commit/23e8480536957b04ccaac2f49a979d5b03c6169c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] IsElementEquivalent - add basic handling for X86ISD::SUBV_BROADCAST_LOAD (#139727)
If we're broadcasting a subvector, then the elements at equal positions within each subvector are the same.
Commit: 071987959a08b46072593026aa05c18430220f6d
https://github.com/llvm/llvm-project/commit/071987959a08b46072593026aa05c18430220f6d
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[SPIR-V] Clarify builtin default value handling; NFC (#139691)
- Use a bool in `generateGetQueryInst` and rename the variable to better
convey its purpose.
- Replace mentions of 0 by `DefaultValue` in comments.
- Fix typos.
Commit: f594cd09364f52c27452d1369cc1fed5d768eb6c
https://github.com/llvm/llvm-project/commit/f594cd09364f52c27452d1369cc1fed5d768eb6c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[IVDescriptor][LV] Return Instruction::Or for IAnyOf/FAnyOf in getOpcode(), nfc (#140242)
Commit: dc0dcab397ae3de38141e1995e4b4e5e3bb98660
https://github.com/llvm/llvm-project/commit/dc0dcab397ae3de38141e1995e4b4e5e3bb98660
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/flush-common.f90
R flang/test/Semantics/OpenMP/flush04.f90
Log Message:
-----------
[flang][OpenMP] Allow flush of common block (#139528)
I think this was denied by accident in
https://github.com/llvm/llvm-project/commit/68180d8d16f07db8200dfce7bae26a80c43ebc5e.
Flush of a common block is allowed by the standard on my reading. It is
not allowed by classic-flang but is supported by gfortran and ifx.
This doesn't need any lowering changes. The LLVM translation ignores the
flush argument list because the openmp runtime library doesn't support
flushing specific data.
Depends upon https://github.com/llvm/llvm-project/pull/139522. Ignore
the first commit in this PR.
Commit: 0cac25bcf5a246eb8a1f02d5041731ae9a6f00e0
https://github.com/llvm/llvm-project/commit/0cac25bcf5a246eb8a1f02d5041731ae9a6f00e0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix the indent of StartOfName after AttributeMacro (#140361)
Fix #139510
Commit: 8231182fed491b25a9597ba83cd284e097cc31ac
https://github.com/llvm/llvm-project/commit/8231182fed491b25a9597ba83cd284e097cc31ac
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python][NFC] Document how null cursors are handled (#140499)
Now that we looked at this aspect closely and fixed things, I think we
can document this.
Commit: 6da2acf8e99ec517bfbe498af2519d29834e2583
https://github.com/llvm/llvm-project/commit/6da2acf8e99ec517bfbe498af2519d29834e2583
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Merge short inline function in macro definition body (#140366)
Fix #62356
Commit: 5ddcd765dbb088b3fe8eb09dd38db1252981962c
https://github.com/llvm/llvm-project/commit/5ddcd765dbb088b3fe8eb09dd38db1252981962c
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatReplacementTest.cpp
M clang/unittests/Format/SortImportsTestJava.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format][NFC] Upgrade SortIncludes option to a struct (#140497)
This allows adding other suboptions e.g. IgnoreExtension in #137840.
Commit: 38d2306b62d6b0b7cc0a1bc0d73a2f9c8323bd87
https://github.com/llvm/llvm-project/commit/38d2306b62d6b0b7cc0a1bc0d73a2f9c8323bd87
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[MLIR] Minor fixes to FoldTransposeBroadcast rewrite (#140083)
This patch contains two minor changes, which I believe were the original
author's intent.
* when folding `transpose(broadcast(x))` emit `broadcast(x)` instead of
`broadcast(broadcast(x))`. The latter causes transient verifier
failures with `mlir-opt --debug` , e.g.
```
mlir-asm-printer: 'func.func' failed to verify and will be printed in generic form
"func.func"() <{function_type = (vector<4x1x1x7xi8>) -> vector<3x2x4x5x6x7xi8>, sym_name = "broadcast_transpose_mixed_example"}> ({
^bb0(%arg0: vector<4x1x1x7xi8>):
%0 = "vector.broadcast"(%arg0) : (vector<4x1x1x7xi8>) -> vector<2x3x4x5x6x7xi8>
%1 = "vector.broadcast"(%0) : (vector<2x3x4x5x6x7xi8>) -> vector<3x2x4x5x6x7xi8>
"func.return"(%1) : (vector<3x2x4x5x6x7xi8>) -> ()
}) : () -> ()
```
* when checking permutation groups the variable `low` was set just once
to zero, thus checking was quadratic. It looks the intent was for `low`
to track the beginning of each dimension groups. (Nevertheless the check
was correct).
Commit: b060022103f551d8ca1dad84122ef73927c86512
https://github.com/llvm/llvm-project/commit/b060022103f551d8ca1dad84122ef73927c86512
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++] Bump GCC_HEAD_VERSION to 16
We need to update or GCC version to be able to upgrade to GCC 15.
Commit: 2483831617a17155afdadc593d227231f83edc05
https://github.com/llvm/llvm-project/commit/2483831617a17155afdadc593d227231f83edc05
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
Log Message:
-----------
[MLIR][NVVM] Extend TMA Bulk Copy Op (#140232)
This patch extends the non-tensor TMA Bulk Copy Op
(from shared_cta to global) with an optional
byte mask operand. This mask helps selectively
copy a particular byte to the destination.
* lit tests are added to verify the lowering to the intrinsics.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 3a86e0bd29f30d9fc9aea91d481372a1f8f69014
https://github.com/llvm/llvm-project/commit/3a86e0bd29f30d9fc9aea91d481372a1f8f69014
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/istream
M libcxx/include/streambuf
A libcxx/test/benchmarks/streams/getline.bench.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string.io/get_line.pass.cpp
A libcxx/test/support/stream_types.h
Log Message:
-----------
[libc++] Optimize std::getline (#121346)
```
-----------------------------------------------
Benchmark old new
-----------------------------------------------
BM_getline_string 318 ns 32.4 ns
```
Commit: 172c2817e5912901f65bd7a43f6df559fb5fcfd3
https://github.com/llvm/llvm-project/commit/172c2817e5912901f65bd7a43f6df559fb5fcfd3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
Log Message:
-----------
[clang][bytecode] Use a SmallVector for EvalEmitter's locals (#140513)
The offset we return for them are just indices, so we can use a vector
here.
Commit: 1b711b27d20500639e42fb866e3a20ef8d39326c
https://github.com/llvm/llvm-project/commit/1b711b27d20500639e42fb866e3a20ef8d39326c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Clean up the function VPInstruction::generate for ComputeReductionResult, nfc (#140245)
When reducing unrolled parts, explicitly check for min/max reductions
using the function RecurrenceDescriptor::isMinMaxRecurrenceKind. Only if
the reduction is not min/max reduction, call
RecurrenceDescriptor::getOpcode() to handle other cases via CreateBinOp.
Based on https://github.com/llvm/llvm-project/pull/140242
Related to https://github.com/llvm/llvm-project/pull/118393
Commit: bca39f4e8f79c84b66a51a87d7ae8ecc4b0fe436
https://github.com/llvm/llvm-project/commit/bca39f4e8f79c84b66a51a87d7ae8ecc4b0fe436
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/lifetimes.cpp
Log Message:
-----------
[clang][bytecode] Add a scope to function calls (#140441)
We need a place to destroy the temporaries created for call arguments.
Commit: 1ead4a8a85b7708f731bce83a22d807c0eded9ea
https://github.com/llvm/llvm-project/commit/1ead4a8a85b7708f731bce83a22d807c0eded9ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/IR/Value.def
Log Message:
-----------
IR: Reorder ConstantData enum values (#138638)
This sorts ConstantData to the low values, so we can perform
a hasUseList check in a single compare instead of requiring 2
compares plus an and for the range check.
Commit: 868e1fc1f9cdc6bd108e4873a21e194da272628f
https://github.com/llvm/llvm-project/commit/868e1fc1f9cdc6bd108e4873a21e194da272628f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/IR/Value.h
Log Message:
-----------
IR: Remove redundant UseList check in addUse (#138676)
Not sure if this did anything for compile time or not.
Commit: cc51cbe27877aa7cc297f7e41afa5515edabcbdc
https://github.com/llvm/llvm-project/commit/cc51cbe27877aa7cc297f7e41afa5515edabcbdc
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/test/Driver/no-integrated-cpp.c
Log Message:
-----------
[clang][Driver][test][NFC] Adjust test for targets with no cc1as (#140490)
Have the test accept use of the toolchain assembler instead of `-cc1as`
as some targets, such as AIX, do not use `-cc1as`.
Commit: c27e10fa65f76f5868da14c818f7cd021624ae8f
https://github.com/llvm/llvm-project/commit/c27e10fa65f76f5868da14c818f7cd021624ae8f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_erf.h
A libclc/clc/include/clc/math/clc_erfc.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_erf.cl
A libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
Log Message:
-----------
[libclc] Mov erf & erfc to CLC library (#140524)
This completes the set of maths builtins.
No attempt to vectorize or optimize this code. The implementation is
licensed to SunPro so will probably need to be replaced at some point in
the future anyway. Calls to other builtins have been replaced with the
CLC equivalents, and some bit-hacking was replaced with the fabs
builtin.
Commit: c28d6c2f5fefa13e7c7efd245ace2698e47a494c
https://github.com/llvm/llvm-project/commit/c28d6c2f5fefa13e7c7efd245ace2698e47a494c
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
A clang/test/Preprocessor/riscv-cf-protection-branch.c
Log Message:
-----------
[Clang][RISCV] Add Zicfilp CFI unlabeled scheme preprocessor macros (#109600)
This patch adds preprocessor macros when Zicfilp CFI is enabled. To be
specific:
+ `#define __riscv_landing_pad 1` when `-fcf-protection=[full|branch]`
+ `#define __riscv_landing_pad_unlabeled 1` when
`-fcf-protection=[full|branch] -mcf-branch-label-scheme=unlabeled`
The macros are proposed in riscv-non-isa/riscv-c-api-doc#76 , and the
CLI flags are from riscv-non-isa/riscv-toolchain-conventions#54.
Commit: 61d3ad963c9a8764a20c01c26374000d9ba5975d
https://github.com/llvm/llvm-project/commit/61d3ad963c9a8764a20c01c26374000d9ba5975d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[SCEVPatternMatch] Introduce m_scev_AffineAddRec (#140377)
Introduce m_scev_AffineAddRec to match affine AddRecs, a class_match for
SCEVConstant, and demonstrate their utility in LSR and SCEV. While at
it, rename m_Specific to m_scev_Specific for clarity.
Commit: d0ee35851bb9fca4ee6c53dc1cc081d999a95e65
https://github.com/llvm/llvm-project/commit/d0ee35851bb9fca4ee6c53dc1cc081d999a95e65
Author: Noam Zaks <63877260+noamzaks at users.noreply.github.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
Log Message:
-----------
Fix typo in IRDL docs (#140460)
Rename "can has" -> to "has".
And replace a "can have" with a "has" to make it explicit that something is required.
Commit: 572add06012036366e02ff5fe6be8e0bd803b157
https://github.com/llvm/llvm-project/commit/572add06012036366e02ff5fe6be8e0bd803b157
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/SemaCXX/consteval-assert.cpp
Log Message:
-----------
[clang][bytecode] Diagnose failed constexpr assertions differently (#140000)
Adjust to the new way the ast walker is doing it.
Commit: d067014f13871642888afde850cdc558c32f350c
https://github.com/llvm/llvm-project/commit/d067014f13871642888afde850cdc558c32f350c
Author: Liam Semeria <56208783+liamsemeria at users.noreply.github.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Added APInt::clearBits() method (#137098)
Added APInt::clearBits(unsigned loBit, unsigned hiBit) that clears bits within a certain range.
Fixes #136550
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 416b7dfaa0d114b552c596d320f0aaac5651e61e
https://github.com/llvm/llvm-project/commit/416b7dfaa0d114b552c596d320f0aaac5651e61e
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/copy-codegen.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/embox-substring.fir
Log Message:
-----------
[flang] use DataLayout instead of GEP to compute element size (#140235)
Now that the datalayout is part of codegen, use that to generate type
size constants in codegen instead of generating GEP.
Commit: e8a307498d678970e0be8cd7718ba0779d5ee307
https://github.com/llvm/llvm-project/commit/e8a307498d678970e0be8cd7718ba0779d5ee307
Author: William <113542065+saturn691 at users.noreply.github.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M compiler-rt/lib/builtins/extendhfsf2.c
M compiler-rt/lib/builtins/truncsfhf2.c
Log Message:
-----------
[builtins][AArch32] Fix __gnu_* functions (#137638)
Move to a consistent calling convention for both Clang/GNU such that
they can be linked with each other.
All ARM targets now use the soft-float calling convention for
`__gnu_h2f_ieee` and `__gnu_f2h_ieee`, as described in
https://github.com/ARM-software/abi-aa/blob/main/rtabi32/rtabi32.rst#the-floating-point-helper-functions.
Commit: 70501ed2f0f9dc06baffa7ee124845e40687675b
https://github.com/llvm/llvm-project/commit/70501ed2f0f9dc06baffa7ee124845e40687675b
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-reduces-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
Log Message:
-----------
[LoopVectorizer] Prune VFs based on plan register pressure (#132190)
This PR moves the register usage checking to after the plans are
created, so that any recipes that optimise register usage (such as
partial reductions) can be properly costed and not have their VF pruned
unnecessarily.
Depends on https://github.com/llvm/llvm-project/pull/137746
Commit: 52e1995eca35da79d27576b94b614a7fd2420c41
https://github.com/llvm/llvm-project/commit/52e1995eca35da79d27576b94b614a7fd2420c41
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Add tests showing failure to combine AVX512 shuffles to match "cross lane" SHLDQ/SRLDQ patterns using VALIGN
We match two input shuffles, but not if one input is zero
Commit: 992458d26bbd2b8744408dbb4ab8d6b6058301d6
https://github.com/llvm/llvm-project/commit/992458d26bbd2b8744408dbb4ab8d6b6058301d6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
Log Message:
-----------
[RISCV][NFC] Fix the mismatch in comment (#140511)
There should be only one `vector_in`.
And we remove the surrounding double quotes.
Commit: 6d8a52146c853e74727d8f000dc6236781aa45dd
https://github.com/llvm/llvm-project/commit/6d8a52146c853e74727d8f000dc6236781aa45dd
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMInterfaces.cpp
Log Message:
-----------
[mlir] Fix bazel build after `c798e19`. (#140537)
`@llvm-project//mlir:LLVMDialect` builds fine without the header. Don't
think it was needed.
Commit: c56e7f22f06ac52d2ef3ea487910ab60a1256138
https://github.com/llvm/llvm-project/commit/c56e7f22f06ac52d2ef3ea487910ab60a1256138
Author: Christian Sigg <csigg at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Canonicalize sitofp(truncf) -> sitofp, and uitofp. (#139925)
Add a canonicalization patterns that simplifies `truncf(sitofp(x))` to
`sitofp(x)` and `truncf(uitofp(x))` to `uitofp(x)`, if truncf has default rounding mode.
This assumes that the destination type of truncf is representable by the
intermediate type.
Note that the truncf semantics requires that the destination type is
narrower than the source type, so this is true for all types I can
possibly think of, but one could probably construct an artificial
counter example.
Somewhat related: https://github.com/llvm/llvm-project/pull/128096
Commit: 25da043c55e25d066a5aa8af6ca14cf82a845eb2
https://github.com/llvm/llvm-project/commit/25da043c55e25d066a5aa8af6ca14cf82a845eb2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/source/Expression/FunctionCaller.cpp
Log Message:
-----------
[lldb] Use llvm::is_contained (NFC) (#140466)
Commit: 52ca511f64bc5b0e8cbbefb0c396fe9481fb4b04
https://github.com/llvm/llvm-project/commit/52ca511f64bc5b0e8cbbefb0c396fe9481fb4b04
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[mlir] Use llvm::is_contained (NFC) (#140467)
Commit: 2a277f9ff1c793e25167537b0202f333f8f91f60
https://github.com/llvm/llvm-project/commit/2a277f9ff1c793e25167537b0202f333f8f91f60
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/AST/Type.cpp
Log Message:
-----------
[clang] Use llvm::is_sorted (NFC) (#140468)
Commit: 325281631a3b5c089dd732d9ca10704431447859
https://github.com/llvm/llvm-project/commit/325281631a3b5c089dd732d9ca10704431447859
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/AST/DeclBase.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang] Use *Map::try_emplace (NFC) (#140477)
We can simplify the code with *Map::try_emplace where we need
default-constructed values while avoding calling constructors when
keys are already present.
Commit: 91a7085faf268b595e597fa2a2b979ca7b8de0a8
https://github.com/llvm/llvm-project/commit/91a7085faf268b595e597fa2a2b979ca7b8de0a8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lld/COFF/LLDMapFile.cpp
M lld/ELF/SyntheticSections.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld] Use llvm::stable_sort (NFC) (#140488)
Commit: 2c6b239cc6102398701359dddda8023d26fcb95d
https://github.com/llvm/llvm-project/commit/2c6b239cc6102398701359dddda8023d26fcb95d
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/DependenceAnalysis/DifferentAccessSize.ll
A llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
Log Message:
-----------
[DA] handle memory accesses with different offsets and strides (#123436)
This patch corrects the behavior of the Dependence Analysis for memory
accesses that do not start at the same offset or do not have similar
strides. When offsets or strides cannot be disambiguated at compile
time, DA collects a set of runtime assumptions under which the
dependence test becomes valid. The default remains the same as before
the patch: DA rejects the dependence test as undecidable instead of
collecting runtime assumptions.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Co-authored-by: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Commit: 4bdd116b80670cf74ced3e36def6ca09169ff7ac
https://github.com/llvm/llvm-project/commit/4bdd116b80670cf74ced3e36def6ca09169ff7ac
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
A clang/test/CodeGenHIP/amdgpu-load-to-lds.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
A clang/test/SemaOpenCL/builtins-amdgcn-load-to-lds-err.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Add a new amdgcn.load.to.lds intrinsic (#137425)
This PR adds a amdgns_load_to_lds intrinsic that abstracts over loads to
LDS from global (address space 1) pointers and buffer fat pointers
(address space 7), since they use the same API and "gather from a
pointer to LDS" is something of an abstract operation.
This commit adds the intrinsic and its lowerings for addrspaces 1 and 7,
and updates the MLIR wrappers to use it (loosening up the restrictions
on loads to LDS along the way to match the ground truth from target
features).
It also plumbs the intrinsic through to clang.
Commit: 1532ee6916ef16627bafddced391c0b5a31390fe
https://github.com/llvm/llvm-project/commit/1532ee6916ef16627bafddced391c0b5a31390fe
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
A offload/include/Shared/OffloadErrcodes.inc
A offload/include/Shared/OffloadError.h
M offload/liboffload/API/CMakeLists.txt
M offload/liboffload/API/Common.td
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/include/generated/OffloadAPI.h
M offload/liboffload/include/generated/OffloadPrint.hpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
A offload/plugins-nextgen/common/src/OffloadError.cpp
M offload/tools/offload-tblgen/CMakeLists.txt
R offload/tools/offload-tblgen/FuncsGen.cpp
M offload/tools/offload-tblgen/Generators.hpp
A offload/tools/offload-tblgen/MiscGen.cpp
M offload/tools/offload-tblgen/offload-tblgen.cpp
Log Message:
-----------
[Offload] Add Error Codes to PluginInterface (#138258)
A new ErrorCode enumeration is present in PluginInterface which can
be used when returning an llvm::Error from offload and PluginInterface
functions.
This enum must be kept up to sync with liboffload's ol_errc_t enum, so
both are automatically generated from liboffload's enum definition.
Some error codes have also been shuffled around to allow for future
work. Note that this patch only adds the machinery; actual error codes
will be added in a future patch.
~~Depends on #137339 , please ignore first commit of this MR.~~ This has
been merged.
Commit: f3d36b15f6dde7ca2d080279274d5d0f4bfc8c30
https://github.com/llvm/llvm-project/commit/f3d36b15f6dde7ca2d080279274d5d0f4bfc8c30
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/fcmp-logic.ll
Log Message:
-----------
[X86] Add test coverage for #140534
Commit: 59f8af35b6bb15c0794873786cb34c7867be357b
https://github.com/llvm/llvm-project/commit/59f8af35b6bb15c0794873786cb34c7867be357b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclGroup.h
M clang/include/clang/AST/DeclObjC.h
M clang/lib/AST/DeclGroup.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in DeclFriend (#140081)
- Adopt non-templated `getTrailingObjects` in DeclFriend, DeclGroup, and
DeclObjC
- Use indexing into ArrayRef returned by `getTrailingObjects` and
eliminate explicit OOB asserts.
Commit: dc25ab389c2d441ba378d4db56a4a61e3eedb889
https://github.com/llvm/llvm-project/commit/dc25ab389c2d441ba378d4db56a4a61e3eedb889
Author: Vy Nguyen <vyng at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/source/Commands/CommandObjectSource.cpp
A lldb/test/Shell/Commands/list-header.test
Log Message:
-----------
[lldb]Make `list` command work with headers when possible. (#139002)
Given this simple test case:
```
// foo.h
extern int* ptr;
inline void g(int x) {
*ptr = x; // should raise a SIGILL
}
//--------------
// foo.cc
#include "foo.h"
int* ptr;
//--------------
// main.cc
#include "foo.h"
int main() {
g(123); // Call the inlined function and crash
return 0;
}
$ clang -g main.cc foo.cc -o main.out
$ lldb main.out
```
When you run `main.out` under lldb, it'd stop inside `void g(int)`
because of the crash.
The stack trace would show that it had crashed in `foo.h`, but if you do
`list foo.h:2`, lldb would complain that it could not find the source
file, which is confusing.
This patch make `list` work with headers.
Commit: bb92c80dbb09e4d958d8c3c6bfc21570916d5f0e
https://github.com/llvm/llvm-project/commit/bb92c80dbb09e4d958d8c3c6bfc21570916d5f0e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Simplify VisitCompoundLiteralExpr (#140547)
Commit: 3b93122907ec9d7c283398332051943964df8c9a
https://github.com/llvm/llvm-project/commit/3b93122907ec9d7c283398332051943964df8c9a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Do not diagnose volatile reads in CPCE mode (#140546)
This matches the diagnostic output of the current interpreter.
Commit: f85d03c21518fa87239fa4e2d23267d0d5af9cf6
https://github.com/llvm/llvm-project/commit/f85d03c21518fa87239fa4e2d23267d0d5af9cf6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in Decl/StmtOpenACC (#140087)
Adopt non-templated and array-ref returning forms of
`getTrailingObjects` in DeclOpenACC and StmtOpenACC. Also use
std::uninitialized_contruct_n to make the code a little concise.
Commit: 37ece04e096b76eef5f3cf7241ea3ff0d212a8ed
https://github.com/llvm/llvm-project/commit/37ece04e096b76eef5f3cf7241ea3ff0d212a8ed
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/Expr.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in Expr.cpp/h (#140102)
Adopt non-templated and array-ref returning forms of
`getTrailingObjects` in Expr.cpp/.h.
Use ArrayRef forms to eliminate manual asserting for OOB index. Use
llvm::copy() instead of std::copy() in some instances.
Commit: 7cf2860cbdc158a04d4a982fa7043cd9e6401e77
https://github.com/llvm/llvm-project/commit/7cf2860cbdc158a04d4a982fa7043cd9e6401e77
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/thread-specifier.cpp
Log Message:
-----------
[C++] Fix a crash with __thread and dependent types (#140542)
We were checking whether the initializer is a valid constant expression
even if the variable was dependent. Now we delay that checking until
after the template has been instantiated.
Fixes #140509
Commit: d34e28eaf97840bd5573dfc3b11a82d795b31b87
https://github.com/llvm/llvm-project/commit/d34e28eaf97840bd5573dfc3b11a82d795b31b87
Author: Lucie Tvrznikova <tvrz at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
Log Message:
-----------
addinitional -> additional typo fix
Commit: 21b4059b3c89641f7c996fcab493583cb3721e27
https://github.com/llvm/llvm-project/commit/21b4059b3c89641f7c996fcab493583cb3721e27
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/test/MC/Disassembler/Sparc/sparc.txt
M llvm/test/MC/Sparc/Misc/little-endian.s
M llvm/test/MC/Sparc/Relocations/expr.s
M llvm/test/MC/Sparc/Relocations/relocation.s
M llvm/test/MC/Sparc/sparc64-bpr-offset.s
Log Message:
-----------
[SPARC] Print target address when disassembling branches and calls (#140340)
Similar to https://reviews.llvm.org/D93241, print target addresses
instead of raw offset values when disassembling branches and calls.
Should fix https://github.com/llvm/llvm-project/issues/122196 and
https://github.com/llvm/llvm-project/issues/139284.
Commit: 35a9631279268b6d3d0f0826da0c09e78db6529a
https://github.com/llvm/llvm-project/commit/35a9631279268b6d3d0f0826da0c09e78db6529a
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86][SelectionDAG] Handle the case for gather where index is SHL (#139703)
Fix the Gather's Index for SHL Opcode in which shift amount is 4 or greater.
It is in the continuity of #137813
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: e8a2ce1e9c9db26f2adf4ea6c65eea0299d3a211
https://github.com/llvm/llvm-project/commit/e8a2ce1e9c9db26f2adf4ea6c65eea0299d3a211
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Log Message:
-----------
[AArch64] When printing SYS aliases, use explicit `NeedsReg` flag from tablegen (NFC) (#140484)
Currently, when printing SYS aliases, the first instruction operand is
compared with the string constant "all" to decide if a register needs to
be parsed as the next operand.
For example, `TLBI VMALLE1IS` contains "all" so no register is expected,
but `TLBI IPAS2E1IS` doesn't match, so a register is expected.
Future AArch64 SYS aliases won't always match this pattern, so use the
(already provided) explicit `NeedsReg` bit flag provided in tablegen to
check if a register is required to be parsed. This is already used by
the code in `AArch64InstPrinter.cpp`, so now we are consistent in this
source file too.
No test files have been changed, since this is a non-functional change,
and all AArch64 test cases continue to pass after this change.
Commit: 5c3784023fcfa608d24364ca11cd688c5805a55e
https://github.com/llvm/llvm-project/commit/5c3784023fcfa608d24364ca11cd688c5805a55e
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-05-20 (Tue, 20 May 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
Log Message:
-----------
[NFC][AMDGPU] Add test for unfold-masked-merge-scalar-variablemask.ll (#140093)
This enables DAGCombine to recognize and form and_not + or patterns when
hasAndNot is true, allowing better SALU codegen for masked merge idioms.
For example:
(A & (B ^ C)) ^ C → (A & B) | (~A & C)
References:
* https://reviews.llvm.org/D45563#change-EG4Z6zDTofCc
* https://bugs.llvm.org/show_bug.cgi?id=6773
* https://graphics.stanford.edu/~seander/bithacks.html#MaskedMerge
Commit: 12fb0d451bbdd1d1e8035197e4f5e47e8afa6141
https://github.com/llvm/llvm-project/commit/12fb0d451bbdd1d1e8035197e4f5e47e8afa6141
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/test/CodeGen/DirectX/legalize-memcpy.ll
Log Message:
-----------
[DirectX] Legalize memcpy (#139173)
Fixes #137188
This PR legalizes memcpy for DXIL in cases where:
- the src and dst arguments are from Alloca or a GlobalVariable,
- the src and dst are pointers to an ArrayType,
- the array element types of src and dst must be equivalent, and
- the len param is a ConstantInt
These assumptions simplify the legalization and, with the addition of
#138991, covers the currently-known cases of memcpy that appear when
compiling DML shaders.
This PR may be unnecessary if #138788 determines that memset and memcpy
can be eliminated entirely.
---------
Co-authored-by: Finn Plummer <canadienfinn at gmail.com>
Co-authored-by: Greg Roth <grroth at microsoft.com>
Commit: b24c33a9d745bd2a3009f1d52f31247772e954e5
https://github.com/llvm/llvm-project/commit/b24c33a9d745bd2a3009f1d52f31247772e954e5
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGen/cfi-check-fail-debuginfo.c
M clang/test/CodeGen/cfi-icall-generalize-debuginfo.c
M clang/test/CodeGen/cfi-icall-normalize2-debuginfo.c
Log Message:
-----------
[cfi] Enable -fsanitize-annotate-debug-info functionality for CFI checks (#139809)
This connects the -fsanitize-annotate-debug-info plumbing (https://github.com/llvm/llvm-project/pull/138577) to CFI check codegen, using SanitizerAnnotateDebugInfo() (https://github.com/llvm/llvm-project/pull/139965) and SanitizerInfoFromCFIKind (https://github.com/llvm/llvm-project/pull/140117).
Note: SanitizerAnnotateDebugInfo() is updated to a public function because it is needed in ItaniumCXXABI.
Updates the tests from https://github.com/llvm/llvm-project/pull/139149.
Commit: e3950a049a8f098b8d28a9c89fe3f21f5c0b1682
https://github.com/llvm/llvm-project/commit/e3950a049a8f098b8d28a9c89fe3f21f5c0b1682
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
A clang/test/SemaOpenACC/gh140339.cpp
Log Message:
-----------
[OpenACC] Fix 'vector' checking when inside combined construct
For some reason when implementing 'vector' I didn't include switch
entries for the combined constructs. I audited the rest of the uses of
this pattern, and got it right everywhere else, so I'm not sure why I
missed it here.
Fixes: #140339
Commit: e33e623cdf188faf56da62677910c707a7e94bf7
https://github.com/llvm/llvm-project/commit/e33e623cdf188faf56da62677910c707a7e94bf7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/div.ll
Log Message:
-----------
[NVPTX] Consistently check fast-math flags when lowering div (#136890)
When choosing the `div.*` variant during ISel, check the
instruction-level fast-math flags.
Commit: f3f63ce50ac776bed53aa0c1163db6d5ed25196d
https://github.com/llvm/llvm-project/commit/f3f63ce50ac776bed53aa0c1163db6d5ed25196d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR][LLVMLowering] Upstream binary operators for VectorType (#140099)
This change adds support for binary ops for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: db4c94f96410fd4432f8de9e9b1dec44ca07b6d8
https://github.com/llvm/llvm-project/commit/db4c94f96410fd4432f8de9e9b1dec44ca07b6d8
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
A clang/test/CIR/CodeGenOpenACC/compute-copy.c
Log Message:
-----------
[OpenACC][CIR] Implement beginning of 'copy' lowering for compute con… (#140304)
…structs
This is a partial implementation of the 'copy' lowering. It is missing 3
things, which are coming in future patches:
1- does not handle subscript/subarrays for emission as variables 2- does
not handle member expressions for emissions as variables 3- does not
handle modifier-list
1 and 2 are because of the complexity and should be split off into a
separate patch. 3 is because it isn't clear how the IR is going to
handle this, and I'd like to make sure it gets done 'all at once' when
the IR is updated to handle these, so I'm pushing that off to the
future.
This DOES however handle the complexity of having a acc.copyin and
acc.copyout, plus the additional complexity of the 'async' clause.
Commit: 1b44eb2f6b862fb171629321bf2f5ec231899c71
https://github.com/llvm/llvm-project/commit/1b44eb2f6b862fb171629321bf2f5ec231899c71
Author: Vy Nguyen <vyng at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/test/Shell/Commands/list-header.test
Log Message:
-----------
[lldb][nfc]Temporarily disable test on non-x86 because output-redirec… (#140585)
because output-redirection doesn't work properly
Commit: 7a242387c950c7060143da6da0e6fb91f36bb458
https://github.com/llvm/llvm-project/commit/7a242387c950c7060143da6da0e6fb91f36bb458
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
Reland "[clang][modules] Timestamp-less validation API (#139987)"
This reverts commit 18b885f66babff3a10451bc811ffc077d61ed8ee, effectively reapplying #139987. This commit fixes unit tests (for example ASTUnitTest.SaveLoadPreservesLangOptionsInPrintingPolicy) where the `ASTUnit::ModCache` pointer dereferenced within `ASTUnit::serialize()` was null. This commit makes sure each factory function does initialize `ASTUnit::ModCache`.
Commit: 77de8a0c0abc9d245a7c6278670554b47ae183ea
https://github.com/llvm/llvm-project/commit/77de8a0c0abc9d245a7c6278670554b47ae183ea
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
A clang/test/CodeGen/logb_scalbn.c
Log Message:
-----------
[AMDGPU][clang] provide device implementation for __builtin_logb and … (#129347)
…__builtin_scalbn
Clang generates library calls for __builtin_* functions which can be a
problem for GPUs that cannot handle them. This patch generates call to
device implementation for __builtin_logb and ldexp intrinsic for
__builtin_scalbn.
Commit: 3bae8e2ef2ff02dcba745cb47ea1264fd08885cc
https://github.com/llvm/llvm-project/commit/3bae8e2ef2ff02dcba745cb47ea1264fd08885cc
Author: nerix <nerixdev at outlook.de>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/test/API/CMakeLists.txt
M lldb/test/API/lit.site.cfg.py.in
Log Message:
-----------
[lldb] Suppport testing with debug-python on Windows (#140443)
When trying to run the LLDB API tests on Windows with a debug
configuration, they fail, because the `_lldb` module won't be found. As
explained in https://github.com/llvm/llvm-project/issues/51272, this is
because lit will run the test with `python.exe` but the module is built
for the debug version of python, `python_d.exe`.
CMake already resolved the debug executable in
`Python3_EXECUTABLE_DEBUG`, so this PR changes the
`config.python_executable` to point to `python_d.exe` on Windows in
debug mode.
The check is equivalent to the one done in the top-level LLDB CMakeLists
[when setting the python
suffix](https://github.com/llvm/llvm-project/blob/3ccb15d6caf57f2a866d496ada2fb52d14b179d2/lldb/CMakeLists.txt#L79-L86).
Commit: dd0a1c56df90f5ff2b4d6a5fba2e28b2e05d6450
https://github.com/llvm/llvm-project/commit/dd0a1c56df90f5ff2b4d6a5fba2e28b2e05d6450
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/ScaledNumber.cpp
Log Message:
-----------
[llvm] revert preprocessor dump method guards from llvm::ScaledNumber (#140574)
## Purpose
Reverts the preprocessor guards added to the `dump()` methods in
`llvm/Support/ScaledNumber.h` in #139938 so that the header can be
included when building an external project in debug mode against a
release LLVM build.
## Overview
This is a clean revert of two files modified in #139938. The rest of
that change should not cause similar problems.
## Background
The following new build error was reported on #139938, which was merged
last week:
```
module.cpp:(.text._ZNK4llvm12ScaledNumberImE4dumpEv[_ZNK4llvm12ScaledNumberImE4dumpEv]+0x34): undefined reference to `llvm::ScaledNumberBase::dump(unsigned long, short, int)'
```
See further discussion on #139938.
## Validation
Implemented a simple external LLVM project to reproduce the issue.
Verified the the following link failure is observed on LLVM main
(Windows + Clang) without this change:
```
C:\WINDOWS\system32\cmd.exe /C "cd . && C:\PROGRA~1\LLVM\bin\CLANG_~1.EXE -nostartfiles -nostdlib -O0 -g -Xclang -gcodeview -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd -Xlinker /subsystem:console -fuse-ld=lld-link CMakeFiles/llvm-dump-test.dir/main.cxx.obj -o llvm-dump-test.exe -Xlinker /MANIFEST:EMBED -Xlinker /implib:llvm-dump-test.lib -Xlinker /pdb:llvm-dump-test.pdb -Xlinker /version:0.0 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -loldnames && cd ."
lld-link: error: undefined symbol: public: static void __cdecl llvm::ScaledNumberBase::dump(unsigned __int64, short, int)
>>> referenced by S:\llvm\llvm-project\llvm\include\llvm\Support\ScaledNumber.h:614
>>> CMakeFiles/llvm-dump-test.dir/main.cxx.obj:(public: void __cdecl llvm::ScaledNumber<unsigned __int64>::dump(void) const)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
```
Verified the link issue is resolved after applying this change.
Also, manually included all header files that were modified in #139938
in the test program and verified there are no other link errors.
Commit: b6dfe4dbfecc753a28c82e044e022dff6e7365b1
https://github.com/llvm/llvm-project/commit/b6dfe4dbfecc753a28c82e044e022dff6e7365b1
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][Vector] Fix `vector.mask` parser for incorrect passthru cases (#140319)
This MR fixes a crash when parsing an invalid `vector.mask` with a
passtru operand.
Commit: 99720bbb87d4f1968a3e25075e616063fbc18936
https://github.com/llvm/llvm-project/commit/99720bbb87d4f1968a3e25075e616063fbc18936
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
Log Message:
-----------
[MLIR][Utils] Fix the overflow issue in computeSuffixProductImpl for 32-bit system. (#140567)
In `int64_t r = strides.size() - 2`, it may cause overflow on 32-bit
system when strides.size() is 1, because `strides.size()` is defined
as `unsigned int`
Commit: 021443cd2a8127ab0432c5e48f9dbba30d9bc6ce
https://github.com/llvm/llvm-project/commit/021443cd2a8127ab0432c5e48f9dbba30d9bc6ce
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang] fix constexpr-unknown handling of self-references. (#132990)
Usually, in constant evaluation, references which are local to the
evaluation have to be initialized before they're accessed. However,
there's one funny special case: the initializer of a reference can refer
to itself. This generally ends up being undefined behavior if it's used
in an evaluated context, but it isn't otherwise forbidden.
In constant evaluation, this splits into two cases: global variables,
and local variables in constexpr functions. This patch handles both of
those cases. (Local variables tends to trip other errors in most cases,
but if you try hard enough, you can get an accepts-invalid.)
Fixes #131330 .
Commit: fe1c4827b77a8d39bb1462cb4df08f6fe572097a
https://github.com/llvm/llvm-project/commit/fe1c4827b77a8d39bb1462cb4df08f6fe572097a
Author: Vy Nguyen <vyng at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/test/Shell/Commands/list-header.test
Log Message:
-----------
[lldb][nfc]Make test "xfail" on windows (#140588)
Commit: d8665bb76788790b107c2ed455d691c89987f3f3
https://github.com/llvm/llvm-project/commit/d8665bb76788790b107c2ed455d691c89987f3f3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/Handler/ContinueTest.cpp
Log Message:
-----------
[lldb-dap] Add ContinueRequestHandler unit test (#140566)
Add a simple unit test for the ContinueRequestHandler that checks that
it returns an error when the (dummy process) is not stopped.
Commit: 811b8090f88afc212f1c9d199780934c677a1f65
https://github.com/llvm/llvm-project/commit/811b8090f88afc212f1c9d199780934c677a1f65
Author: Gergely Futo <gergely.futo at hightec-rt.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/fpenv.ll
Log Message:
-----------
[RISCV] [NFC] Add llvm.get.rounding test (#139921)
Precommit for fixing ReadFRM.
Commit: 175f8a444b296ba956505a5760805f05a175111b
https://github.com/llvm/llvm-project/commit/175f8a444b296ba956505a5760805f05a175111b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/test/Modules/fmodules-validate-once-per-build-session.c
Log Message:
-----------
[clang] Attempt to fix "test/Modules/fmodules-validate-once-per-build-session.c"
This test started failing after 7a242387: https://lab.llvm.org/buildbot/#/builders/154/builds/16276. There seem to be two bugs:
* The `-fno-modules-force-validate-user-headers` flag was passed on the wrong line.
* Changing source files was being done without an explicit `sleep`, meaning there was a possibility of the files maintaining their old modification time and not triggering the expected rebuilds.
Commit: 0f38543df55575562c75e1227fc9ada22417fa8f
https://github.com/llvm/llvm-project/commit/0f38543df55575562c75e1227fc9ada22417fa8f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[NFC][TableGen] Use SmallVector range constructor when possible (#140284)
Initialize vectors using constructor instead of llvm::append_range when
possible.
Commit: 3932360b14c390188977a53ecba6c13fff685aae
https://github.com/llvm/llvm-project/commit/3932360b14c390188977a53ecba6c13fff685aae
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M mlir/lib/TableGen/AttrOrTypeDef.cpp
M mlir/lib/TableGen/Interfaces.cpp
M mlir/lib/TableGen/Operator.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
Log Message:
-----------
[LLVM][TableGen] Rename `ListInit::getValues()` to `getElements()` (#140289)
Rename `ListInit::getValues()` to `getElements()` to better match with
other `ListInit` members like `getElement`. Keep `getValues()` for
existing downstream code but mark it deprecated.
Commit: 29fd76777d786ac25fef6b15c99f28c709091eb3
https://github.com/llvm/llvm-project/commit/29fd76777d786ac25fef6b15c99f28c709091eb3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/TableGen/VarLenEncoder.td
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
Log Message:
-----------
[NFC][TableGen] Create valid Dag in VarLenCodeEmitter (#140283)
- Set the Dag ArgNames correctly when normalizing the Dag for slice.
- Add unit test to exercise the "slice" hi/lo swap case.
Commit: 322d0197f5c5d4cf3a6bb2d86a0112788fd6c529
https://github.com/llvm/llvm-project/commit/322d0197f5c5d4cf3a6bb2d86a0112788fd6c529
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
Log Message:
-----------
[clang-tidy] Do not flag strerror in concurrency-mt-unsafe (#140520)
The docs of the check state:
> Glibc’s list is compiled from GNU web documentation with a search for
MT-Safe tag
And strerror fulfills exactly that:
https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html
> Function: char * strerror (int errnum)
> Preliminary: | MT-Safe | AS-Unsafe heap i18n | AC-Unsafe mem | See
POSIX Safety Concepts.
So concurrency-mt-unsafe should not flag it.
Fixes #140515
---------
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 195e640846765402d1a622006e6a9f9fa3192955
https://github.com/llvm/llvm-project/commit/195e640846765402d1a622006e6a9f9fa3192955
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Fix the build
This patch fixes:
llvm/utils/TableGen/Common/CodeGenRegisters.cpp:653:57: error:
'getValues' is deprecated: Use getElements instead
[-Werror,-Wdeprecated-declarations]
Commit: 2b7cc2b03ea858633016cd16a1630be7fc0db837
https://github.com/llvm/llvm-project/commit/2b7cc2b03ea858633016cd16a1630be7fc0db837
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/operand-folding.ll
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
Log Message:
-----------
AMDGPU: Add more mfma with constant splat input tests (#140581)
Baseline tests for #139317
Commit: 36018494fdb9e92e0f61f6937e5ecd3a4472677f
https://github.com/llvm/llvm-project/commit/36018494fdb9e92e0f61f6937e5ecd3a4472677f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/operand-folding.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
Log Message:
-----------
AMDGPU: Check for subreg match when folding through reg_sequence (#140582)
We need to consider the use instruction's intepretation of the bits,
not the defined immediate without use context. This will regress
some cases where we previously coud match f64 inline constants. We
can restore them by either using pseudo instructions to materialize f64
constants, or recognizing reg_sequence decomposed into 32-bit pieces for them
(which essentially means recognizing every other input is a 0).
Fixes #139908
Commit: 025639bc396f1e0d2ead279c5f345cb381733f16
https://github.com/llvm/llvm-project/commit/025639bc396f1e0d2ead279c5f345cb381733f16
Author: Justin Cady <desk at justincady.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/terminate-statements.cpp
A compiler-rt/test/profile/Linux/coverage-do-while.c
Log Message:
-----------
[Coverage] Fix mapping for do-while loops with terminating statements (#139777)
The current region mapping for do-while loops that contain statements
such as break or continue results in inaccurate line coverage reports
for the line following the loop.
This change handles terminating statements the same way that other loop
constructs do, correcting the region mapping for accurate reports. It
also fixes a fragile test relying on exact line numbers.
Fixes #139122
Commit: 10d198b32cd0b6aaeeaf1a6217611797c01f47f7
https://github.com/llvm/llvm-project/commit/10d198b32cd0b6aaeeaf1a6217611797c01f47f7
Author: Vy Nguyen <vyng at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/test/Shell/Commands/list-header.test
Log Message:
-----------
[lldb] Update Xfail window (#140599)
Commit: 72b2219b3e2319e29831e4e9b07c440444f3add6
https://github.com/llvm/llvm-project/commit/72b2219b3e2319e29831e4e9b07c440444f3add6
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
Revert "[clang][modules] Timestamp-less validation API (#139987)"
This reverts commit 7a242387c950c7060143da6da0e6fb91f36bb458. Even after 175f8a44, the Modules/fmodules-validate-once-per-build-session.c test is not fixed on the clang-armv8-quick build bot. (Failure occurs on line 114.)
Commit: 30c990990940c15650ee1a488255a37c7a7af094
https://github.com/llvm/llvm-project/commit/30c990990940c15650ee1a488255a37c7a7af094
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Migrate disassemble request to structured handler (#140482)
Commit: 553d4c1d90d9181b647b2028a90f59cdd8ebcb0b
https://github.com/llvm/llvm-project/commit/553d4c1d90d9181b647b2028a90f59cdd8ebcb0b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/DAGDeltaAlgorithm.h
M llvm/include/llvm/ADT/DeltaAlgorithm.h
M llvm/include/llvm/ADT/DeltaTree.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/FloatingPointMode.h
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/include/llvm/ADT/IntEqClasses.h
M llvm/include/llvm/ADT/IntervalMap.h
M llvm/include/llvm/ADT/RewriteBuffer.h
M llvm/include/llvm/ADT/RewriteRope.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/Statistic.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/ADT for DLL export (#136629)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ADT` library. These
annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_ABI_FRIEND` to a small number of `friend` function
declarations
- Add `LLVM_ABI` to a subset of private class methods and fields that
require export
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: c92ff61cee858d0b28f2c3187baa29dd61eb6d87
https://github.com/llvm/llvm-project/commit/c92ff61cee858d0b28f2c3187baa29dd61eb6d87
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Move OverflowTracking to Local.h, move logic to helpers (NFC) (#140403)
Move parts of the logic used by Reassociate to OverflowTracking
(mergeFlags & applyFlags) and move the definition to Local.h.
For now it just moves the NUW/NSW handling, as this matches the uses in
LICM. I'll look into the FP math handling separately, as it looks like
there's a difference between Reassociate (takes all flags from I, while
LICM takes the intersection of the flags on both instructions).
PR: https://github.com/llvm/llvm-project/pull/140403
Commit: 114e4508b2fd8df34740572383e749f3184a2a89
https://github.com/llvm/llvm-project/commit/114e4508b2fd8df34740572383e749f3184a2a89
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
Log Message:
-----------
[CIR] Remove the empty verifier in cir.ifOp (#140457)
The empty verifier is redundant because cir::IfOp has no constraints to
enforce its verify() always succeeds.
Commit: e3b167cb22f4ac09ad39a836105dbdb109124969
https://github.com/llvm/llvm-project/commit/e3b167cb22f4ac09ad39a836105dbdb109124969
Author: Gergely Futo <gergely.futo at hightec-rt.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/fpenv.ll
Log Message:
-----------
[RISCV] Implement RISCVTargetLowering::getRoundingControlRegisters (#139864)
By adding FRM/FFLAGS as implicit defs, ReadFRM is not optimized out.
Commit: 0b4cfd19f237fbbffb6e49b82dd91ee65e1e43a2
https://github.com/llvm/llvm-project/commit/0b4cfd19f237fbbffb6e49b82dd91ee65e1e43a2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
Log Message:
-----------
[RISCV] Remove stale TODO from test. NFC
MachineSink has folded this ADDI since 5b53fa04db33a931b843b32946065490513484bf.
Commit: a0c515a9ef3be780e2dfd64d86de9e401b137b28
https://github.com/llvm/llvm-project/commit/a0c515a9ef3be780e2dfd64d86de9e401b137b28
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
A clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/test/CIR/CodeGen/member-functions.cpp
Log Message:
-----------
[CIR] Upstream support for C++ member function calls (#140290)
This change adds the support needed to handle a C++ member function
call, including arranging the function type with an argument added for
the 'this' parameter. It was necessary to introduce the class to handle
the CXXABI, but at this time no target-specific subclasses have been
added.
Commit: a04cff172f31aaa8c5932cf1b204c161b95b1b0a
https://github.com/llvm/llvm-project/commit/a04cff172f31aaa8c5932cf1b204c161b95b1b0a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port 3bae8e2ef2ff0
Commit: f5609aa1b014bea1eb72a992665c6afa41015794
https://github.com/llvm/llvm-project/commit/f5609aa1b014bea1eb72a992665c6afa41015794
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Use a reference for asyncObject (#140614)
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.
New tentative with some fix. The previous was reverted some time ago.
Reviewed in #138010
Commit: 2dd6a8c35a79710273bb98da8729ec6dea251998
https://github.com/llvm/llvm-project/commit/2dd6a8c35a79710273bb98da8729ec6dea251998
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
Log Message:
-----------
[lldb-dap] Remove unused enum (NFC)
Commit: f27cfeae6a544775803a50b3ed4c87e9193889a2
https://github.com/llvm/llvm-project/commit/f27cfeae6a544775803a50b3ed4c87e9193889a2
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/tools/lldb-dap/ProgressEvent.cpp
Log Message:
-----------
[LLDB][Progress-On-Dap] Have indeterminate progress actually send events. (#140162)
Recently, I got a report how a user 'hung', and come to find out it's
actually because DAP is checking percentage, and on non-deterministic
events, we will effectively never send a progress event to DAP. Here we
short circuit and don't view percentages for DAP messages and solely
depend on the DAP 250ms throttle, which is probably still too
aggressive, but better than no updates.
Commit: 91a45a33fca6f372933c6c796e55550cc40f82d4
https://github.com/llvm/llvm-project/commit/91a45a33fca6f372933c6c796e55550cc40f82d4
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
A clang/test/CodeGen/ubsan-src-ignorelist-category.test
Log Message:
-----------
[NFC] Pre-commit UBSAN src:*=sanitize test (#140602)
For https://github.com/llvm/llvm-project/pull/140529
Commit: 2523a8358ab9526a46f825fd94cc8a5d018f5ff7
https://github.com/llvm/llvm-project/commit/2523a8358ab9526a46f825fd94cc8a5d018f5ff7
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
Log Message:
-----------
[lldb-dap] launch the adapter from the workspace folder. (#140604)
if the `cwd` option is empty this means the adapter is created in the
home folder.
Any relative file saved is in the home folder. The files should be
relative to the current workspace folder.
Commit: b93bc773f86b3746f8023c5dda9a8ab892fa0499
https://github.com/llvm/llvm-project/commit/b93bc773f86b3746f8023c5dda9a8ab892fa0499
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/test/CodeGen/ubsan-src-ignorelist-category.test
Log Message:
-----------
[NFC] Extend ubsan-src-ignorelist-category.test
For #140529.
Commit: 5db4aeae3c413d586faed03771626818d6a807a9
https://github.com/llvm/llvm-project/commit/5db4aeae3c413d586faed03771626818d6a807a9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/test/CodeGen/ubsan-src-ignorelist-category.test
Log Message:
-----------
[NFC] Extend ubsan-src-ignorelist-category.test
For #140529.
Commit: f171e050411efbed46c483db6d4dff7814e2d3e4
https://github.com/llvm/llvm-project/commit/f171e050411efbed46c483db6d4dff7814e2d3e4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
R clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
Log Message:
-----------
[NFC][OpenACC] Refactor clause emission- (#140586)
Having the whole clause emission be in a header file ended up being
pragmatic, but ended up being a sizable negative for a variety of
reasons. This patch moves it to its own .cpp file and makes
CIRGenFunction instead call into the visitor via a template instead.
This is possible because the valid list of construct kinds is quite
finite, and easy to enumerate.
Commit: 050e49a93a41909e1f80d6e1d66917f53e4ba016
https://github.com/llvm/llvm-project/commit/050e49a93a41909e1f80d6e1d66917f53e4ba016
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Fix copy/paste mistake in test comments. NFC
Commit: dfabd61f7370cdd2ba76876b04993e991bb4e58b
https://github.com/llvm/llvm-project/commit/dfabd61f7370cdd2ba76876b04993e991bb4e58b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.h
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv32.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv64.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
Log Message:
-----------
[lldb] Support riscv32 ELF corefiles (#115408)
Add support for riscv32 ELF corefiles.
Commit: c5191905a8b0ec0e10a8f72138571871ab1e99e9
https://github.com/llvm/llvm-project/commit/c5191905a8b0ec0e10a8f72138571871ab1e99e9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
Log Message:
-----------
[gn build] Port dfabd61f7370
Commit: b586ddfd285c76ea6ea9656a11cfb03fcde58787
https://github.com/llvm/llvm-project/commit/b586ddfd285c76ea6ea9656a11cfb03fcde58787
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
Log Message:
-----------
[HLSL][NFC] Add resource globals created for metadata to test baseline (#140620)
Adds checks for resource globals that were created for DXIL metadata.
The names of the globals and the names of the types will be changing
soon. Adding these to the baseline will make it easier to see what is
changing.
Commit: 7268c4e7b3b905835597129f40ba697c0f1319dd
https://github.com/llvm/llvm-project/commit/7268c4e7b3b905835597129f40ba697c0f1319dd
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[NFC][MemProf] Fix typo in type name (#140500)
Commit: a53b306c479cb905c0ac3bb6567e4a20b379643e
https://github.com/llvm/llvm-project/commit/a53b306c479cb905c0ac3bb6567e4a20b379643e
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
A llvm/include/llvm/ProfileData/MemProfRadixTree.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
A llvm/lib/ProfileData/MemProfRadixTree.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[NFC][MemProf] Move Radix tree methods to their own header and cpp. (#140501)
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h
2. Avoid including ModuleSummaryIndex just for a couple of types
Commit: ad3c1d2091d7f793101d7acbb06f3449ab01a310
https://github.com/llvm/llvm-project/commit/ad3c1d2091d7f793101d7acbb06f3449ab01a310
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
Log Message:
-----------
[NFC][MemProf] Move getGUID out of IndexedMemProfRecord (#140502)
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h
2. Avoid including ModuleSummaryIndex just for a couple of types
Commit: 0528848def299b9af334268a8f658df5105f6b64
https://github.com/llvm/llvm-project/commit/0528848def299b9af334268a8f658df5105f6b64
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfRadixTree.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
Log Message:
-----------
[NFC][MemProf] Move IndexedMemProfData to its own header. (#140503)
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h
2. Avoid including ModuleSummaryIndex just for a couple of types
Commit: c2fd63c32ccbf466e4848149d1d050056370d5a9
https://github.com/llvm/llvm-project/commit/c2fd63c32ccbf466e4848149d1d050056370d5a9
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[NFC][MemProf] Add the LLVM license text and minor clean up. (#140504)
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h
2. Avoid including ModuleSummaryIndex just for a couple of types
Commit: ad450313b7eaee91ec0df62d1686f024cc5cadf1
https://github.com/llvm/llvm-project/commit/ad450313b7eaee91ec0df62d1686f024cc5cadf1
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/test/tools/dsymutil/X86/op-convert-offset.test
Log Message:
-----------
[dsym][test][nfc] Remove DIE offsets. (#140628)
This test seems to be non-determistic recently.
Changed it not to rely on offsets.
Commit: 4cfbe55781cb8fb95568c9a8538912f68d2ff681
https://github.com/llvm/llvm-project/commit/4cfbe55781cb8fb95568c9a8538912f68d2ff681
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
A llvm/include/llvm/ProfileData/MemProfCommon.h
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[NFC][MemProf] Move types shared between Analysis, ProfileData and ModuleSummary (Core) to a separate header (#140505)
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h
2. Avoid including ModuleSummaryIndex just for a couple of types
Commit: 0a718797eaf141b9117b6ff41dc02c52f462918e
https://github.com/llvm/llvm-project/commit/0a718797eaf141b9117b6ff41dc02c52f462918e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port a53b306c479c
Commit: 30ebcf6280ae098d9d16f5648e99855d612e4954
https://github.com/llvm/llvm-project/commit/30ebcf6280ae098d9d16f5648e99855d612e4954
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Store operand entries in the map
Instead of looking through all the vectorizable tree to find the operand
entry, better to store it in a separate map and perform quick lookup,
basing on user tree entry and operand index.
It allows to remove lots of duplicated code, simplify processing and fix
potential future issues with the analysis, affected by the codegen.
Also, improves compile time.
Reviewers: HanKuanChen, RKSimon, hiraditya
Reviewed By: hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/140549
Commit: 73c638f897327b7869435a588bde7909709ca795
https://github.com/llvm/llvm-project/commit/73c638f897327b7869435a588bde7909709ca795
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Set implicit CUDA device attribute in block construct (#140637)
Commit: e9c0840e9b4adc0f5cef53b4f4bcfcc0f475c4fa
https://github.com/llvm/llvm-project/commit/e9c0840e9b4adc0f5cef53b4f4bcfcc0f475c4fa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
Log Message:
-----------
[RISCV] Add LD_RV32/SD_RV32 to RISCVInstrInfo::canFoldIntoAddrMode. (#140631)
Commit: dbfd0fd4fffedc8946e8f33ab6d8b782c958febb
https://github.com/llvm/llvm-project/commit/dbfd0fd4fffedc8946e8f33ab6d8b782c958febb
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify that `ptrtoint` behaves like a capturing bitcast
This clarifies the outcome of the discussion in
https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/54
In the future, we will also introduce a non-capturing pointer -> address
conversion using a new `ptrtoaddr` instruction.
Reviewed By: krzysz00
Pull Request: https://github.com/llvm/llvm-project/pull/139349
Commit: f7d73678627f2ab8c5bd5dfa0012909fd4e3c933
https://github.com/llvm/llvm-project/commit/f7d73678627f2ab8c5bd5dfa0012909fd4e3c933
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Profile/Heatmap.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/HFSort.cpp
M bolt/lib/Passes/MCF.cpp
M bolt/lib/Passes/PettisAndHansen.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/branch-data.test
M bolt/test/X86/callcont-fallthru.s
A bolt/test/X86/heatmap-preagg.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/X86/reader-stale-yaml-std.test
M bolt/test/X86/reader-stale-yaml.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-include-fixer/find-all-symbols/SymbolInfo.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.h
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/misleading-setter-of-reference.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModuleAssistant.cpp
M clang-tools-extra/modularize/PreprocessorTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/misleading-setter-of-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
A clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
A clang/bindings/python/tests/cindex/test_lib.py
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/DebuggingCoroutines.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/Modules.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
M clang/docs/analyzer/user-docs/Installation.rst
A clang/docs/analyzer/user-docs/Options.rst.in
A clang/docs/tools/generate_analyzer_options_docs.py
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTDiagnostic.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclGroup.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprOpenMP.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/JsonSupport.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
A clang/include/clang/CIR/Dialect/OpenACC/CIROpenACCTypeInterfaces.h
A clang/include/clang/CIR/Dialect/OpenACC/RegisterOpenACCExtensions.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CommandLineSourceLoc.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ContinuousRangeMap.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ByteCode/BitcastBuffer.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclGroup.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SystemZ.cpp
A clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
A clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
R clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/Dialect/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/lib/CIR/Dialect/OpenACC/CIROpenACCTypeInterfaces.cpp
A clang/lib/CIR/Dialect/OpenACC/CMakeLists.txt
A clang/lib/CIR/Dialect/OpenACC/RegisterOpenACCExtensions.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UsingDeclarationsSorter.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_hip_cmath.h
M clang/lib/Headers/cuda_wrappers/cmath
M clang/lib/Headers/opencl-c-base.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/Lex/MacroArgs.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
A clang/test/AST/ByteCode/lifetimes26.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/exercise-ps.c
A clang/test/Analysis/ftime-trace-no-init.cpp
A clang/test/Analysis/generate_analyzer_options_docs.test
M clang/test/CIR/CodeGen/basic.c
A clang/test/CIR/CodeGen/member-functions.cpp
A clang/test/CIR/CodeGen/switch_flat_op.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
A clang/test/CIR/CodeGenOpenACC/compute-copy.c
M clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/wait.c
A clang/test/CIR/IR/switch-flat.cir
A clang/test/CIR/Transforms/switch.cir
A clang/test/CIR/Transforms/vector-extract-fold.cir
A clang/test/CodeCompletion/source-loc-zero.cpp
M clang/test/CodeGen/AArch64/cpu-supports-target.c
M clang/test/CodeGen/AArch64/fp8-init-list.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
A clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/riscv-zihintpause.c
M clang/test/CodeGen/X86/avx512-error.c
M clang/test/CodeGen/arm-mfp8.c
A clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/cfi-check-fail-debuginfo.c
M clang/test/CodeGen/cfi-icall-generalize-debuginfo.c
M clang/test/CodeGen/cfi-icall-normalize2-debuginfo.c
M clang/test/CodeGen/dllexport.c
M clang/test/CodeGen/dllimport.c
M clang/test/CodeGen/dso-local-executable.c
A clang/test/CodeGen/logb_scalbn.c
M clang/test/CodeGen/target-avx-abi-diag.c
A clang/test/CodeGen/ubsan-src-ignorelist-category.test
A clang/test/CodeGen/unused_nested_enump.cpp
M clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
M clang/test/CodeGenCXX/dllexport-members.cpp
M clang/test/CodeGenCXX/dllexport-missing-key.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-members.cpp
M clang/test/CodeGenCXX/dllimport-missing-key.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
M clang/test/CodeGenCXX/rtti-mingw64.cpp
M clang/test/CodeGenCXX/virt-dtor-key.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
A clang/test/CodeGenHIP/amdgpu-load-to-lds.hip
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
A clang/test/CodeGenHLSL/RootSignature.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/dot4add_i8packed.hlsl
M clang/test/CodeGenHLSL/builtins/dot4add_u8packed.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/convergence/global_array.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
M clang/test/CoverageMapping/terminate-statements.cpp
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/fsanitize.c
M clang/test/Driver/haiku.c
M clang/test/Driver/no-integrated-cpp.c
M clang/test/Driver/ppc-mrop-protection-support-check.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-arch.c
A clang/test/Headers/__clang_hip_cmath-return_types.hip
M clang/test/Headers/opencl-c-header.cl
M clang/test/Modules/fmodules-validate-once-per-build-session.c
A clang/test/Modules/pr130712.cppm
A clang/test/Modules/pr140130.cpp
A clang/test/Modules/pr61065-2.cppm
A clang/test/Modules/pr61065-3.cppm
M clang/test/Modules/pr61065.cppm
A clang/test/Modules/sdk-settings-json-dep.m
M clang/test/OpenMP/metadirective_messages.cpp
A clang/test/OpenMP/openmp_non_c_directives.c
M clang/test/OpenMP/stripe_messages.cpp
M clang/test/Parser/cxx-invalid-function-decl.cpp
A clang/test/Preprocessor/riscv-cf-protection-branch.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Refactor/source-loc-zero.cpp
M clang/test/Sema/atomic-expr.c
M clang/test/Sema/bitfield-layout.c
M clang/test/Sema/bitfield-layout_1.c
M clang/test/Sema/builtins-wasm.c
M clang/test/Sema/mms-bitfields.c
M clang/test/Sema/warn-tentative-defn-compat.c
M clang/test/SemaCXX/bitfield.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
A clang/test/SemaCXX/consteval-assert.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2a-three-way-comparison.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
A clang/test/SemaCXX/libstdcxx_format_kind_hack.cpp
R clang/test/SemaCXX/libstdcxx_gets_hack.cpp
R clang/test/SemaCXX/libstdcxx_pointer_return_false_hack.cpp
A clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
A clang/test/SemaCXX/thread-specifier.cpp
A clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
A clang/test/SemaCXX/warn-nrvo.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaObjCXX/cxxoperator-selector.mm
A clang/test/SemaOpenACC/gh139894.cpp
A clang/test/SemaOpenACC/gh140339.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-load-to-lds-err.cl
M clang/test/SemaTemplate/GH55509.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/cxx17-inline-variables.cpp
M clang/test/lit.cfg.py
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-refactor/ClangRefactor.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-shlib/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
A clang/unittests/CIR/CMakeLists.txt
A clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatReplacementTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/SortImportsTestJava.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/aarch64/chkstk.S
M compiler-rt/lib/builtins/aarch64/lse.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64.h
M compiler-rt/lib/builtins/extendhfsf2.c
M compiler-rt/lib/builtins/fp_compare_impl.inc
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/truncsfhf2.c
M compiler-rt/lib/builtins/udivmodti4.c
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
M compiler-rt/test/builtins/Unit/multc3_test.c
A compiler-rt/test/profile/Linux/coverage-do-while.c
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/emit-encoded.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/docs/Extensions.md
M flang/docs/ModFiles.md
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/preprocessor.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/lib/Optimizer/HLFIR/Transforms/PropagateFortranVariableAttributes.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/definable.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/copy-codegen.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/embox-substring.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/vector-always.fir
M flang/test/HLFIR/designate-codegen.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/HLFIR/opt-bufferization-eval_in_mem-with-associate.fir
A flang/test/HLFIR/propagate-contiguous-attribute.fir
M flang/test/Integration/unroll.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
A flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-wait.f90
A flang/test/Lower/OpenMP/Todo/taskloop-inreduction.f90
A flang/test/Lower/OpenMP/Todo/taskloop-reduction.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-update.f90
A flang/test/Lower/OpenMP/flush-common.f90
A flang/test/Lower/OpenMP/map-character.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-allocatable1.f90
A flang/test/Preprocessing/func-on-command-line.F90
M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
M flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
M flang/test/Semantics/OpenACC/acc-serial-loop.f90
A flang/test/Semantics/OpenMP/cancellation-construct-type.f90
A flang/test/Semantics/OpenMP/reduction-undefined.f90
M flang/test/Semantics/PowerPC/ppc-vector-types04.f90
M flang/test/Semantics/assign11.f90
A flang/test/Semantics/boz-rhs.f90
A flang/test/Semantics/bug139129.f90
A flang/test/Semantics/c7108.f90
M flang/test/Semantics/call28.f90
A flang/test/Semantics/call43.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/deallocate07.f90
M flang/test/Semantics/declarations05.f90
M flang/test/Semantics/generic09.f90
A flang/test/Semantics/pad-hollerith-arg.f
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
A flang/test/Transforms/dlti-dependency.fir
M flang/test/Transforms/lower-repack-arrays.fir
M libc/CMakeLists.txt
M libc/config/config.json
M libc/config/linux/riscv/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/source_tree_layout.rst
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/hashtable_fuzz.cpp
A libc/hdr/types/ACTION.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/ENTRY.h
M libc/include/llvm-libc-types/ENTRY.h
M libc/include/sys/syscall.h.def
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/src/poll/linux/poll.cpp
M libc/src/search/CMakeLists.txt
M libc/src/search/hsearch.h
M libc/src/search/hsearch_r.h
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libclc/clc/include/clc/clcmacro.h
A libclc/clc/include/clc/geometric/binary_decl.inc
A libclc/clc/include/clc/geometric/binary_def.inc
A libclc/clc/include/clc/geometric/clc_cross.h
A libclc/clc/include/clc/geometric/clc_distance.h
M libclc/clc/include/clc/geometric/clc_dot.h
R libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/geometric/clc_fast_distance.h
A libclc/clc/include/clc/geometric/clc_fast_length.h
A libclc/clc/include/clc/geometric/clc_length.h
R libclc/clc/include/clc/geometric/floatn.inc
A libclc/clc/include/clc/geometric/unary_decl.inc
A libclc/clc/include/clc/geometric/unary_def.inc
A libclc/clc/include/clc/math/clc_erf.h
A libclc/clc/include/clc/math/clc_erfc.h
A libclc/clc/include/clc/math/clc_ilogb.h
A libclc/clc/include/clc/math/clc_logb.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/unary_decl_with_int_return.inc
A libclc/clc/include/clc/math/unary_def_with_int_return.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_cross.cl
A libclc/clc/lib/generic/geometric/clc_cross.inc
A libclc/clc/lib/generic/geometric/clc_distance.cl
A libclc/clc/lib/generic/geometric/clc_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_distance.cl
A libclc/clc/lib/generic/geometric/clc_fast_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_length.cl
A libclc/clc/lib/generic/geometric/clc_length.cl
A libclc/clc/lib/generic/geometric/clc_length.inc
A libclc/clc/lib/generic/math/clc_erf.cl
A libclc/clc/lib/generic/math/clc_erfc.cl
A libclc/clc/lib/generic/math/clc_ilogb.cl
A libclc/clc/lib/generic/math/clc_ilogb.inc
M libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_logb.cl
A libclc/clc/lib/generic/math/clc_logb.inc
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/geometric/distance.h
R libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/dot.h
R libclc/generic/include/clc/geometric/dot.inc
M libclc/generic/include/clc/geometric/fast_distance.h
R libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
R libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
R libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/geometric/length.h
R libclc/generic/include/clc/geometric/length.inc
M libclc/generic/include/clc/geometric/normalize.h
R libclc/generic/include/clc/geometric/normalize.inc
M libclc/generic/include/clc/math/ilogb.h
R libclc/generic/include/clc/math/ilogb.inc
M libclc/generic/lib/geometric/cross.cl
M libclc/generic/lib/geometric/distance.cl
R libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
R libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/logb.cl
M libcxx/CMakeLists.txt
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/DesignDocs/FileTimeType.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/ImplementationDefinedBehavior.rst
M libcxx/docs/Modules.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/include/__algorithm/shuffle.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__charconv/to_chars_floating_point.h
M libcxx/include/__chrono/exception.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__chrono/steady_clock.h
M libcxx/include/__chrono/system_clock.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/vector
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__flat_set/utils.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_error.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__hash_table
M libcxx/include/__locale
M libcxx/include/__memory/align.h
M libcxx/include/__memory/shared_count.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__node_handle
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/random_device.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__system_error/system_error.h
M libcxx/include/__system_error/throw_system_error.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__verbose_abort
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/codecvt
M libcxx/include/condition_variable
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mutex
M libcxx/include/print
M libcxx/include/regex
M libcxx/include/shared_mutex
M libcxx/include/sstream
M libcxx/include/stdexcept
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/strstream
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/src/.clang-tidy
M libcxx/src/algorithm.cpp
M libcxx/src/any.cpp
M libcxx/src/atomic.cpp
M libcxx/src/barrier.cpp
M libcxx/src/call_once.cpp
M libcxx/src/charconv.cpp
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/error_category.cpp
M libcxx/src/expected.cpp
M libcxx/src/experimental/chrono_exception.cpp
M libcxx/src/filesystem/directory_entry.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/filesystem/filesystem_error.cpp
M libcxx/src/filesystem/operations.cpp
M libcxx/src/filesystem/path.cpp
M libcxx/src/fstream.cpp
M libcxx/src/functional.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/include/overridable_function.h
M libcxx/src/include/ryu/common.h
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/optional.cpp
M libcxx/src/ostream.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/random_shuffle.cpp
M libcxx/src/regex.cpp
M libcxx/src/ryu/d2fixed.cpp
M libcxx/src/ryu/d2s.cpp
M libcxx/src/ryu/f2s.cpp
M libcxx/src/shared_mutex.cpp
M libcxx/src/std_stream.h
M libcxx/src/stdexcept.cpp
M libcxx/src/string.cpp
M libcxx/src/strstream.cpp
M libcxx/src/system_error.cpp
M libcxx/src/thread.cpp
M libcxx/src/valarray.cpp
M libcxx/src/vector.cpp
M libcxx/src/verbose_abort.cpp
R libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/common.h
A libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
M libcxx/test/benchmarks/format/format.bench.cpp
A libcxx/test/benchmarks/streams/getline.bench.cpp
M libcxx/test/configs/cmake-bridge.cfg.in
A libcxx/test/libcxx/clang_tidy.sh.py
A libcxx/test/libcxx/containers/associative/map/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/set/scary.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
A libcxx/test/libcxx/containers/associative/unord.map/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/associative/unord.set/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.map/scary.compile.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/insert_range.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/insert_range.pass.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
A libcxx/test/libcxx/feature_test_macro/generate_header_test.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/invalid.sh.py
M libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/standard_library_headers.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/test_data.json
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
A libcxx/test/libcxx/utilities/format/format.arguments/format.arg/assert.array.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
R libcxx/test/std/containers/associative/multimap/scary.pass.cpp
R libcxx/test/std/containers/associative/multiset/scary.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/scary.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/scary.pass.cpp
M libcxx/test/std/localization/codecvt_unicode.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string.io/get_line.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_tests.h
M libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp
M libcxx/test/support/min_allocator.h
A libcxx/test/support/stream_types.h
M libcxx/test/tools/clang_tidy_checks/hide_from_abi.cpp
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/sym_diff.py
M libcxxabi/CMakeLists.txt
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M libunwind/CMakeLists.txt
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/LLDMapFile.cpp
M lld/COFF/Options.td
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/SymbolTable.cpp
M lld/docs/ELF/warn_backrefs.rst
M lld/docs/windows_support.rst
M lld/test/COFF/arm64ec-entry-mangle.test
M lld/test/COFF/arm64ec-hybmp.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-patchable-thunks.test
M lld/test/COFF/arm64ec-range-thunks.s
M lld/test/COFF/arm64ec.test
M lld/test/COFF/arm64x-altnames.s
M lld/test/COFF/arm64x-buildid.s
M lld/test/COFF/arm64x-comm.s
M lld/test/COFF/arm64x-crt-sec.s
M lld/test/COFF/arm64x-ctors-sec.s
M lld/test/COFF/arm64x-guardcf.s
M lld/test/COFF/arm64x-import.test
A lld/test/COFF/arm64x-sameaddress.test
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/arm64x-wrap.s
M lld/test/COFF/autoimport-arm64ec-data.test
R lld/test/ELF/aarch64-got-merging-icf.s
M lld/test/ELF/aarch64-reloc-implicit-addend.test
M lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/arm-cmse-diagnostics.s
M lld/test/ELF/arm-cmse-implib.s
M lld/test/ELF/arm-cmse-keep-sections.s
M lld/test/ELF/arm-cmse-noveneers.s
M lld/test/ELF/arm-cmse-secure.s
M lld/test/ELF/arm-cmse-veneers.s
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/basic-avr.s
M lld/test/ELF/compress-debug-sections-reloc.s
M lld/test/ELF/eh-frame-value-format7.s
M lld/test/ELF/eh-frame-value-format8.s
M lld/test/ELF/gdb-index-dwarf5-type-unit.s
M lld/test/ELF/gdb-index-icf.s
M lld/test/ELF/i386-pc16.test
M lld/test/ELF/i386-pc8.s
M lld/test/ELF/i386-reloc-16-large-addend.s
M lld/test/ELF/i386-reloc-8-large-addend.s
M lld/test/ELF/i386-reloc-large-addend.s
M lld/test/ELF/i386-reloc-range.s
M lld/test/ELF/i386-reloc8-reloc16-addend.s
M lld/test/ELF/icf-preemptible.s
M lld/test/ELF/just-symbols-cref.s
M lld/test/ELF/just-symbols.s
M lld/test/ELF/link-open-file.test
M lld/test/ELF/linkerscript/avr5.test
M lld/test/ELF/linkerscript/memory-no-sections.test
M lld/test/ELF/loongarch-pc-aligned.s
M lld/test/ELF/msp430.s
M lld/test/ELF/nmagic.s
M lld/test/ELF/oformat-binary-ttext.s
M lld/test/ELF/sectionstart-noallochdr.s
M lld/test/ELF/systemz-reloc-disp12.s
M lld/test/ELF/systemz-reloc-disp20.s
M lld/test/ELF/systemz-reloc-pc16.s
M lld/test/ELF/systemz-reloc-pc32.s
M lld/test/ELF/x86-64-reloc-32.s
M lld/test/ELF/x86-64-reloc-pc32.s
M lld/wasm/Writer.cpp
M lldb/docs/resources/build.rst
M lldb/docs/resources/contributing.rst
M lldb/docs/resources/debugging.rst
M lldb/docs/resources/qemu-testing.rst
M lldb/docs/use/python.rst
M lldb/docs/use/variable.rst
M lldb/include/lldb/Core/Address.h
A lldb/packages/Python/lldbsuite/test/make/attach.h
M lldb/packages/Python/lldbsuite/test/make/test_common.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
A lldb/source/Plugins/Process/AIX/NativeThreadAIX.cpp
A lldb/source/Plugins/Process/AIX/NativeThreadAIX.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.h
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv32.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_riscv64.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Target/DynamicRegisterInfo.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/test/API/CMakeLists.txt
M lldb/test/API/commands/process/attach-resume/main.cpp
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/commands/process/detach-resumes/main.cpp
M lldb/test/API/commands/register/register/register_command/main.cpp
M lldb/test/API/driver/batch_mode/main.c
M lldb/test/API/functionalities/deleted-executable/main.cpp
M lldb/test/API/functionalities/load_after_attach/main.cpp
M lldb/test/API/functionalities/process_group/main.c
M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
M lldb/test/API/functionalities/unwind/frameless-faulted/Makefile
M lldb/test/API/iohandler/completion/main.c
M lldb/test/API/lit.site.cfg.py.in
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
A lldb/test/API/macosx/branch-islands/padding3.s
A lldb/test/API/macosx/branch-islands/padding4.s
M lldb/test/API/python_api/hello_world/main.c
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/main.c
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disconnect/main.cpp
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module-event/TestDAP_module_event.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/send-event/TestDAP_sendEvent.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
M lldb/test/API/tools/lldb-server/main.cpp
A lldb/test/Shell/Commands/list-header.test
A lldb/test/Shell/ObjectFile/XCOFF/basic-info32.yaml
M lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
M lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
M lldb/tools/debugserver/source/CMakeLists.txt
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/CommandPlugins.cpp
A lldb/tools/lldb-dap/CommandPlugins.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPError.cpp
M lldb/tools/lldb-dap/DAPError.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/ProgressEvent.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
A lldb/tools/lldb-dap/Variables.cpp
A lldb/tools/lldb-dap/Variables.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
M lldb/tools/lldb-server/lldb-platform.cpp
R lldb/tools/lldb-vscode
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/DAPTest.cpp
A lldb/unittests/DAP/FifoFilesTest.cpp
A lldb/unittests/DAP/Handler/ContinueTest.cpp
A lldb/unittests/DAP/Handler/DisconnectTest.cpp
A lldb/unittests/DAP/ProtocolTypesTest.cpp
A lldb/unittests/DAP/TestBase.cpp
A lldb/unittests/DAP/TestBase.h
A lldb/unittests/DAP/TransportTest.cpp
A lldb/unittests/DAP/VariablesTest.cpp
M lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CIBestPractices.rst
M llvm/docs/CMake.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/Coroutines.rst
M llvm/docs/CoverageMappingFormat.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/ExtendingLLVM.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/docs/InstrProfileFormat.rst
M llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/LangRef.rst
M llvm/docs/MLGO.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/Proposals/VariableNames.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/TestSuiteGuide.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/BitmaskEnum.h
M llvm/include/llvm/ADT/DAGDeltaAlgorithm.h
M llvm/include/llvm/ADT/DeltaAlgorithm.h
M llvm/include/llvm/ADT/DeltaTree.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/FloatingPointMode.h
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/include/llvm/ADT/ImmutableSet.h
M llvm/include/llvm/ADT/IntEqClasses.h
M llvm/include/llvm/ADT/IntervalMap.h
M llvm/include/llvm/ADT/RewriteBuffer.h
M llvm/include/llvm/ADT/RewriteRope.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/Statistic.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/Analysis/ObjCARCUtil.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/Bitstream/BitCodes.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/DebugInfo/BTF/BTF.h
M llvm/include/llvm/DebugInfo/DIContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
A llvm/include/llvm/DebugInfo/GSYM/GsymContext.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
A llvm/include/llvm/IR/IntrinsicsRISCVXAndes.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/IR/Value.def
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCDirectives.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCValue.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
A llvm/include/llvm/ProfileData/DataAccessProf.h
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
A llvm/include/llvm/ProfileData/MemProfCommon.h
A llvm/include/llvm/ProfileData/MemProfRadixTree.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/Support/Allocator.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/FileOutputBuffer.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
A llvm/include/llvm/Transforms/Vectorize/EVLIndVarSimplify.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CGData/StableFunctionMap.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GCMetadata.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/DWARFLinker/Parallel/ArrayList.h
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
A llvm/lib/DebugInfo/GSYM/GsymContext.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVRange.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebugInfoSupport.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCNullStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/RecordStreamer.h
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
A llvm/lib/ProfileData/DataAccessProf.cpp
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
A llvm/lib/ProfileData/MemProfRadixTree.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/ConvertUTFWrapper.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/FileOutputBuffer.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/SpecialCaseList.cpp
M llvm/lib/Support/TrieRawHashMap.cpp
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/SetTheory.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/lib/Target/DirectX/DXILResourceImplicitBinding.cpp
A llvm/lib/Target/DirectX/DXILResourceImplicitBinding.h
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/M68k/CMakeLists.txt
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.h
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.cpp
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.h
M llvm/lib/Target/M68k/M68kSubtarget.cpp
M llvm/lib/Target/M68k/M68kSubtarget.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
A llvm/lib/Target/RISCV/RISCVInstrInfoQ.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
M llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86TargetStreamer.h
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/EVLIndVarSimplify.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
A llvm/test/Analysis/DependenceAnalysis/DifferentAccessSize.ll
A llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
M llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
A llvm/test/Assembler/amdgcn-unreachable.ll
M llvm/test/Assembler/autoupgrade-thread-pointer.ll
R llvm/test/Assembler/ptrtoaddr-const.ll
R llvm/test/Assembler/ptrtoaddr.ll
M llvm/test/CodeGen/AArch64/GlobalISel/artifact-combine-unmerge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/artifact-find-value.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-canonicalize-icmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fabs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-flog2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fneg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fptrunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-fsqrt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-inttoptr-ptrtoint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-mul-to-shl.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-int2ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptrtoint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-sext-trunc-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/constant-mir-debugify.mir
M llvm/test/CodeGen/AArch64/GlobalISel/contract-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-brcond-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets-target-features.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fold-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-shr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fp16-copy-gpr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-const.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-shuffle.mir
M llvm/test/CodeGen/AArch64/GlobalISel/labels-are-not-dead.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bzero.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz-zero-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-divrem.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fexp2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaximum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminimum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp128-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp16-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptoi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-global-pic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-global.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ignore-hint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ignore-non-generic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-intrinsic-get-dynamic-area-offset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-inttoptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-llround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-fewerElts.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector-of-ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-lrint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-lround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-with-debug-info.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sbfx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sext-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sext-zext-128.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ubfx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vaarg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vacopy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-shift.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-zextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-combiner.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/lifetime-marker-no-dce.mir
M llvm/test/CodeGen/AArch64/GlobalISel/load-wro-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/localizer-propagate-debug-loc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
M llvm/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
M llvm/test/CodeGen/AArch64/GlobalISel/non-pow-2-extload-combine.mir
M llvm/test/CodeGen/AArch64/GlobalISel/observer-change-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-and-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-trunc-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-shifted-reg-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/phi-mir-debugify.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combine-ptr-add-chain.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-and-trivial-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-copy-prop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-identity.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-merge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-redundant-sextinreg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-duplane.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-trn.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-truncstore.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-vashr-vlshr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-zip.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extractvec-faddp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-hoist-same-hands.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-mulpow2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-rotate.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-constrain-new-regop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern-align.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads-s1.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-funnel-shifts-to-rotates.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-icmp-redundant-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-invert-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-not-really-equiv-insts.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-simplify-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-undef.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-xor-of-and-with-same-reg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-ceil.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fma.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fp-use-def.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-intrinsic-round.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-intrinsic-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-intrinsic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-llround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-lround.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-maxnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-minnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-nearbyint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-shift-imm-64.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-trunc-s128.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-default.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-reductions.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-unmerge-vec.mir
M llvm/test/CodeGen/AArch64/GlobalISel/retry-artifact-combine.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-abs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-add-low.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-brcond-of-binop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-concat-vectors.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ctlz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ctpop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cttz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-extload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-extract-vector-elt-with-extend.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-faddp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fma.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fmaximum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fminimum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fmul-indexed.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-casts.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fp16-fconstant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-frint-nofp16.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-frint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-gv-cmodel-tiny.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-implicit-def.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-extract.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-int-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-aarch64-sdiv.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-crypto-aesmc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-round.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ld2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ld4.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldaxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load-store-vector-of-ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-logical-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-logical-shifted-reg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-mul.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-muladd.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-nearbyint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vcvtfxu2fp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-pr32733.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-reduce-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-returnaddress-liveins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-rotate.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-saddo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-sbfx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-scalar-merge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-shufflevec-undef-mask-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ssubo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-st2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-stlxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-store-truncating-float.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-stx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trn.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-uaddo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-usubo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-uzp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-with-no-legality-check.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zext-as-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zip.mir
M llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging-debug.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-wro-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/subreg-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/xro-addressing-mode-constant.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/aarch64-sme-stubs.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitreverse.ll
M llvm/test/CodeGen/AArch64/call-rv-marker.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash.ll
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
A llvm/test/CodeGen/AArch64/nofpclass.ll
A llvm/test/CodeGen/AArch64/reserveXreg-for-regalloc.ll
M llvm/test/CodeGen/AArch64/reserveXreg.ll
M llvm/test/CodeGen/AArch64/shuffle-extend.ll
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-while.ll
M llvm/test/CodeGen/AArch64/sve2-bsl.ll
M llvm/test/CodeGen/AArch64/vararg-tallcall.ll
M llvm/test/CodeGen/AArch64/variant-pcs.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
M llvm/test/CodeGen/AArch64/vselect-constants.ll
M llvm/test/CodeGen/AArch64/win64_vararg2.ll
M llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-amount-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
M llvm/test/CodeGen/AMDGPU/bitreverse.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/fneg.ll
A llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
R llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.path.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.fma.f16.ll
M llvm/test/CodeGen/AMDGPU/load-global-f32.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
A llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/operand-folding.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
A llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-fail.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-wave32.mir
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg.ll
M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/trunc.ll
A llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/zero_extend.ll
M llvm/test/CodeGen/ARM/ldrd.ll
A llvm/test/CodeGen/ARM/nofpclass.ll
M llvm/test/CodeGen/ARM/thumb-function-section-reloc.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/arrays.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/multiple-spaces.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/simple.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/unbounded-arrays-error.ll
A llvm/test/CodeGen/DirectX/ImplicitBinding/unbounded-arrays.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-vs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
M llvm/test/CodeGen/DirectX/dot4add_i8packed.ll
A llvm/test/CodeGen/DirectX/dot4add_i8packed_error.ll
M llvm/test/CodeGen/DirectX/dot4add_u8packed.ll
A llvm/test/CodeGen/DirectX/dot4add_u8packed_error.ll
A llvm/test/CodeGen/DirectX/legalize-memcpy.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/Hexagon/fminmax-v67.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
A llvm/test/CodeGen/Mips/nofpclass.ll
A llvm/test/CodeGen/Mips/private-global-prefix.ll
A llvm/test/CodeGen/Mips/qnan.ll
A llvm/test/CodeGen/Mips/unreachable.ll
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-s2g-sm100.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll
M llvm/test/CodeGen/NVPTX/div.ll
M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
A llvm/test/CodeGen/NVPTX/ldg-invariant-256.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors-256.ll
A llvm/test/CodeGen/NVPTX/shift-opt.ll
M llvm/test/CodeGen/PowerPC/optimize-vector.ll
M llvm/test/CodeGen/PowerPC/pr47891.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zba.ll
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-previous-failure.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/fpenv.ll
M llvm/test/CodeGen/RISCV/i32-icmp.ll
A llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
M llvm/test/CodeGen/RISCV/mul-expand.ll
M llvm/test/CodeGen/RISCV/mul.ll
A llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
A llvm/test/CodeGen/RISCV/riscv-zihintpause.ll
A llvm/test/CodeGen/RISCV/rv32xandesperf.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
A llvm/test/CodeGen/RISCV/rv64xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/stack-offset.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/xqccmp-additional-stack.ll
A llvm/test/CodeGen/RISCV/xqcibi.ll
A llvm/test/CodeGen/RISCV/xqcibm-extract.ll
M llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
M llvm/test/CodeGen/RISCV/zdinx-memoperand.ll
A llvm/test/CodeGen/RISCV/zdinx-spill.ll
A llvm/test/CodeGen/RISCV/zilsd.ll
A llvm/test/CodeGen/SPIRV/global-var-name-align.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
M llvm/test/CodeGen/Thumb/thumb-shrink-wrapping.ll
R llvm/test/CodeGen/X86/GlobalISel/ptrtoaddr.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/avx512-i1test.ll
M llvm/test/CodeGen/X86/fcmp-logic.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
M llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
M llvm/test/CodeGen/X86/isel-brcond-icmp.ll
M llvm/test/CodeGen/X86/machine-combiner-int-vec.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
A llvm/test/CodeGen/X86/nofpclass.ll
M llvm/test/CodeGen/X86/pr63108.ll
R llvm/test/CodeGen/X86/ptrtoaddr.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/test/DebugInfo/Generic/debug-names-asm-label.ll
M llvm/test/DebugInfo/Generic/multi-variant.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic-ranks.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy-multi-key.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-calls.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-ranks-blocks.ll
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_perf.s
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-array.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-compat.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
A llvm/test/MC/AsmParser/token.s
M llvm/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
M llvm/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
M llvm/test/MC/Disassembler/Sparc/sparc.txt
M llvm/test/MC/ELF/section-unique.s
M llvm/test/MC/M68k/Data/Classes/MxMOVEM_MR.s
M llvm/test/MC/M68k/Data/Classes/MxMOVEM_RM.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/PowerPC/ppc64-relocs-01.s
A llvm/test/MC/RISCV/rv32q-invalid.s
A llvm/test/MC/RISCV/rv64q-invalid.s
A llvm/test/MC/RISCV/rv64q-valid.s
A llvm/test/MC/RISCV/rv64zfa-only-valid.s
A llvm/test/MC/RISCV/rvq-aliases-valid.s
A llvm/test/MC/RISCV/rvq-pseudos.s
A llvm/test/MC/RISCV/rvq-valid.s
A llvm/test/MC/RISCV/xandesvdot-valid.s
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/MC/RISCV/zfa-invalid.s
A llvm/test/MC/RISCV/zfa-quad-invalid.s
M llvm/test/MC/RISCV/zfa-valid.s
M llvm/test/MC/Sparc/Misc/little-endian.s
M llvm/test/MC/Sparc/Relocations/expr.s
M llvm/test/MC/Sparc/Relocations/relocation.s
M llvm/test/MC/Sparc/sparc64-bpr-offset.s
M llvm/test/Object/archive-update.test
M llvm/test/TableGen/MacroFusion.td
A llvm/test/TableGen/SubRegsAndAliases.td
M llvm/test/TableGen/VarLenEncoder.td
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
A llvm/test/ThinLTO/X86/cache-emit-asm.ll
M llvm/test/Transforms/AggressiveInstCombine/or-shift-chain.ll
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addr-reuse.ll
M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/eq.ll
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
M llvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/or.ll
A llvm/test/Transforms/Coroutines/gh105595.ll
A llvm/test/Transforms/ForcedFunctionAttrs/open-file-error.ll
M llvm/test/Transforms/GVN/phi.ll
M llvm/test/Transforms/GVN/pre-compare.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
M llvm/test/Transforms/IRNormalizer/regression-convergence-tokens.ll
M llvm/test/Transforms/IRNormalizer/regression-infinite-loop.ll
M llvm/test/Transforms/IRNormalizer/reordering-basic.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readfirstlane.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/Transforms/InstCombine/cast.ll
A llvm/test/Transforms/InstCombine/debuginfo-invert.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/test/Transforms/InstCombine/vararg.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
A llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
M llvm/test/Transforms/LICM/hoist-binop.ll
A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/load-store-256-bit.ll
M llvm/test/Transforms/LoopIdiom/strlen.ll
M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
A llvm/test/Transforms/LoopInterchange/legality-check.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
A llvm/test/Transforms/LoopUnroll/unroll-and-peel-last-iteration.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-reduces-vf.ll
A llvm/test/Transforms/LoopVectorize/RISCV/evl-iv-simplify.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
A llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
A llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
A llvm/test/Transforms/ObjCARC/pr138961-regression.ll
A llvm/test/Transforms/Reassociate/or-disjoint.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/reordered-interleaved-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-pointer-distance.ll
A llvm/test/Transforms/SLPVectorizer/X86/masked-load-compress-reordered.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-bv-schedulable.ll
A llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-node-with-same-last-instr.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
M llvm/test/Transforms/SafeStack/AArch64/abi.ll
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
M llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll
M llvm/test/lit.cfg.py
M llvm/test/tools/dsymutil/X86/op-convert-offset.test
M llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe.gsym
A llvm/test/tools/llvm-symbolizer/sym-gsymonly.test
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-mca/llvm-mca.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/tools/llvm-symbolizer/Opts.td
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ADT/BitmaskEnumTest.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/GCMetadata.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/DataAccessProfTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/FileOutputBufferTest.cpp
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/unittests/XRay/GraphTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/AsmWriterInst.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/ExegesisEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/Symbolize/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
M mlir/docs/Bufferization.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch0.md
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
M mlir/include/mlir/Dialect/Func/Transforms/Passes.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/LegalizeForExport.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/OptimizeForNVVM.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/RequestCWrappers.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
R mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
A mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/include/mlir/Target/LLVMIR/TypeFromLLVM.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/lib/AsmParser/AsmParserImpl.h
M mlir/lib/AsmParser/Lexer.cpp
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
A mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMInterfaces.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/RequestCWrappers.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
R mlir/lib/Dialect/Polynomial/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
R mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/lib/Dialect/Quant/IR/QuantOps.cpp
M mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenEnv.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/ExecutionEngine/JitRunner.cpp
M mlir/lib/IR/AffineMapDetail.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/IR/Location.cpp
M mlir/lib/IR/TypeDetail.h
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchFinder.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/Matcher/Parser.h
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/TableGen/AttrOrTypeDef.cpp
M mlir/lib/TableGen/Interfaces.cpp
M mlir/lib/TableGen/Operator.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
M mlir/lib/Transforms/CompositePass.cpp
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/d07f3fcc8ba9...f7d73678627f
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