[all-commits] [llvm/llvm-project] 4c182d: [libc] Fix suseconds_t definition and utimes_test ...
Mingming Liu via All-commits
all-commits at lists.llvm.org
Mon Apr 14 11:42:42 PDT 2025
Branch: refs/heads/users/mingmingl-llvm/spr/aarch64jumptables
Home: https://github.com/llvm/llvm-project
Commit: 4c182df633bcd7fd7f0634b2cf6bcab91c3674ec
https://github.com/llvm/llvm-project/commit/4c182df633bcd7fd7f0634b2cf6bcab91c3674ec
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/include/llvm-libc-types/suseconds_t.h
M libc/test/src/sys/time/CMakeLists.txt
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Fix suseconds_t definition and utimes_test (#134326)
The main issue was that the kernel expected `suseconds_t` to be 64 bits
but ours was 32. This caused inconsistent failures since all valid
`suseconds_t` values are less than 1000000 (1 million), and some
configurations caused `struct timeval` to be padded to 128 bits.
Also: forgot to use TEST_FILE instead of FILE_PATH in some places.
Commit: b518242156f7c432249b1ca203a915b4f9906959
https://github.com/llvm/llvm-project/commit/b518242156f7c432249b1ca203a915b4f9906959
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
Log Message:
-----------
[PowerPC] Fix instruction name for dmr insert (#134301)
Commit: 3a859b11e3ca758043b88693fdf990d361a02ef1
https://github.com/llvm/llvm-project/commit/3a859b11e3ca758043b88693fdf990d361a02ef1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/debugloc.ll
Log Message:
-----------
[VPlan] Set and use debug location for VPScalarIVStepsRecipe.
This adds missing debug location for VPscalarIVStepsRecipe. The location
of the corresponding phi is used.
Commit: 61af05fe82c6989351c08de8d9eac4dc51f4ef79
https://github.com/llvm/llvm-project/commit/61af05fe82c6989351c08de8d9eac4dc51f4ef79
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/environment.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/command.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/putenv-func.f90
A flang/test/Lower/Intrinsics/putenv-sub.f90
A flang/test/Semantics/putenv.f90
Log Message:
-----------
[flang] Add runtime and lowering implementation for extended intrinsic PUTENV (#134412)
Implement extended intrinsic PUTENV, both function and subroutine forms.
Add PUTENV documentation to flang/docs/Intrinsics.md. Add functional and
semantic unit tests.
Commit: d341b632a1a07362dfb51f916baeedcbc8945e0f
https://github.com/llvm/llvm-project/commit/d341b632a1a07362dfb51f916baeedcbc8945e0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Remove unused function declaration. NFC
Commit: 12cf6d3b9e0b4983d609576b15dc37ceb7d1d8d7
https://github.com/llvm/llvm-project/commit/12cf6d3b9e0b4983d609576b15dc37ceb7d1d8d7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/LLDBAssert.h
Log Message:
-----------
[lldb] Fix missing semicolon in lldbassert macro
Commit: bbaf0877fa61ea5cadc6ded794c3184081790c66
https://github.com/llvm/llvm-project/commit/bbaf0877fa61ea5cadc6ded794c3184081790c66
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Assert on all invalid inputs to getStackAdjBase and printRegList. NFC
Commit: 428fc2c8875eca42b4803fe100791270ec971e4d
https://github.com/llvm/llvm-project/commit/428fc2c8875eca42b4803fe100791270ec971e4d
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[NFC][HLSL][RootSignature] Make the Lexer adhere to naming conventions (#134136)
- when developing the RootSignatureLexer library, we are creating new
files so we should set the standard to adhere to the coding conventions
for function naming
- this was missed in the initial review but caught in the review of the
parser pr
[here](https://github.com/llvm/llvm-project/pull/133302#discussion_r2017632092)
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 24dfcc0c024f9ab8ba61c0994513f57e882961fc
https://github.com/llvm/llvm-project/commit/24dfcc0c024f9ab8ba61c0994513f57e882961fc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use the nvvm.vote.sync op for all and any (#134433)
NVVM operations are now available for all and any as well. Use the op
and clean up the generation function to handle all the 3 vote sync
kinds.
Commit: 19e0233eb844e653a3108de411366bd0165cf3ec
https://github.com/llvm/llvm-project/commit/19e0233eb844e653a3108de411366bd0165cf3ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Make decodeXqccmpRlistS0 defer to decodeZcmpRlist after checking for S0 being included. NFC
This reduces code duplication.
Commit: 18ff8df9583743f4e4ac2a74e55a28e35df958fb
https://github.com/llvm/llvm-project/commit/18ff8df9583743f4e4ac2a74e55a28e35df958fb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Register managed variables with double descriptor (#134444)
Allocatable or pointer module variables with the CUDA managed attribute
are defined with a double descriptor. One on the host and one on the
device. Only the data pointed to by the descriptor will be allocated in
managed memory.
Allow the registration of any allocatable or pointer module variables
like device or constant.
Commit: 412f7fa31607489dc400321968a70e114463b374
https://github.com/llvm/llvm-project/commit/412f7fa31607489dc400321968a70e114463b374
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
Log Message:
-----------
[clang] Bump DIAG_SIZE_PARSE as we're hitting the limit downstream as of 6263de90df7f58c8b98475024d5eef102e10a372.
Commit: ad39049ec48edcb2ad4024c80f1cadfc9f0e4cb0
https://github.com/llvm/llvm-project/commit/ad39049ec48edcb2ad4024c80f1cadfc9f0e4cb0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/rotate-add.ll
M llvm/test/CodeGen/ARM/rotate-add.ll
M llvm/test/CodeGen/NVPTX/rotate-add.ll
M llvm/test/CodeGen/X86/rotate-add.ll
Log Message:
-----------
[DAGCombiner] Attempt to fold 'add' nodes to funnel-shift or rotate (#125612)
Almost all of the rotate idioms that are valid for an 'or' are also
valid when the halves are combined with an 'add'. Further, many of these
cases are not handled by common bits tracking meaning that the 'add' is
not converted to a 'disjoint or'.
Commit: 64b060f129fc580cb3a9dce8b4456d496e6cdcd6
https://github.com/llvm/llvm-project/commit/64b060f129fc580cb3a9dce8b4456d496e6cdcd6
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/docs/Dialects/TOSA.md
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[mlir][tosa] Update URLs to TOSA specification (#134449)
- The existing URLs are no longer valid, updated to the current one
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: e3369a8dc9130ef261a092d866e8ba4f8242aa26
https://github.com/llvm/llvm-project/commit/e3369a8dc9130ef261a092d866e8ba4f8242aa26
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
M llvm/unittests/Target/DirectX/UniqueResourceFromUseTests.cpp
Log Message:
-----------
[NFC][HLSL] Rename ResourceBinding Types (#134165)
Non-functional change as first step in
https://github.com/llvm/wg-hlsl/pull/207
Removes `Binding` from "Resource Instance" types
Commit: bdff739c7e79933aa7b3233da1bdadceeb7e03e6
https://github.com/llvm/llvm-project/commit/bdff739c7e79933aa7b3233da1bdadceeb7e03e6
Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
A clang/test/CodeGen/include/cuda.h
M clang/test/CodeGen/nvptx-surface.cu
M clang/test/Headers/Inputs/include/cuda.h
Log Message:
-----------
cuda clang: Clean up test dependency for CUDA surfaces (#134459)
https://github.com/llvm/llvm-project/pull/132883 added support for cuda
surfaces but reached into clang/test/Headers/ from clang/test/CodeGen/
to grab the minimal cuda.h. Duplicate that file instead based on
comments in the review, to fix remote test runs.
Signed-off-by: Austin Schuh <austin.linux at gmail.com>
Commit: b0d0636026cdd2d1088d60c169a7a3a3371c0e66
https://github.com/llvm/llvm-project/commit/b0d0636026cdd2d1088d60c169a7a3a3371c0e66
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/loop.cpp
Log Message:
-----------
[CIR] Upstream support for break and continue statements (#134181)
This adds ClangIR support for break and continue statements in loops.
Because only loops are currently implemented upstream in CIR, only
breaks in loops are supported here, but this same code will work (with
minor changes to the verification and cfg flattening) when switch
statements are upstreamed.
Commit: 6f34d03b3132a8286630f8496aa7dce9605e677b
https://github.com/llvm/llvm-project/commit/6f34d03b3132a8286630f8496aa7dce9605e677b
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/test/CodeGen/ARM/2010-11-29-PrologueBug.ll
M llvm/test/CodeGen/ARM/ldm.ll
M llvm/test/CodeGen/ARM/zextload_demandedbits.ll
Log Message:
-----------
Remove iOS 5 check for tailcalls on ARM (#133354)
Fixes #102053
The check was added in 8decdc472f308b13d7fb7fd50c3919db086c0417, and at
the time iOS 5 was the latest iOS version, before that commit tail calls
were disabled for all ARMv7 targets. Testing a build of wasm3 with the
patch on a device running iOS 3.0 shows a noticeable performance
improvement and no issues.
Commit: 5271dead61dca30f4a6db0f0df8da00f8987449e
https://github.com/llvm/llvm-project/commit/5271dead61dca30f4a6db0f0df8da00f8987449e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFile.cpp
Log Message:
-----------
[lldb] Add a {ObjectFile,SymbolFile}::GetObjectName method (#133370)
Add ObjectFile::GetObjectName and SymbolFile::GetObjectName to retrieve
the name of the object file, including the `.a` for static libraries.
We currently do something similar in CommandObjectTarget, but the code
for dumping this is a lot more involved than what's being offered by the
new method. We have options to print he full path, the base name, and
the directoy of the path and trim it to a specific width.
This is motivated by #133211, where Greg pointed out that the old code
would print the static archive (the .a file) rather than the actual
object file inside of it.
Commit: 74a78028932f5e26c93dc6fd7efab65b97e6824c
https://github.com/llvm/llvm-project/commit/74a78028932f5e26c93dc6fd7efab65b97e6824c
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lld/MachO/OutputSegment.cpp
M lld/test/MachO/arm64-objc-stubs.s
Log Message:
-----------
[lld-macho] Fix code section ordering in output binary (#134010)
In `OutputSegment.cpp`, we need to ensure a specific order for certain
sections. The current sorting logic incorrectly prioritizes code
sections over explicitly defined section orders. This is problematic
because the `__objc_stubs` section is both a code section *and* has a
specific ordering requirement. The current logic would incorrectly
prioritize its code section status, causing it to be sorted *before* the
`__stubs` section. This incorrect ordering breaks the branch extension
algorithm, ultimately leading to linker failures due to relocation
errors.
We also modify the `lld/test/MachO/arm64-objc-stubs.s` test to ensure
correct section ordering.
Commit: 7001993880066a40783b960aa3f236a57d09e061
https://github.com/llvm/llvm-project/commit/7001993880066a40783b960aa3f236a57d09e061
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Common/enum-class.h
Log Message:
-----------
[flang] Temporary include variant.h in enum-class.h. (#134460)
I am having problems building Fortran runtime for CUDA
after #134164. I need more time to investigate it,
but in the meantime including variant.h (or any header
that eventually includes a libcudacxx header) resolves
the issue.
Commit: e8b52acca2376aac90ba8e2927e52ddd5253bcbb
https://github.com/llvm/llvm-project/commit/e8b52acca2376aac90ba8e2927e52ddd5253bcbb
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/src/sys/time/linux/utimes.cpp
M libc/test/src/time/ctime_test.cpp
Log Message:
-----------
[libc][NFC] replace NULL with nullptr (#134464)
Simple cleanup
Commit: 78905ce6cbd3fa8f8b467e7cad0e9a093c1b1c44
https://github.com/llvm/llvm-project/commit/78905ce6cbd3fa8f8b467e7cad0e9a093c1b1c44
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Upstream support for logical not operations (#133966)
When unary operation support was initially upstreamed, the cir.cast
operation hadn't been upstreamed yet, so logical not wasn't included.
Since casts have now been added, this change adds support for logical
not.
Commit: 6272e1f37e0710b51d38cb98b905a3f2ffea7966
https://github.com/llvm/llvm-project/commit/6272e1f37e0710b51d38cb98b905a3f2ffea7966
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
Log Message:
-----------
[lldb] Make `RegisterContextThreadMemory` thread safe (#134469)
The UpdateRegisterContext method can be called from multiple threads.
Commit: 1f72fa29ecb4b283f449c8bf931fcaf0fa1069ee
https://github.com/llvm/llvm-project/commit/1f72fa29ecb4b283f449c8bf931fcaf0fa1069ee
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
Log Message:
-----------
[X86Backend][M68KBackend] Make Ctx in X86MCInstLower (M68KInstLower) the same as AsmPrinter.OutContext (#133352)
In `X86MCInstLower::LowerMachineOperand`, a new `MCSymbol` can be
created in `GetSymbolFromOperand(MO)` where `MO.getType()` is
`MachineOperand::MO_ExternalSymbol`
```
case MachineOperand::MO_ExternalSymbol:
return LowerSymbolOperand(MO, GetSymbolFromOperand(MO));
```
at
https://github.com/llvm/llvm-project/blob/725a7b664b92cd2e884806de5a08900b43d43cce/llvm/lib/Target/X86/X86MCInstLower.cpp#L196
However, this newly created symbol will not be marked properly with its
`IsExternal` field since `Ctx.getOrCreateSymbol(Name)` doesn't know if
the newly created `MCSymbol` is for `MachineOperand::MO_ExternalSymbol`.
Looking at other backends, for example `Arch64MCInstLower` is doing for
handling `MC_ExternalSymbol`
https://github.com/llvm/llvm-project/blob/14c36db16fc090ef494ff6d8207562c414b40e30/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp#L366-L367
https://github.com/llvm/llvm-project/blob/14c36db16fc090ef494ff6d8207562c414b40e30/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp#L145-L148
It creates/gets the MCSymbol from `AsmPrinter.OutContext` instead of
from `Ctx`. Moreover, `Ctx` for `AArch64MCLower` is the same as
`AsmPrinter.OutContext`.
https://github.com/llvm/llvm-project/blob/8e7d6baf0e013408be932758b4a5334c14a34086/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp#L100.
This applies to almost all the other backends except X86 and M68k.
```
$git grep "MCInstLowering("
lib/Target/AArch64/AArch64AsmPrinter.cpp:100: : AsmPrinter(TM, std::move(Streamer)), MCInstLowering(OutContext, *this),
lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:223: AMDGPUMCInstLower MCInstLowering(OutContext, STI, *this);
lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:257: AMDGPUMCInstLower MCInstLowering(OutContext, STI, *this);
lib/Target/AMDGPU/R600MCInstLower.cpp:52: R600MCInstLower MCInstLowering(OutContext, STI, *this);
lib/Target/ARC/ARCAsmPrinter.cpp:41: MCInstLowering(&OutContext, *this) {}
lib/Target/AVR/AVRAsmPrinter.cpp:196: AVRMCInstLower MCInstLowering(OutContext, *this);
lib/Target/BPF/BPFAsmPrinter.cpp:144: BPFMCInstLower MCInstLowering(OutContext, *this);
lib/Target/CSKY/CSKYAsmPrinter.cpp:41: : AsmPrinter(TM, std::move(Streamer)), MCInstLowering(OutContext, *this) {}
lib/Target/Lanai/LanaiAsmPrinter.cpp:147: LanaiMCInstLower MCInstLowering(OutContext, *this);
lib/Target/Lanai/LanaiAsmPrinter.cpp:184: LanaiMCInstLower MCInstLowering(OutContext, *this);
lib/Target/MSP430/MSP430AsmPrinter.cpp:149: MSP430MCInstLower MCInstLowering(OutContext, *this);
lib/Target/Mips/MipsAsmPrinter.h:126: : AsmPrinter(TM, std::move(Streamer)), MCInstLowering(*this) {}
lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp:695: WebAssemblyMCInstLower MCInstLowering(OutContext, *this);
lib/Target/X86/X86MCInstLower.cpp:2200: X86MCInstLower MCInstLowering(*MF, *this);
```
This patch makes `X86MCInstLower` and `M68KInstLower` to have their
`Ctx` from `AsmPrinter.OutContext` instead of getting it from
`MF.getContext()` to be consistent with all the other backends.
I think since normal use case (probably anything other than our
un-conventional case) only handles one llvm module all the way through
in the codegen pipeline till the end of code emission (AsmPrint),
`AsmPrinter.OutContext` is the same as MachineFunction's MCContext, so
this change is an NFC.
----
This fixes an error while running the generated code in ORC JIT for our
use case with
[MCLinker](https://youtu.be/yuSBEXkjfEA?si=HjgjkxJ9hLfnSvBj&t=813) (see
more details below):
https://github.com/llvm/llvm-project/pull/133291#issuecomment-2759200983
We (Mojo) are trying to do a MC level linking so that we break llvm
module into multiple submodules to compile and codegen in parallel
(technically into *.o files with symbol linkage type change), but
instead of archive all of them into one `.a` file, we want to fix the
symbol linkage type and still produce one *.o file. The parallel codegen
pipeline generates the codegen data structures in their own `MCContext`
(which is `Ctx` here). So if function `f` and `g` got split into
different submodules, they will have different `Ctx`. And when we try to
create an external symbol with the same name for each of them with
`Ctx.getOrCreate(SymName)`, we will get two different `MCSymbol*`
because `f` and `g`'s `MCContext` are different and they can't see each
other. This is unfortunately not what we want for external symbols.
Using `AsmPrinter.OutContext` helps, since it is shared, if we try to
get or create the `MCSymbol` there, we'll be able to deduplicate.
Commit: d59594d697c4b1f0f44a4e9ee296543a88575178
https://github.com/llvm/llvm-project/commit/d59594d697c4b1f0f44a4e9ee296543a88575178
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/xqcibi-long-conditional-jump.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
Log Message:
-----------
[RISCV] Relax out of range Xqcibi conditional branches (#134336)
If .L1 is not within +-4KiB range,
convert
qc.(e.)bge a0, 10, .L1
to
qc.(e.)blt a0, 10, 8(10)
j .L1
This is similar to what is done for the RISCV conditional branches.
Commit: 71884b63a413c7803fce8ec7bf2857938765f4e2
https://github.com/llvm/llvm-project/commit/71884b63a413c7803fce8ec7bf2857938765f4e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/test/MC/AArch64/coff-relocations.s
M llvm/test/MC/AArch64/data-directive-specifier.s
Log Message:
-----------
[AArch64] Transition from MCSymbolRefExpr::VariantKind constants
Shift ELF `@plt` and `@gotpcrel` references in data directives, as well as
Mach-O `@specifier` notations, to use `AArch64MCExpr::Specifier` constants.
This is a follow-up to #132595. COFF-specific specifiers are not moved
yet.
In addition, partition @-specifiers into COFF, ELF, and Mach-O, so that
mix-and-match is rejected at parse time.
ELF and Mach-O specifiers are distinct, with `None` being the only
shared value. For Mach-O-specific specifiers, we adopt the `M_xxx` naming
convention.
Pull Request: https://github.com/llvm/llvm-project/pull/133214
Commit: 1d7bd3bc5c4f085dfa4443ea3fbab46356ab0a8e
https://github.com/llvm/llvm-project/commit/1d7bd3bc5c4f085dfa4443ea3fbab46356ab0a8e
Author: jobhdez <lara2993 at proton.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/src/math/generic/sin.cpp
Log Message:
-----------
[libc] Remove extra parenthesis in sin.cpp comments (#134477)
Commit: b6a96183015e99ec554f7a6b8c35a0e679b8ba39
https://github.com/llvm/llvm-project/commit/b6a96183015e99ec554f7a6b8c35a0e679b8ba39
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[MCParser] Rename confusing variable names
https://reviews.llvm.org/D24047 added `IsAtStartOfStatement` to
MCAsmLexer, while its subclass AsmLexer had a variable of the same name.
The assignment in `UnLex` is unnecessary, which is now removed.
60b403e75cd25a0c76aaaf4e6b176923acf49443 (2019) named the result
`parseStatement` `Parsed`. `HasError` is a clearer name.
Commit: a07b37475ccbf6b718fdf64fd6f0756ea1958852
https://github.com/llvm/llvm-project/commit/a07b37475ccbf6b718fdf64fd6f0756ea1958852
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
Log Message:
-----------
[LoongArch] Simplify evaluateAsRelocatableImpl
Similar to RISCV
Commit: f47034cbe5c02b748742c733cf453b3b907687e5
https://github.com/llvm/llvm-project/commit/f47034cbe5c02b748742c733cf453b3b907687e5
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
Log Message:
-----------
AMDGPU: Add round-to-odd rounding during f64 to bf16 conversion (#133995)
f64 -> bf16 conversion can be lowered to f64 -> f32 followed by f32 ->
bf16:
v_cvt_f32_f64_e32 v0, v[0:1]
v_cvt_pk_bf16_f32 v0, v0, s0
Both conversion instructions will do round-to-even rounding, and thus we
will have double rounding issue which may generate incorrect result in
some data range. We need to add round-to-odd rounding during f64 -> f32
to avoid double rounding,.
NOTE: we are having the same issue with f64 -> f16 conversion. Will add
round-to-odd rounding for it in a separate patch, which fixes
SWDEV-523856
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: a1935fd3809772c06f9a09fa151181642ae92b20
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[clang] Remove unused SourceManager.cpp includes, NFC (trying out clangd)
Commit: f3e6473df46fd920e09e06e57a5549eb8e3a8bd3
https://github.com/llvm/llvm-project/commit/f3e6473df46fd920e09e06e57a5549eb8e3a8bd3
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
MCValue: reduce getSymB uses
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: 44923d8631fb28b4de54d4210762f256c3894cef
https://github.com/llvm/llvm-project/commit/44923d8631fb28b4de54d4210762f256c3894cef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump Github Runner Version in Agent Containers
The Github runner version got bumped recently and it would be good to keep
this up to date. Also debugging an issue where Github ARC is failing to
create new pods and trying to see if it might be related to outdated
versions.
Commit: fb96d5171ee4cba7b2cb9cceea755aa4bd51b3c4
https://github.com/llvm/llvm-project/commit/fb96d5171ee4cba7b2cb9cceea755aa4bd51b3c4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
Reapply "[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)"
This reverts commit d72be157823d41e7eaf457cc37ea99c07431a25c.
Now that the container version got bumped, we need to reland this.
Commit: 70a20757e8fff0a56cd7f95c2854b0fa68e7089c
https://github.com/llvm/llvm-project/commit/70a20757e8fff0a56cd7f95c2854b0fa68e7089c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update C++ DR status page
Commit: a64191053136078761a72fe800feedb8bcc70d31
https://github.com/llvm/llvm-project/commit/a64191053136078761a72fe800feedb8bcc70d31
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[clang][CGObjC] Remove unused ExternalProtocolPtrTy (NFC) (#133870)
This function was previously used to get a type to the protocol that
was used to bitcast the initializer of GenerateProtocol. This bitcast
has later been removed (thanks to opaque pointers), but the member was
left behind.
History:
- 020de3254acc3 used ExternalProtocolPtrTy
- 34ee69b4ce662 removes the bitcast
Also technically part of #123569
Commit: 75bbf768a4ae3d9f6cd45ab7448acf3792d94d82
https://github.com/llvm/llvm-project/commit/75bbf768a4ae3d9f6cd45ab7448acf3792d94d82
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] Linux's eventfd interception. (#132836)
Commit: 6c9e098b397fa8802b701a3a4ac827476b33568e
https://github.com/llvm/llvm-project/commit/6c9e098b397fa8802b701a3a4ac827476b33568e
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] symlink/symlinkat interception. (#134168)
Commit: 008e3a0b3d08a863f777d67e067eed75f0c08402
https://github.com/llvm/llvm-project/commit/008e3a0b3d08a863f777d67e067eed75f0c08402
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[ValueTracking] Test for trunc nuw cond in assume. (NFC)
Commit: 16573315d986568641e536c37c84fcc5dd161bf6
https://github.com/llvm/llvm-project/commit/16573315d986568641e536c37c84fcc5dd161bf6
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
Log Message:
-----------
[InstCombine] Test for fold of and of icmps with operands in the range(0,2) (NFC)
proof https://alive2.llvm.org/ce/z/xeazCu
this is a regression found in https://github.com/llvm/llvm-project/pull/128861
This fold is done when icmp eq/ne x, 1/0 is folded to trunc nuw x iff x is in the range(0,2)
Commit: cd54cb062bba9c90a8f3723bf66caa7effbcf259
https://github.com/llvm/llvm-project/commit/cd54cb062bba9c90a8f3723bf66caa7effbcf259
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/Headers/amxcomplexintrin.h
Log Message:
-----------
[X86][AMX] Add missing __inline__ for AMXCOMPLEX intrinsics, NFCI (#134484)
Found by #64779.
Commit: 13799998c06984f808ff687e7866441a3135fd18
https://github.com/llvm/llvm-project/commit/13799998c06984f808ff687e7866441a3135fd18
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
Log Message:
-----------
[EquivalenceClasses] Use DenseMap instead of std::set. (NFC) (#134264)
Replace the std::set with DenseMap, which removes the requirement for an
ordering predicate. This also requires to allocate the ECValue objects
separately. This patch uses a BumpPtrAllocator.
Follow-up to https://github.com/llvm/llvm-project/pull/134075.
Compile-time impact is mostly neutral or slightly positive:
https://llvm-compile-time-tracker.com/compare.php?from=ee4e8197fa67dd1ed6e9470e00708e7feeaacd97&to=242e6a8e42889eebfc0bb5d433a4de7dd9e224a7&stat=instructions:u
Commit: 475cbf0ad6e72f33e5ba5890a1c6e84e39a19e83
https://github.com/llvm/llvm-project/commit/475cbf0ad6e72f33e5ba5890a1c6e84e39a19e83
Author: James E T Smith <jamesETsmith at users.noreply.github.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/out_value_result.h
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/numeric.inc
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/support/test_iterators.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement ranges::iota (#68494)
# Overview
As a disclaimer, this is my first PR to LLVM and while I've tried to
ensure I've followed the LLVM and libc++ contributing guidelines,
there's probably a good chance I missed something. If I have, just let
me know and I'll try to correct it as soon as I can.
This PR implements `std::ranges::iota` and
`std::ranges::out_value_result` outlined in
[P2440r1](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2440r1.html).
As outlined in the paper above, I've:
- Implemented `out_value_result` and added to `<algorithm>`
- Added `out_value_result`, `iota_result`, and two overloads of `iota`
to `std::ranges` in `<numeric>`
- Updated the version macro `__cpp_lib_ranges_iota` in `<version>`
I've also added tests for `ranges::iota` and `ranges::out_value_result`.
Lastly, I added those structs to the appropriate module files.
Partially implements #105184
EDIT: Forgot to mention in the original post, thanks to @hawkinsw for
taking a look at a preliminary version of this PR!
# TODOs
- [x] Updating the range [status
doc](https://github.com/jamesETsmith/llvm-project/blob/main/libcxx/docs/Status/RangesMajorFeatures.csv)
- [x] Ensure all comments from https://reviews.llvm.org/D121436 are
addressed here
- [X] EDIT (I'll do this in a separate PR). ~~I'm open to implementing
the rest of P2440r1 (`ranges::shift_left` and `ranges::shift_right`) if
that's ok, I just wanted to get feedback on `ranges::iota` first~~
- [x] I've been having trouble building the modules locally and want to
make sure that's working properly
Closes: #134060
Commit: 68ce637872a2e1a1dedbb9caa6eacf15ec5c7b99
https://github.com/llvm/llvm-project/commit/68ce637872a2e1a1dedbb9caa6eacf15ec5c7b99
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Replace after legalizing constants (#134384)
When folding an op during a conversion, first try to legalize all
generated constants, then replace the original operation. This is
slightly more efficient because fewer rewrites must be rolled back in
case a generated constant could not be legalized.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Commit: fcead25550bb727215919ecf2dfad17765223c19
https://github.com/llvm/llvm-project/commit/fcead25550bb727215919ecf2dfad17765223c19
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/LLDBAssert.h
Log Message:
-----------
[lldb] Fix building with GCC without asserts
This case was missed in 03604a784011bec2292f900b118d825f34f8cf89.
Commit: 13faa819168e568404bee320ca7db9bc386f081f
https://github.com/llvm/llvm-project/commit/13faa819168e568404bee320ca7db9bc386f081f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
A llvm/test/CodeGen/AArch64/typepromotion-gep.ll
M llvm/test/CodeGen/AArch64/typepromotion-phisret.ll
M llvm/test/Transforms/TypePromotion/ARM/phis-ret.ll
M llvm/test/Transforms/TypePromotion/ARM/pointers.ll
Log Message:
-----------
[TypePromotion] Do not zero-extend getelementptr indexes since signed
A miscompilation issue has been addressed with improved handling.
Fixes: https://github.com/llvm/llvm-project/issues/133928.
Alive2: https://alive2.llvm.org/ce/z/gcMNvS.
Commit: c07ab9e2ab0f288c10af172d11a3936b89b952fb
https://github.com/llvm/llvm-project/commit/c07ab9e2ab0f288c10af172d11a3936b89b952fb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
Log Message:
-----------
[VPlan] Set debug location for recipes in VPBB::executeRecipes.
Set the debug location for each recipe before executing the recipe,
instead of ad-hoc setting the debug location during individual recipe
execution.
This simplifies the code and ensures that all recipe repsect the
recipe's debug location. There are some minor changes, where previously
we would re-use a previously set debug location.
Commit: 6ac5cbdd29b630259432fc5b478cd2ddf78a17cd
https://github.com/llvm/llvm-project/commit/6ac5cbdd29b630259432fc5b478cd2ddf78a17cd
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/PassSupport.h
Log Message:
-----------
[NFC][LLVM] Eliminate duplicate code in INITIALIZE_PASS macros (#134457)
- Refactor INITIALIZE_PASS and INITIALIZE_PASS_WITH_OPTIONS macros to
eliminate some code duplication.
Commit: 33246f79e87a0e629ae776d1811a1175a3f10065
https://github.com/llvm/llvm-project/commit/33246f79e87a0e629ae776d1811a1175a3f10065
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AArch64/label-arithmetic-diags-darwin.s
M llvm/test/MC/ELF/bad-expr.s
M llvm/test/MC/X86/macho-reloc-errors-x86_64.s
Log Message:
-----------
[MC] Rework evaluateSymbolicAdd to eliminate MCValue::SymB reliance
Reworked evaluateSymbolicAdd and isSymbolRefDifferenceFullyResolved to
remove their reliance on MCValue::SymB, which previously used the
MCSymbolRefExpr member when folding two symbolic expressions. This
dependency prevented replacing MCValue::SymB with a MCSymbol. By
refactoring, we enable this replacement, which is a more significant
improvement.
Note that this change eliminates the rare "unsupported subtraction of
qualified symbol" diagnostic, resulting in a minor loss of information.
However, the benefit of enabling MCValue::SymB replacement with MCSymbol
outweighs this slight regression.
Commit: cadfaa83ff1f7d9f983b23a756f25884a3d6314c
https://github.com/llvm/llvm-project/commit/cadfaa83ff1f7d9f983b23a756f25884a3d6314c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
Log Message:
-----------
[AVR,CSKY] Migrate away from MCValue::getSymB
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: b4f7a2ab578957657336a598220fce6fc00f56b5
https://github.com/llvm/llvm-project/commit/b4f7a2ab578957657336a598220fce6fc00f56b5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
Log Message:
-----------
[libc++] Bump OS version for macOS backdeployment CI jobs (#131883)
In 0547e573c555, I introduced backdeployment testing on macOS using
Github-provided builders. This was done by basically building libc++ on
a slightly older macOS (like macOS 13) and then running against the
system library on that machine. However, that created a dependency that
libc++ must keep working on macOS 13, which doesn't support the
latest-released Xcode.
This patch solves that problem by moving the deployment testing to a
newer version of macOS which supports the latest-released version of
Xcode.
Sadly, that also reduces the backdeployment coverage we have since we're
not actually testing on older OSes, but is necessary to satisfy the
documented libc++ support policy. In the future, we could improve the
situation by providing a Lit configuration that allows compiling (but
not running) all the tests, building the tests on a supported macOS, and
then shipping those tests on an older backdeployment target in order to
run them against the system library. Since that requires significant
engineering, this isn't done at this time.
Commit: 5e8f43811acfd72ac5da4df2a5436b27ad1eeab4
https://github.com/llvm/llvm-project/commit/5e8f43811acfd72ac5da4df2a5436b27ad1eeab4
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCValue: Make getSymB private and improve documentation
Commit: ed2b82fb8b066f8c269be9e403ee20d86b5ead8a
https://github.com/llvm/llvm-project/commit/ed2b82fb8b066f8c269be9e403ee20d86b5ead8a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCValue.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
Log Message:
-----------
MCValue: Change getAccessVariant to return uint16_t
Some targets encode the relocation specifier within SymA using
MCSymbolRefExpr::SubclassData. They will cast the specifier
to *MCExpr::Specifier.
Migrate away from the confusing MCSymbolRefExpr::VariantKind.
Note: getAccessVariant is a deprecated method to get the relocation
specifier.
Commit: 582b1b2ac9de696debe6041aa500141c2fef5aa3
https://github.com/llvm/llvm-project/commit/582b1b2ac9de696debe6041aa500141c2fef5aa3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Use env variable to enable pip breaking system packages
This patch uses an env variable instead of the --break-system-packages
flag. This enables the heterogenous configuration between the old and
new premerge systems as the old premerge container does not recognize
the --break-system-packages flag. An env variable will work on new
premerge and have no impact on old premerge.
Commit: 52eb11f925ddeba4e1b3840fd636ee87387f3ada
https://github.com/llvm/llvm-project/commit/52eb11f925ddeba4e1b3840fd636ee87387f3ada
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSpecifier(Target.getSymA()) with Target.getSymSpecifier()
Add MCValue::getSymSpecifier as a workaround for targets that encode the
relocation specifier on SymA. This function asserts that SymA is not
null.
Commit: 2fd6f8fb5e3a52e901276d97c285b8de66742985
https://github.com/llvm/llvm-project/commit/2fd6f8fb5e3a52e901276d97c285b8de66742985
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Don't add blocks to loop in GeneratedRTChecks (NFC).
Blocks will get added to parent loops as needed during VPlan execution.
Commit: 7ccdc3d5ca648c09bbeb86f5063f7b0ee3e9b5e2
https://github.com/llvm/llvm-project/commit/7ccdc3d5ca648c09bbeb86f5063f7b0ee3e9b5e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 086af836889436baffc71c743c7c8259bad8ed60
https://github.com/llvm/llvm-project/commit/086af836889436baffc71c743c7c8259bad8ed60
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: b1cd3cb3f42881a84ebc3da1dfae59637281d73c
https://github.com/llvm/llvm-project/commit/b1cd3cb3f42881a84ebc3da1dfae59637281d73c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: d71ee7d23048ca64d14a7536927a006867cea39a
https://github.com/llvm/llvm-project/commit/d71ee7d23048ca64d14a7536927a006867cea39a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Set C11 instead of C17 for LK_C (#134472)
Fix #134453
Commit: 0c84d71eda538b5ac73811f241d4a0555ff49099
https://github.com/llvm/llvm-project/commit/0c84d71eda538b5ac73811f241d4a0555ff49099
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 46a2f4174a051f29a09dbc3844df763571c67309
https://github.com/llvm/llvm-project/commit/46a2f4174a051f29a09dbc3844df763571c67309
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Revert "[LV] Don't add blocks to loop in GeneratedRTChecks (NFC)."
This reverts commit 2fd6f8fb5e3a52e901276d97c285b8de66742985.
This missed a possible case, causing buildbot failures.
Commit: 7cf8a6201a6eb549b8d41214afa2694e0c1e344c
https://github.com/llvm/llvm-project/commit/7cf8a6201a6eb549b8d41214afa2694e0c1e344c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
Log Message:
-----------
[AArch64,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 70f5632cadb82b1be813d7ba688b80e22df634e2
https://github.com/llvm/llvm-project/commit/70f5632cadb82b1be813d7ba688b80e22df634e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
[PowerPC,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: aeec94500a5dbd576e5d2d16895fe00fa0b1e154
https://github.com/llvm/llvm-project/commit/aeec94500a5dbd576e5d2d16895fe00fa0b1e154
Author: junfengd-nv <junfengd at nvidia.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M mlir/include/mlir/Transforms/Inliner.h
M mlir/include/mlir/Transforms/InliningUtils.h
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
A mlir/test/Transforms/test-inlining-callback.mlir
M mlir/test/lib/Transforms/CMakeLists.txt
M mlir/test/lib/Transforms/TestInlining.cpp
A mlir/test/lib/Transforms/TestInliningCallback.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][inliner] Add doClone and canHandleMultipleBlocks callbacks to Inliner Config (#131226)
Current inliner disables inlining when the caller is in a region with
single block trait, while the callee function contains multiple blocks.
the SingleBlock trait is used in operations such as do/while loop, for
example fir.do_loop, fir.iterate_while and fir.if. Typically, calls within
loops are good candidates for inlining. However, functions with multiple
blocks are also common. for example, any function with "if () then
return" will result in multiple blocks in MLIR.
This change gives the flexibility of a customized inliner to handle such
cases.
doClone: clones instructions and other information from the callee
function into the caller function. .
canHandleMultipleBlocks: checks if functions with multiple blocks can be
inlined into a region with the SingleBlock trait.
The default behavior of the inliner remains unchanged.
---------
Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 7e62715e0cd433ed97749549c6582c4e1aa689a3
https://github.com/llvm/llvm-project/commit/7e62715e0cd433ed97749549c6582c4e1aa689a3
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV,LoongArch,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Creating a MCSymbolRefExpr in *AsmBackend::handleAddSubRelocations is
not efficient, but it is temporary and will be replaced when MCValue no
longer uses MCSymbolRefExpr.
Commit: acca419685b0a288e0b06786e6e7bc27bb087578
https://github.com/llvm/llvm-project/commit/acca419685b0a288e0b06786e6e7bc27bb087578
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
Log Message:
-----------
[WebAssembly,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 0431fea88ac9a057d1c8751da7f9506cf51f54c5
https://github.com/llvm/llvm-project/commit/0431fea88ac9a057d1c8751da7f9506cf51f54c5
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
Log Message:
-----------
[AMDGPU,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: d9a767cfc802aca491f5f25fb386679ab1100621
https://github.com/llvm/llvm-project/commit/d9a767cfc802aca491f5f25fb386679ab1100621
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
[Mips,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Create a MipsMCExpr::create overload that takes MCSymbol as an argument.
We use the order preferred by other targets.
Commit: 590d2a3ca5fde93aff1ef1611f1361180adb1813
https://github.com/llvm/llvm-project/commit/590d2a3ca5fde93aff1ef1611f1361180adb1813
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
Log Message:
-----------
[Mips,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: f8f9be32411d63fa65832306cbc9207ef91446af
https://github.com/llvm/llvm-project/commit/f8f9be32411d63fa65832306cbc9207ef91446af
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
Log Message:
-----------
[ARM,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 7833107993e7df63301c655e0b4c49b2f625fa5e
https://github.com/llvm/llvm-project/commit/7833107993e7df63301c655e0b4c49b2f625fa5e
Author: Alan <ahulambda at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/include/llvm-c/DebugInfo.h
M llvm/test/CMakeLists.txt
Log Message:
-----------
[OCaml] Make OCaml MetadataKind type consistent with C API (#134507)
Fixes breakage of OCaml API introduced by commit 6894734.
Commit: 55ff96abfa08ec94b0f8f4ebe187a3232e9d92b7
https://github.com/llvm/llvm-project/commit/55ff96abfa08ec94b0f8f4ebe187a3232e9d92b7
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
Log Message:
-----------
[X86][Test] Reorder PassMgrF and OS. (#134481)
Reordering `OS` and `PassMgrF` should fix the asan failure that's caused
by OS being destroyed before `PassMgrF` deletes the AsmPrinter.
As shown in[ this asan run
](https://lab.llvm.org/buildbot/#/builders/52/builds/7340/steps/12/logs/stdio)
```
This frame has 15 object(s):
[32, 48) 'PassMgrF' (line 154)
[64, 1112) 'Buf' (line 155)
[1248, 1304) 'OS' (line 156) <== Memory access at offset 1280 is inside this variable
```
which indicates an ordering problem.
This should help to fix all the sanitizer failures caused by the test
`X86MCInstLowerTest.cpp` that's introduced by [this
PR](https://github.com/llvm/llvm-project/pull/133352#issuecomment-2780173791).
Commit: aaaeb86acea77c5bcdb60011ce6aaaf4ebca4081
https://github.com/llvm/llvm-project/commit/aaaeb86acea77c5bcdb60011ce6aaaf4ebca4081
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Merge inline short functions for BS_Whitesmiths (#134473)
Fix #126747
Commit: 94821ce45fe93aa78cc5ea03cd9deac91b7af127
https://github.com/llvm/llvm-project/commit/94821ce45fe93aa78cc5ea03cd9deac91b7af127
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/CSKY/relocation-specifier.s
Log Message:
-----------
MCValue: Store SymA specifier at Specifier
The relocation specifier should be accessed via MCValue::Specifier.
However, some targets encode the relocation specifier within SymA using
MCSymbolRefExpr::SubclassData and access it via getAccessVariant(), though
this method is now deprecated.
This change stores the SymA specifier at Specifier as well, unifying the
two code paths.
* CSKY: GOT- and PLT- relocations now suppress the STT_SECTION
conversion.
* AArch64: https://reviews.llvm.org/D156505 added `getRefkind` check to
prevent folding. This is a hack and is now removed.
MCValue: Unify relocation specifier storage by storing SymA specifier at Specifier
The relocation specifier is accessed via MCValue::Specifier, but some
targets encoded it within SymA using MCSymbolRefExpr::SubclassData and
retrieved it through the now-deprecated getAccessVariant() method. This
commit unifies the two approaches by storing the SymA specifier at
`Specifier` as well.
Additional changes:
- CSKY: GOT- and PLT- relocations now suppress STT_SECTION conversion.
- AArch64: Removed the `getRefkind` check hack (introduced in https://reviews.llvm.org/D156505) that prevented folding.
Removed the assertion from `getRelocType`.
- RISCV: Removed the assertion from `getRelocType`.
Future plans:
- Replace MCSymbolRefExpr members with MCSymbol within MCValue.
- Remove `getSymSpecifier` (added for migration).
Commit: 38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc
https://github.com/llvm/llvm-project/commit/38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
Log Message:
-----------
Define MCAsmBackend::shouldForceRelocation
Return true if the MCValue has a specifier. When a relocation specifier
is specified, GNU Assembler will generate a relocation unless the
specifier can be optimized due to target-specific reasons (e.g. PPC `@l`
`@ha`).
This reduces targets' reliance on a MCAssembler::evaluateFixup hack
`if (Target.SymSpecifier || SA.isUndefined()) {`, previosuly
`if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {`
llvm/test/MC/SystemZ/fixups.s is known to rely on this hack.
Commit: 4182d2dcb5ecbfc34d41a6cd11810cd36844eddb
https://github.com/llvm/llvm-project/commit/4182d2dcb5ecbfc34d41a6cd11810cd36844eddb
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
[ARM,PowerPC] shouldForceRelocation: check MCValue::Specifier
Follow-up to 38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc
Removes reliance on a MCAssembler::evaluateFixup hack
`if (Target.SymSpecifier || SA.isUndefined()) {` (previosuly
`if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {`)
Target.SymSpecifier will soon go away when MCValue replaces
MCSymbolRefExpr members with MCSymbol and removes the temporary
`SymSpecifier` workaround.
Commit: d5893fc2a7e1191afdb4940469ec9371a319b114
https://github.com/llvm/llvm-project/commit/d5893fc2a7e1191afdb4940469ec9371a319b114
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
Log Message:
-----------
MCValue: Replace MCSymbolRefExpr members with MCSymbol
Commit 0999cbd0b9ed8aa893cce10d681dec6d54b200ad (2014) introduced
`MCValue::RefKind` for AArch64 ELF as a clean approach to encode the
relocation specifier.
Following numerous migration commits, direct references to getSymA and
getSymB have been eliminated. This allows us to seamlessly update SymA
and SymB, replacing MCSymbolRefExpr with MCSymbol.
Removeing reliance on a MCAssembler::evaluateFixup hack
(`if (Target.SymSpecifier || SA.isUndefined()) {` (previosuly
`if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {`))
requires 38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc and 4182d2dcb5ecbfc34d41a6cd11810cd36844eddb
Revert the temporary RISCV/LoongArch workaround
(7e62715e0cd433ed97749549c6582c4e1aa689a3) during migration.
MCAssembler::evaluateFixup needs an extra `!Add->isAbsolute()` case
to support `movq abs at GOTPCREL(%rip), %rax; abs = 42` in llvm/test/MC/ELF/relocation-alias.s
(ELFObjectWriter::isSymbolRefDifferenceFullyResolvedImpl asserts if
called on an absolute symbol).
Commit: 803fbdd1faa813303cda3d93b3364eca2344ab6a
https://github.com/llvm/llvm-project/commit/803fbdd1faa813303cda3d93b3364eca2344ab6a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
R llvm/test/MC/PowerPC/ppc64-errors-emit-obj.s
A llvm/test/MC/PowerPC/relocation-specifier-err.s
Log Message:
-----------
[PowerPC] Report proper error for invalid relocation specifier
Generalize the test from https://reviews.llvm.org/D83255
Replace getAccessVariant with MCValue::getSpecifier
Simplify code after MCValue improvement 94821ce45fe93aa78cc5ea03cd9deac91b7af127
Commit: e5923936109ce4ce7be2c8fb3372b14d33c385d9
https://github.com/llvm/llvm-project/commit/e5923936109ce4ce7be2c8fb3372b14d33c385d9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
Log Message:
-----------
MCValue: Replace getSymSpecifier with getSpecifier
Commit 52eb11f925ddeba4e1b3840fd636ee87387f3ada temporarily introduced
getSymSpecifier to prepare for "MCValue: Replace MCSymbolRefExpr members
with MCSymbol" (d5893fc2a7e1191afdb4940469ec9371a319b114). The
refactoring is now complete.
Commit: 8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e
https://github.com/llvm/llvm-project/commit/8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
MCValue: Replace getAccessVariant with getSpecifier
Commit 52eb11f925ddeba4e1b3840fd636ee87387f3ada temporarily introduced
getSymSpecifier to prepare for "MCValue: Replace MCSymbolRefExpr members
with MCSymbol" (d5893fc2a7e1191afdb4940469ec9371a319b114). The
refactoring is now complete.
Commit: 7cb66ff4648a15741a1908658dfef5cb3d4a9199
https://github.com/llvm/llvm-project/commit/7cb66ff4648a15741a1908658dfef5cb3d4a9199
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
R llvm/test/MC/PowerPC/pr24686.s
M llvm/test/MC/PowerPC/relocation-specifier-err.s
Log Message:
-----------
[PowerPC] Use reportError
Report a proper error and fix de1dc9c98f9ce74d38aceb44e00d258370d1bb34
Commit: e7dc05ebcf50a620bc2307207bfd27620c6ca648
https://github.com/llvm/llvm-project/commit/e7dc05ebcf50a620bc2307207bfd27620c6ca648
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCValue.cpp
Log Message:
-----------
MCValue: Make print private
This is a debug-only feature (the relocation specifier is
target-specific and cannot be printed without backend support) and not
supposed to be used externally. PowerPC imappropriated used it
(removed by 7cb66ff4648a15741a1908658dfef5cb3d4a9199).
Commit: c0b4a8edfe2349b912890951a49a32b6a27747af
https://github.com/llvm/llvm-project/commit/c0b4a8edfe2349b912890951a49a32b6a27747af
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
Log Message:
-----------
MCValue: Replace getRefKind with getSpecifier
Commit: 53e1c8b118792b0177bff69d806c9e00034ceb1c
https://github.com/llvm/llvm-project/commit/53e1c8b118792b0177bff69d806c9e00034ceb1c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
Log Message:
-----------
AArch64MCExpr: Remove unused getSpecifier
Commit: 8d71a2a905508f32ed201920ef7ac15a3ad8e4e6
https://github.com/llvm/llvm-project/commit/8d71a2a905508f32ed201920ef7ac15a3ad8e4e6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Use ExitBocks to check in VPlan::isExitBlock (NFC).
Exit blocks of the VPlan are now hold in ExitBlocks. Use it to check if
a block is an exit block. Otherwise we currently mis-classify the scalar
loop header also as exit block, as it is not explicitly connected to the
exit blocks.
NFC at the moment, as the helper currently is never queried with the
scalar header, but that will change in the future.
Commit: 7013b51548c0bd2c7e5564735c44506909a2f8dc
https://github.com/llvm/llvm-project/commit/7013b51548c0bd2c7e5564735c44506909a2f8dc
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/flat_set
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/flat_set.inc
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++] Implement `std::flat_multiset` (#128363)
fixes https://github.com/llvm/llvm-project/issues/105193
Commit: 0a1742708ddc3a2b31d65479aaad143b5f7562b2
https://github.com/llvm/llvm-project/commit/0a1742708ddc3a2b31d65479aaad143b5f7562b2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
A llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
Log Message:
-----------
[SelectionDAG] Wire up -gen-sdnode-info TableGen backend (#125358)
This patch introduces SelectionDAGGenTargetInfo and SDNodeInfo classes,
which provide methods for accessing the generated SDNode descriptions.
Pull Request: https://github.com/llvm/llvm-project/pull/125358
Draft PR: https://github.com/llvm/llvm-project/pull/119709
RFC: https://discourse.llvm.org/t/rfc-tablegen-erating-sdnode-descriptions
Commit: 3e08dcd767a217fa91580704a378b37167e20f74
https://github.com/llvm/llvm-project/commit/3e08dcd767a217fa91580704a378b37167e20f74
Author: Benjamin Kramer <kramerb at google.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M mlir/include/mlir/Transforms/Inliner.h
M mlir/include/mlir/Transforms/InliningUtils.h
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/test/lib/Transforms/TestInliningCallback.cpp
Log Message:
-----------
[mlir][inliner] Move callback types from InlinerConfig -> InlinerInterface. NFC.
The proper layering here is that Inliner depends on InlinerUtils, and
not the other way round. Maybe it's time to give InliningUtils a less
terrible file name.
Commit: 283a78a088bc669f31d8a3567265b1a3ab129487
https://github.com/llvm/llvm-project/commit/283a78a088bc669f31d8a3567265b1a3ab129487
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
Reapply "[LV] Don't add blocks to loop in GeneratedRTChecks (NFC)."
This reverts commit 46a2f4174a051f29a09dbc3844df763571c67309.
Recommits 2fd6f8fb5e3a with corresponding VPlan change to ensure
LoopInfo is updated for all blocks during VPlan execution if needed.
Commit: ba3fa39b63d7185f7d067f35a39c2fea40ee8861
https://github.com/llvm/llvm-project/commit/ba3fa39b63d7185f7d067f35a39c2fea40ee8861
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/test/Transforms/EarlyCSE/AArch64/intrinsics.ll
Log Message:
-----------
[EarlyCSE] Re-generate checks for intrinsics.ll.
Commit: 0defd832eb7c0618a67556e6fcbd32dd19e88b97
https://github.com/llvm/llvm-project/commit/0defd832eb7c0618a67556e6fcbd32dd19e88b97
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
Log Message:
-----------
[AArch64] Avoid unused variable warnings in release builds
This used to be under !NDEBUG before
0a1742708ddc3a2b31d65479aaad143b5f7562b2, so just put that back. The
code only consists of assertions.
Commit: 449e2f5d66d9d99f58611a8778d688e14d051ca0
https://github.com/llvm/llvm-project/commit/449e2f5d66d9d99f58611a8778d688e14d051ca0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove more DT updates from legacy code path (NFCI).
Remove some legacy DT updates. Those should already be handled when
updating the DT during VPlan execution.
Commit: 48441cb8a2fa3b3f9502ba4ba1242746615841cb
https://github.com/llvm/llvm-project/commit/48441cb8a2fa3b3f9502ba4ba1242746615841cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/analysis-invalidation.ll
Log Message:
-----------
[Matrix] Properly set Changed status when optimizing transposes.
Currently Changed is not updated properly when transposes are optimized,
causing missing analysis invalidation. Update optimizeTransposes to
indicate if changes have been made.
Commit: eb70253fcbe57c7cb3c309c06b94b05f2eab314d
https://github.com/llvm/llvm-project/commit/eb70253fcbe57c7cb3c309c06b94b05f2eab314d
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef/DataLayout] Spell out requirements for alignment values (#104705)
For 'p' the added wording matches the implementation.
For 'i', 'f', 'v' the implementation also allows 0 for `<pref>`
component, making 'i16:16:0' valid, for example. 'Fi0', 'Fn0' and 'S0'
are also currently accepted. This is likely unintentional. There are no
tests in the codebase that rely on this behavior, so the added wording
prohibits zero alignments for these specifications.
For 'a', the implementation currently allows 0 for both `<abi>` and
`<pref>` components. The added wording prohibits specifying zero for
`<pref>` with the same justification as above. Zero `<abi>` is used in
tests, and the example at the end of the section suggests that this is
valid, so that's left unchanged.
This effectively prohibits zero alignments everywhere except for the
`<abi>` component of aggregate specification.
Commit: 976de53f1008a9e06c94a99fdd59d0f523feaef7
https://github.com/llvm/llvm-project/commit/976de53f1008a9e06c94a99fdd59d0f523feaef7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
[MC,MachO] Replace SectionAddrMap workaround with cleaner variable handling
Mach-O's ARM and X86 writers use MCExpr's `SectionAddrMap *Addrs`
argument to compute label differences, which was a bit of a hack. The
AArch64MachObjectWriter does this better by using `getSymbolAddress` in
its `recordRelocation` function.
This commit:
1. Moves the `SectionAddrMap` logic into the Mach-O code, removing the
workaround.
2. Fixes a bug in `MachObjectWriter::getSymbolAddress` where it failed
to subtract the `SymB` value. This bug has been present since commit
b200f93125eb019d69c220fa447faea4f5d4eb8a (2011).
Commit: b90a92687f399df5afe3e1a2493b0d9c6295ac8c
https://github.com/llvm/llvm-project/commit/b90a92687f399df5afe3e1a2493b0d9c6295ac8c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCExpr: Remove unused SectionAddrMap workaround
Mach-O's ARM and X86 writers use MCExpr's `SectionAddrMap *Addrs`
argument to compute label differences, which was a bit of a hack.
The hack has been cleaned up by commit
1b7759de8e6979dda2d949b1ba1c742922e5c366.
Commit: 12a377ed71ca1116c3f8f848ec8c7a24b116c180
https://github.com/llvm/llvm-project/commit/12a377ed71ca1116c3f8f848ec8c7a24b116c180
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[LV] Add test for mis-compile when narrowing interleave groups.
Add test case showing mis-compile due to unrolling vector-pointer
recipes after 6b98134.
Commit: 768ccf69f3febe962e0d63dc87fbee31e59547a7
https://github.com/llvm/llvm-project/commit/768ccf69f3febe962e0d63dc87fbee31e59547a7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSymbolRefExpr: Remove HasSubsectionsViaSymbolsBit
This information is only needed assembly time and we
can get it with Asm->getContext().getAsmInfo()->hasSubsectionsViaSymbols().
Commit: 464286ba633b30bf0bfa9971ec0d61778ccc7561
https://github.com/llvm/llvm-project/commit/464286ba633b30bf0bfa9971ec0d61778ccc7561
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[VPlan] Don't narrow interleave groups if there are vector pointers.
Do not narrow interleave groups if there are VectorPointer recipes and
the plan was unrolled. The recipe implicitly uses VF from VPTransformState.
Commit: 146ad71bc71a9cbecccea307bbd157ec910ae82a
https://github.com/llvm/llvm-project/commit/146ad71bc71a9cbecccea307bbd157ec910ae82a
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[IR] Deprecate PointerType::get/getUnqual pointee type overload (#134517)
Deprecates the methods and schedules them for removal in the future as
the overloads taking LLVMContext are preferred, as the pointee type
has no meaning in opaque pointers.
>From what my clangd can tell, there are no usages left in the monorepo
Part of #123569
Commit: f2987f255ae99cc43cd0da61ac42150af71b0ad6
https://github.com/llvm/llvm-project/commit/f2987f255ae99cc43cd0da61ac42150af71b0ad6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
Log Message:
-----------
[X86][AVX10] Make warning message more informative, NFCI (#134528)
Commit: aef000dd43b8ee2397e71f877217a9ecbd23c608
https://github.com/llvm/llvm-project/commit/aef000dd43b8ee2397e71f877217a9ecbd23c608
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] fix serialization of SubstNonTypeTemplateParmExpr (#134560)
This fixes a couple of mistakes introduced when merging
https://github.com/llvm/llvm-project/pull/132748
Fixes msan failure reported here:
https://github.com/llvm/llvm-project/pull/132748#issuecomment-2781105225
Commit: c9497a22ef9f9802401cf0cf3352dcbd4f14bcbd
https://github.com/llvm/llvm-project/commit/c9497a22ef9f9802401cf0cf3352dcbd4f14bcbd
Author: Alan <ahulambda at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/test/Bindings/OCaml/debuginfo.ml
Log Message:
-----------
[OCaml] Fix test with invalid usage of #dbg_declare (#134508)
Even though #dbg_declare can only describe pointers, one of the OCaml
tests tried to add a #dbg_declare to an i32 argument. The change
introduced in ecd4c08 caught this incorrect usage.
Commit: da6e2454fff3fbc86861e31b60f18d3467354375
https://github.com/llvm/llvm-project/commit/da6e2454fff3fbc86861e31b60f18d3467354375
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
Log Message:
-----------
[clang-tidy] Improve `bugprone-capturing-this-in-member-variable` check: add support of `bind` functions. (#132635)
Improve `bugprone-capturing-this-in-member-variable` check:
Added support of `bind`-like functions that capture and store `this`
pointer in class member.
Closes https://github.com/llvm/llvm-project/issues/131220.
Commit: 8f0d8d28ccd8a1ced82a744679c5152f90e80c77
https://github.com/llvm/llvm-project/commit/8f0d8d28ccd8a1ced82a744679c5152f90e80c77
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-doconc.cuf
Log Message:
-----------
Delete duplicated hlfir.declare op of induction variables of do concurrent when inside cuf kernel directive. (#134467)
Delete duplicated creation of hlfir.declare op of do concurrent
induction variables when inside cuf kernel directive.
Obtain the correct hlfir.declare op generated from bindSymbol, and add
it to ivValues.
Commit: 6ce0fd7f74502a75120bef43f12f56e3a5d80dfd
https://github.com/llvm/llvm-project/commit/6ce0fd7f74502a75120bef43f12f56e3a5d80dfd
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M clang/test/CXX/drs/cwg15xx.cpp
Log Message:
-----------
[clang] NFC: clean trailing whitespaces in clang/test/CXX/drs/cwg15xx.cpp
Commit: 0d68bad78a68874c31cdb337f97a0c4336b1125b
https://github.com/llvm/llvm-project/commit/0d68bad78a68874c31cdb337f97a0c4336b1125b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
Log Message:
-----------
IR: Fix typo in unreachable message
Commit: e90d40afaff3124408d79ae8ef96ae021ff4f8cf
https://github.com/llvm/llvm-project/commit/e90d40afaff3124408d79ae8ef96ae021ff4f8cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/Transforms/NaryReassociate/nary-add.ll
M llvm/test/Transforms/NaryReassociate/nary-mul.ll
M llvm/test/Transforms/NaryReassociate/nary-req.ll
M llvm/test/Transforms/NaryReassociate/nary-smax.ll
M llvm/test/Transforms/NaryReassociate/nary-smin.ll
M llvm/test/Transforms/NaryReassociate/nary-umax.ll
M llvm/test/Transforms/NaryReassociate/nary-umin.ll
M llvm/test/Transforms/NaryReassociate/pr24301.ll
Log Message:
-----------
NaryReassociate: Remove redundant run lines
These only differed in quoting the passes argument or not. There
is further redundancy in some of these tests, but they split the
invocation across multiple opt runs
Commit: d9ccfd7568337c4e38211eabd87818fb39573004
https://github.com/llvm/llvm-project/commit/d9ccfd7568337c4e38211eabd87818fb39573004
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[mlir][llvm] Respect call noinline attr in inliner (#134493)
This commit extends the LLVM dialect inliner interface to respect the
call op's noinline attribute. This is a follow-up to
https://github.com/llvm/llvm-project/pull/133726
which added the noinline attribute to the LLVM dialect call op.
Commit: f280d60c9839120618da353ab71004be33c4fa53
https://github.com/llvm/llvm-project/commit/f280d60c9839120618da353ab71004be33c4fa53
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
Log Message:
-----------
[CSKY] Simplify shouldForceRelocation with MCValue::Specifier
Commit: 87a4215ed154e867683b10c8d7fe1dbc79d81abb
https://github.com/llvm/llvm-project/commit/87a4215ed154e867683b10c8d7fe1dbc79d81abb
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/CodeGen/CodeGenAction.cpp
A clang/test/CodeGen/invalid_llvm_ir.ll
Log Message:
-----------
[Clang] Always verify LLVM IR inputs (#134396)
We get a lot of issues that basically boil down to "I passed malformed
LLVM IR to clang and it crashed". Clang does not perform IR verification
by default in (non-assertion-enabled) release builds, and that's
sensible for IR that Clang itself produces, which is expected to always
be valid. However, if people pass in their own handwritten IR, we should
report if it is malformed, instead of crashing. We should also report it
in a way that does not produce a crash trace and ask for a bug report,
as currently happens in assertions-enabled builds. This aligns the
behavior with how opt/llc work.
Commit: 31ef7acf12e7f5011a813dcfd08b821ec44865f0
https://github.com/llvm/llvm-project/commit/31ef7acf12e7f5011a813dcfd08b821ec44865f0
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
A clang/test/Analysis/castsize.c
Log Message:
-----------
[clang][analyzer] Fix a possible crash in CastSizeChecker (#134387)
Commit: 7b3b4a5b1b5f8c3ae6855c92cdbe783c804408ea
https://github.com/llvm/llvm-project/commit/7b3b4a5b1b5f8c3ae6855c92cdbe783c804408ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
M llvm/test/Transforms/Mem2Reg/ignore-droppable.ll
M llvm/test/Transforms/SROA/assume.ll
M llvm/test/Transforms/SROA/ignore-droppable.ll
Log Message:
-----------
IR: Use poison in dropDroppableUse (#134576)
Commit: 4a5ff3ec21d0c6476d0da93b8550ba93560a5cbe
https://github.com/llvm/llvm-project/commit/4a5ff3ec21d0c6476d0da93b8550ba93560a5cbe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
Log Message:
-----------
Value: Remove redundant removeFromList in dropDroppableUse (#134580)
Commit: 2f8b486f979f4b89929a447f516fd1da9a659834
https://github.com/llvm/llvm-project/commit/2f8b486f979f4b89929a447f516fd1da9a659834
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/unreachable-loops.ll
Log Message:
-----------
[IR][JumpThreading] Fix infinite recursion on compare self-reference (#129501)
In unreachable code, constant PHI nodes may appear and be replaced by their
single value. As a result, instructions may become self-referencing. This
commit adds checks to avoid going into infinite recursion when handling
self-referencing compare instructions in `evaluateOnPredecessorEdge()`.
This LLVM defect was identified via the AMD Fuzzing project.
Commit: 04bb8ecb05ae4dc2a0407503678e0cef79c1d46c
https://github.com/llvm/llvm-project/commit/04bb8ecb05ae4dc2a0407503678e0cef79c1d46c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
Log Message:
-----------
AMDGPU: Disable sincos fold for constant inputs (#134579)
Commit: 4a425a4966d6421674d4300e32b0eb57ebade65a
https://github.com/llvm/llvm-project/commit/4a425a4966d6421674d4300e32b0eb57ebade65a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
Log Message:
-----------
NaryReassociate: Check pattern before user scan (#134587)
Commit: 44e32fb80272b77186b42c7583dd0ed8ad668af4
https://github.com/llvm/llvm-project/commit/44e32fb80272b77186b42c7583dd0ed8ad668af4
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
Log Message:
-----------
[Clang][OpenCL] Fix wait_for_event argument address space with -fdeclare-opencl-builtins (#134598)
The pointer argument for `wait_for_event(int, event_t*)` should take the
default address space: generic if available, otherwise private.
Before this patch it would always be generic with
`-fdeclare-opencl-builtins`. This was inconsistent with the behavior
when opencl-c.h is included.
Commit: f20cb3f8d2d4e97760a1a589290224a33ec60473
https://github.com/llvm/llvm-project/commit/f20cb3f8d2d4e97760a1a589290224a33ec60473
Author: Mike <FruitClover at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OptimizeAllocationLiveness.cpp
M mlir/test/Dialect/Bufferization/Transforms/optimize-allocation-liveness.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][bufferization] Drop the assumption for alloc result index (#134503)
Relax the assumption that alloc op always has allocation at
`getResult(0)`, allow to use `optimize-allocation-liveness` pass for
custom ops with >1 results. Ops with multiple allocations are not
handled here yet.
Commit: be6ccc98f38227db02164f17bfaf0ac86d800e4a
https://github.com/llvm/llvm-project/commit/be6ccc98f38227db02164f17bfaf0ac86d800e4a
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Split out VPBlendRecipe simplifications from simplifyRecipes. NFC (#134073)
This is split off from #133977
VPBlendRecipe normalisation is sensitive to the number of users a mask
has, so should probably be run after the masks are simplified as much as
possible.
Note this could be run after removeDeadRecipes but this causes test
diffs, some regressions, so this is left to a later patch.
Commit: 387a8859cfea9e6f8282f14f21064d9ec562e66a
https://github.com/llvm/llvm-project/commit/387a8859cfea9e6f8282f14f21064d9ec562e66a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI.
Commit: 679b2f714a3a3cbf487480127a4cc6ed296c7fab
https://github.com/llvm/llvm-project/commit/679b2f714a3a3cbf487480127a4cc6ed296c7fab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: ec400277c6810915a501fa901e9ba58ab6ade831
https://github.com/llvm/llvm-project/commit/ec400277c6810915a501fa901e9ba58ab6ade831
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: 65c7ea713e0b411a707b0ccac374bda9f30234ea
https://github.com/llvm/llvm-project/commit/65c7ea713e0b411a707b0ccac374bda9f30234ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
SLPVectorizer: Avoid looking at uselists of constants (#134578)
Commit: 431c8dd0736c61176831750783d1195b9aa1a308
https://github.com/llvm/llvm-project/commit/431c8dd0736c61176831750783d1195b9aa1a308
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
R mlir/test/Conversion/MemRefToLLVM/invalid-uint.mlir
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
R mlir/test/Conversion/MemRefToLLVM/issue-70160.mlir
Log Message:
-----------
[mlir][IR] Add support for UnknownLoc to `verify-diagnostics` (#134421)
Diagnostics at unknown locations can now be verified with
`-verify-diagnostics`.
Example:
```
// expected-error at unknown {{something went wrong}}
```
Also clean up some MemRefToLLVM conversion tests that had to redirect
all errors to stdout in order to FileCheck them. All of those tests can
now be stored in a single `invalid.mlir`. That was not possible before.
Commit: 5748ddbab4883420ea23d2319006d814c4bfbda4
https://github.com/llvm/llvm-project/commit/5748ddbab4883420ea23d2319006d814c4bfbda4
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Add a comment to introduce the alternate instruction. (#134572)
Commit: 3654621e8796508cc00b6f08241ab951af416fa1
https://github.com/llvm/llvm-project/commit/3654621e8796508cc00b6f08241ab951af416fa1
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
Log Message:
-----------
[X86][NFC] Use `Triple &` to avoid copy (#134532)
Commit: 0fc7aec349394d4713bd88fb5f0319e39b96f187
https://github.com/llvm/llvm-project/commit/0fc7aec349394d4713bd88fb5f0319e39b96f187
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
Log Message:
-----------
[BOLT] Gadget scanner: detect address materialization and arithmetic (#132540)
In addition to authenticated pointers, consider the contents of a
register safe if it was
* written by PC-relative address computation
* updated by an arithmetic instruction whose input address is safe
Commit: c9157d4692bb47b1fa6f053fd780ff47415590d5
https://github.com/llvm/llvm-project/commit/c9157d4692bb47b1fa6f053fd780ff47415590d5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Reorder sections in GitHub.rst (#134212)
Reorder sections in GitHub.rst so that "Branches" and "Stacked Pull
Requests" appear after the more general section on pull requests. This
improves the conceptual flow for readers new to the process:
New order:
* Introduction
* Before your first PR
* Pull Requests
* Approvals
* Landing your change
* Branches
* Stacked Pull Requests
* ...
Previous order:
* Introduction
* Before your first PR
* Branches
* Stacked Pull Requests
* Pull Requests
* Approvals
* Landing your change
* ...
This change only reorders existing text - no content edits.
Commit: 7b007c092d665bcb3f00ff937e04b20e6ec32c55
https://github.com/llvm/llvm-project/commit/7b007c092d665bcb3f00ff937e04b20e6ec32c55
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][tosa-to-linalg] Add acc_type lowering Support (#134267)
Add support for lowering of convolution operations where the `acc_type`
attribute differs from the result type of the operation. The only case
of this in for convolutions in the TOSA-v1.0 specification is an fp16
convolution which internally uses an fp32 accumulator; all other
operations have accumulator types that match their output/result types.
Add lit tests for the fp16 convolution with fp32 accumulator operators
described above.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 2c107238d54dde577de96455e6d29c0ff1b2b953
https://github.com/llvm/llvm-project/commit/2c107238d54dde577de96455e6d29c0ff1b2b953
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
Log Message:
-----------
[BOLT] Make DataflowAnalysis::getStateBefore() const (NFC) (#133308)
Commit: 409df9f74c04710c1b5ca9a4d33521a590ab3bf0
https://github.com/llvm/llvm-project/commit/409df9f74c04710c1b5ca9a4d33521a590ab3bf0
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[TTI][LV] Change the prototype of preferInLoopReduction. nfc (#132698)
This patch changes the preferInLoopReduction function to take a
RecurKind instead of an unsigned Opcode.
This makes it possible to distinguish non-arithmetic reductions such as
min/max, AnyOf, and FindLastIV, and also helps unify IAnyOf with FAnyOf
and IFindLastIV with FFindLastIV.
Related patch #118393 #131830
Commit: b9c876dd9a3334a26f1cc975b23a91821895aa16
https://github.com/llvm/llvm-project/commit/b9c876dd9a3334a26f1cc975b23a91821895aa16
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
Log Message:
-----------
[flang][test] fix sporadically failing test (#134608)
The test is checking output from MLIR debug prints. MLIR passes can be
executed in parallel, for example a pass on func.func might schedule
different func.func operations in different threads. This led to
intermittent test failures where debug output from different threads
became mixed up.
Fix by disabling mlir multithreading for this test.
Commit: b9ec68431b45a9859517aacac684e7290f1679f2
https://github.com/llvm/llvm-project/commit/b9ec68431b45a9859517aacac684e7290f1679f2
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/C/drs/dr0xx.c
M clang/test/Sema/incomplete-decl.c
M clang/test/Sema/tentative-decls.c
Log Message:
-----------
Correctly diagnose incomplete arrays with static storage in C (#134374)
A file scope declaration without an initializer which is neither extern
nor thread_local is a tentative definition. If the declaration of an
identifier for an object is a tentative definition and has internal
linkage, the declared type shall not be an incomplete type.
Clang was previously failing to diagnose this in -pedantic mode.
Fixes #50661
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 96de8435b90e5164da2d38ee34594e86069360e7
https://github.com/llvm/llvm-project/commit/96de8435b90e5164da2d38ee34594e86069360e7
Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][NVVM] Fix default label unreachable warning in `getVoteSyncIntrinsicId` (#134600)
Fixes the following warning after the changes in
https://github.com/llvm/llvm-project/pull/134309:
```
llvm-project/mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp:134:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
default:
^
1 warning generated.
```
Commit: 6c7c8b4776f51dc66138f71333e6ada0c33ca5e2
https://github.com/llvm/llvm-project/commit/6c7c8b4776f51dc66138f71333e6ada0c33ca5e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerINTRINSIC_WO_CHAIN - cleanup and clang-format VP2INTERSECT handling. NFC.
Commit: c9280ba25aef6cd47e973a439da23c7b52bddb56
https://github.com/llvm/llvm-project/commit/c9280ba25aef6cd47e973a439da23c7b52bddb56
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Simplify emitAtomicRMWLegalRemark. NFC. (#134614)
Commit: bd84d66700b23132eecea71fb81d6d7378473937
https://github.com/llvm/llvm-project/commit/bd84d66700b23132eecea71fb81d6d7378473937
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Relocations.cpp
A lld/test/ELF/loongarch-relax-tls-ie.s
M lld/test/ELF/loongarch-tls-ie.s
Log Message:
-----------
[lld][LoongArch] Convert TLS IE to LE in the normal or medium code model (#123680)
Original code sequence:
* pcalau12i $a0, %ie_pc_hi20(sym)
* ld.d $a0, $a0, %ie_pc_lo12(sym)
The code sequence converted is as follows:
* lu12i.w $a0, %le_hi20(sym) # le_hi20 != 0, otherwise NOP
* ori $a0, src, %le_lo12(sym) # le_hi20 != 0, src = $a0,
# otherwise, src = $zero
TODO: When relaxation is enabled, redundant NOP can be removed. This
will be implemented in a future patch.
Note: In the normal or medium code model, original code sequence with
relocations allow interleaving, because converted code sequence
calculates the absolute offset. However, in extreme code model, to
identify the current code model, the first four instructions with
relocations must appear consecutively.
Commit: 37deb0959311bba0d1d51ee9b9d24d1ea400f6d4
https://github.com/llvm/llvm-project/commit/37deb0959311bba0d1d51ee9b9d24d1ea400f6d4
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
Log Message:
-----------
[MLIR][Affine] Fix signatures of normalize memref utilities (#134466)
These methods were passing derived op types by pointers, which deviates
from the style. While on this, fix obsolete comments on those methods.
Commit: 4d1e4eff5f6c6c62781926b0d31ad155364ffe62
https://github.com/llvm/llvm-project/commit/4d1e4eff5f6c6c62781926b0d31ad155364ffe62
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[IR] Avoid call to deprecated PointerType::get (NFC) (#134609)
Should keep MSVC quiet as noticed by @rksimon in #134517.
Assertions have been copied over from PointerType::get in order to not
silently change invariants with this call.
Commit: 9fe6f6a0d430b872750354c20f3e4a651bd1f135
https://github.com/llvm/llvm-project/commit/9fe6f6a0d430b872750354c20f3e4a651bd1f135
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Change `gentbl_cc_library(tbl_outs)` to dicts (#134349)
Follow up from https://github.com/llvm/llvm-project/pull/134271
Commit: e2fe78797fa39e22ebb3c65383d1bd30490535e5
https://github.com/llvm/llvm-project/commit/e2fe78797fa39e22ebb3c65383d1bd30490535e5
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/SyncScope.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
Log Message:
-----------
[Clang] Use "syncscope" instead of "synchscope". NFC. (#134616)
This matches the spelling of the keyword in LLVM IR.
Commit: 4509bc12994ade02eda03642fa5bf5f68691f768
https://github.com/llvm/llvm-project/commit/4509bc12994ade02eda03642fa5bf5f68691f768
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/powi.ll
Log Message:
-----------
[X86][GlobalISel] Enable POWI function with libcall mapping (#134369)
Commit: bafa2f4442bcee26f05c22369d41646d5c8befb9
https://github.com/llvm/llvm-project/commit/bafa2f4442bcee26f05c22369d41646d5c8befb9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
Log Message:
-----------
[mlir][memref] Check memory space before lowering alloc ops (#134427)
Check the memory space before lowering allocation ops, instead of
starting the lowering and then rolling back the pattern when the memory
space was found to be incompatible with LLVM.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Note: `isConvertibleAndHasIdentityMaps` now also checks the memory
space.
Commit: 2f6bc47a18d9a97635b76520f0e33391aa72ba68
https://github.com/llvm/llvm-project/commit/2f6bc47a18d9a97635b76520f0e33391aa72ba68
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Interfaces/VectorInterfaces.td
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/SubsetOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Standardise `valueToStore` Naming Across Vector Ops (NFC) (#134206)
This change standardises the naming convention for the argument
representing the value to store in various vector operations.
Specifically, it ensures that all vector ops storing a value—whether
into memory, a tensor, or another vector — use `valueToStore` for the
corresponding argument name.
Updated operations:
* `vector.transfer_write`, `vector.insert`, `vector.scalable_insert`,
`vector.insert_strided_slice`.
For reference, here are operations that currently use `valueToStore`:
* `vector.store` `vector.scatter`, `vector.compressstore`,
`vector.maskedstore`.
This change is non-functional (NFC) and does not affect the
functionality of these operations.
Implements #131602
Commit: 382962b4a848f66cddbd7d04f6d613fe93a3f125
https://github.com/llvm/llvm-project/commit/382962b4a848f66cddbd7d04f6d613fe93a3f125
Author: Krisztian Rugasi <Krisztian.Rugasi at hightec-rt.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Fix dangling reference in CombinerHelper::matchCombineExtractedVectorLoad
Commit: 67dd2019aca117798bbb0eb9e0dc5560c06864fc
https://github.com/llvm/llvm-project/commit/67dd2019aca117798bbb0eb9e0dc5560c06864fc
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
Recommit [AArch64][SVE]Use FeatureUseFixedOverScalableIfEqualCost for A510/A520 (#134606)
Recommit. This work was done by #132246 but failed buildbots due to the
test introduced needing updates
Inefficient SVE codegen occurs on at least two in-order cores, those
being Cortex-A510 and Cortex-A520. For example a simple vector add
```
void foo(float a, float b, float dst, unsigned n) {
for (unsigned i = 0; i < n; ++i)
dst[i] = a[i] + b[i];
}
```
Vectorizes the inner loop into the following interleaved sequence of
instructions.
```
add x12, x1, x10
ld1b { z0.b }, p0/z, [x1, x10]
add x13, x2, x10
ld1b { z1.b }, p0/z, [x2, x10]
ldr z2, [x12, #1, mul vl]
ldr z3, [x13, #1, mul vl]
dech x11
add x12, x0, x10
fadd z0.s, z1.s, z0.s
fadd z1.s, z3.s, z2.s
st1b { z0.b }, p0, [x0, x10]
addvl x10, x10, #2
str z1, [x12, #1, mul vl]
```
By adjusting the target features to prefer fixed over scalable if the
cost is equal we get the following vectorized loop.
```
ldp q0, q3, [x11, #-16]
subs x13, x13, #8
ldp q1, q2, [x10, #-16]
add x10, x10, #32
add x11, x11, #32
fadd v0.4s, v1.4s, v0.4s
fadd v1.4s, v2.4s, v3.4s
stp q0, q1, [x12, #-16]
add x12, x12, #32
```
Which is more efficient.
Commit: 771b94fa834b71cfcb0c16b875f656c7facdcb2f
https://github.com/llvm/llvm-project/commit/771b94fa834b71cfcb0c16b875f656c7facdcb2f
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] remove unimplemented function define for `selectCross` (#134478)
- `selectCross` looks to be a function that had its implementation and
usage removed but this define some how stuck around.
- this change removes the definition.
Commit: 0ab2061c4fd0feac8b142ff76ed823534bebc634
https://github.com/llvm/llvm-project/commit/0ab2061c4fd0feac8b142ff76ed823534bebc634
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
Log Message:
-----------
[WebAssembly] Represent trap instructions as `poison` (#134553)
The WebAssemblyLowerRefTypesIntPtrConv pass currently uses `undef` to
represent trap instructions. These can instead be represented by the
`poison` value.
Commit: b2711e1526f9384be4905f516a5503427e0bafd7
https://github.com/llvm/llvm-project/commit/b2711e1526f9384be4905f516a5503427e0bafd7
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/invalid-types.fir
M flang/unittests/Optimizer/FIRTypesTest.cpp
Log Message:
-----------
[flang][nfc] Support volatile on ref, box, and class types (#134386)
Part one of merging #132486. Add support for representing volatility in
the type system for reference, box, and class types. Don't do anything
with volatile just yet, only support and test their representation and
utility functions.
The naming convention is a little goofy - `fir::isa_volatile_type` and
`fir::updateTypeWithVolatility` use different capitalization, but I put
them near similar functions and tried to match the surrounding
conventions and [the
docs](https://github.com/llvm/llvm-project/blob/main/flang/docs/C%2B%2Bstyle.md#naming)
best I could.
Commit: 0d71d9ab28d626e85a0085a50ff634f76a950ce0
https://github.com/llvm/llvm-project/commit/0d71d9ab28d626e85a0085a50ff634f76a950ce0
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
R clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
A clang/lib/CodeGen/Targets/CMakeLists.txt
A clang/lib/CodeGen/Targets/HLSLBufferLayoutBuilder.cpp
Log Message:
-----------
Reland [Clang][Cmake] fix libtool duplicate member name warnings (#133850)
fixes https://github.com/llvm/llvm-project/issues/133199
As of the third commit the fix to the linker missing references in
`Targets/DirectX.cpp` found in
https://github.com/llvm/llvm-project/pull/133776 was fixed by moving
`HLSLBufferLayoutBuilder.cpp` to `clang/lib/CodeGen/Targets/`.
It fixes the circular reference issue found in
https://github.com/llvm/llvm-project/pull/133619 for all
`-DBUILD_SHARED_LIBS=ON` builds by removing `target_link_libraries` from
the sub directory cmake files.
testing for amdgpu offload was done via
`cmake -B ../llvm_amdgpu -S llvm -GNinja -C
offload/cmake/caches/Offload.cmake -DCMAKE_BUILD_TYPE=Release`
PR https://github.com/llvm/llvm-project/pull/132252 Created a second
file that shared <TargetName>.cpp in clang/lib/CodeGen/CMakeLists.txt
For example There were two AMDGPU.cpp's one in TargetBuiltins and the
other in Targets. Even though these were in different directories
libtool warns that it might not distinguish them because they share the
same base name.
There are two potential fixes. The easy fix is to rename one of them and
keep one cmake file. That solution though doesn't future proof this
problem in the event of a third <TargetName>.cpp and it seems teams want
to just use the target name
https://github.com/llvm/llvm-project/pull/132252#issuecomment-2758178483.
The alternative fix that this PR went with is to seperate the cmake
files into their own sub directories as static libs.
Commit: cff65657d9896cc04ca96907dd8e789403432a28
https://github.com/llvm/llvm-project/commit/cff65657d9896cc04ca96907dd8e789403432a28
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Fix incorrect argument erasure in deserializer (#134610)
The current implementation iterates and modifies the list of arguments
at the same time. Depending on the number of arguments this will trigger
an assert: `assert(index < arguments.size())`. This change replaces loop
with a range based erasure.
Commit: 82103dfae9b9ee03f8935f1c8987c7eaecbe9359
https://github.com/llvm/llvm-project/commit/82103dfae9b9ee03f8935f1c8987c7eaecbe9359
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
R clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
R clang/lib/CodeGen/Targets/CMakeLists.txt
R clang/lib/CodeGen/Targets/HLSLBufferLayoutBuilder.cpp
Log Message:
-----------
Revert "Reland [Clang][Cmake] fix libtool duplicate member name warnings" (#134656)
Reverts llvm/llvm-project#133850
Commit: 8fddef8483dc9eb569580ffd13695b8f54d3c058
https://github.com/llvm/llvm-project/commit/8fddef8483dc9eb569580ffd13695b8f54d3c058
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
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/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
M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR. (#125883)
A new ISD::POISON SDNode is introduced to represent the `poison value`
in the IR, replacing the previous use of ISD::UNDEF.
Commit: 28a391848cc58400a3103730138d46c75871c867
https://github.com/llvm/llvm-project/commit/28a391848cc58400a3103730138d46c75871c867
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/Bitcode/thinlto-unused-type-tests.ll
Log Message:
-----------
Bitcode: Convert test to opaque pointers
Commit: 48bad5bbcdd2afa140e1fca075d46feebcf1bb18
https://github.com/llvm/llvm-project/commit/48bad5bbcdd2afa140e1fca075d46feebcf1bb18
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL] Include SPIRV in LLVM_TARGETS_TO_BUILD in the HLSL cmake cache (#133287)
Since SPIRV is no longer an experimental target this wasn't actually
enabling it any more.
Commit: 7fa388d77b61685a1e7d359ceb6f73c60f1ade83
https://github.com/llvm/llvm-project/commit/7fa388d77b61685a1e7d359ceb6f73c60f1ade83
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
Log Message:
-----------
[Flang][OpenMP] Fix bug with default(none) and host-assoc threadprivate variable (#134122)
When a host associated `threadprivate` variable was used in a parallel
region with `default(none)` in an internal subroutine was failing,
because the compiler did not properly determine that the variable was
pre-determined `threadprivate` and thus should not have been reported as
missing a DSA.
Commit: 954ccee5d53032f1cdea23368e11922edc20615d
https://github.com/llvm/llvm-project/commit/954ccee5d53032f1cdea23368e11922edc20615d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/Import/pack-expansion-expr/test.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
Log Message:
-----------
[clang] fix partial ordering of NTTP packs (#134461)
This fixes partial ordering of pack expansions of NTTPs, by procedding
with the check using the pattern of the NTTP through the rules of the
non-pack case.
This also unifies almost all of the different versions of
FinishTemplateArgumentDeduction (except the function template case).
This makes sure they all follow the rules consistently, instantiating
the parameters and comparing those with the argument.
Fixes #132562
Commit: e2885772f05ddf9d81c54c5489801108838ca053
https://github.com/llvm/llvm-project/commit/e2885772f05ddf9d81c54c5489801108838ca053
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
Log Message:
-----------
[libc] Fix function that wasn't updated in wrapper headers
Commit: 4b90f24db81fb4378d9f4816f31e16195d8adb0f
https://github.com/llvm/llvm-project/commit/4b90f24db81fb4378d9f4816f31e16195d8adb0f
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
[LLDB] Add integration test for libsanitizers trace collection (#134323)
Add integration test for libsanitizers trace collection
(`SanitizersAllocationTraces=all`).
rdar://144244084
Commit: c75eac7c0347b2df88773983bef1e72cb53ad35d
https://github.com/llvm/llvm-project/commit/c75eac7c0347b2df88773983bef1e72cb53ad35d
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
Log Message:
-----------
[LLD][COFF] Don't dllimport from static libraries (#134443)
This reverts commit 6a1bdd9 and re-instate behavior that matches what
MSVC link.exe does, that is, error out when trying to dllimport a symbol
from a static library.
A hint is now displayed in stdout, mentioning that we should rather dllimport the symbol
from a import library.
Fixes https://github.com/llvm/llvm-project/issues/131807
Commit: b09daa4b2314342ed9084d7d85ccd3294fd68021
https://github.com/llvm/llvm-project/commit/b09daa4b2314342ed9084d7d85ccd3294fd68021
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] 2 small fixes to GitHub guide (#134620)
1. `arc` is long gone, no need to mention it.
2. Say exactly where user branches can be made.
Commit: 268c065eab06b81a0d7256ac62c0865b3781e236
https://github.com/llvm/llvm-project/commit/268c065eab06b81a0d7256ac62c0865b3781e236
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A clang/test/CodeGenCoroutines/pr134409.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[fatlto] Add coroutine passes when using FatLTO with ThinLTO (#134434)
When coroutines are used w/ both -ffat-lto-objects and -flto=thin,
the coroutine passes are not added to the optimization pipelines.
Ensure they are added before ModuleOptimization to generate a
working ELF object.
Fixes #134409.
Commit: 7fe6e70e7c19a0f5309f1eb1b84f9094189ebff7
https://github.com/llvm/llvm-project/commit/7fe6e70e7c19a0f5309f1eb1b84f9094189ebff7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
Log Message:
-----------
[NFC][LLVM][NVPTX] Cleanup pass initialization for NVPTX (#134311)
- Move all pass initialization function calls to NVPTX target
initialization and out of individual pass constructors.
- Move all pass initialization function declaration to NVPTX.h.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 16c84c4475b909d2de455a44139643c03fe3fe25
https://github.com/llvm/llvm-project/commit/16c84c4475b909d2de455a44139643c03fe3fe25
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M .github/new-prs-labeler.yml
M clang/include/clang/Basic/Builtins.td
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/lib/Sema/SemaDirectX.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
Log Message:
-----------
[DirectX] Add target builtins (#134439)
- fixes #132303
- Moves dot2add from a language builtin to a target builtin.
- Sets the scaffolding for Sema checks for DX builtins
- Setup DirectX backend as able to have target builtins
- Adds a DX TargetBuiltins emitter in
`clang/lib/CodeGen/TargetBuiltins/DirectX.cpp`
Commit: efce8f1ce680b86af48c49edda2c3cbb370a6ba0
https://github.com/llvm/llvm-project/commit/efce8f1ce680b86af48c49edda2c3cbb370a6ba0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - use enumerate to iterate over shuffle operands. NFC.
Commit: 0a35dd7e99596b1a0316bb81bee3c698adaf0a05
https://github.com/llvm/llvm-project/commit/0a35dd7e99596b1a0316bb81bee3c698adaf0a05
Author: Linux User <linuxusergd at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ar] --help: fix unquoted angle bracket (#101364)
Changes the argument in llvm-ar help message from `-M [<mri-script]` to
`-M [< mri-script]`
Commit: 1847b00330649aa22a03ac30832bf447f5b0dd7a
https://github.com/llvm/llvm-project/commit/1847b00330649aa22a03ac30832bf447f5b0dd7a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][ci] Removes C++2b selection option. (#88557)
Since Clang 16 is no longer supported all compilers support C++23.
Commit: 01ec74dfd0db307a3b67cc67448269231cd2e83c
https://github.com/llvm/llvm-project/commit/01ec74dfd0db307a3b67cc67448269231cd2e83c
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate3.f90
Log Message:
-----------
[flang][OpenMP] Fix copyprivate of procedure pointers (#134292)
Just modify the assert to consider fir::BoxProcType as valid. No
other changes are needed.
Fixes #131549
Commit: a406fb8f5a6a65144e5c2564c17ac9ee29da43ed
https://github.com/llvm/llvm-project/commit/a406fb8f5a6a65144e5c2564c17ac9ee29da43ed
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
Log Message:
-----------
[libc++] Clang-tidy operator& hijacker. (#128366)
Guards against introducing new places where operator& depends on a
template type.
Commit: f7cc213d58df01fc630500c5c5ebe48b5577653d
https://github.com/llvm/llvm-project/commit/f7cc213d58df01fc630500c5c5ebe48b5577653d
Author: Lee Wei <lee10202013 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintSystem] Update comments (#127351)
It took me some time to fully understand the implementation of
Fourier–Motzkin elimination in the Constraint System, so I added an
example in the comments. Hopefully future developers can understand the
algorithm more easily with the example.
Commit: f413772b318c2da4dfc488df81cb3c458606301f
https://github.com/llvm/llvm-project/commit/f413772b318c2da4dfc488df81cb3c458606301f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
Log Message:
-----------
[SLP]Fix last instruction selection for vectorized last instruction in SplitVectorize nodes
If the last instruction in the SplitVectorize node is vectorized and
scheduled as part of some bundles, the SplitVectorize node might be
placed in the wrong order, leading to a compiler crash. Need to check if
the vectorized node has vector value and place the SplitVectorize node after the vector instruction to prevent a compile crash.
Fixes issue reported in https://github.com/llvm/llvm-project/pull/133091#issuecomment-2782826805
Commit: 600eeed51f538adc5f43c8223a57608e73aba31f
https://github.com/llvm/llvm-project/commit/600eeed51f538adc5f43c8223a57608e73aba31f
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
[JITLink][NFC] Guard functions used only for debug for `XCOFFLinkGraphBuilder` (#134413)
Commit: 112af8796451e19b43d7a0788039a27b08802974
https://github.com/llvm/llvm-project/commit/112af8796451e19b43d7a0788039a27b08802974
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
Log Message:
-----------
[mlir][tosa] Add parenthesis for the weight padding calculation (#134420)
Minor change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 1c8291ffc4d08ca6be915b880d163bfcf91b0c48
https://github.com/llvm/llvm-project/commit/1c8291ffc4d08ca6be915b880d163bfcf91b0c48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xcvmem.ll
Log Message:
-----------
RISCV: Convert test to opaque pointers
Commit: cb9afe53bf6c7ceb0bdf3b579c185cbff15a3b38
https://github.com/llvm/llvm-project/commit/cb9afe53bf6c7ceb0bdf3b579c185cbff15a3b38
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Fix validation pass assert (#134445)
This fixes a validation pass assert when processing ops with quantized
element types.
The failure case is added to invalid.mlir
The fix is to re-order the validation checking so that only ops with
int/float operands and results pass the first stage of validation pass,
so that the remaining checks do not need to handle quantized data types.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: fbc8335311b27d73fb685d5ebfb702f7acf134d2
https://github.com/llvm/llvm-project/commit/fbc8335311b27d73fb685d5ebfb702f7acf134d2
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
A mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
A mlir/test/Target/LLVMIR/openmp-teams-distribute-reduction.mlir
A mlir/test/Target/LLVMIR/openmp-teams-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A offload/test/offloading/fortran/basic-target-parallel-reduction.f90
A offload/test/offloading/fortran/basic-target-teams-parallel-reduction.f90
Log Message:
-----------
[MLIR][OpenMP] Add codegen for teams reductions (#133310)
This patch adds the lowering of teams reductions from the omp dialect to
LLVM-IR. Some minor cleanup was done in clang to remove an unused
parameter.
Commit: 4701afaeaf2aba604a6160cde04634be88e21022
https://github.com/llvm/llvm-project/commit/4701afaeaf2aba604a6160cde04634be88e21022
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - merge loops peeking through shuffle operands. NFC.
Merge loops to peek through free insert_subvector / bitcasts / extract_subvector.
To keep this NFC I haven't reordered the peek throughs - this will done in a future patch to help with #133947 regressions
Commit: 783201b184572a07efe2dc6b6b9110873421cf11
https://github.com/llvm/llvm-project/commit/783201b184572a07efe2dc6b6b9110873421cf11
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/allocator.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/issue87856.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
Log Message:
-----------
Attributor: Don't follow uses of ConstantData (#134573)
These should not really have uselists, and it's not worth the compile
time of looking at all uses of trivial constants. The main observable
change of this is it no longer adds align attributes on constant null
uses, but those are not useful. Some of these cases should potentially
be more aggressive and not look at any Constant users.
Commit: 23c27f3efcdda730b365698ade5fd0c1c283f2e7
https://github.com/llvm/llvm-project/commit/23c27f3efcdda730b365698ade5fd0c1c283f2e7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
Log Message:
-----------
[NFC][LLVM][AArch64] Cleanup pass initialization for AArch64 (#134315)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: c1c0d551bae4e4f4ed13fcd9264834a2713fe44b
https://github.com/llvm/llvm-project/commit/c1c0d551bae4e4f4ed13fcd9264834a2713fe44b
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Lower/IO.cpp
M flang/test/Lower/io-derived-type.f90
Log Message:
-----------
[flang] Non-type-bound defined IO lowering for an array of derived type (#134667)
Update Non-type-bound IO lowering to call OutputDerivedType for an array
of derived type (rather than OutputDescriptor).
Commit: 1043f5cb0b117bd63369debe80a2d446126cc079
https://github.com/llvm/llvm-project/commit/1043f5cb0b117bd63369debe80a2d446126cc079
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn] port 16c84c4475b9
Commit: 4607d39c7eded3ff6d425cbc502e30349078365c
https://github.com/llvm/llvm-project/commit/4607d39c7eded3ff6d425cbc502e30349078365c
Author: Pranav Kant <prka at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Fix build (#134697)
Fixes fallback from #134439
Commit: 21d912121c9f41385b165a736be787527f5bd7c2
https://github.com/llvm/llvm-project/commit/21d912121c9f41385b165a736be787527f5bd7c2
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)
debugserver takes the address of a watchpoint exception and calculates
which watchpoint was responsible for it. There was an off-by-one error
in the range calculation which causes two watchpoints on consecutive
ranges to not correctly identify hits to the second watchpoint. The
result is that lldb wouldn't show the second watchpoint as ever being
hit.
rdar://145107575
Commit: 369c7739d0853b7931410037843d5a63f50bc0a1
https://github.com/llvm/llvm-project/commit/369c7739d0853b7931410037843d5a63f50bc0a1
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
Revert "[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)"
This reverts commit 21d912121c9f41385b165a736be787527f5bd7c2.
Failure on the aarch64 ubuntu bot when setting the 4th watchpoint;
may be a hardware limitation on that bot. I thought creating four
watchpoints would be generally safe, but I don't need to do that
for my test, will re-land without it.
Commit: 529e9127f0d61f177f2c62ade531d876cf89bf59
https://github.com/llvm/llvm-project/commit/529e9127f0d61f177f2c62ade531d876cf89bf59
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang][doc]: Merge entries with duplicate content. (#134089)
Before the patch:

after the patch:

Fixes #133706
Commit: 10bef367a5643bc41d0172b02e080645c68f821a
https://github.com/llvm/llvm-project/commit/10bef367a5643bc41d0172b02e080645c68f821a
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/zbb-cmp-combine.ll
Log Message:
-----------
[RISCV][test] Fix a comment typo (#134242)
Commit: 8f5a3ec649a3b46093c8a8140bbd91f21236fde6
https://github.com/llvm/llvm-project/commit/8f5a3ec649a3b46093c8a8140bbd91f21236fde6
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Use HW_NCPUONLINE sysctl on NetBSD in GetNumberOfCPUs() (#134704)
Commit: 76fee8f4edf10fb39f0323171c060e97ec0005b0
https://github.com/llvm/llvm-project/commit/76fee8f4edf10fb39f0323171c060e97ec0005b0
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/interop-construct.f90
Log Message:
-----------
[flang][OpenMP][NFC] Don't use special chars in error messages (#134686)
Some error messages were using a special char for `fi`, in the
word `specified`, probably due to a typo.
This caused an error on Windows: #134625
Commit: 27c099bc84d1432752b3828f1ba95de24db76c5e
https://github.com/llvm/llvm-project/commit/27c099bc84d1432752b3828f1ba95de24db76c5e
Author: Drew Lewis <drew90 at vt.edu>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A clang/test/CodeGen/Inputs/cuda.h
R clang/test/CodeGen/include/cuda.h
M clang/test/CodeGen/nvptx-surface.cu
Log Message:
-----------
Move CodeGen cuda.h to Inputs from include (#134706)
Mirrors the behavior of CodeGenCUDA directory and the location of other
.h files in CodeGen.
Commit: 9965f3d337bba09fbf2497a78123957fdaee0ffa
https://github.com/llvm/llvm-project/commit/9965f3d337bba09fbf2497a78123957fdaee0ffa
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/support.h
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
Log Message:
-----------
[libc++] Improve diagnostic when violating `std::atomic` trivially copyable mandates (#131754)
When attempting to instantiate `std::atomic` with a non trivially
copyable type, one gets errors from instantiating internals before the
actual static assertion that check the template parameter type
requirements.
The `verify` test for it had a `// ADDITIONAL_COMPILE_FLAGS: -Xclang
-verify-ignore-unexpected=error` directive to work around this issue.
The changes I propose enable us to drop that directive.
As I understand it, the `verify` test was misplaced so I moved it to
`test/{std -> libcxx}/atomics`.
(I ran into this while working on #121414 in which we would add another
static assertion in `__check_atomic_mandates`)
Commit: 3479c574667eec375cc4ed91e0d63aa2d408b62c
https://github.com/llvm/llvm-project/commit/3479c574667eec375cc4ed91e0d63aa2d408b62c
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/test/CodeGen/PowerPC/mcm-5.ll
A llvm/test/CodeGen/PowerPC/ppc32-pic-bcl.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic.ll
Log Message:
-----------
PowerPC32:PIC: Update to bcl to fix branch prediction mis-predict issue (#134140)
Update `bl` to `bcl 20, 31, .+4` for 32bit PIC code gen so the link
stack is
not corrupted and cause mis-predict for the branch predictor.
fixes: https://github.com/llvm/llvm-project/issues/128644
Commit: 19dbde0e81e98758ae9d37ef027bc8d9bbd673df
https://github.com/llvm/llvm-project/commit/19dbde0e81e98758ae9d37ef027bc8d9bbd673df
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
M llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
M llvm/lib/Target/Lanai/Lanai.h
M llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM] Cleanup pass initialization for ARM/ARV/Lanai/X86/XCore (#134400)
- Remove pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 9fdac840ec4901a6e3c71249a136cbecc4a9921a
https://github.com/llvm/llvm-project/commit/9fdac840ec4901a6e3c71249a136cbecc4a9921a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix building with NetBSD 10.99.12 or newer (#134708)
https://github.com/NetBSD/src/commit/16543c49052c820334cffc5c69b2afde18f02458
__lwp_getprivate_fast() was moved to a new arch-specific header file.
Closes: #125566
Co-authored-by: Thomas Klausner <wiz at gatalith.at>
Commit: 7d4cddadf2e9e59cde65592a1ea80576a1c1b0fc
https://github.com/llvm/llvm-project/commit/7d4cddadf2e9e59cde65592a1ea80576a1c1b0fc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/SelectionDAG/BUILD.gn
Log Message:
-----------
[gn build] Port 0a1742708ddc
Commit: 06bf7a99fd21c1c450d81d2dc8d3e529042181be
https://github.com/llvm/llvm-project/commit/06bf7a99fd21c1c450d81d2dc8d3e529042181be
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 1f72fa29ecb4
Commit: e1f6e40b282aef17e35de62f14e7b57b487fe2bc
https://github.com/llvm/llvm-project/commit/e1f6e40b282aef17e35de62f14e7b57b487fe2bc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 475cbf0ad6e7
Commit: 78f624a0d41e9a304ab6f4ac713417b88c667173
https://github.com/llvm/llvm-project/commit/78f624a0d41e9a304ab6f4ac713417b88c667173
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 7013b51548c0
Commit: 7aedebac8cb473555aa8a2928ac3851b0142921e
https://github.com/llvm/llvm-project/commit/7aedebac8cb473555aa8a2928ac3851b0142921e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Populate ExitBlocks when cloning VPlan (NFC).
Update VPlan::duplicate to add cloned exit blocks to ExitBlocks.
Currently there are no uses of the exit blocks after cloning so this is
NFC at the moment.
Commit: d4c16424cf295e7edb7ecd5f8831ff195f7a8fa7
https://github.com/llvm/llvm-project/commit/d4c16424cf295e7edb7ecd5f8831ff195f7a8fa7
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/test/Demangle/invalid-manglings.test
Log Message:
-----------
[LLVM][Demangle] Fix MS Demangler to be stricter about wide string literals (#134483)
Static analysis detected that Demangler::demangleStringLiteral had a
potential overflow if not checking StringByteSize properly.
Added check to ensure that for wide string it is always even and that
there were the byte count did not mismatch the actual size of the
literal.
Fixes: https://github.com/llvm/llvm-project/issues/129970
Commit: 922260722795471870ef793f3187e9a37b145661
https://github.com/llvm/llvm-project/commit/922260722795471870ef793f3187e9a37b145661
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
A llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
A llvm/utils/gn/secondary/compiler-rt/test/builtins/BUILD.gn
Log Message:
-----------
gn build: Add check-builtins target.
Tested on aarch64 Linux and x86_64 Linux.
Reviewers: aeubanks, nico
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134482
Commit: 15750a0ab2356bea9544b70a72edce421060086e
https://github.com/llvm/llvm-project/commit/15750a0ab2356bea9544b70a72edce421060086e
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
Log Message:
-----------
[clang-tidy] Use --match-full-lines instead of --strict-whitespace in check_clang_tidy (#133756)
See Discourse post here:
https://discourse.llvm.org/t/rfc-using-match-full-lines-in-clang-tidy-tests/85553
I've added `--match-partial-fixes` to all tests that were failing,
unless I noticed the fix was quick and trivial.
Commit: d1a05721172272f7aab685b56d99e86814a15bff
https://github.com/llvm/llvm-project/commit/d1a05721172272f7aab685b56d99e86814a15bff
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
Log Message:
-----------
[AMDGPU] Add buffer.fat.ptr.load.lds intrinsic wrapping raw rsrc version (#133015)
Add a buffer_fat_ptr_load_lds intrinsic, by analogy with
global_load_lds, which enables using `ptr addrspace(7)` to set the rsrc
and offset arguments to raw_ptr_buffer_load_lds.
Commit: 3756ba3c87f78a2746f26434209e29ac288a5fc6
https://github.com/llvm/llvm-project/commit/3756ba3c87f78a2746f26434209e29ac288a5fc6
Author: vporpo <vporpodas at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/lib/SandboxIR/Context.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantDataSequential and subclasses (#133547)
This patch implements sandboxir::ConstantDataSequential mirroring LLVM
IR.
Commit: df28c81f5a2b61a3b5ad1e6274dd27697a9367ac
https://github.com/llvm/llvm-project/commit/df28c81f5a2b61a3b5ad1e6274dd27697a9367ac
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)
debugserver takes the address of a watchpoint exception and calculates
which watchpoint was responsible for it. There was an off-by-one error
in the range calculation which causes two watchpoints on consecutive
ranges to not correctly identify hits to the second watchpoint. The
result is that lldb wouldn't show the second watchpoint as ever being
hit.
Re-landing this test with a modification to only require two
watchpoints in the test, instead of four. If four watchpoints can
be set, it will test them.
rdar://145107575
Commit: 2ac11daf92531c5de65dd645f4466c709f865a7e
https://github.com/llvm/llvm-project/commit/2ac11daf92531c5de65dd645f4466c709f865a7e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Improve code around constant TC (NFC) (#133261)
Commit: 6a94bd136db9393b50bcd99f183e61c2e6e873a9
https://github.com/llvm/llvm-project/commit/6a94bd136db9393b50bcd99f183e61c2e6e873a9
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
Log Message:
-----------
[PPC] Change placeholder from `undef` to `poison` (#134552)
Call `insertelement` on a `poison` value instead of `undef`.
Commit: 3382aef944ef7a497248ef85df75ec04f6c21642
https://github.com/llvm/llvm-project/commit/3382aef944ef7a497248ef85df75ec04f6c21642
Author: amansharma612 <amansharma6122002 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libc/docs/porting.rst
Log Message:
-----------
[libc] Fixed typo in porting.rst (#134488)
Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>
Commit: eeebdb9711a1c47b1639d1ebeac8b134f86c0634
https://github.com/llvm/llvm-project/commit/eeebdb9711a1c47b1639d1ebeac8b134f86c0634
Author: Steven Hedges <steven.hedges34 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
Log Message:
-----------
[llvm] Fix Typo in Kaleidoscope BuildingAJIT Example (#134391)
Changed "precedecnce" to precedence.
Commit: ad9f15ab5335ed3c3c40d3c148658b8f2c4223d6
https://github.com/llvm/llvm-project/commit/ad9f15ab5335ed3c3c40d3c148658b8f2c4223d6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Introduce and use VPValue::replaceUsesOfWith (NFC).
Adds an API matching LLVM's IR Value, which simplifies some code a
bit.
Commit: 01bc672b8a41774feff445b07e749262597501e4
https://github.com/llvm/llvm-project/commit/01bc672b8a41774feff445b07e749262597501e4
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Desugar ConstantArrayType when calculating cbuffer field layout (#134683)
When calculating the layout for a cbuffer field, if that field is a
ConstantArrayType, desguar it before casting it to a ConstantArrayType.
Closes #134668
---------
Co-authored-by: Eli Friedman <efriedma at quicinc.com>
Commit: 9ce45579781317aade2004e970b352c0e06af291
https://github.com/llvm/llvm-project/commit/9ce45579781317aade2004e970b352c0e06af291
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Add coverage for reported miscompile in shuffle lowering
Derived from the example in https://github.com/llvm/llvm-project/issues/134126
Commit: 9b63a92ca723293dfe8570d1b2881ce949f1f6cc
https://github.com/llvm/llvm-project/commit/9b63a92ca723293dfe8570d1b2881ce949f1f6cc
Author: Andres Chavarria <84650073+chavandres at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
A llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
A llvm/test/Transforms/Inline/SystemZ/lit.local.cfg
Log Message:
-----------
Implement areInlineCompatible for SystemZ using feature bitset (#132976)
## What?
Implement `areInlineCompatible` for the SystemZ target using
FeatureBitset comparison.
## Why?
The default implementation in `TargetTransformInfoImpl.h` makes a string
comparison and only inlines when the target-cpu and the target-features
for caller and callee are the same. We are missing out on optimizations
when the callee has a subset of features of the caller.
## How?
Get the FeatureBitset of the caller and callee and check when callee is
a subset or equal to the caller's features. It's a similar
implementation to ARM, PowerPC...
## Testing?
Test cases check for when the callee is a subset of the caller, when
it's not a subset and when both are equals.
Commit: ddb32a67c2e76bc0f69470a8d02a220e8083fa68
https://github.com/llvm/llvm-project/commit/ddb32a67c2e76bc0f69470a8d02a220e8083fa68
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[NFC] Add a precommit test for aarch64 jump table partitioning (#125987)
Commit: a38ad6e2a24b46eaea481c04de566dd2a45d667b
https://github.com/llvm/llvm-project/commit/a38ad6e2a24b46eaea481c04de566dd2a45d667b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[mlir][tosa] Check empty Concat input for inferReturnTypeComponents (#134728)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 65813e0e94c0403dad61e8365b39d76d7b3bfc14
https://github.com/llvm/llvm-project/commit/65813e0e94c0403dad61e8365b39d76d7b3bfc14
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
Log Message:
-----------
Control Darwin parallel image loading with target.parallel-module-load (#134437)
A requested follow-up from
https://github.com/llvm/llvm-project/pull/130912 by @JDevlieghere to
control Darwin parallel image loading with the same
`target.parallel-module-load` that controls the POSIX dyld parallel
image loading. Darwin parallel image loading was introduced by
https://github.com/llvm/llvm-project/pull/110646.
This small change:
* removes
`plugin.dynamic-loader.darwin.experimental.enable-parallel-image-load`
and associated code.
* changes setting call site in
`DynamicLoaderDarwin::PreloadModulesFromImageInfos` to use the new
setting.
Tested by running `ninja check-lldb` and loading some targets.
Co-authored-by: Tom Yang <toyang at fb.com>
Commit: 0afa872a0db41cba313df473aa3fea52a35c8e70
https://github.com/llvm/llvm-project/commit/0afa872a0db41cba313df473aa3fea52a35c8e70
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/test/CodeGen/DirectX/saturate.ll
Log Message:
-----------
[DirectX] Scalarize the dx.saturate intrinsic (#134381)
The DXIL Saturate op only takes scalars.
Fixes #134378.
Commit: 99d12ac172f34e4963cf3a36536719149d30d788
https://github.com/llvm/llvm-project/commit/99d12ac172f34e4963cf3a36536719149d30d788
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 65813e0e94c0403dad61e8365b39d76d7b3bfc14
Commit: d7354e337a4602da1e5913b3e6fceda2e8c5ecc0
https://github.com/llvm/llvm-project/commit/d7354e337a4602da1e5913b3e6fceda2e8c5ecc0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
Log Message:
-----------
[SLP][REVEC] Fix ShuffleVector does not consider alternate instruction. (#134599)
Commit: 1f359610b048ae31e5ea3a0416f55405ff398753
https://github.com/llvm/llvm-project/commit/1f359610b048ae31e5ea3a0416f55405ff398753
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
Log Message:
-----------
ObjCARC: Drop pointer bitcast handling (#134274)
There is more in the file to drop, but this looks like the easier
part.
Commit: 735f5b1cb45c4245f1c068dda8271142457925ec
https://github.com/llvm/llvm-project/commit/735f5b1cb45c4245f1c068dda8271142457925ec
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/dependent-names.cpp
Log Message:
-----------
[clang] fix DependentTemplateSpecializationType transform (#134748)
This changes the transform for DTST so it rebuilds the node if any of
the template arguments changed.
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2784576267
which was introduced by https://github.com/llvm/llvm-project/pull/133610
There are no release notes since the regression was never released.
Commit: 1356e202b2b2747220e12c2a8cbd28846bb61548
https://github.com/llvm/llvm-project/commit/1356e202b2b2747220e12c2a8cbd28846bb61548
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFMIChecking.cpp
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][BPF] Cleanup pass initialization for BPF (#134414)
- Remove calls to pass initialization from pass constructors and move
them to target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: a3754ade637f71d36495eb95ea2d8cab9885c9d9
https://github.com/llvm/llvm-project/commit/a3754ade637f71d36495eb95ea2d8cab9885c9d9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUExportClustering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineModuleInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/R600.h
M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
Log Message:
-----------
[NFC][LLVM][AMDGPU] Cleanup pass initialization for AMDGPU (#134410)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 707367621679742eae0e903470a5fe043424c698
https://github.com/llvm/llvm-project/commit/707367621679742eae0e903470a5fe043424c698
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][DirectX] Cleanup pass initialization for DirectX (#134419)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 87afe4de22f24c81d6eca8c2ecdec5e57d6a961a
https://github.com/llvm/llvm-project/commit/87afe4de22f24c81d6eca8c2ecdec5e57d6a961a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
OMPIRBuilder: Cleanup checking for GlobalValue (#134583)
GlobalValue already subsumes GlobalObject and GlobalVariable,
plus make use of the std::get<0> already copied to a variable
above.
Commit: 8286b804d519d045fa1ee3a1a2e7fae66e5e30ef
https://github.com/llvm/llvm-project/commit/8286b804d519d045fa1ee3a1a2e7fae66e5e30ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ReplaceConstant.cpp
Log Message:
-----------
OMPIRBuilder: Do not try to expand uses of ConstantData (#134584)
Commit: 76e219d9c3b46e0cc1813e1e8452da0f4f54ab92
https://github.com/llvm/llvm-project/commit/76e219d9c3b46e0cc1813e1e8452da0f4f54ab92
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
Log Message:
-----------
SeparateConstOffsetFromGEP: Add more tests with lower-gep (#134684)
I didn't see any failures while trying to break hasMoreThanOneUseInLoop
or other paths here.
Commit: 1a9928442b7dbcd596d6b577809c22330706ccb5
https://github.com/llvm/llvm-project/commit/1a9928442b7dbcd596d6b577809c22330706ccb5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
Log Message:
-----------
SeparateConstOffsetFromGEP: Avoid looking at constant uses (#134685)
We could be more aggressive and inspect uses of global variables,
if the use context instruction is in the same function.
Commit: a168ddc470825091ad52da12042fb38491ed81d6
https://github.com/llvm/llvm-project/commit/a168ddc470825091ad52da12042fb38491ed81d6
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
M mlir/test/Dialect/LLVMIR/inlining.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
A mlir/test/Target/LLVMIR/Import/blockaddress.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/blockaddress.mlir
Log Message:
-----------
[MLIR][LLVM] Block address support (#134335)
Add support for import and translate.
MLIR does not support using basic block references outside a function
(like LLVM does), This PR does not consider changes to MLIR to that
respect. It instead introduces two new ops: `llvm.blockaddress` and
`llvm.blocktag`. Here's an example:
```
llvm.func @ba() -> !llvm.ptr {
%0 = llvm.blockaddress <function = @ba, tag = <id = 1>> : !llvm.ptr
llvm.br ^bb1
^bb1: // pred: ^bb0
llvm.blocktag <id = 1>
llvm.return %0 : !llvm.ptr
}
```
Value `%0` hold the address of block tagged as `id = 1` in function
`@ba`. Block tags need to be unique within a function and use of
`llvm.blockaddress` requires a matching tag in a `llvm.blocktag`.
Commit: 80fde75dc6c50a7d32f6dbfda9a6f2c24890b5cc
https://github.com/llvm/llvm-project/commit/80fde75dc6c50a7d32f6dbfda9a6f2c24890b5cc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZLDCleanup.cpp
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/SystemZ/SystemZShortenInst.cpp
M llvm/lib/Target/SystemZ/SystemZTDC.cpp
Log Message:
-----------
[NFC][LLVM][SystemZ] Cleanup pass initialization for SystemZ (#134450)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 20eb60d3f2d416976b1b31384e97db21ee0f28c9
https://github.com/llvm/llvm-project/commit/20eb60d3f2d416976b1b31384e97db21ee0f28c9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.h
Log Message:
-----------
[NFC][LLVM] Cleanup pass initialization for wasm/LoongArch (#134452)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: bb1f32ded0b7bec3b69c30b1c21eb1210372cd7f
https://github.com/llvm/llvm-project/commit/bb1f32ded0b7bec3b69c30b1c21eb1210372cd7f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/PassSupport.h
Log Message:
-----------
[NFC][LLVM] Change `initialize<PassName>PassOnce` to return void (#134500)
- The return value of these functions (called using `llvm::call_once`)
is never used, so make these functions return void.
Commit: 3f4e4e0a12c523f3d794f015ca7f40bcfc0ed8f5
https://github.com/llvm/llvm-project/commit/3f4e4e0a12c523f3d794f015ca7f40bcfc0ed8f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Add on_device interface to cudadevice (#134747)
Commit: 3a0c95fb506301fdd083b6e5dff0a0c88da4a665
https://github.com/llvm/llvm-project/commit/3a0c95fb506301fdd083b6e5dff0a0c88da4a665
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-conditionals.ll
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/Utils.cpp
M llvm/tools/llvm-reduce/deltas/Utils.h
Log Message:
-----------
llvm-reduce: Fix introducing unreachable code in simplify conditionals (#133842)
After replacing the branch condition, this was calling simplifyCFG to
perform the cleanups of the branch. This is far too heavy of a hammer.
We do not want all of the extra optimizations in simplifyCFG, and
this could also leave behind dead code. Instead, minimally fold the
terminator and try to delete the newly dead code.
This is pretty much a direct copy of what bugpoint does.
Commit: d057811655d8de3900748bba03d0c7ebcb6fafe3
https://github.com/llvm/llvm-project/commit/d057811655d8de3900748bba03d0c7ebcb6fafe3
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
Log Message:
-----------
[clang] fix diagnostic printing of expressions ignoring LangOpts (#134693)
Currently when printing a template argument of expression type, the
expression is converted immediately into a string to be sent to the
diagnostic engine, unsing a fake LangOpts.
This makes the expression printing look incorrect for the current
language, besides being inneficient, as we don't actually need to print
the expression if the diagnostic would be ignored.
This fixes a nastiness with the TemplateArgument constructor for
expressions being implicit, and all current users just passing an
expression to a diagnostic were implicitly going through the template
argument path.
The expressions are also being printed unquoted. This will be fixed in a
subsequent patch, as the test churn is much larger.
Commit: 499930e38a814d4fb8227d9ab48a946658650e12
https://github.com/llvm/llvm-project/commit/499930e38a814d4fb8227d9ab48a946658650e12
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
gn build: Spell arm64 correctly.
Commit: 5aae0ee660ffdae057d7c5c0e851b5620586d042
https://github.com/llvm/llvm-project/commit/5aae0ee660ffdae057d7c5c0e851b5620586d042
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Log Message:
-----------
[clang-tidy] give dummy path when create ClangTidyContext (#134670)
#121323 changed the way the absolute path is computed. Empty file name
will cause absolute path ignore current folder.
This patch add "dummy" file name to avoid this issue
Fixed: #134502
Commit: 6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
https://github.com/llvm/llvm-project/commit/6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
M llvm/test/Analysis/CtxProfAnalysis/load.ll
A llvm/test/Analysis/CtxProfAnalysis/pruning.ll
M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll
Log Message:
-----------
[ctxprof] Only prune the profile in modules containing only context trees (#134340)
We will subsequently treat the whole profile as "flat" in the frontend, (i.e flatten and combine with the flat profile section), so we can have a profile for ThinLTO for parts of the application that don't come under the contextual profile. After ThinLTO, we will treat the module(s) containing contextual trees differently: they'll have only the contextual profile pertinent to them. The rest of the modules (non-contextual) will proceed "as usual", off the flattened profile.
This patch implements pruning of the contextual profile to enable the above.
Commit: f1bb2fe3562d2fe9a43c79ec8af908fdff23a33a
https://github.com/llvm/llvm-project/commit/f1bb2fe3562d2fe9a43c79ec8af908fdff23a33a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ModuleInliner.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Analysis/CtxProfAnalysis/handle-select.ll
M llvm/test/Analysis/CtxProfAnalysis/inline.ll
Log Message:
-----------
[ctxprof] Use `isInSpecializedModule` as criteria for using contextual profile (#134468)
After #134340, the availability of contextual profile isn't in itself an indication of compiling the module containing all the functions covered by that profile.
Commit: ac42b083f104442e12393ff09929a1add881010d
https://github.com/llvm/llvm-project/commit/ac42b083f104442e12393ff09929a1add881010d
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/fmodule-file-mismatch.cppm
Log Message:
-----------
[clang][modules] Guard against bad -fmodule-file mappings (#132059) (#133462)
Fix https://github.com/llvm/llvm-project/issues/132059.
Providing incorrect mappings via `-fmodule-file=<name>=<path/to/bmi>`
can crash the compiler when loading a module that imports an
incorrectly mapped module.
The crash occurs during AST body deserialization, when the compiler
attempts to resolve remappings using the `ModuleFile` from the
incorrectly mapped module's BMI file.
The cause is an invalid access into an incorrectly loaded
`ModuleFile`.
This commit fixes the issue by verifying the identity of the imported
module.
Commit: 49d6e39eba88fdf7975c6f4dcb38595538331e6a
https://github.com/llvm/llvm-project/commit/49d6e39eba88fdf7975c6f4dcb38595538331e6a
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
R llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
Log Message:
-----------
[AMDGPU] add tests for loop definition of bitconvert (#133052)
This PR add test cases for all types of bit conversation, it prepares
for PR: https://github.com/llvm/llvm-project/pull/132899
All tests passed due to:
1. For DAG, pattern will not separate SReg and VReg. One of the sample
is:
```
define <2 x double> @v_bitcast_v4f32_to_v2f64(<4 x float> inreg %a, i32
%b) {
%cmp = icmp eq i32 %b, 0
br i1 %cmp, label %cmp.true, label %cmp.false
cmp.true:
%a1 = fadd <4 x float> %a, splat (float 1.000000e+00)
%a2 = bitcast <4 x float> %a1 to <2 x double>
br label %end
cmp.false:
%a3 = bitcast <4 x float> %a to <2 x double>
br label %end
end:
%phi = phi <2 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]
ret <2 x double> %phi
}
```
It suppose to select from scalar register patterns. But the Vreg pattern
is matched is as follow:
```
Debug log:
ISEL: Starting selection on root node: t3: v2f64 = bitcast t2
ISEL: Starting pattern match
Initial Opcode index to 440336
Skipped scope entry (due to false predicate) at index 440339, continuing
at 440367
Skipped scope entry (due to false predicate) at index 440368, continuing
at 440396
Skipped scope entry (due to false predicate) at index 440397, continuing
at 440435
Skipped scope entry (due to false predicate) at index 440436, continuing
at 440467
Skipped scope entry (due to false predicate) at index 440468, continuing
at 440499
Skipped scope entry (due to false predicate) at index 440500, continuing
at 440552
Skipped scope entry (due to false predicate) at index 440553, continuing
at 440587
Skipped scope entry (due to false predicate) at index 440588, continuing
at 440622
Skipped scope entry (due to false predicate) at index 440623, continuing
at 440657
Skipped scope entry (due to false predicate) at index 440658, continuing
at 440692
Skipped scope entry (due to false predicate) at index 440693, continuing
at 440727
Skipped scope entry (due to false predicate) at index 440728, continuing
at 440769
Skipped scope entry (due to false predicate) at index 440770, continuing
at 440798
Skipped scope entry (due to false predicate) at index 440799, continuing
at 440836
Skipped scope entry (due to false predicate) at index 440837, continuing
at 440870
TypeSwitch[v2f64] from 440873 to 440892
Patterns:
/*440892*/ OPC_CompleteMatch, 1, 0,
// Src: (bitconvert:{ *:[v2f64] } VReg_128:{ *:[v4f32] }:$src0) -
Complexity = 3
// Dst: VReg_128:{ *:[v2f64] }:$src0
```
2. Global isel will use `Select_COPY` to select bitcast
Commit: bdd087023f02fb377302595bf7f61e9cae8adb71
https://github.com/llvm/llvm-project/commit/bdd087023f02fb377302595bf7f61e9cae8adb71
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Fix various issues with multidimensional arrays (#134628)
This issue is very convoluted, but in essence, in the new version:
For a Pointer P that points to the root of a multidimensional, primitive
array:
`P.narrow()` does nothing.
`P.atIndex(0)` points `P[0]`
`P.atIndex(0).atIndex(0)` is the same as `P.atIndex(0)` (as before)
`P.atIndex(0).narrow().atIndex(0)` points to `P[0][0]`
`P.atIndex(0).narrow().narrow()` is the same as `P.atIndex(0).narrow()`.
Commit: fb9915a3918e3a9659a7f2825ee35bada3a2baf1
https://github.com/llvm/llvm-project/commit/fb9915a3918e3a9659a7f2825ee35bada3a2baf1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx17.cpp
Log Message:
-----------
[clang][bytecode] Fix emitDestruction() for dummy descriptors (#134665)
This might happen if the referenced declaration is invalid and thus gets
a dummy descriptor. We ran into an assertion later on.
Commit: 65cede26a6b06ba02c08284fada06c46c0289704
https://github.com/llvm/llvm-project/commit/65cede26a6b06ba02c08284fada06c46c0289704
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Fix emitting dtors of zero-sized arrays (#134672)
Desc->getNumElems() returning 0 made us underflow here.
Commit: 642481a4286c9006958274531ee173b347866c50
https://github.com/llvm/llvm-project/commit/642481a4286c9006958274531ee173b347866c50
Author: Aniket Lal <lalaniket8 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/GlobalDecl.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-arg-info.cl
A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
M clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CodeGenOpenCL/sampler.cl
M clang/test/CodeGenOpenCL/spir-calling-conv.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] Allow a kernel to call another kernel (#115821)
This feature is currently not supported in the compiler.
To facilitate this we emit a stub version of each kernel
function body with different name mangling scheme, and
replaces the respective kernel call-sites appropriately.
Fixes https://github.com/llvm/llvm-project/issues/60313
D120566 was an earlier attempt made to upstream a solution
for this issue.
---------
Co-authored-by: anikelal <anikelal at amd.com>
Commit: 0d19efa9d5d872962a0a83c865b4636d58f46519
https://github.com/llvm/llvm-project/commit/0d19efa9d5d872962a0a83c865b4636d58f46519
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/X86/constant-pool-partition.ll
M llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/CodeGen/X86/jump-table-partition.ll
Log Message:
-----------
[NFC]In codegen pipeline, turn static-data-splitter pass on/off with its own option (#134752)
Per discussion in
https://github.com/llvm/llvm-project/pull/129781#discussion_r2017489088,
we'd like to refactor out the requirement of MFS.
Commit: 2c1bdd4a0811af89eb9631935fbd90f13a04eacb
https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/ELF/aarch64-execute-only-mixed.s
M lld/test/ELF/aarch64-execute-only.s
A lld/test/ELF/arm-execute-only-mixed.s
M lld/test/ELF/arm-execute-only.s
Log Message:
-----------
[LLD][ELF] Allow merging XO and RX sections, and add `--[no-]xosegment` flag (#132412)
Following from the discussion in #132224, this seems like the best
approach to deal with a mix of XO and RX output sections in the same
binary. This change will also simplify the implementation of the
PURECODE section flag for AArch64.
To control this behaviour, the `--[no-]xosegment` flag is added to LLD
(similarly to `--[no-]rosegment`), which determines whether to allow
merging XO and RX sections in the same segment. The default value is
`--no-xosegment`, which is a breaking change compared to the previous
behaviour.
Release notes are also added, since this will be a breaking change.
Commit: 03f21e2ba3be6cec4cfe2441142cca16a6d1d528
https://github.com/llvm/llvm-project/commit/03f21e2ba3be6cec4cfe2441142cca16a6d1d528
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Update initializes definition (#134370)
Specify the initializes attribute in terms of an "initialized" shadow
state, such that:
* Loads prior to initialization return poison.
* Bytes that are not explicitly initialized are written with undef on
function return.
This is intended to preserve the core semantics of the attribute, but
adjusts the wording in a way that is compatible with existing
optimizations, such as insertion of spurious loads and removal of
uninitialized writes.
Fixes https://github.com/llvm/llvm-project/issues/133038.
Fixes https://github.com/llvm/llvm-project/issues/133059.
Commit: 8a53cc8ce5e9ac602d4726c0a24e53499d3522fb
https://github.com/llvm/llvm-project/commit/8a53cc8ce5e9ac602d4726c0a24e53499d3522fb
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-08 (Tue, 08 Apr 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:
-----------
remove failed test (#134793)
function `bitcast_v64i16_to_v128i8` in newly added test file
`llvm-project/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll` from
PR:https://github.com/llvm/llvm-project/pull/133052 failed in expansive
check. (passes normal lit check)
remove it for now
Commit: 308654608cb8bc5bbd5d4b3779cb7d92920dd6b7
https://github.com/llvm/llvm-project/commit/308654608cb8bc5bbd5d4b3779cb7d92920dd6b7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang][NFC] Move some static functions into CodeGenFunction (#134634)
Patches in the Key Instructions (KeyInstr) stack need to access CGF in these
functions. 2 CGF fields are passed to these functions already; at this point it
felt natural to promote them to CGF methods.
Commit: 87a187cedf09be0d7d1fa6eae1a8b644ee15db12
https://github.com/llvm/llvm-project/commit/87a187cedf09be0d7d1fa6eae1a8b644ee15db12
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for Tosa (#134784)
`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: e7365d3143d762c290c426b172f588756b6f1ef8
https://github.com/llvm/llvm-project/commit/e7365d3143d762c290c426b172f588756b6f1ef8
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Reducer/Passes.h
M mlir/include/mlir/Reducer/Passes.td
M mlir/lib/Reducer/OptReductionPass.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for Reducer (#134786)
let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: 0df0906af67fe81c0cc3ed6230518f4314884389
https://github.com/llvm/llvm-project/commit/0df0906af67fe81c0cc3ed6230518f4314884389
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
A llvm/test/Transforms/JumpThreading/thread-prob-8.ll
Log Message:
-----------
[JumpThreading] Use [BB->SuccIndx] to get probability when updating BB info. (#134585)
In case the same src BB targets to the same dest BB in different
conditions/edges, such as switch-cases, we should use
prob[SrcBB->SuccIndx] instead of prob[SrcBB->DstBB] to get probability.
Commit: ccdc44f643e5158391e618593950927dd1a02e5b
https://github.com/llvm/llvm-project/commit/ccdc44f643e5158391e618593950927dd1a02e5b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
Log Message:
-----------
[mlir][tosa] Remove perms input for tosa.transpose tests (#134740)
Perms is now an attribute, not input.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: f4328d0d3aee682e77ce070e1835158193dd8dcd
https://github.com/llvm/llvm-project/commit/f4328d0d3aee682e77ce070e1835158193dd8dcd
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
Log Message:
-----------
[mlir][tosa] Remove out_shape attribute from transpose_2d attributes (#134743)
out_shape is no longer an attribute
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: f0bdeb4b6aa1ee0653aed8323a5a7485fb930a05
https://github.com/llvm/llvm-project/commit/f0bdeb4b6aa1ee0653aed8323a5a7485fb930a05
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Cleanup ops.mlir (#134751)
* add missing CHECK-LABEL
* removed whitespace for consistency
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: bb5006169f9f72a87b4358356976e0fa33353728
https://github.com/llvm/llvm-project/commit/bb5006169f9f72a87b4358356976e0fa33353728
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[CodeGen] Change placeholder from `undef` to `poison` (#134731)
Fill default values of a map with `poison` instead of `undef`. There
should be no functional difference as the default values are overridden
later.
Commit: e1fc118f3a2f3fb91a3045ce37a5259430594afc
https://github.com/llvm/llvm-project/commit/e1fc118f3a2f3fb91a3045ce37a5259430594afc
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[CI] Reduce false positives in undef checker (#134687)
Only check for diffs containing "undef" in .ll files, this prevents
comments like `// We should not have undef values...` triggering the
undef checker bot.
Commit: 93505f8e0e702f470fdc37ea9a9ca5f04d011c19
https://github.com/llvm/llvm-project/commit/93505f8e0e702f470fdc37ea9a9ca5f04d011c19
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/debuginfo-invoke.ll
Log Message:
-----------
[DebugInfo][InstCombine] Propagate DILocation when noop-ing invoke (#134678)
In InstCombine we may decide that an alloc is removable, and the alloc
fn is called by an InvokeInst, we replace that InvokeInst with a invoke
of a noop intrinsic; this patch has us also copy the original invoke's
DILocation to the new noop invoke.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 9d82ab8a8222f22048074488d5036ae5228088c5
https://github.com/llvm/llvm-project/commit/9d82ab8a8222f22048074488d5036ae5228088c5
Author: David Green <david.green at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/Analysis/BasicAA/noalias-inttoptr.ll
Log Message:
-----------
[BasicAA] Add some test cases for coerced function args
Commit: c23e1cb9362067d3565a78590db8c5e68b74cf17
https://github.com/llvm/llvm-project/commit/c23e1cb9362067d3565a78590db8c5e68b74cf17
Author: David Green <david.green at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/noalias-inttoptr.ll
Log Message:
-----------
[BasicAA] Treat ExtractValue(Argument) similar to Argument in relation to function-local objects. (#134716)
This is a much smaller, technically orthogonal patch similar to #134505. It
states that a extractvalue(Argument) can be treated like an Argument for alias
analysis, where the extractelement acts like a phi / copy. No inttoptr here.
Commit: fe4f66636300e908e29f6caa69e0bda6d0d6422c
https://github.com/llvm/llvm-project/commit/fe4f66636300e908e29f6caa69e0bda6d0d6422c
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Always upload queue/running count (#134814)
Before this commit, we only pushed a queue/running count when the value
was not zero. This makes building Grafana alerting a bit harder.
Changing this to always upload a value for watched workflows.
Commit: 446d4f51eb1a172776e69ffb51b5972a0225c0a1
https://github.com/llvm/llvm-project/commit/446d4f51eb1a172776e69ffb51b5972a0225c0a1
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/clause-cleanup.f90
Log Message:
-----------
[flang][OpenMP][Lower] fix statement context cleanup insertion point (#133891)
The statement context is used for lowering clauses for openmp operations
using generalised helpers from flang lowering. The statement context
stores closures which generate code for cleaning up temporary values
generated by the lowering helper. These closures are run when the
statement construct is destroyed. Keeping the statement context local to
the clause or operation being lowered without any special handling was
not correct because any cleanup code would be generated at the insertion
point when that statement context went out of scope (which would in
general be inside of the newly created container operation). It would be
better to generate the cleanup code after the newly created operation
(clause processing is synchronous even for deferred tasks).
Currently supported clauses are mostly populated with simple scalar
values that require no cleanup. Even the simple array sections added by
#132994 needed no cleanup because indexing the right values of the array
did not create any temporaries. Supporting array sections with vector
indexing will generate hlfir.destroy operations for cleanup. This patch
fixes where those will be created. Those hlfir.destroy operations don't
generate any FIR (or LLVM) code, but the issue still exists
theoretically.
I wasn't able to find any clauses which have any cleanup to use to test
this PR. It is probably NFC for the current lowering. This will be
tested in [the PR adding vector subscripting of array
sections](https://github.com/llvm/llvm-project/pull/133892).
Commit: 4c09ae0b2ed6a99e4e69ec9e0507c26cdcc301a9
https://github.com/llvm/llvm-project/commit/4c09ae0b2ed6a99e4e69ec9e0507c26cdcc301a9
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/cancel.f90
A flang/test/Lower/OpenMP/cancellationpoint.f90
Log Message:
-----------
[flang][OpenMP] Lowering for CANCEL and CANCELLATIONPOINT (#134248)
These will still hit TODOs in OpenMPToLLVMIRConversion.cpp
Commit: a5509d62a71995ad3346dac4ef226b5a670d995f
https://github.com/llvm/llvm-project/commit/a5509d62a71995ad3346dac4ef226b5a670d995f
Author: Jakub Ficek <jakub.ficek at intel.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/pragma-fenv_access.c
Log Message:
-----------
[clang] fp options fix for __builtin_convertvector (#134102)
Add missing CGFPOptionsRAII for fptoi and itofp cases
Commit: 6f93c0676f80919c5f96e8c25dad95c159a0b336
https://github.com/llvm/llvm-project/commit/6f93c0676f80919c5f96e8c25dad95c159a0b336
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Make a few WaitcntBrackets methods const. NFC. (#134824)
Commit: 6a42fb8fbfc075f28fa7d1d70bb51aef7f18e2f9
https://github.com/llvm/llvm-project/commit/6a42fb8fbfc075f28fa7d1d70bb51aef7f18e2f9
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Clarify code in isPredicatedInst (NFC) (#134251)
Commit: ff5b649a843a0c1be9dc59612411a1693c95d651
https://github.com/llvm/llvm-project/commit/ff5b649a843a0c1be9dc59612411a1693c95d651
Author: MisakaVan <102937903+MisakaVan at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix a comment typo in __tree (#134831)
"Returns true **is** __root is a proper red black tree"
->
"Returns true **if** __root is a proper red black tree"
Commit: 8521bd2424bf144ce1d176a3c93d414c4c138104
https://github.com/llvm/llvm-project/commit/8521bd2424bf144ce1d176a3c93d414c4c138104
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
Log Message:
-----------
[BOLT][AArch64] Handle PAuth call instructions in isIndirectCall (#133227)
Handle `BLRA*` opcodes in AArch64MCPlusBuilder::isIndirectCall, update
getRegUsedAsCallDest accordingly.
Commit: 83fbe6798605c7b1ebec1287f90a41949cb1d235
https://github.com/llvm/llvm-project/commit/83fbe6798605c7b1ebec1287f90a41949cb1d235
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineX86ShufflesRecursively - iteratively peek through bitcasts to free subvector widening/narrowing sources. (#134701)
Generalizes the existing code to repeatedly peek though mixed bitcast/insert_subvector/extract_subvector chains to find the source of the shuffle operand.
Commit: 1997073a547528f94b11a111a2eae3676a216127
https://github.com/llvm/llvm-project/commit/1997073a547528f94b11a111a2eae3676a216127
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
Log Message:
-----------
[LLVM][InstCombine][SVE] Refactor sve.mul/fmul combines. (#134116)
After https://github.com/llvm/llvm-project/issues/126928 it's now
possible to rewrite the existing combines, which mostly only handle
cases where a operand is an identity value, to use existing simplify
code to unlock general constant folding.
Commit: 7af2b51e761f49974a64c3009882239cea618f2a
https://github.com/llvm/llvm-project/commit/7af2b51e761f49974a64c3009882239cea618f2a
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Log Message:
-----------
[AArch64][v8.5A] Omit BTI for non-addr-taken static fns on Linux (#134669)
This is a conditional revert of cca40aa8d8aa732, which made LLVM's
branch-target-enforcement mode generate BTI at the start of _every_
function, even in the case where the function has internal linkage and
its address is never taken for use in an indirect call.
The rationale was that it might turn out at link time that a direct call
to the function spanned a larger distance than the range of a BL
instruction (say, if the translation unit generated multiple code
sections and the linker put them a very long way apart). Then the linker
might insert a long-branch thunk using an indirect call instruction.
SYSVABI64 has now clarified that in this situation the static linker may
not assume that the target function is safe to call directly. If it
needs to use this strategy, it's responsible for also generating a
'landing pad' near the target function, with a BTI followed by a direct
branch, and using that as the target of the long-distance indirect call.
https://github.com/ARM-software/abi-aa/commit/606ce44fe4d3419c15cd9ed598f18fb5d520fcfc
LLD complies with this spec as of commit 098b0d18add97de.
So if we're compiling in a mode that respects SYSVABI64, such as
targeting Linux, it's safe to leave out the BTI at the start of a
function with internal linkage if we can prove that its address isn't
either used in an indirect call in _this_ translation unit or passed out
of the object.
Therefore, this patch goes back to the behavior before cca40aa8d8aa732,
leaving out BTIs in functions that can't be called indirectly, but only
if the target triple is Linux. (I wasn't able to find a more precise
query for "is this a SYSVABI64-compliant platform?", but Linux certainly
is, and this check at least fails in the safe direction - if in doubt,
we put in all the BTIs that might be necessary.)
Commit: 204d8c0d588b647e63d925705a7fe12c47242fc9
https://github.com/llvm/llvm-project/commit/204d8c0d588b647e63d925705a7fe12c47242fc9
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
Log Message:
-----------
[clang][llvm] Fix AArch64 MOP4{A/S} intrinsic tests (NFC) (#134746)
Fix some of the recently-added tests (PRs #127797, #128854, #129226 and
#129230) which were incorrectly defined.
Commit: 739062d2c3b6c21264c415575da47bf59f1dafe3
https://github.com/llvm/llvm-project/commit/739062d2c3b6c21264c415575da47bf59f1dafe3
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-struct.ll
Log Message:
-----------
[SPIR-V] Add spv.gep support for ptrcast legal (#134388)
Adds support the the spv.gep intrinsic to the spv ptrcast legalization
step. Those intrinsics are generated by the backend thus not directly
visible in the tests.
This is a pre-requisite to implement addrspacecast legalization for
logical SPIR-V.
Commit: 483edfeeb55420d509671406b889eadcce24114c
https://github.com/llvm/llvm-project/commit/483edfeeb55420d509671406b889eadcce24114c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Use __add_pointer and __remove_pointer builtins when they are fixed (#134147)
Commit: e06a9ca2cb596c19c23c32a248e1b3b69d7e4c4f
https://github.com/llvm/llvm-project/commit/e06a9ca2cb596c19c23c32a248e1b3b69d7e4c4f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Improve lowering of fixed length masked mem ops. (#134402)
Converting fixed length masks, as used by MLOAD, to scalable vectors is
done by comparing the mask to zero. When the mask is the result of a
compare we can instead promote the operands and regenerate the original
compare. At worst this reduces the dependecy chain and in most cases
removes the need for multiple compares.
Commit: e8dc8add3c04517e673d9dff342a60001c85dc1a
https://github.com/llvm/llvm-project/commit/e8dc8add3c04517e673d9dff342a60001c85dc1a
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Fix using precompiled headers with ccache (#131397)
Using precompiled headers with ccache requires special accommodations.
Add the required ccache options, clang and gcc compiler flags to CMake.
Refactor ccache configuration to pass options directly on the command line for versions of ccache that support it.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: c2c1031e90adfd8f64c5cd1b5e3b8af663715caf
https://github.com/llvm/llvm-project/commit/c2c1031e90adfd8f64c5cd1b5e3b8af663715caf
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/test/Semantics/test_errors.py
Log Message:
-----------
[Flang][Windows] Fix test_errors.py by enforcing UTF-8 encoding (#134625)
This patch fixes UnicodeDecodeError on Windows in test_errors.py. This
issue was observed on the flang-arm64-windows-msvc buildbot.
Semantics/OpenMP/interop-construct.f90 was crashing due to Python
defaulting to the cp1252 codec on Windows.
I have fixed this by explicitly setting encoding="utf-8" when reading
source files and invoking subprocess.run() in test_errors.py
flang-arm64-windows-msvc was running on stagging master which resulted
in this issue not being fixed earlier.
https://lab.llvm.org/staging/#/builders/206
Commit: 69c4e172d9838254f4e8ce4c78de9ecfbbabcae2
https://github.com/llvm/llvm-project/commit/69c4e172d9838254f4e8ce4c78de9ecfbbabcae2
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/test/Semantics/OpenMP/default-none.f90
A flang/test/Semantics/OpenMP/threadprivate09.f90
Log Message:
-----------
[Flang][OpenMP] Add semantic tests for threadprivate variables with host assoc (#134680)
Commit: a51e2827845fa3dfc1ef34f325792b35227311b4
https://github.com/llvm/llvm-project/commit/a51e2827845fa3dfc1ef34f325792b35227311b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[LV] Check if plan has an early exit via plan's exit blocks. (NFC) (#134720)
Add a dedicated function to check if a plan is for a loop with an early
exit. This can easily be determined by checking the exit blocks.
This allows removing a use of Legal->hasUncountableEarlyExit() from
InnerLoopVectorizer.
PR: https://github.com/llvm/llvm-project/pull/134720
Commit: 25e08c0b9cafaab09af35ce6a03317ffd503df08
https://github.com/llvm/llvm-project/commit/25e08c0b9cafaab09af35ce6a03317ffd503df08
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
Revert "[CMake] Fix using precompiled headers with ccache" (#134848)
Reverts llvm/llvm-project#131397
Reverting for now on account of build bot failures on certain platforms.
Commit: db7fb704f6d5337399172331b4ee46e846171061
https://github.com/llvm/llvm-project/commit/db7fb704f6d5337399172331b4ee46e846171061
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
Log Message:
-----------
[lldb][test] Explain why TestExprFromNonZeroFrame is disabled on Windows
It's not scientific but I think the PDB we produce on the Windows on Arm
bot simply doesn't have the information needed. Could also be that clang
is producing some DWARF, but link.exe is dropping it from the final executable,
the effect is the same.
Commit: 79cb6f05da37520949c006e26c5cef1826090d9d
https://github.com/llvm/llvm-project/commit/79cb6f05da37520949c006e26c5cef1826090d9d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/tools/CMakeLists.txt
R clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
R clang/tools/amdgpu-arch/CMakeLists.txt
R clang/tools/nvptx-arch/CMakeLists.txt
R clang/tools/nvptx-arch/NVPTXArch.cpp
A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
A clang/tools/offload-arch/CMakeLists.txt
A clang/tools/offload-arch/NVPTXArch.cpp
A clang/tools/offload-arch/OffloadArch.cpp
Log Message:
-----------
[Clang] Unify 'nvptx-arch' and 'amdgpu-arch' into 'offload-arch' (#134713)
Summary:
These two tools do the same thing, we should unify them into a single
tool. We create symlinks for backward compatiblity and provide a way to
get the old vendor specific behavior with `--amdgpu-only` and
`--nvptx-only`.
Commit: fcaefc2c19ebe037df7115f02abf23f94c07e8cc
https://github.com/llvm/llvm-project/commit/fcaefc2c19ebe037df7115f02abf23f94c07e8cc
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/test/CodeGen/AMDGPU/insert-handle-flat-vmem-ds.mir
M llvm/test/CodeGen/AMDGPU/remove-short-exec-branches-special-instructions.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
Log Message:
-----------
[AMDGPU][NPM] Port SIPreEmitPeephole to NPM (#130065)
Commit: 728320f9468ae8f6318f8f36ce675705d5805149
https://github.com/llvm/llvm-project/commit/728320f9468ae8f6318f8f36ce675705d5805149
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Increase test coverage for profile-based validation (#134754)
Add more tests to increase test coverage.
Commit: 7e1b76c2d7e272541ed40df6ce7a15e5cb51d407
https://github.com/llvm/llvm-project/commit/7e1b76c2d7e272541ed40df6ce7a15e5cb51d407
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Frontend/CMakeLists.txt
Log Message:
-----------
Revert "[flang] Use precompiled parsing headers" (#134851)
Reverts llvm/llvm-project#130600
Reverting on account of Windows issues with ccache, will bring it back
along with #131137 once those are resolved.
Commit: 008c875be85732f72c4df4671167f5be79f449eb
https://github.com/llvm/llvm-project/commit/008c875be85732f72c4df4671167f5be79f449eb
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Fix excessive stack usage in SIInsertWaitcnts::run (#134835)
Noticed on Windows when running LLVM as part of a graphics driver, with
total stack usage limited to about 128 KB. In some cases this function
would overflow the stack.
On Linux this reduces stack usage in this function from about 32 KB to
about 0.5 KB.
Commit: 94b9d75c6d77438008dcfc32812afaaff6e4ec3b
https://github.com/llvm/llvm-project/commit/94b9d75c6d77438008dcfc32812afaaff6e4ec3b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/BUILD.gn
Log Message:
-----------
[gn] port 65813e0e94c04
Commit: dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
https://github.com/llvm/llvm-project/commit/dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
Author: Alan Li <me at alanli.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
Log Message:
-----------
[MLIR][AMDGPU] Add a wrapper for global LDS load intrinsics in AMDGPU (#133498)
Defining a new `amdgpu.global_load` op, which is a thin wrap around
ROCDL `global_load_lds` intrinsic, along with its lowering logics to
`rocdl.global.load.lds`.
Commit: fdf20941a8f95b26578fbeb579019f74efe45545
https://github.com/llvm/llvm-project/commit/fdf20941a8f95b26578fbeb579019f74efe45545
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atan_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sincos_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
Log Message:
-----------
[libc][math] Fix signaling NaN handling for math functions. (#133347)
Add tests for signaling NaNs, and fix function behavior for handling
signaling NaN input.
Fixes https://github.com/llvm/llvm-project/issues/124812
Commit: 35b3886382f0172aa76bfbfc8e731e46c9c11cc3
https://github.com/llvm/llvm-project/commit/35b3886382f0172aa76bfbfc8e731e46c9c11cc3
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-windows-tailcall.ll
Log Message:
-----------
[win/arm64] Enable tail call with inreg arguments when possible (#134671)
Tail calls were disabled from callers with inreg parameters in 5dc8aeb
with a fixme to check if the callee also takes an inreg parameter.
The issue is that inreg parameters (which are passed in x0 or x1 for
free and member functions respectively) are supposed to be returned (in
x0) at the end of the function. In case of a tail call, that means the
callee needs to return the same value as the caller would.
We can check for that case, and it's not as niche as it sounds, as
that's how Clang will lower one function with an sret return value
calling another, such as:
```
struct T { int x; };
struct S {
T foo();
T bar();
};
T S::foo() { return bar(); } // foo's sret argument will get passed directly to bar
```
Fixes #133098
Commit: 3a6b9b3a87387289cb913d40b09f77c842bfd694
https://github.com/llvm/llvm-project/commit/3a6b9b3a87387289cb913d40b09f77c842bfd694
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix after dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
Remove unnecessary include.
Commit: 0e9881745834863a6f5a3a05588886bb3eb75cdf
https://github.com/llvm/llvm-project/commit/0e9881745834863a6f5a3a05588886bb3eb75cdf
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_frexp.inc
Log Message:
-----------
libclc: frexp: fix implementation regarding denormals (#134823)
Devices not supporting denormals can compare them true against zero. It
leads to result not matching the CTS expectation when either supporting
or not denormals.
For example for 0x1.008p-140 we get {0x1.008p-140, 0} while the CTS
expects {0x1.008p-1, -139} when supporting denormals, or {0, 0} when not
supporting denormals (flushed to zero).
Ref #129871
Commit: f19c6f23abefac56fde9f2b393c9ffa7595c86c6
https://github.com/llvm/llvm-project/commit/f19c6f23abefac56fde9f2b393c9ffa7595c86c6
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/hip-device-libs.hip
Log Message:
-----------
[Clang][AMDGPU] Improve error message when device libraries for COV6 are missing (#134745)
#130963 switches the default to COV6, which requires ROCm 6.3.
Currently, if the
device libraries for COV6 are not found, the error message is not very
helpful.
This PR provides a more informative error message in such cases.
Commit: b2dea4fd22b79fa27ef1ebd737401616095a7de6
https://github.com/llvm/llvm-project/commit/b2dea4fd22b79fa27ef1ebd737401616095a7de6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/RootAutoDetector.h
A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] root autodetection mechanism (#133147)
This is an optional mechanism that automatically detects roots. It's a best-effort mechanism, and its main goal is to *avoid* pointing at the message pump function as a root. This is the function that polls message queue(s) in an infinite loop, and is thus a bad root (it never exits).
High-level, when collection is requested - which should happen when a server has already been set up and handing requests - we spend a bit of time sampling all the server's threads. Each sample is a stack which we insert in a `PerThreadCallsiteTrie`. After a while, we run for each `PerThreadCallsiteTrie` the root detection logic. We then traverse all the `FunctionData`, find the ones matching the detected roots, and allocate a `ContextRoot` for them. From here, we special case `FunctionData` objects, in `__llvm_ctx_profile_get_context, that have a `CtxRoot` and route them to `__llvm_ctx_profile_start_context`.
For this to work, on the llvm side, we need to have all functions call `__llvm_ctx_profile_release_context` because they _might_ be roots. This comes at a slight (percentages) penalty during collection - which we can afford since the overall technique is ~5x faster than normal instrumentation. We can later explore conditionally enabling autoroot detection and avoiding this penalty, if desired.
Note that functions that `musttail call` can't have their return instrumented this way, and a subsequent patch will harden the mechanism against this case.
The mechanism could be used in combination with explicit root specification, too.
Commit: 8b11c39a0fad7f6ec48c323a0deeb3c103005200
https://github.com/llvm/llvm-project/commit/8b11c39a0fad7f6ec48c323a0deeb3c103005200
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/CMake.rst
M llvm/test/CMakeLists.txt
M llvm/test/tools/llvm-mt/help.test
M llvm/tools/llvm-mt/CMakeLists.txt
Log Message:
-----------
[llvm-mt] Do not build llvm-mt if not functional (#134631)
llvm-mt requires libxml2 to work, so do not even build it without
libxml2.
CMake 3.31 and later prefer llvm-mt.exe over Microsoft's mt.exe if
available and using clang-cl.exe as CMAKE_CXX_COMPILER. When CMake picks
up llvm-mt.exe without libxml2, any build will fail with the message
```
llvm-mt: error: no libxml2
```
Any test except `--help` already uses `REQUIRES: libxml2`. There is no
point in having a non-functional executable. Not building llvm-mt.exe
will force CMake to use Microsoft's `mt.exe` instead.
Fixes: #134237
Commit: c1e95b2e5e61616eca20f6bc1bbd71470180e349
https://github.com/llvm/llvm-project/commit/c1e95b2e5e61616eca20f6bc1bbd71470180e349
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Fix matching bug in VLA shuffle lowering (#134750)
Fix https://github.com/llvm/llvm-project/issues/134126.
The matching code was previous written as if we were mutating the
indices to replace undef elements with preferred values, but the actual
lowering code just took a prefix of the index vector. This resulted in
us using undef indices for lanes which should have been defined,
resulting in incorrect codegen.
Longer term, we probably should rewrite the mask, but this seemed like
an easier tactical fix.
Commit: 97c4cb4d13b2049cdfe884f4816aeaf6770d0c32
https://github.com/llvm/llvm-project/commit/97c4cb4d13b2049cdfe884f4816aeaf6770d0c32
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] getNumElements should not be used as VF when REVEC is enabled. (#134763)
Commit: 2347aa1fccdb1347450fc2a5af310f320f30c734
https://github.com/llvm/llvm-project/commit/2347aa1fccdb1347450fc2a5af310f320f30c734
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getAltInstrMask.ll
Log Message:
-----------
[SLP][REVEC] Fix the mismatch between the result of getAltInstrMask and the VecTy argument of TargetTransformInfo::isLegalAltInstr. (#134795)
We cannot determine ScalarTy from VL because some ScalarTy is determined
from VL[0]->getType(), while others are determined from
getValueType(VL[0]).
Fix "Mask and VecTy are incompatible".
Commit: 4f77e50042f8299b25442a263875cfb4564a506d
https://github.com/llvm/llvm-project/commit/4f77e50042f8299b25442a263875cfb4564a506d
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][AMDGPU] Fix shared build. NFC
Commit: b5045ae9bc84508473e1dac6db8ca5976ea4e069
https://github.com/llvm/llvm-project/commit/b5045ae9bc84508473e1dac6db8ca5976ea4e069
Author: Alan Li <me at alanli.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
Log Message:
-----------
[MLIR][Fix] Fix missing dep in AMDGPUDialect. (#134862)
Issue introduced in https://github.com/llvm/llvm-project/pull/133498
Commit: ae3faea1f28f840bddd819d1c45e7f7d3e75703c
https://github.com/llvm/llvm-project/commit/ae3faea1f28f840bddd819d1c45e7f7d3e75703c
Author: Christopher McGirr <7071833+chrsmcgrr at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Debug/CLOptionsSetup.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
A mlir/test/mlir-opt/debuggerhook.mlir
Log Message:
-----------
[MLIR][mlir-opt] move action debugger hook flag (#134842)
Currently if a developer uses the flag `--mlir-enable-debugger-hook` the
debugger hook is not actually enabled. It seems the DebugConfig and the
MainMLIROptConfig are not connected.
To fix this we can move the `enableDebuggerHook` CL Option to the
DebugConfigCLOptions struct so that it can get registered and enabled
along with the other debugger flags. AFAICS there are no other uses of
the flag so this should be safe.
This also adds a small LIT test to check that the hook is enabled by
checking the std::cerr output for the log message.
Commit: dfe4d9187c60c9888de3410ed3c2a98136a9cd8f
https://github.com/llvm/llvm-project/commit/dfe4d9187c60c9888de3410ed3c2a98136a9cd8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/IR/GCStrategy.cpp
A llvm/test/Transforms/RewriteStatepointsForGC/unsupported-gc-error.ll
Log Message:
-----------
GCStrategy: Use Twine properly for error message (#132760)
Commit: 561506144531cf0a760bb437fd74c683931c60ae
https://github.com/llvm/llvm-project/commit/561506144531cf0a760bb437fd74c683931c60ae
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
A llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
A llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
A llvm/test/tools/dsymutil/swiftmodule.test
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/RelocationMap.h
A llvm/tools/dsymutil/SwiftModule.cpp
A llvm/tools/dsymutil/SwiftModule.h
Log Message:
-----------
[dsymutil] Avoid copying binary swiftmodules built from textual (#134719)
.swiftinterface files into the dSYM bundle. These typically come only
from the SDK (since textual interfaces require library evolution) and
thus are a waste of space to copy into the bundle.
The information about this is being parsed out of the control block,
which means duplicating 5 constants from the Swift frontend. If a file
cannot be parsed, dsymutil errs on the side of copying the file anyway.
rdar://138186524
Commit: 2cf4254466252f3c8685b03b3de34b06563051e8
https://github.com/llvm/llvm-project/commit/2cf4254466252f3c8685b03b3de34b06563051e8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/Transforms/Attributor/align-atomic.ll
Log Message:
-----------
Attributor: Add baseline tests for propagating align to atomics (#134836)
Commit: 66f03436092df4e87434269eedf9f7c9e6fdbcba
https://github.com/llvm/llvm-project/commit/66f03436092df4e87434269eedf9f7c9e6fdbcba
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/align-atomic.ll
Log Message:
-----------
Attributor: Propagate align to atomicrmw instructions (#134837)
Partially fixes #134480
Commit: 34e8f00066ee82cba63808e381eaaae89c1b1c79
https://github.com/llvm/llvm-project/commit/34e8f00066ee82cba63808e381eaaae89c1b1c79
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/align-atomic.ll
Log Message:
-----------
Attributor: Propagate align to cmpxchg instructions (#134838)
Fixes #134480
Commit: 6c74fe9087fd85059158719ad1ab67e0f5098300
https://github.com/llvm/llvm-project/commit/6c74fe9087fd85059158719ad1ab67e0f5098300
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[Clang] [NFC] Tablegen component diags headers (#134777)
The component diagnostic headers (i.e. `DiagnosticAST.h` and friends)
all follow the same format, and there’s enough of them (and in them) to
where updating all of them has become rather tedious (at least it was
for me while working on #132348), so this patch instead generates all of
them (or rather their contents) via Tablegen.
Also, it seems that `%enum_select` currently wouldn’t work in
`DiagnosticCommonKinds.td` because the infrastructure for that was
missing from `DiagnosticIDs.h`; this patch should fix that as well.
Commit: 4e9cfcf6afa340b3ffae5996f6a511951f528ce1
https://github.com/llvm/llvm-project/commit/4e9cfcf6afa340b3ffae5996f6a511951f528ce1
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD after 561506144531cf0a760bb437fd74c683931c60ae.
Commit: 76d2e0881e19359e262043a149474049f94ea348
https://github.com/llvm/llvm-project/commit/76d2e0881e19359e262043a149474049f94ea348
Author: tdanyluk <tdanyluk at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir] fix references of attributes which are not defined earlier (#134364)
If an attribute is not defined earlier in the same file, but just
referenced from its dialect directly, then currently not the correct
check is being emited.
What would it emit for #toy.shape<[1, 2, 3]>:
Earlier:
// CHECK: #[['?']]<[1, 2, 3]>
Now:
// CHECK: #toy.shape<[1, 2, 3]>
Commit: bd49d278c6aa9ac5cc8e5917003d4f710887548d
https://github.com/llvm/llvm-project/commit/bd49d278c6aa9ac5cc8e5917003d4f710887548d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
Log Message:
-----------
[clang-tidy][NFC] update test name and config for bugprone-unintended-char-ostream-output (#134868)
Commit: b0cb672b9968eeee6eb022e98476957dbdf8e6e2
https://github.com/llvm/llvm-project/commit/b0cb672b9968eeee6eb022e98476957dbdf8e6e2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Inline: Propagate callsite nofpclass attribute
(#134800)
Fixes #134070
Commit: b416e7f5920ff2f80f60e52eeb363269d130adba
https://github.com/llvm/llvm-project/commit/b416e7f5920ff2f80f60e52eeb363269d130adba
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[CI] adjust the undef warning regex so it doesn't catch %undef in .ll files
Commit: 4a7b34d03c3cfd316ee64a63dfad519e0fee64fb
https://github.com/llvm/llvm-project/commit/4a7b34d03c3cfd316ee64a63dfad519e0fee64fb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
Log Message:
-----------
Revert "[AMDGPU] Add buffer.fat.ptr.load.lds intrinsic wrapping raw rsrc version (#133015)" (#134871)
This reverts commit d1a05721172272f7aab685b56d99e86814a15bff.
There was further discussion on the PR about whether the intinsics
should exist in this form.
Commit: 84fde791a1f285dec7ef0ec4803c5174f182df57
https://github.com/llvm/llvm-project/commit/84fde791a1f285dec7ef0ec4803c5174f182df57
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-reass-add.ll
Log Message:
-----------
[Reassociate] Apply Debugloc to instrs produced when optimizing add (#134676)
Currently in Reassociate we may create a set of new instructions when
optimizing an `add`, but we do not set DebugLocs on the new
instructions; this patch propagates the add's DebugLoc to the new
instructions.
Found using #107279.
Commit: bb7ff134dc9eb72707400f00fb874a6a9e47597d
https://github.com/llvm/llvm-project/commit/bb7ff134dc9eb72707400f00fb874a6a9e47597d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
Log Message:
-----------
[gn] port 6c74fe9087
Commit: 26475f5bdd2f4a042b63fdf1ee62d6634872dee5
https://github.com/llvm/llvm-project/commit/26475f5bdd2f4a042b63fdf1ee62d6634872dee5
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/test/MC/AArch64/data-directive-specifier.s
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AArch64/label-arithmetic-diags-darwin.s
Log Message:
-----------
[AArch64] Refactor @plt, @gotpcrel, and @AUTH to use parseDataExpr
Following PR #132569 (RISC-V), which added `parseDataExpr` for parsing
expressions in data directives (e.g., `.word`), this PR migrates AArch64
`@plt`, `@gotpcrel`, and `@AUTH` from the `parsePrimaryExpr` workaround
to `parseDataExpr`. The goal is to align with the GNU assembler model,
where relocation specifiers apply to the entire operand rather than
individual terms, reducing complexity-especially evident in `@AUTH`
parsing.
Note: AArch64 ELF lacks an official syntax for data directives
(#132570). A prefix notation might be a preferable future direction.
I recommend `%specifier(expr)`.
AsmParser's `@specifier` parsing is suboptimal, necessitating lexer
workarounds. `@` might appear multiple times in an operand.
We should not use `@` beyond the existing AArch64 Mach-O instruction
operands.
In the test elf-reloc-ptrauth.s, many errors are now reported at parse
time.
Pull Request: https://github.com/llvm/llvm-project/pull/134202
Commit: 3f38cd07d820248fd2043efb1341fabaac2d84a6
https://github.com/llvm/llvm-project/commit/3f38cd07d820248fd2043efb1341fabaac2d84a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Revert "Inline: Propagate callsite nofpclass attribute"
This reverts commit b0cb672b9968eeee6eb022e98476957dbdf8e6e2.
Breaks bot
Commit: 16d10546d29355f796cbdb307f0f89d6679d14a0
https://github.com/llvm/llvm-project/commit/16d10546d29355f796cbdb307f0f89d6679d14a0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__locale
M libcxx/include/__thread/thread.h
M libcxx/include/condition_variable
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/mutex
M libcxx/include/shared_mutex
M libcxx/include/string
Log Message:
-----------
[libc++] Remove _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS (#111964)
This macro isn't required if we define all the functions inline. In
fact, quite a few of the marked functions have already been inlined.
This patch basically only moves code around and adds
`_LIBCPP_HIDE_FROM_ABI` to the places where it's been missing so far.
This also removes inlining hints, since it dropps `inline` in some
places, but that shouldn't make much of a difference. The functions tend
to be either really small, so should be inlined anyways, or are big
enough that they shouldn't be inlined even with an inlinehint.
Commit: df0ccf6df09b5a067c80519b9adfa2c7dc46a350
https://github.com/llvm/llvm-project/commit/df0ccf6df09b5a067c80519b9adfa2c7dc46a350
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
Log Message:
-----------
[asan] Disable TestCases/Linux/asan_rt_confict_test-2.cpp to fix build
TestCases/Linux/asan_rt_confict_test-2.cpp started failing in https://lab.llvm.org/buildbot/#/builders/66/builds/12265/steps/9/logs/stdio
The only change is "[LLD][ELF] Allow merging XO and RX sections, and add --[no-]xosegment flag (#132412)" (https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb). Based on the test case (which deliberately tries to mix static and dynamically linked ASan), I suspect it's actually the test case that needs to be fixed (probably with a different error message check).
This patch disables TestCases/Linux/asan_rt_confict_test-2.cpp to make the buildbots green while I investigate.
Commit: d6c8e8908d421979a428ede9f9a630dac8576c5b
https://github.com/llvm/llvm-project/commit/d6c8e8908d421979a428ede9f9a630dac8576c5b
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lld/ELF/Arch/ARM.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:
-----------
Rename `F_no_mmap` to `F_mmap` (#134787)
The `F_no_mmap` flag was introduced by
https://github.com/llvm/llvm-project/commit/68142324290f2932df0e271747cdccc371d6dded
Commit: 46d4c3b1f64dfbca2a029ff30434aaa5248fc190
https://github.com/llvm/llvm-project/commit/46d4c3b1f64dfbca2a029ff30434aaa5248fc190
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/matrix-multiply.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - always prefer VPERMQ/PD for unary subvector shuffles on AVX2+ targets (#134849)
When combining 2 x 128-bit subvectors, don't assume that if the node is
already a X86ISD::VPERM2X128 node then there's nothing to do.
Fix issue where if we'd somehow combined to X86ISD::VPERM2X128
(typically if the 2 operands had then simplified to a common operand),
we can't canonicalise back to X86ISD::VPERMI on AVX2+ targets.
This matches the v4f64/v4i64 shuffle lowering preference for VPERMQ/PD
over VPERM2F128/I128.
Commit: e3d114ceb86782553e8f244975441e5934b35b82
https://github.com/llvm/llvm-project/commit/e3d114ceb86782553e8f244975441e5934b35b82
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-factoring-neg.ll
Log Message:
-----------
[DebugInfo][Reassociate] Propagate source loc when negating mul factor (#134679)
As part of RemoveFactorFromExpression, we attempt to remove a factor
from a mul/fmul expression; this may involve generating new
instructions, e.g. to negate the result if the factor was negative in
the original expression. When this happens, the new instructions should
have a DebugLoc set from the instruction that the factored expression is
being used to compute.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: f869d6efeec825c384dd9410fd29f90078e40c30
https://github.com/llvm/llvm-project/commit/f869d6efeec825c384dd9410fd29f90078e40c30
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
[LLDB][Minidump]Update MinidumpFileBuilder to read and write in chunks (#129307)
I recently received an internal error report that LLDB was OOM'ing when
creating a Minidump. In my 64b refactor we made a decision to acquire
buffers the size of the largest memory region so we could read all of
the contents in one call. This made error handling very simple (and
simpler coding for me!) but had the trade off of large allocations if
huge pages were enabled.
This patch is one I've had on the back burner for awhile, but we can
read and write the Minidump memory sections in discrete chunks which we
already do for writing to disk.
I had to refactor the error handling a bit, but it remains the same. We
make a best effort attempt to read as much of the memory region as
possible, but fail immediately if we receive an error writing to disk. I
did not add new tests for this because our existing test suite is quite
good, but I did manually verify a few Minidumps couldn't read beyond the
red_zone.
```
(lldb) reg read $sp
rsp = 0x00007fffffffc3b0
(lldb) p/x 0x00007fffffffc3b0 - 128
(long) 0x00007fffffffc330
(lldb) memory read 0x00007fffffffc330
0x7fffffffc330: 60 c3 ff ff ff 7f 00 00 60 cd ff ff ff 7f 00 00 `.......`.......
0x7fffffffc340: 60 c3 ff ff ff 7f 00 00 65 e6 26 00 00 00 00 00 `.......e.&.....
(lldb) memory read 0x00007fffffffc329
error: could not parse memory info (Success!)
```
I'm not sure how to quantify the memory improvement other than we would
allocate the largest size regardless of the size. So a 2gb unreadable
region would cause a 2gb allocation even if we were reading 4096 kb. Now
we will take the range size or the max chunk size of 128 mb.
Commit: 2721d50d8785603987358afb4d82b986879ca41e
https://github.com/llvm/llvm-project/commit/2721d50d8785603987358afb4d82b986879ca41e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
R llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
R llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
R llvm/test/tools/dsymutil/swiftmodule.test
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/RelocationMap.h
R llvm/tools/dsymutil/SwiftModule.cpp
R llvm/tools/dsymutil/SwiftModule.h
Log Message:
-----------
Revert "[dsymutil] Avoid copying binary swiftmodules built from textual"
This reverts commit 39ace8a63012af7d6ad7bf065c233fd3d5df44a3.
while investigating Linux bot failures.
Commit: 271399831b780d25dce85715727c841843e10d4b
https://github.com/llvm/llvm-project/commit/271399831b780d25dce85715727c841843e10d4b
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg.ll
Log Message:
-----------
[MSan] Change overflow_size_tls type to IntPtrTy (#117689)
As discussed in
https://github.com/llvm/llvm-project/pull/109284#discussion_r1838819987:
Changed `__msan_va_arg_overflow_size_tls` type from `Int64Ty` to
`IntPtrTy`.
Commit: 441f87968df5dfb74d710fa32147789be98c20a6
https://github.com/llvm/llvm-project/commit/441f87968df5dfb74d710fa32147789be98c20a6
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cmp.cpp
A clang/test/CIR/IR/cmp.cir
Log Message:
-----------
[CIR] Upstream CmpOp (#133159)
This patch adds support for comparison operators with ClangIR, both
integral and floating point.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 02a708b93b9ebe5e4fbc2b266da94677e6f793d3
https://github.com/llvm/llvm-project/commit/02a708b93b9ebe5e4fbc2b266da94677e6f793d3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract TryToFindDuplicates lambda into a separate function, NFC
Reviewers: RKSimon, hiraditya
Reviewed By: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134873
Commit: edcbd4a21179ca5e0fa9095d28a38fe10de66322
https://github.com/llvm/llvm-project/commit/edcbd4a21179ca5e0fa9095d28a38fe10de66322
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract a check for strided loads into separate function, NFC
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134876
Commit: 231aa3070dcd91e10e9972d20f7557c0068c41e3
https://github.com/llvm/llvm-project/commit/231aa3070dcd91e10e9972d20f7557c0068c41e3
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/Driver/openacc-no-cir.c
Log Message:
-----------
[OpenACC][CIR] Basic infrastructure for OpenACC lowering (#134717)
This is the first of a few patches that will do infrastructure work to
enable the OpenACC lowering via the OpenACC dialect.
At the moment this just gets the various function calls that will end up
generating OpenACC, plus some tests to validate that we're doing the
diagnostics in OpenACC specific locations.
Additionally, this adds Stmt and Decl files for CIRGen.
Commit: 6d2b767678caac108eeac752b0b90c98a44107ee
https://github.com/llvm/llvm-project/commit/6d2b767678caac108eeac752b0b90c98a44107ee
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/queue
M libcxx/include/stack
Log Message:
-----------
[NFC][libc++] Removes Clang 16 work-arounds. (#91636)
This was noticed while reviewing the implementation status of
P1614R2 The Mothership has Landed
Drive-by: Add some missing _LIBCPP_HIDE_FROM_ABIs.
Commit: 7117dea043d39912dc41aaeba9c3186486b9b867
https://github.com/llvm/llvm-project/commit/7117dea043d39912dc41aaeba9c3186486b9b867
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
A llvm/test/CodeGen/ARM/relative-reloc.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
A llvm/test/CodeGen/RISCV/relative-reloc.ll
M llvm/test/CodeGen/X86/dso_local_equivalent.ll
A llvm/test/CodeGen/X86/relative-reloc-32.ll
A llvm/test/CodeGen/X86/relative-reloc-64.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function; use lowerDSOLocalEquivalent in more cases
https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).
This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).
Pull Request: https://github.com/llvm/llvm-project/pull/134781
Commit: 5ebe22a35d27d69a9ba878010072588ace489035
https://github.com/llvm/llvm-project/commit/5ebe22a35d27d69a9ba878010072588ace489035
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Add async id to allocators (#134724)
Add async id to allocators in preparation for stream allocation.
Commit: b7b3758e88f15a7ec27f212cd46e3dcf4e2f39f5
https://github.com/llvm/llvm-project/commit/b7b3758e88f15a7ec27f212cd46e3dcf4e2f39f5
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/opaque-ptr.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/IR/invalid-builtin-types.mlir
M mlir/test/IR/test-verifiers-type.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/Import/incorrect-scalable-vector-check.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-types.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/opaque-ptr.mlir
M mlir/test/python/ir/builtin_types.py
Log Message:
-----------
[mlir][IR] Add `VectorTypeElementInterface` with `!llvm.ptr` (#133455)
This commit extends the MLIR vector type to support pointer-like types
such as `!llvm.ptr` and `!ptr.ptr`, as indicated by the newly added
`VectorTypeElementInterface`. This makes the LLVM dialect closer to LLVM
IR. LLVM IR already supports pointers as vector element type.
Only integers, floats, pointers and index are valid vector element types
for now. Additional vector element types may be added in the future
after further discussions. The interface is still evolving and may
eventually turn into one of the alternatives that were discussed on the
RFC.
This commit also disallows `!llvm.ptr` as an element type of
`!llvm.vec`. This type exists due to limitations of the MLIR vector
type.
RFC:
https://discourse.llvm.org/t/rfc-allow-pointers-as-element-type-of-vector/85360
Commit: 9bfb4b8fb194c1df5b082888abc03d095e39b6e9
https://github.com/llvm/llvm-project/commit/9bfb4b8fb194c1df5b082888abc03d095e39b6e9
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
Log Message:
-----------
[MachineScheduler] Add more debug prints w.r.t hazards and pending SUnits (#134328)
While we already have some detailed debug messages on the candidate
selection process -- which selects a SUnit from the Available queue, we
didn't say much about why a SUnit was _not_ moved from Pending queue to
Available queue in the first place, which is just as important as why we
scheduled a node IMHO. Therefore, I added some debug prints for this
very purpose.
I decide to print these extra messages by default (instead of being
guarded by command line like `-misched-detail-resource-booking`) because
we have been printing some of the hazard remarks, so I thought we might
as well print these new messages -- which are mostly about hazard -- by
default.
Commit: 4928093a21cea9bd76d1e47455e990874ad352df
https://github.com/llvm/llvm-project/commit/4928093a21cea9bd76d1e47455e990874ad352df
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/nullptr-init.cpp
Log Message:
-----------
[CIR] Upstream support for address of and dereference (#134317)
This adds support for handling the address of and dereference unary
operations in ClangIR code generation. This also adds handling for
nullptr and proper initialization via the NullToPointer cast.
Commit: 658f848fed06f7629b52523a26b54faf72251158
https://github.com/llvm/llvm-project/commit/658f848fed06f7629b52523a26b54faf72251158
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
Log Message:
-----------
[NFC][libc++][test] Refactor new ftm generator tests. (#134490)
This uses the python unit test framework instead of just asserts. This
improves the diagnostics when a test fails.
Commit: 4ab86edb560a2e1152e22700b0cb386759286c37
https://github.com/llvm/llvm-project/commit/4ab86edb560a2e1152e22700b0cb386759286c37
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/istream
Log Message:
-----------
[libc++] Fix misplaced _LIBCPP_POP_MACROS (#134874)
Fixes #134681
Commit: 6010d5ba2b8e4b6e88460559ad5624a63a4a1505
https://github.com/llvm/llvm-project/commit/6010d5ba2b8e4b6e88460559ad5624a63a4a1505
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
gn build: Port 2f1416bbcde8 more
Commit: 19ee7ffdacd54267aa18793b31d23c9c4fb94ee6
https://github.com/llvm/llvm-project/commit/19ee7ffdacd54267aa18793b31d23c9c4fb94ee6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/dbgloc-memchr.ll
Log Message:
-----------
[AggrInstCombine][DebugInfo] Propagate DILocation for inlined memchr (#134808)
When AggressiveInstCombine replaces a memchr with a switch instruction,
it currently drops the DILocation for that memchr. This patch changes
this, propagating the memchr DILocation to all the generated
instructions that replace it.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: e84a80408523a48d6eaacd795f1615e821ffb233
https://github.com/llvm/llvm-project/commit/e84a80408523a48d6eaacd795f1615e821ffb233
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Make sure the process is stopped when computing the symbol context (#134757)
Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.
Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.
Commit: a557550fa40551d23762d4903535a022275b6caa
https://github.com/llvm/llvm-project/commit/a557550fa40551d23762d4903535a022275b6caa
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] add missing target
Commit: 11fdea984dc6777ba4f4b7e516c2938083b34ddb
https://github.com/llvm/llvm-project/commit/11fdea984dc6777ba4f4b7e516c2938083b34ddb
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
Log Message:
-----------
[clang] NFC: remove trailing whitespaces from clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
Commit: 3b84b1e1635cc6af9ff745d0542ebee151394c42
https://github.com/llvm/llvm-project/commit/3b84b1e1635cc6af9ff745d0542ebee151394c42
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] fix typo
Commit: 7e70d708a39470397a8df9aa5842d0875b471def
https://github.com/llvm/llvm-project/commit/7e70d708a39470397a8df9aa5842d0875b471def
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Initialization/SystemLifetimeManager.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Initialization/SystemLifetimeManager.cpp
M lldb/tools/lldb-server/lldb-server.cpp
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/tools/lldb-test/lldb-test.cpp
Log Message:
-----------
[LLDB][NFC] Remove Debugger dependency in SystemLifetimeManager (#134383)
It reduces the memory usage in lldb-server.
Commit: 9ba1a3fcb53936f20533585df283b3734ae8c4ef
https://github.com/llvm/llvm-project/commit/9ba1a3fcb53936f20533585df283b3734ae8c4ef
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPExpressions.cpp
A clang/test/Preprocessor/constants.c
Log Message:
-----------
Reject invalid integer constants in unevaluated preprocessor operands (#134884)
Clang was previously accepting invalid code like:
```
#if 1 ? 1 : 999999999999999999999
#endif
```
because the integer constant (which is too large to fit into any
standard or extended integer type) was in an unevaluated branch of the
conditional operator. Similar invalid code involving || or && was also
accepted and is now rejected.
Fixes #134658
Commit: 234d30e36b1bba0fae4149ba90348f804be7ad4c
https://github.com/llvm/llvm-project/commit/234d30e36b1bba0fae4149ba90348f804be7ad4c
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/types-invalid.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-types.mlir
Log Message:
-----------
[mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (#133286)
Since #125690, the MLIR vector type supports `!llvm.ptr` as an element
type. The only remaining element type for `LLVMFixedVectorType` is now
`LLVMPPCFP128Type`.
This commit turns `LLVMPPCFP128Type` into a proper FP type (by
implementing `FloatTypeInterface`), so that the MLIR vector type accepts
it as an element type. This makes `LLVMFixedVectorType` obsolete.
`LLVMScalableVectorType` is also obsolete. This commit deletes
`LLVMFixedVectorType` and `LLVMScalableVectorType`.
Note for LLVM integration: Use `VectorType` instead of
`LLVMFixedVectorType` and `LLVMScalableVectorType`.
Commit: 836476660e5c068a8b3034c2bc21dbb70683f0fe
https://github.com/llvm/llvm-project/commit/836476660e5c068a8b3034c2bc21dbb70683f0fe
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add missing deps for LLVMOpsTdFiles
Commit: c4c0ff686563999176f16a40274586ee0d32c66f
https://github.com/llvm/llvm-project/commit/c4c0ff686563999176f16a40274586ee0d32c66f
Author: cmtice <cmtice at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILParser.cpp
Log Message:
-----------
[LLDB] Fix warnings in DIL. (#134778)
This fixes 3 warnings from compiling the DILParser:
DILParser.h:53:12: warning: returning address of local temporary object
[-Wreturn-stack-address]
DILParser.h:119:8: warning: private field 'm_fragile_ivar' is not used
[-Wunused-private-field]
DILParser.h:120:8: warning: private field 'm_check_ptr_vs_member' is not
used [-Wunused-private-field]
Commit: 550d148561002a9984ca57a5ba0ed39367052a52
https://github.com/llvm/llvm-project/commit/550d148561002a9984ca57a5ba0ed39367052a52
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/SandboxIR/Constant.cpp
Log Message:
-----------
[SandboxIR] Fix warning when building on Windows with clang-cl. NFC.
This fixes several of these:
```
[1151/3381] Building CXX object lib\SandboxIR\CMakeFiles\LLVMSandboxIR.dir\Constant.cpp.obj
C:\git\llvm-project\llvm\lib\SandboxIR\Constant.cpp(331,52): warning: duplicate explicit instantiation of 'operator()' ignored as a Microsoft extension [-Wmicrosoft-template]
331 | llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
| ^
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Constant.h(816,52): note: previous explicit instantiation is here
816 | llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
| ^
```
Commit: 446e793d77286ea477c90778f28c168883526e56
https://github.com/llvm/llvm-project/commit/446e793d77286ea477c90778f28c168883526e56
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Type.h
Log Message:
-----------
[SandboxIR] Fix warning when building on Windows with clang-cl. NFC.
This fixes:
```
[1230/3381] Building CXX object lib\Transforms\Vectorize\CMakeFiles\LLVMVectorize.dir\SandboxVectorizer\VecUtils.cpp.obj
In file included from C:\git\llvm-project\llvm\lib\Transforms\Vectorize\SandboxVectorizer\VecUtils.cpp:9:
In file included from C:\git\llvm-project\llvm\include\llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h:17:
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Type.h(55,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
55 | friend class CallBase; // For LLVMTy.
| ^
| ::llvm::
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Type.h(60,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
60 | friend class CmpInst; // For LLVMTy. TODO: Cleanup after
| ^
| ::llvm::
2 warnings generated.
```
Commit: 661f90ad088fe9fad004ae6690bab061fb9a5f1d
https://github.com/llvm/llvm-project/commit/661f90ad088fe9fad004ae6690bab061fb9a5f1d
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
Log Message:
-----------
[SandboxIR] Fix warning when building on Windows with clang-cl. NFC.
This fixes:
```
[2295/3381] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\PassBuilder.cpp.obj
In file included from C:\git\llvm-project\llvm\lib\Passes\PassBuilder.cpp:368:
In file included from C:\git\llvm-project\llvm\include\llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h:16:
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Context.h(73,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
73 | friend class Region; // For LLVMCtx.
| ^
| ::llvm::
1 warning generated.
```
Commit: 4cb320eb8124f6d47e5796fa8becbe22e9e8f841
https://github.com/llvm/llvm-project/commit/4cb320eb8124f6d47e5796fa8becbe22e9e8f841
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Add coverage for shuffles which if widened could be zipeven/zipodd
Commit: 96f95c9d89d8a1784d3865fa941fb1c510f4e2d7
https://github.com/llvm/llvm-project/commit/96f95c9d89d8a1784d3865fa941fb1c510f4e2d7
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/tools/dsymutil/ARM/swiftmodule.test
A llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
A llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/RelocationMap.h
A llvm/tools/dsymutil/SwiftModule.cpp
A llvm/tools/dsymutil/SwiftModule.h
Log Message:
-----------
[dsymutil] Avoid copying binary swiftmodules built from textual
.swiftinterface files into the dSYM bundle. These typically come only
from the SDK (since textual interfaces require library evolution) and
thus are a waste of space to copy into the bundle.
The information about this is being parsed out of the control block,
which means duplicating 5 constants from the Swift frontend. If a file
cannot be parsed, dsymutil errs on the side of copying the file
anyway.
rdar://138186524
Relanding with additional linker dependency and moving the test into
the right target subdirectory.
Commit: 556fb4c9afb1e90415239fe3fb9c6e39af8ddc03
https://github.com/llvm/llvm-project/commit/556fb4c9afb1e90415239fe3fb9c6e39af8ddc03
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
Log Message:
-----------
[libc] Disable sin/cospif16 on aarch64 (#134918)
The tests are failing and it's unclear why. Disabling for now until a
fix can be implemented. See
https://github.com/llvm/llvm-project/issues/134917 for details.
Commit: 6f92339d9e764d8a8452f82eff690d8ef9070ac6
https://github.com/llvm/llvm-project/commit/6f92339d9e764d8a8452f82eff690d8ef9070ac6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/i1-reg-usage.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/LoongArch/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.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/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/i1-reg-usage.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
Log Message:
-----------
[LV] Compute register usage for interleaving on VPlan. (#126437)
Add a version of calculateRegisterUsage that works estimates register
usage for a VPlan. This mostly just ports the existing code, with some
updates to figure out what recipes will generate vectors vs scalars.
There are number of changes in the computed register usages, but they
should be more accurate w.r.t. to the generated vector code.
There are the following changes:
* Scalar usage increases in most cases by 1, as we always create a
scalar canonical IV, which is alive across the loop and is not
considered by the legacy implementation
* Output is ordered by insertion, now scalar registers are added first
due the canonical IV phi.
* Using the VPlan, we now also more precisely know if an induction will
be vectorized or scalarized.
Depends on https://github.com/llvm/llvm-project/pull/126415
PR: https://github.com/llvm/llvm-project/pull/126437
Commit: c4b343aeebe28462d13a773e05a5a667420abe7e
https://github.com/llvm/llvm-project/commit/c4b343aeebe28462d13a773e05a5a667420abe7e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/cuf-device-procedures02.cuf
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice in host,device and grid_global procedures (#134905)
Commit: fed0f58547f801d775d8f763cca5fe4eddd325cb
https://github.com/llvm/llvm-project/commit/fed0f58547f801d775d8f763cca5fe4eddd325cb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Avoid triggering host array error in host device proc (#134909)
we cannot enforce the detection of host arrays in device code when the
procedure is host, device. Relax the check for those.
Commit: 189baedb71b661851530644585b79fd5ff6efecb
https://github.com/llvm/llvm-project/commit/189baedb71b661851530644585b79fd5ff6efecb
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add missing divider in tosa-infer-shapes.mlir (#134883)
Minor format fix.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 320c13e09aea3234a171eaebfc2b263bd88a9869
https://github.com/llvm/llvm-project/commit/320c13e09aea3234a171eaebfc2b263bd88a9869
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/tools/dsymutil/CMakeLists.txt
Log Message:
-----------
[dsymutil] Add missing dependency
Commit: 8d90a541537fbed7d8c2a759b4ff46192a2c436e
https://github.com/llvm/llvm-project/commit/8d90a541537fbed7d8c2a759b4ff46192a2c436e
Author: Jann <jannh at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
Log Message:
-----------
[clang] Add comment about misleading alloc_size argument names (#134899)
Attr.td names the first alloc_size argument "ElemSizeParam" and the
second optional argument "NumElemsParam"; but the semantics of how the
two-argument version is used in practice is the opposite of that.
glibc declares calloc() like this, so the second alloc_size argument is
the element size:
```
extern void *calloc (size_t __nmemb, size_t __size)
__THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur;
```
The Linux kernel declares array allocation functions like
`kmalloc_array_noprof()` the same way.
Add a comment explaining that the names used inside clang are
misleading.
Commit: dbcde15abac2670c17a7522bd957ab535f13c5cd
https://github.com/llvm/llvm-project/commit/dbcde15abac2670c17a7522bd957ab535f13c5cd
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
Log Message:
-----------
[libc] Add remaining math function entrypoints to darwin/arm. (#134920)
To match with what are currently available on linux/x86_64.
Commit: 156e2532edeaea9a60c37c041e8059fc5693122f
https://github.com/llvm/llvm-project/commit/156e2532edeaea9a60c37c041e8059fc5693122f
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lld/ELF/Arch/ARM.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:
-----------
Revert "Rename `F_no_mmap` to `F_mmap`" (#134924)
Reverts llvm/llvm-project#134787
Causes the LIT test `lld\test\ELF\link-open-file.test` to fail on the
`llvm-clang-x86_64-sie-win` Build Bot. First instance of the failure
observed in: https://lab.llvm.org/buildbot/#/builders/46/builds/14847
Commit: 9f463056e6dd5ff94d35f8cc1f4aa4ecc87fa61d
https://github.com/llvm/llvm-project/commit/9f463056e6dd5ff94d35f8cc1f4aa4ecc87fa61d
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/main-no-return-c89-1.c
A clang/test/Sema/main-no-return-c89-2.c
A clang/test/Sema/main-no-return-c89-3.c
Log Message:
-----------
[Clang] add ext warning for missing return in 'main' for C89 mode (#134617)
Fixes #21650
---
Clang currently inserts an implicit `return 0;` in `main()` when
compiling in `C89` mode, even though the `C89` standard doesn't require
this behavior. This patch changes that behavior by emitting a warning
instead of silently inserting the implicit return under `-pedantic`.
Commit: 8b34986072d744009a4a2be9692b5cc43cbe4cd3
https://github.com/llvm/llvm-project/commit/8b34986072d744009a4a2be9692b5cc43cbe4cd3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads-simple.ll
Log Message:
-----------
[SLP][NFC]Add a test with potential segmented loads, recognized as strided
Commit: c13436e516ed51bcc6f39b7b5c93d987e5fd7884
https://github.com/llvm/llvm-project/commit/c13436e516ed51bcc6f39b7b5c93d987e5fd7884
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
A llvm/test/CodeGen/NVPTX/convert-fp-i8.ll
Log Message:
-----------
[SDAG][NVPTX] Add TLI hook to get preferred FP->INT opcode (#132470)
Extract the logic for choosing FP_TO_UINT vs FP_TO_SINT opcodes into a
TLI hook. This hook can be overridden by targets that prefer not to use
the default behavior of replacing FP_TO_UINT with FP_TO_SINT when both
are custom.
Implement an override for NVPTX to only change opcode when
FP_TO_UINT is not legal and FP_TO_SINT is legal.
Commit: a6853cd9af40eb330b9aec9762093be077e02f6c
https://github.com/llvm/llvm-project/commit/a6853cd9af40eb330b9aec9762093be077e02f6c
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Auto-Upgrade llvm.nvvm.atomic.load.{inc,dec}.32 (#134111)
These intrinsics can be upgrade to an atomicrmw instruction.
Commit: 1a1698b5dde28debc8331ca933a226e79164949a
https://github.com/llvm/llvm-project/commit/1a1698b5dde28debc8331ca933a226e79164949a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Handle NullStmt (#134889)
The handling for NullStmt was going to an error saying the statement
handling wasn't implemented. It doesn't need any implementation. It is
sufficient for emitSimpleStmt to just return success for that statement
class. This change does that.
Commit: 76d722732d7b417438f7aee8c36d79bf4feb2e97
https://github.com/llvm/llvm-project/commit/76d722732d7b417438f7aee8c36d79bf4feb2e97
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
Log Message:
-----------
[lldb][Minidump] Fix MAX_WRITE_CHUNK_SIZE type
MinidumpFileBuilder calls std::min(MAX_WRITE_CHUNK_SIZE,
func_returning_uint64_t) and on Darwin this errors out with
unsigned long long & unsigned long not being the same type.
Commit: cfa6a5940e2dd29e88885028d77f8f357f3e773c
https://github.com/llvm/llvm-project/commit/cfa6a5940e2dd29e88885028d77f8f357f3e773c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Don't lower instrumentation for `noreturn` functions (#134932)
`noreturn` functions are doubtfully interesting for performance optimization / profiling.
Commit: 1d0f8355b1cb31c150c5b338562894dca1389863
https://github.com/llvm/llvm-project/commit/1d0f8355b1cb31c150c5b338562894dca1389863
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Support/Fortran.cpp
M flang/test/Semantics/cuf10.cuf
Log Message:
-----------
[flang][cuda] Relax compatibility rules when host,device procedure is involved (#134926)
Relax too restrictive rule for host, device procedure.
Commit: b712068af26643d5fcbfd148b2084554b4e61650
https://github.com/llvm/llvm-project/commit/b712068af26643d5fcbfd148b2084554b4e61650
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[nfc][Msan] Split PPC VarArg Helper into PPC32 and PPC64 (#134860)
As discussed in https://github.com/llvm/llvm-project/pull/131827, copied
ppc32 helper from ppc64. No functional changes have been made.
Commit: 1365b5b1ad5d09a738dbe97b5a72902186e24d80
https://github.com/llvm/llvm-project/commit/1365b5b1ad5d09a738dbe97b5a72902186e24d80
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
Log Message:
-----------
[clang][DependencyScanning] Track dependencies from prebuilt modules to determine IsInStableDir (#132237)
When a module is being scanned, it can depend on modules that have
already been built from a pch dependency. When this happens, the pcm
files are reused for the module dependencies. When this is the case,
check if input files recorded from the PCMs come from the provided
stable directories transitively since the scanner will not have access
to the full set of file dependencies from prebuilt modules.
Commit: 9c38b2e5133bf4ffc3a349436e8884f91ff03b11
https://github.com/llvm/llvm-project/commit/9c38b2e5133bf4ffc3a349436e8884f91ff03b11
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fold PadOp to tensor operations (#132700)
Commit: 0428252db3841ddb96be1996cd2f3119d91b7b98
https://github.com/llvm/llvm-project/commit/0428252db3841ddb96be1996cd2f3119d91b7b98
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
Log Message:
-----------
Fix some page size assumptions in the HWASan tests.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/134941
Commit: 93096bf830e58a5a5fcb5cc12f08e8277b2725ab
https://github.com/llvm/llvm-project/commit/93096bf830e58a5a5fcb5cc12f08e8277b2725ab
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
Log Message:
-----------
gn build: Add hwasan_preinit.cpp to hwasan static library to match CMake.
Reviewers: aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134942
Commit: d3a9d471f75f0b9b58e89d0662dae05c18660bba
https://github.com/llvm/llvm-project/commit/d3a9d471f75f0b9b58e89d0662dae05c18660bba
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
Log Message:
-----------
gn build: Replace ${hwasan_name}-preinit with hwasan-preinit.
The driver only ever looks for the latter.
Reviewers: aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134943
Commit: bd2df7b0763e07d09f3a2bcb7096871101c14454
https://github.com/llvm/llvm-project/commit/bd2df7b0763e07d09f3a2bcb7096871101c14454
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
Log Message:
-----------
gn build: Enable check-hwasan on aarch64 Linux.
Reviewers: aeubanks, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/134944
Commit: 36cb81cced6cb9ab8a68a4313963d4ccf7669e76
https://github.com/llvm/llvm-project/commit/36cb81cced6cb9ab8a68a4313963d4ccf7669e76
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
Log Message:
-----------
Change python to python3 in some shebangs.
Reviewers: vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/134945
Commit: ab95005a05232030a16c2da7a8de867c2ded5f88
https://github.com/llvm/llvm-project/commit/ab95005a05232030a16c2da7a8de867c2ded5f88
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__config
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__type_traits/is_char_like_type.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/type_traits
M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
M libcxx/test/std/language.support/support.types/byte.pass.cpp
M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
M libcxx/test/support/nasty_string.h
M libcxxabi/src/demangle/ItaniumDemangle.h
Log Message:
-----------
[libc++] P3247R2: Deprecate `is_trivial(_v)` (#130573)
Requirements on character-like types are updated unconditionally,
because `basic_string` does requires the default-constructibility. It
might be possible to make `basic_string_view` support classes with
non-public trivial default constructor, but this doesn't seem sensible.
libcxxabi's `ItaniumDemangle.h` is also updated to avoid deprecated
features.
Commit: ad01e0ac66441b28f9dc8acebd0dea5ea94a0f20
https://github.com/llvm/llvm-project/commit/ad01e0ac66441b28f9dc8acebd0dea5ea94a0f20
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
A llvm/test/MC/RISCV/xqcilo-pseudos-valid.s
Log Message:
-----------
[RISCV][Xqcilo] Load/Store Pseudos (#134931)
This adds `qc.e.l<type> <reg>, <symbol>` and `qc.e.s<type> <reg>,
<symbol>, <reg>` pseudos for the corresponding Xqcilo instructions.
These emit as an AUIPC + (Standard) Load/Store pair, because this
sequence is shorter and can be relaxed back into the equivalent Xqcilo
load/store instruction in the right circumstances.
Commit: 4c90d977dbdcfed3c25e85472b61cc17eef915c0
https://github.com/llvm/llvm-project/commit/4c90d977dbdcfed3c25e85472b61cc17eef915c0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/ProfileSummaryInfo.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
R llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
Log Message:
-----------
[ctxprof] Use the flattened contextual profile pre-thinlink (#134723)
Flatten the profile pre-thinlink so that ThinLTO has something to work with for the parts of the binary that aren't covered by contextual profiles. Post-thinlink, the flattener is re-run and will actually change profile info, but just for the modules containing contextual trees ("specialized modules"). For the rest, the flattener just yanks out the instrumentation.
Commit: 442050ce8f10abaef8d7ff1e7dd28aa321d97e86
https://github.com/llvm/llvm-project/commit/442050ce8f10abaef8d7ff1e7dd28aa321d97e86
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-insert-icp-mdprof.ll
Log Message:
-----------
[ctxprof] Flatten indirect call info in pre-thinlink compilation (#134766)
Same idea as in #134723 - flatten indirect call info in `"VP"` `MD_prof` metadata for the thinlinker, for cases that aren't covered by a contextual profile. If we don't ICP an indirect call target in the specialized module, the call will fall to the copy of that target outside the specialized module. If the graph under that target also has some indirect calls, in the absence of this pass, we'd have a steeper performance regression - because none of those would have a chance to be ICPed.
Commit: 34d586fdd548a34911caa068b557c4c0442f4d1d
https://github.com/llvm/llvm-project/commit/34d586fdd548a34911caa068b557c4c0442f4d1d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Extend SGMapAttr and Add ConvertLayoutOp (#132425)
This PR improves the SGMapAttr to enable workgroup-level programming, representing the first step in expanding the XeGPU dialect from subgroup to workgroup level, and renames it to LayoutAttr
Commit: ccf22848da9f050e00f23c5d4bc412ab19e81645
https://github.com/llvm/llvm-project/commit/ccf22848da9f050e00f23c5d4bc412ab19e81645
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.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/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/if-consteval.cpp
A clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/Lowering/if.cir
A clang/test/CIR/Transforms/if.cir
Log Message:
-----------
[CIR] Add if statement support (#134333)
This patch adds support for if statements in the CIR dialect
Additionally, multiple RUN lines were introduced to improve codegen test
coverage
Commit: 9a762bb4e17969e69e4d1ce383fd0ccd41fb8e2e
https://github.com/llvm/llvm-project/commit/9a762bb4e17969e69e4d1ce383fd0ccd41fb8e2e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
Log Message:
-----------
[RISCV] Reuse existing tablegen classes for Zilsd/Zclsd. NFC (#134946)
We don't need pair specific classes. We just need to pass the pair
RegisterOperand to the existing classes we use for the base ISA and Zca.
For Zclsd, we need to changes the classes to take DAGOperand instead of
RegisterClass so we can pass a RegisterOperand.
Commit: 8ebc98c3b0905a8587d81350782f67576cc3737c
https://github.com/llvm/llvm-project/commit/8ebc98c3b0905a8587d81350782f67576cc3737c
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/ieee_flag.f90
Log Message:
-----------
[flang] Update IEEE_SUPPORT_FLAG implementation (#134937)
Optional argument X in an IEEE_SUPPORT_FLAG(FLAG, X) call may be an
array.
Commit: deef64904f4afe612c900f6674c3480e121a7487
https://github.com/llvm/llvm-project/commit/deef64904f4afe612c900f6674c3480e121a7487
Author: brandb97 <77328395+brandb97 at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_fake_stack.cpp
A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
Log Message:
-----------
Poison unused tail of FakeFrame (#133689)
Fix [issue#133640](https://github.com/llvm/llvm-project/issues/133640)
Commit: cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
https://github.com/llvm/llvm-project/commit/cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
R libc/src/__support/FPUtil/aarch64/sqrt.h
A libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/macros/properties/cpu_features.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Extend fputil::sqrt to use floating point instructions for arm32. (#134499)
Commit: 333f2c334174ee2c3b70f6db01970b339459bfa6
https://github.com/llvm/llvm-project/commit/333f2c334174ee2c3b70f6db01970b339459bfa6
Author: Dirk Pranke <dpranke at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/.gn
M llvm/utils/gn/build/toolchain/BUILD.gn
M llvm/utils/gn/secondary/BUILD.gn
Log Message:
-----------
[gn] Use exec_script_allowlist in //llvm/utils/gn/.gn (#134172)
This requires gn_version >= 2207. Run llvm/utils/gn/get.py to
update your GN binary if you hit the assert added in this commit.
Commit: 02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
https://github.com/llvm/llvm-project/commit/02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/llc.rst
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
M llvm/test/CodeGen/RISCV/hwasan-check-memaccess.ll
A llvm/test/tools/llc/instprinter-options.ll
M llvm/test/tools/llvm-mc/disassembler-options.test
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llc] Add -M for InstPrinter options
For many targets, llvm-objdump and llvm-mc
(https://reviews.llvm.org/D103004) support -M no-aliases (e.g.
`RISCVInstPrinter::applyTargetSpecificCLOption`).
This patch implements -M for llc.
While here, rename "DisassemblerOptions" in llvm-mc to the more
appropriate "InstPrinterOptions". For llvm-mc --assemble, there is no
disassembler involved.
Pull Request: https://github.com/llvm/llvm-project/pull/121078
Commit: 438ade1dfc61a12e8187096f82ced493d8e5c8fa
https://github.com/llvm/llvm-project/commit/438ade1dfc61a12e8187096f82ced493d8e5c8fa
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/src/__support/FPUtil/riscv/sqrt.h
Log Message:
-----------
[libc] Fix wrong #ifdef for riscv's sqrt. (#134964)
Commit: a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
https://github.com/llvm/llvm-project/commit/a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/kcfi.ll
M llvm/test/CodeGen/RISCV/patchable-function-entry.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-vector-tuple.ll
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
M llvm/test/MC/RISCV/xqciac-valid.s
M llvm/test/MC/RISCV/xqcibi-valid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
M llvm/test/MC/RISCV/xqcicli-valid.s
M llvm/test/MC/RISCV/xqcicm-valid.s
M llvm/test/MC/RISCV/xqciint-csrs-valid.s
M llvm/test/MC/RISCV/xqciint-valid.s
M llvm/test/MC/RISCV/xqciio-aliases-valid.s
M llvm/test/MC/RISCV/xqciio-valid.s
M llvm/test/MC/RISCV/xqcilb-valid.s
M llvm/test/MC/RISCV/xqcili-li.s
M llvm/test/MC/RISCV/xqcili-valid.s
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
M llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/test/MC/RISCV/xrivosvisni-valid.s
M llvm/test/MC/RISCV/xrivosvizip-valid.s
Log Message:
-----------
[RISCV,test] Replace -riscv-no-aliases with -M no-aliases
now that llc supports `-M no-aliases` (along with llvm-mc and llvm-objdump)
(#121078).
Pull Request: https://github.com/llvm/llvm-project/pull/134879
Commit: 50428fb5e90b8318148abdf67eefe99bf8fd310b
https://github.com/llvm/llvm-project/commit/50428fb5e90b8318148abdf67eefe99bf8fd310b
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp
A llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCExpr.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
Log Message:
-----------
[WebAssembly] Add WebAssembly::Specifier
Move wasm-specific members outside of MCSymbolRefExpr::VariantKind (a
legacy interface I am eliminating). Most changes are mechanic and
similar to what I've done for many ELF targets (e.g. X86 #132149)
Notes:
* `fixSymbolsInTLSFixups` is replaced with `setTLS` in
`WebAssemblyWasmObjectWriter::getRelocType`, similar to what I've done
for many ELF targets.
* `SymA->setUsedInGOT()` in `recordRelocation` is moved to
`getRelocType`.
While here, rename "Modifier' to "Specifier":
> "Relocation modifier", though concise, suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation. I landed on "relocation specifier" as the winner. It's clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
Pull Request: https://github.com/llvm/llvm-project/pull/133116
Commit: 1c09dd54d9be9470729130008bf82ee61a8bee63
https://github.com/llvm/llvm-project/commit/1c09dd54d9be9470729130008bf82ee61a8bee63
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-rotate.ll
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll
Log Message:
-----------
[LoongArch] Pre-commit test for vector byte rotate & vector shift (lasx only) (#134839)
Commit: e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
https://github.com/llvm/llvm-project/commit/e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
Log Message:
-----------
MCExpr: Remove unused VK_GOT/VK_GOTPCREL
Commit: 43bb6bac2fde3a1847f39174ece5b848eced7dcf
https://github.com/llvm/llvm-project/commit/43bb6bac2fde3a1847f39174ece5b848eced7dcf
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang] Fix GCC -Wparentheses warning. NFC.
Without this gcc warned like:
clang/lib/Sema/SemaExprCXX.cpp:4656:74: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
4655 | From->isNullPointerConstant(Context,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4656 | Expr::NPC_ValueDependentIsNull) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
4657 | "Expr must be null pointer constant!");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: bada5eb00940954eb6852de4098a80f3faf585a0
https://github.com/llvm/llvm-project/commit/bada5eb00940954eb6852de4098a80f3faf585a0
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Object/TapiUniversal.h
M llvm/lib/Object/TapiUniversal.cpp
M llvm/test/tools/llvm-nm/tapi-files.test
Log Message:
-----------
[llvm-nm] Fix how inlined dylibs are reported from tbd files (#134498)
An Inlined library is a dylib that is reexported from an umbrella or
top-level library. When this is encoded in tbd files, ensure we are
reading the symbol table from the inlined library when
`--add-inlinedinfo` is used as opposed to the top-level lib.
resolves: rdar://147767733
Commit: c5e07fb86122669794808d6e857c88048f3a4926
https://github.com/llvm/llvm-project/commit/c5e07fb86122669794808d6e857c88048f3a4926
Author: lntue <lntue at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Use correct instruction for arm32 sqrt inline asm. (#134968)
https://godbolt.org/z/3jT7jdrs9
Commit: 50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
https://github.com/llvm/llvm-project/commit/50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
Revert "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)"
This reverts commit 232525f06942adb3b9977632e38dcd5f08c0642d.
This change is causing test crashes while running
TestCompletion.py on Darwin systems, most of the CI runs
have failed since it has been merged in.
Commit: 559540dc2738af0ab3f0b48eb4993095b8a8c627
https://github.com/llvm/llvm-project/commit/559540dc2738af0ab3f0b48eb4993095b8a8c627
Author: Lakshay Kumar <lakshayk at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported instructions (#132346)
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported
instructions.
Skipping AUT and LDGM opcode variants which currently throws "illegal
instruction".
- Checking opcodes specifically for LDGM and AUT opcode instruction
variants.
- Gracefully exiting with " : Unsupported opcode:
isPointerAuth/isUncheckedAccess"
- Added corresponding test cases to check exit message.
Commit: 5c27511cb6ece1798e4503bcf8169359472871be
https://github.com/llvm/llvm-project/commit/5c27511cb6ece1798e4503bcf8169359472871be
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
A llvm/test/MC/RISCV/rv32zilsd-pseudos.s
Log Message:
-----------
[RISCV] Support Load/Store Global assembler pseudos for Zilsd. (#134950)
This adds support for 'ld \<rd\> \<symbol\>' and 'sd \<rd\>, \<symbol\>,
\<rt\>' to match what we do for RV32.
I've changed the interface to emitAuipcInstPair to use MCRegister
instead of MCOperand since we need to convert a GPRPair to GPR for
TmpReg for the load case.
Commit: fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
https://github.com/llvm/llvm-project/commit/fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#132274)
This patch addresses the issue #129543.
After this patch the size of lldb-server is reduced by 9MB.
Co-authored-by: @bulbazord Alex Langford
Commit: d28b4d89166fb705577a2d3a329006f0c0e0aacc
https://github.com/llvm/llvm-project/commit/d28b4d89166fb705577a2d3a329006f0c0e0aacc
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Lower BUILD_VECTOR with i64 type to VID on RV32 if possible (#132339)
The element type i64 of the BUILD_VECTOR is not legal on RV32. It
doesn't catch the VID pattern after being legalized for i64.
So try to customized lower it to VID during type legalization.
Commit: 154d360bf9ae87e9ec8af411bded022d1595ff4e
https://github.com/llvm/llvm-project/commit/154d360bf9ae87e9ec8af411bded022d1595ff4e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Avoid unnecessary MCOperand copies. NFC
Commit: 9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
https://github.com/llvm/llvm-project/commit/9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
Improve readability of <Target>GenCompressionInstEmitter. NFC (#134834)
Use indent() instead of manually indenting the code in the
CompressInstEmitter.cpp. Also modify the current indentation in a few
places.
Commit: 1d2f5ead05e85057b8d0c6198203b392e9f855f8
https://github.com/llvm/llvm-project/commit/1d2f5ead05e85057b8d0c6198203b392e9f855f8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
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/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcili-invalid.s
A llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for Xqcili load large immediate instructions (#134581)
This patch adds support for parsing symbols in the Xqcili load large
immediate instructions. The 32 bit `qc.li` instructions uses the
`R_RISCV_QC_ABS20_U` relocation while the 48 bit `qc.e.li` instruction
uses the `R_RISCV_QC_E_32` relocation and the `InstFormatQC_EAI`
instruction format.
Vendor relocation support will be added in a later patch.
Commit: e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
https://github.com/llvm/llvm-project/commit/e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[RISCV][test] Add tests for subtraction if above threshold
Commit: e348173bef7182c7cc609d0f000452d3acf4b65c
https://github.com/llvm/llvm-project/commit/e348173bef7182c7cc609d0f000452d3acf4b65c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
Reapply "[lldb] Remove UnwindPlan::Row shared_ptrs" (#134821)
This reverts commit
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219,
reapplying https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db.
It also fixes the dangling
pointers caused by the previous version by creating copies of the Rows
in x86AssemblyInspectionEngine.
Commit: 523e249a6aed29fd2c36000c87838eface7324b4
https://github.com/llvm/llvm-project/commit/523e249a6aed29fd2c36000c87838eface7324b4
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-none.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-none.ll
Log Message:
-----------
[AMDGPU] Lower LDS in functions without sanitize_address in amdgpu-sw-lower-lds. (#131147)
Background:
"amdgpu-sw-lower-lds" pass lowers LDS accesses based on
"sanitize_address" attribute being tagged to kernel or non-kernels.
"amdgpu-sw-lower-lds" pass ideally should either lower all LDS accesses
or should not lower any based on if asan is enabled.
Issue:
But there has been cases when instrumented and non instrumented bitcodes
are linked and this is leading to few LDS being lowered correctly while
others are not. This typically leads to below error in the subsequent
pass.
"Module cannot mix absolute and non-absolute LDS GVs"
Fix:
This patch fixes this issue, by checking if any kernels in module are
tagged with "sanitize_address" attribute and then lowers all the LDS
accesses in all other kernels and non-kernels even though they do not
have "sanitize_address" attribute.
Commit: a54ad591135c07c3399a79c88ac14f5a4a2b0d12
https://github.com/llvm/llvm-project/commit/a54ad591135c07c3399a79c88ac14f5a4a2b0d12
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
R llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
Revert "[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupporte… (#134971)
…d instructions (#132346)"
This reverts commit 559540dc2738af0ab3f0b48eb4993095b8a8c627 as it has
cause build failures in llvm-clang-x86_64-gcc-ubuntu
Commit: c46be969f0b5f79788945da83dd4305617cff427
https://github.com/llvm/llvm-project/commit/c46be969f0b5f79788945da83dd4305617cff427
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
Log Message:
-----------
[MC] Optimize isInSection
Remove one call of getFragment. The `SetUsed` bit isn't need here.
Commit: f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
https://github.com/llvm/llvm-project/commit/f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Log Message:
-----------
[gn build] Port 96f95c9d89d8
Commit: f04bfbc4162247c0074fdd87068053e4264dbefa
https://github.com/llvm/llvm-project/commit/f04bfbc4162247c0074fdd87068053e4264dbefa
Author: Steffen Larsen <steffen.larsen at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_ternary_bitwise_function/bitwise-function.ll
Log Message:
-----------
[SPIRV] Support for SPV_INTEL_ternary_bitwise_function (#134866)
Adds support for the SPV_INTEL_ternary_bitwise_function extension,
adding;
* the OpBitwiseFunctionINTEL SPIR-V instruction, a ternary bitwise
function where the operation performed is determined by a look-up table
index,
* and the corresponding TernaryBitwiseFunctionINTEL capability.
See
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html.
Signed-off-by: Larsen, Steffen <steffen.larsen at intel.com>
Commit: 8877b913ae88c6ae43e859316489fe0469293131
https://github.com/llvm/llvm-project/commit/8877b913ae88c6ae43e859316489fe0469293131
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
Log Message:
-----------
[LLDB][MIPS] Fix signal SIGBUS number mismatch error on mips target (#132688)
Now, because we do not support mips debugging, if we compile LLVM on
mips target, would report error `static assertion failed:Value mismatch
for signal number SIGBUS`, so add this condition to avoid error.
Commit: 20d1888cbe2908ddb3ca0640cc2a3d199ffff499
https://github.com/llvm/llvm-project/commit/20d1888cbe2908ddb3ca0640cc2a3d199ffff499
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
Log Message:
-----------
[mlir][tosa] Update the description of `rescale` and `variable` ops (#134815)
Updates the description to align with the specification. Also includes
some small cleanup to `sigmoid`, to avoid confusion.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: ea7dd70b5326706141be2a768f2fd47ae71ee6a8
https://github.com/llvm/llvm-project/commit/ea7dd70b5326706141be2a768f2fd47ae71ee6a8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
[lldb] Remove unused UnwindPlan functions (#134630)
`GetLSDAAddress` and `GetPersonalityRoutinePtrAddress` are unused and
they create a bit of a problem for discontinuous functions, because the
unwind plan for these consists of multiple eh_frame descriptors and (at
least in theory) each of them could have a different value for these
entities.
We could say we only support functions for which these are always the
same, or create some sort of a Address2LSDA lookup map, but I think it's
better to leave this question to someone who actually needs this.
Commit: 08e080ee98832c2aec6f379b04f486bea18730cc
https://github.com/llvm/llvm-project/commit/08e080ee98832c2aec6f379b04f486bea18730cc
Author: Stefan Schmidt <thrimbor at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
A llvm/test/CodeGen/X86/pr134607.ll
Log Message:
-----------
[X86][SSE] Don't emit SSE2 load instructions in SSE1-only mode (#134547)
This fixes a regression I traced back to
https://github.com/llvm/llvm-project/commit/8b43c1be23119c1024bed0a8ce392bc73727e2e2
/ https://github.com/llvm/llvm-project/pull/79000
The regression caused an SSE2 instruction, `movsd`, to be emitted as a
replacement for an SSE instruction, `movaps` despite the target
potentially not supporting this instruction, such as when building with
clang using `-march=pentium3`.
Fixes #134607
Commit: 712c21336fa891f5b32254dd51b024178d61befb
https://github.com/llvm/llvm-project/commit/712c21336fa891f5b32254dd51b024178d61befb
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
A llvm/test/Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll
Log Message:
-----------
[AArch64] Enable unrolling for small multi-exit loops (#131998)
It can be highly beneficial to unroll small, two-block search loops
that look for a value in an array. An example of this would be
something that uses std::find to find a value in libc++. Older
versions of std::find in the libstdc++ headers are manually unrolled
in the source code, but this might change in newer releases where
the compiler is expected to either vectorise or unroll itself.
Commit: 53fa92dcad49466412a139eef223710bf5891213
https://github.com/llvm/llvm-project/commit/53fa92dcad49466412a139eef223710bf5891213
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/test/Integration/OpenMP/atomic-capture-complex.f90
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][llvm][OpenMP] Hoist __atomic_load alloca (#132888)
Current implementation of `__atomic_compare_exchange` uses an alloca for
`__atomic_load`, leading to issues like
https://github.com/llvm/llvm-project/issues/120724. This PR hoists this
alloca to `AllocaIP`.
Fixes: https://github.com/llvm/llvm-project/issues/120724
Commit: 74f69c49fed894ba26b6174783e4c650d50344c5
https://github.com/llvm/llvm-project/commit/74f69c49fed894ba26b6174783e4c650d50344c5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV v16f32/v16i32 nodes if the upper elements are not demanded (#134890)
Missed in #133923 - even without AVX512VL, we can replace VPERMV v16f32/v16i32 nodes with the AVX2 v8f32/v8i32 equivalents.
Commit: 949bf518fcc04285f40aa96a1c123bf0141fafd4
https://github.com/llvm/llvm-project/commit/949bf518fcc04285f40aa96a1c123bf0141fafd4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
Log Message:
-----------
[libclc][NFC] Fix up inconsistent copyright headers
Some files were accidentally given two copyright headers. Another was
missing one. This commit also converts that file's dos line endings to
unix ones and reformats a comment.
Commit: 2f6b06b2645810d72110cbfc1869c2d3b029dd2c
https://github.com/llvm/llvm-project/commit/2f6b06b2645810d72110cbfc1869c2d3b029dd2c
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
M llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir
Log Message:
-----------
[CodeGen][NPM] Port PostRAHazardRecognizer to NPM (#130066)
Commit: c80080ff7e105eb42d486ed473fa9c82fb518b0a
https://github.com/llvm/llvm-project/commit/c80080ff7e105eb42d486ed473fa9c82fb518b0a
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
Log Message:
-----------
[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128. (#134068)
When compiling with -msve-vector-bits=128 or vscale_range(1, 1) and when
the offsets allow it, we can pair SVE LDR/STR instructions into Neon
LDP/STP.
For example, given:
```cpp
#include <arm_sve.h>
void foo(double const *ldp, double *stp) {
svbool_t pg = svptrue_b64();
svfloat64_t ld1 = svld1_f64(pg, ldp);
svfloat64_t ld2 = svld1_f64(pg, ldp+svcntd());
svst1_f64(pg, stp, ld1);
svst1_f64(pg, stp+svcntd(), ld2);
}
```
When compiled with `-msve-vector-bits=128`, we currently generate:
```gas
foo:
ldr z0, [x0]
ldr z1, [x0, #1, mul vl]
str z0, [x1]
str z1, [x1, #1, mul vl]
ret
```
With this patch, we instead generate:
```gas
foo:
ldp q0, q1, [x0]
stp q0, q1, [x1]
ret
```
This is an alternative, more targetted approach to #127500.
Commit: 0de48de36ee3583f1b7da3d388307266839f2347
https://github.com/llvm/llvm-project/commit/0de48de36ee3583f1b7da3d388307266839f2347
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Improve loop wrapper op verifiers (#134833)
This patch revisits op verifiers for `LoopWrapperInterface` operations
to improve consistency across operations and to properly cover some
previously misreported cases.
Checks that should be done for these kinds of operations are documented
in the interface description.
Commit: 78c86b38b04bdabc76f631263ab0f4faf8698af6
https://github.com/llvm/llvm-project/commit/78c86b38b04bdabc76f631263ab0f4faf8698af6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid implicit integer conversion (#134983)
See discussion in https://github.com/llvm/llvm-project/pull/134672
Commit: a6edaeb824f138a364f4818c4261eb27153a12ac
https://github.com/llvm/llvm-project/commit/a6edaeb824f138a364f4818c4261eb27153a12ac
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/test/Transforms/TailCallElim/debugloc.ll
Log Message:
-----------
[DebugInfo][TailCallElim] Use ret DILocation for return value selects (#134825)
In TailRecursionElimination we may insert a select before the return to
choose the return value if necessary; this select is effectively part of
the return statement, and so should use its DILocation.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 2896bbe1488b628a27cdf893fc8bcc5febe128db
https://github.com/llvm/llvm-project/commit/2896bbe1488b628a27cdf893fc8bcc5febe128db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - use std::iota for insert_subvector shuffle mask population. NFC.
Commit: 747214e59be67ec1088de2f9db5d46607bb59565
https://github.com/llvm/llvm-project/commit/747214e59be67ec1088de2f9db5d46607bb59565
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - OR(BITCAST(SHUFFLE()),BITCAST(SHUFFLE())) patterns should return bitcasted source values (#134993)
Noticed while investigating #133947 regressions - if we peek through
bitcasts we can lose track of oneuse/combined nodes in shuffle combining
Currently the same codegen as combineX86ShufflesRecursively still peeks
through the bitcasts itself, but we will soon handle this consistently
as another part of #133947
Commit: bc09c7405547fe56a896386b152b667878d2d8c2
https://github.com/llvm/llvm-project/commit/bc09c7405547fe56a896386b152b667878d2d8c2
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
M llvm/test/Transforms/FixIrreducible/basic.ll
Log Message:
-----------
[AMDGPU] Fix for ControlFlowUtils reconnectPHIs. (#132954)
Description: reconnectPHIs must consider self-loops to avoid PHI income
pair that does not exists anymore.
Commit: 258aa65197126fda5b3566734cd7d980343e332d
https://github.com/llvm/llvm-project/commit/258aa65197126fda5b3566734cd7d980343e332d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Do not look at users of constants for ephemeral values (#134618)
Commit: a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
https://github.com/llvm/llvm-project/commit/a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
Revert "[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies" (#134995)
Reverts llvm/llvm-project#132274
Broke a test on LLDB Widows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/7726
```
FAIL: test_dwarf (lldbsuite.test.lldbtest.TestExternCSymbols.test_dwarf)
<...>
self.assertTrue(self.res.Succeeded(), msg + output)
AssertionError: False is not true : Command 'expression -- foo()' did not return successfully
Error output:
error: Couldn't look up symbols:
int foo(void)
Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
```
Commit: aff139777ed315ea4d06c8543b2110c3dd989907
https://github.com/llvm/llvm-project/commit/aff139777ed315ea4d06c8543b2110c3dd989907
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
R llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
Log Message:
-----------
Revert "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#134997)
Reverts llvm/llvm-project#134068
Caused a stage 2 build failure:
https://lab.llvm.org/buildbot/#/builders/41/builds/6016
```
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
Opcode has unknown scale!
UNREACHABLE executed at ../llvm/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:4530!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp'.
4. Running pass 'AArch64 load / store optimization pass' on function '@"_ZNSt17_Function_handlerIFN4llvm8ExpectedISt8functionIFNS1_ISt10unique_ptrINS0_16CachedFileStreamESt14default_deleteIS4_EEEEjRKNS0_5TwineEEEEEjNS0_9StringRefESB_EZNS0_10localCacheESB_SB_SB_S2_IFvjSB_S3_INS0_12MemoryBufferES5_ISH_EEEEE3$_0E9_M_invokeERKSt9_Any_dataOjOSF_SB_"'
#0 0x0000b6eae9b67bf0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c7bf0)
#1 0x0000b6eae9b65aec llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c5aec)
#2 0x0000b6eae9acd5f4 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x0000f16c1aff28f8 (linux-vdso.so.1+0x8f8)
#4 0x0000f16c1aacf1f0 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x0000f16c1aa8a67c gsignal ./signal/../sysdeps/posix/raise.c:27:6
#6 0x0000f16c1aa77130 abort ./stdlib/abort.c:81:7
#7 0x0000b6eae9ad6628 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x8136628)
#8 0x0000b6eae72e95a8 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x59495a8)
#9 0x0000b6eae74ca9a8 (anonymous namespace)::AArch64LoadStoreOpt::findMatchingInsn(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, (anonymous namespace)::LdStPairFlags&, unsigned int, bool) AArch64LoadStoreOptimizer.cpp:0:0
#10 0x0000b6eae74c85a8 (anonymous namespace)::AArch64LoadStoreOpt::tryToPairLdStInst(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>&) AArch64LoadStoreOptimizer.cpp:0:0
#11 0x0000b6eae74c624c (anonymous namespace)::AArch64LoadStoreOpt::optimizeBlock(llvm::MachineBasicBlock&, bool) AArch64LoadStoreOptimizer.cpp:0:0
#12 0x0000b6eae74c429c (anonymous namespace)::AArch64LoadStoreOpt::runOnMachineFunction(llvm::MachineFunction&) AArch64LoadStoreOptimizer.cpp:0:0
```
Commit: e42f8609858f3e6ba004032a4750f0bcd5d466be
https://github.com/llvm/llvm-project/commit/e42f8609858f3e6ba004032a4750f0bcd5d466be
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang][nfc] Support volatility in Fir ops (#134858)
Part two of merging #132486. Support volatility in fir ops.
* Introduce a new operation fir.volatile_cast, whose only purpose is to
add or take away the volatility of an SSA value's type. The types must
be otherwise identical, and any other type conversions must be handled
by fir.convert. fir.convert will give an error if the volatility of the
inputs does not match, such that all changes to volatility must be
handled explicitly through fir.volatile_cast.
* Add memory effects to ops that read from or write to memory. The
precedent for this comes from the LLVM dialect (feb7beaf70) where
llvm.load/store ops with the volatile attribute report read/write
effects to a generic memory resource. This change is similar in spirit
but different in two ways: the volatility of an operation is determined
by the type of its memref, not an attribute on the op, and the memory
effects of a load- or store-like operation on a volatile reference type
are reported against a particular memory resource,
`VolatileMemoryResource`. This is so MLIR optimizations are able to
reorder operations that are not volatile around operations that are,
which we believe more precisely models LLVM's volatile memory semantics.
@vzakhari suggested this in #132486 citing LangRef. See
https://llvm.org/docs/LangRef.html#volatile-memory-accesses
Changes needed to generate IR with volatile types are not included in
this change, so it should be non-functional, containing only the changes
to Fir ops and op utilities that will be needed once we enable lowering
to generate volatile types.
Commit: 750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
https://github.com/llvm/llvm-project/commit/750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
R libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
R libcxx/include/__cxx03/__algorithm/for_each_n.h
R libcxx/include/__cxx03/__algorithm/in_found_result.h
R libcxx/include/__cxx03/__algorithm/in_fun_result.h
R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
R libcxx/include/__cxx03/__algorithm/in_in_result.h
R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
R libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
R libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/pstl.h
R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
R libcxx/include/__cxx03/__algorithm/ranges_contains.h
R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
R libcxx/include/__cxx03/__algorithm/ranges_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
R libcxx/include/__cxx03/__algorithm/ranges_count.h
R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
R libcxx/include/__cxx03/__algorithm/ranges_equal.h
R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
R libcxx/include/__cxx03/__algorithm/ranges_fill.h
R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
R libcxx/include/__cxx03/__algorithm/ranges_find.h
R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
R libcxx/include/__cxx03/__algorithm/ranges_generate.h
R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
R libcxx/include/__cxx03/__algorithm/ranges_includes.h
R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_max.h
R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
R libcxx/include/__cxx03/__algorithm/ranges_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_min.h
R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
R libcxx/include/__cxx03/__algorithm/ranges_move.h
R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_remove.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_sample.h
R libcxx/include/__cxx03/__algorithm/ranges_search.h
R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
R libcxx/include/__cxx03/__algorithm/ranges_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
R libcxx/include/__cxx03/__algorithm/ranges_transform.h
R libcxx/include/__cxx03/__algorithm/ranges_unique.h
R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
R libcxx/include/__cxx03/__algorithm/sample.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
R libcxx/include/__cxx03/__algorithm/shift_left.h
R libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
R libcxx/include/__cxx03/__atomic/atomic_ref.h
R libcxx/include/__cxx03/__bit/bit_cast.h
R libcxx/include/__cxx03/__bit/bit_ceil.h
R libcxx/include/__cxx03/__bit/bit_floor.h
R libcxx/include/__cxx03/__bit/bit_log2.h
R libcxx/include/__cxx03/__bit/bit_width.h
R libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
R libcxx/include/__cxx03/__bit/endian.h
R libcxx/include/__cxx03/__bit/has_single_bit.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
R libcxx/include/__cxx03/__charconv/chars_format.h
R libcxx/include/__cxx03/__charconv/from_chars_integral.h
R libcxx/include/__cxx03/__charconv/from_chars_result.h
R libcxx/include/__cxx03/__charconv/tables.h
R libcxx/include/__cxx03/__charconv/to_chars.h
R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
R libcxx/include/__cxx03/__charconv/to_chars_integral.h
R libcxx/include/__cxx03/__charconv/to_chars_result.h
R libcxx/include/__cxx03/__charconv/traits.h
R libcxx/include/__cxx03/__chrono/calendar.h
R libcxx/include/__cxx03/__chrono/concepts.h
R libcxx/include/__cxx03/__chrono/convert_to_tm.h
R libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
R libcxx/include/__cxx03/__chrono/exception.h
R libcxx/include/__cxx03/__chrono/file_clock.h
R libcxx/include/__cxx03/__chrono/formatter.h
R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
R libcxx/include/__cxx03/__chrono/leap_second.h
R libcxx/include/__cxx03/__chrono/literals.h
R libcxx/include/__cxx03/__chrono/local_info.h
R libcxx/include/__cxx03/__chrono/month.h
R libcxx/include/__cxx03/__chrono/month_weekday.h
R libcxx/include/__cxx03/__chrono/monthday.h
R libcxx/include/__cxx03/__chrono/ostream.h
R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
R libcxx/include/__cxx03/__chrono/statically_widen.h
R libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/time_point.h
R libcxx/include/__cxx03/__chrono/time_zone.h
R libcxx/include/__cxx03/__chrono/time_zone_link.h
R libcxx/include/__cxx03/__chrono/tzdb.h
R libcxx/include/__cxx03/__chrono/tzdb_list.h
R libcxx/include/__cxx03/__chrono/weekday.h
R libcxx/include/__cxx03/__chrono/year.h
R libcxx/include/__cxx03/__chrono/year_month.h
R libcxx/include/__cxx03/__chrono/year_month_day.h
R libcxx/include/__cxx03/__chrono/year_month_weekday.h
R libcxx/include/__cxx03/__chrono/zoned_time.h
R libcxx/include/__cxx03/__compare/common_comparison_category.h
R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_three_way.h
R libcxx/include/__cxx03/__compare/compare_three_way_result.h
R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
R libcxx/include/__cxx03/__compare/is_eq.h
R libcxx/include/__cxx03/__compare/ordering.h
R libcxx/include/__cxx03/__compare/partial_order.h
R libcxx/include/__cxx03/__compare/strong_order.h
R libcxx/include/__cxx03/__compare/synth_three_way.h
R libcxx/include/__cxx03/__compare/three_way_comparable.h
R libcxx/include/__cxx03/__compare/weak_order.h
R libcxx/include/__cxx03/__concepts/arithmetic.h
R libcxx/include/__cxx03/__concepts/assignable.h
R libcxx/include/__cxx03/__concepts/boolean_testable.h
R libcxx/include/__cxx03/__concepts/class_or_enum.h
R libcxx/include/__cxx03/__concepts/common_reference_with.h
R libcxx/include/__cxx03/__concepts/common_with.h
R libcxx/include/__cxx03/__concepts/constructible.h
R libcxx/include/__cxx03/__concepts/convertible_to.h
R libcxx/include/__cxx03/__concepts/copyable.h
R libcxx/include/__cxx03/__concepts/derived_from.h
R libcxx/include/__cxx03/__concepts/destructible.h
R libcxx/include/__cxx03/__concepts/different_from.h
R libcxx/include/__cxx03/__concepts/equality_comparable.h
R libcxx/include/__cxx03/__concepts/invocable.h
R libcxx/include/__cxx03/__concepts/movable.h
R libcxx/include/__cxx03/__concepts/predicate.h
R libcxx/include/__cxx03/__concepts/regular.h
R libcxx/include/__cxx03/__concepts/relation.h
R libcxx/include/__cxx03/__concepts/same_as.h
R libcxx/include/__cxx03/__concepts/semiregular.h
R libcxx/include/__cxx03/__concepts/swappable.h
R libcxx/include/__cxx03/__concepts/totally_ordered.h
R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
R libcxx/include/__cxx03/__expected/bad_expected_access.h
R libcxx/include/__cxx03/__expected/expected.h
R libcxx/include/__cxx03/__expected/unexpect.h
R libcxx/include/__cxx03/__expected/unexpected.h
R libcxx/include/__cxx03/__filesystem/copy_options.h
R libcxx/include/__cxx03/__filesystem/directory_entry.h
R libcxx/include/__cxx03/__filesystem/directory_iterator.h
R libcxx/include/__cxx03/__filesystem/directory_options.h
R libcxx/include/__cxx03/__filesystem/file_status.h
R libcxx/include/__cxx03/__filesystem/file_time_type.h
R libcxx/include/__cxx03/__filesystem/file_type.h
R libcxx/include/__cxx03/__filesystem/filesystem_error.h
R libcxx/include/__cxx03/__filesystem/operations.h
R libcxx/include/__cxx03/__filesystem/path.h
R libcxx/include/__cxx03/__filesystem/path_iterator.h
R libcxx/include/__cxx03/__filesystem/perm_options.h
R libcxx/include/__cxx03/__filesystem/perms.h
R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
R libcxx/include/__cxx03/__filesystem/space_info.h
R libcxx/include/__cxx03/__filesystem/u8path.h
R libcxx/include/__cxx03/__format/buffer.h
R libcxx/include/__cxx03/__format/concepts.h
R libcxx/include/__cxx03/__format/container_adaptor.h
R libcxx/include/__cxx03/__format/enable_insertable.h
R libcxx/include/__cxx03/__format/escaped_output_table.h
R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
R libcxx/include/__cxx03/__format/format_arg.h
R libcxx/include/__cxx03/__format/format_arg_store.h
R libcxx/include/__cxx03/__format/format_args.h
R libcxx/include/__cxx03/__format/format_context.h
R libcxx/include/__cxx03/__format/format_error.h
R libcxx/include/__cxx03/__format/format_functions.h
R libcxx/include/__cxx03/__format/format_parse_context.h
R libcxx/include/__cxx03/__format/format_string.h
R libcxx/include/__cxx03/__format/format_to_n_result.h
R libcxx/include/__cxx03/__format/formatter.h
R libcxx/include/__cxx03/__format/formatter_bool.h
R libcxx/include/__cxx03/__format/formatter_char.h
R libcxx/include/__cxx03/__format/formatter_floating_point.h
R libcxx/include/__cxx03/__format/formatter_integer.h
R libcxx/include/__cxx03/__format/formatter_integral.h
R libcxx/include/__cxx03/__format/formatter_output.h
R libcxx/include/__cxx03/__format/formatter_pointer.h
R libcxx/include/__cxx03/__format/formatter_string.h
R libcxx/include/__cxx03/__format/formatter_tuple.h
R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
R libcxx/include/__cxx03/__format/parser_std_format_spec.h
R libcxx/include/__cxx03/__format/range_default_formatter.h
R libcxx/include/__cxx03/__format/range_formatter.h
R libcxx/include/__cxx03/__format/unicode.h
R libcxx/include/__cxx03/__format/width_estimation_table.h
R libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/bind.h
R libcxx/include/__cxx03/__functional/bind_back.h
R libcxx/include/__cxx03/__functional/bind_front.h
R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
R libcxx/include/__cxx03/__functional/compose.h
R libcxx/include/__cxx03/__functional/default_searcher.h
R libcxx/include/__cxx03/__functional/function.h
R libcxx/include/__cxx03/__functional/invoke.h
R libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
R libcxx/include/__cxx03/__functional/not_fn.h
R libcxx/include/__cxx03/__functional/perfect_forward.h
R libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
R libcxx/include/__cxx03/__fwd/format.h
R libcxx/include/__cxx03/__fwd/mdspan.h
R libcxx/include/__cxx03/__fwd/memory_resource.h
R libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/string.h
R libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
R libcxx/include/__cxx03/__iterator/common_iterator.h
R libcxx/include/__cxx03/__iterator/concepts.h
R libcxx/include/__cxx03/__iterator/counted_iterator.h
R libcxx/include/__cxx03/__iterator/data.h
R libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
R libcxx/include/__cxx03/__iterator/empty.h
R libcxx/include/__cxx03/__iterator/incrementable_traits.h
R libcxx/include/__cxx03/__iterator/indirectly_comparable.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
R libcxx/include/__cxx03/__iterator/iter_move.h
R libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
R libcxx/include/__cxx03/__iterator/iterator_with_data.h
R libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
R libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
R libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
R libcxx/include/__cxx03/__iterator/projected.h
R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
R libcxx/include/__cxx03/__iterator/readable_traits.h
R libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
R libcxx/include/__cxx03/__iterator/size.h
R libcxx/include/__cxx03/__iterator/sortable.h
R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
R libcxx/include/__cxx03/__math/special_functions.h
R libcxx/include/__cxx03/__mdspan/default_accessor.h
R libcxx/include/__cxx03/__mdspan/extents.h
R libcxx/include/__cxx03/__mdspan/layout_left.h
R libcxx/include/__cxx03/__mdspan/layout_right.h
R libcxx/include/__cxx03/__mdspan/layout_stride.h
R libcxx/include/__cxx03/__mdspan/mdspan.h
R libcxx/include/__cxx03/__memory/concepts.h
R libcxx/include/__cxx03/__memory/inout_ptr.h
R libcxx/include/__cxx03/__memory/out_ptr.h
R libcxx/include/__cxx03/__memory/ranges_construct_at.h
R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
R libcxx/include/__cxx03/__memory_resource/memory_resource.h
R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
R libcxx/include/__cxx03/__memory_resource/pool_options.h
R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/once_flag.h
R libcxx/include/__cxx03/__node_handle
R libcxx/include/__cxx03/__numeric/exclusive_scan.h
R libcxx/include/__cxx03/__numeric/gcd_lcm.h
R libcxx/include/__cxx03/__numeric/inclusive_scan.h
R libcxx/include/__cxx03/__numeric/midpoint.h
R libcxx/include/__cxx03/__numeric/pstl.h
R libcxx/include/__cxx03/__numeric/reduce.h
R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_reduce.h
R libcxx/include/__cxx03/__ostream/print.h
R libcxx/include/__cxx03/__pstl/backend.h
R libcxx/include/__cxx03/__pstl/backend_fwd.h
R libcxx/include/__cxx03/__pstl/backends/default.h
R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
R libcxx/include/__cxx03/__pstl/backends/serial.h
R libcxx/include/__cxx03/__pstl/backends/std_thread.h
R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
R libcxx/include/__cxx03/__pstl/dispatch.h
R libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/seed_seq.h
R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
R libcxx/include/__cxx03/__ranges/access.h
R libcxx/include/__cxx03/__ranges/all.h
R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
R libcxx/include/__cxx03/__ranges/chunk_by_view.h
R libcxx/include/__cxx03/__ranges/common_view.h
R libcxx/include/__cxx03/__ranges/concepts.h
R libcxx/include/__cxx03/__ranges/container_compatible_range.h
R libcxx/include/__cxx03/__ranges/counted.h
R libcxx/include/__cxx03/__ranges/dangling.h
R libcxx/include/__cxx03/__ranges/data.h
R libcxx/include/__cxx03/__ranges/drop_view.h
R libcxx/include/__cxx03/__ranges/drop_while_view.h
R libcxx/include/__cxx03/__ranges/elements_view.h
R libcxx/include/__cxx03/__ranges/empty.h
R libcxx/include/__cxx03/__ranges/empty_view.h
R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
R libcxx/include/__cxx03/__ranges/enable_view.h
R libcxx/include/__cxx03/__ranges/filter_view.h
R libcxx/include/__cxx03/__ranges/from_range.h
R libcxx/include/__cxx03/__ranges/iota_view.h
R libcxx/include/__cxx03/__ranges/istream_view.h
R libcxx/include/__cxx03/__ranges/join_view.h
R libcxx/include/__cxx03/__ranges/lazy_split_view.h
R libcxx/include/__cxx03/__ranges/movable_box.h
R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
R libcxx/include/__cxx03/__ranges/owning_view.h
R libcxx/include/__cxx03/__ranges/range_adaptor.h
R libcxx/include/__cxx03/__ranges/rbegin.h
R libcxx/include/__cxx03/__ranges/ref_view.h
R libcxx/include/__cxx03/__ranges/rend.h
R libcxx/include/__cxx03/__ranges/repeat_view.h
R libcxx/include/__cxx03/__ranges/reverse_view.h
R libcxx/include/__cxx03/__ranges/single_view.h
R libcxx/include/__cxx03/__ranges/size.h
R libcxx/include/__cxx03/__ranges/split_view.h
R libcxx/include/__cxx03/__ranges/subrange.h
R libcxx/include/__cxx03/__ranges/take_view.h
R libcxx/include/__cxx03/__ranges/take_while_view.h
R libcxx/include/__cxx03/__ranges/to.h
R libcxx/include/__cxx03/__ranges/transform_view.h
R libcxx/include/__cxx03/__ranges/view_interface.h
R libcxx/include/__cxx03/__ranges/views.h
R libcxx/include/__cxx03/__ranges/zip_view.h
R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
R libcxx/include/__cxx03/__stop_token/stop_callback.h
R libcxx/include/__cxx03/__stop_token/stop_source.h
R libcxx/include/__cxx03/__stop_token/stop_state.h
R libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
R libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
R libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
R libcxx/include/__cxx03/__tuple/ignore.h
R libcxx/include/__cxx03/__type_traits/common_reference.h
R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
R libcxx/include/__cxx03/__type_traits/is_aggregate.h
R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/result_of.h
R libcxx/include/__cxx03/__utility/as_const.h
R libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/exception_guard.h
R libcxx/include/__cxx03/__utility/exchange.h
R libcxx/include/__cxx03/__utility/forward_like.h
R libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/pair.h
R libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/algorithm
R libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
R libcxx/include/__cxx03/barrier
R libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
R libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
R libcxx/include/__cxx03/compare
R libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
R libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/deque
R libcxx/include/__cxx03/execution
R libcxx/include/__cxx03/expected
R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
R libcxx/include/__cxx03/experimental/__simd/declaration.h
R libcxx/include/__cxx03/experimental/__simd/reference.h
R libcxx/include/__cxx03/experimental/__simd/scalar.h
R libcxx/include/__cxx03/experimental/__simd/simd.h
R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
R libcxx/include/__cxx03/experimental/__simd/traits.h
R libcxx/include/__cxx03/experimental/__simd/utility.h
R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
R libcxx/include/__cxx03/experimental/iterator
R libcxx/include/__cxx03/experimental/memory
R libcxx/include/__cxx03/experimental/propagate_const
R libcxx/include/__cxx03/experimental/simd
R libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
R libcxx/include/__cxx03/filesystem
R libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
R libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
R libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
R libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
R libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
R libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
R libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
R libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
R libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/regex
R libcxx/include/__cxx03/scoped_allocator
R libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
R libcxx/include/__cxx03/shared_mutex
R libcxx/include/__cxx03/source_location
R libcxx/include/__cxx03/span
M libcxx/include/__cxx03/stack
R libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
R libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
R libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
R libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/charconv
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/initializer_list
M libcxx/include/latch
M libcxx/include/mdspan
M libcxx/include/memory_resource
M libcxx/include/numbers
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/ranges
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/stop_token
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/variant
Log Message:
-----------
[libc++][C++03] Remove headers which don't provide anything (#134044)
This patch removes all of the frozen headers which don't provide
anything. Basically any header that's C++11-or-later is removed from the
frozen headers.
This is part of
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 6e7c40b83de8290d081bcd72b1c57e30aeb28989
https://github.com/llvm/llvm-project/commit/6e7c40b83de8290d081bcd72b1c57e30aeb28989
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
A clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Initial patch to do OpenACC->IR lowering (#134936)
This patch adds some lowering code for Compute Constructs, plus the
infrastructure to someday do clauses. Doing this requires adding the
dialect to the CIRGenerator.
This patch does not however implement/correctly initialize lowering from
OpenACC-Dialect to anything lower however.
Commit: d54c28b9c1396fa92d9347ac1135da7907121cb8
https://github.com/llvm/llvm-project/commit/d54c28b9c1396fa92d9347ac1135da7907121cb8
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] use offload wrapper for non-device-only non-rdc (#132869)
Currently HIP still uses offload bundler for non-rdc mode for the new
offload driver.
This patch switches to use offload wrapper for non-device-only non-rdc
mode when new offload driver is enabled.
This makes the rdc and non-rdc compilation more consistent and speeds up
compilation since the offload wrapper supports parallel compilation for
different GPU arch's.
It is implemented by adding a linker wrapper action for each assemble
action of input file. Linker wrapper action differentiates this special
type of work vs normal linker wrapper work by the fle type. This type of
work results in object instead of image. The linker wrapper adds "-r"
for it and only includes the object file as input, not the host
libraries.
For device-only non-RDC mode, the new driver keeps the original
behavior.
Commit: 4f64da14953a998d3f6571d924116e160560c647
https://github.com/llvm/llvm-project/commit/4f64da14953a998d3f6571d924116e160560c647
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 750da48b4aa5
The .h removals was done by the sync script. I manually cleaned up
the remaining removals based on the output of
git show 750da48b4aa52f libcxx/include/CMakeLists.txt | rg '^- ' | rg -v '\.'
Commit: e24c9e7a0c61ed49e79433d405cb5157483ce691
https://github.com/llvm/llvm-project/commit/e24c9e7a0c61ed49e79433d405cb5157483ce691
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[IR] improve hashing quality for ValueInfo (#132917)
The current hashing quality for `ValueInfo` is poor because it uses
pointers as the hash value, which can negatively impact performance in
various places that use a `DenseSet`/`Map` of `ValueInfo`. In one
observed case, `ModuleSummaryIndex::propagateAttributes()` was taking
about 25 minutes to complete on a ThinLTO application. Profiling
revealed that the majority of this time was spent operating on the
`MarkedNonReadWriteOnly` set.
With the improved hashing, the execution time for `propagateAttributes`
is dramatically reduced to less than 10 seconds.
Commit: d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
https://github.com/llvm/llvm-project/commit/d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
MachineRegisterInfo: Remove trailing whitespace
Commit: e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
https://github.com/llvm/llvm-project/commit/e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
Log Message:
-----------
[LLDB][NFC]Also includes the error in log msg. (#134922)
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 54cdc758571731e2b8e6369cc84bbc27f1c1db59
https://github.com/llvm/llvm-project/commit/54cdc758571731e2b8e6369cc84bbc27f1c1db59
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-sanitize-options.hip
Log Message:
-----------
clang/AMDGPU: Stop looking for hip.bc in device libs (#134801)
This has been an empty library since January 2023
Commit: ad9f6d3ceef676093add49ed7e530171fd9b72d6
https://github.com/llvm/llvm-project/commit/ad9f6d3ceef676093add49ed7e530171fd9b72d6
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Use %profdata in PGO tests (#135015)
So that the wrong llvm-profdata is not picked up from PATH.
Commit: fb73086dd2d359459888068e2b088032fc242111
https://github.com/llvm/llvm-project/commit/fb73086dd2d359459888068e2b088032fc242111
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
Revert "[flang][nfc] Support volatility in Fir ops" (#135034)
Reverts llvm/llvm-project#134858
Fails to build when shared libraries are enabled:
https://lab.llvm.org/buildbot/#/builders/80/builds/12361
```
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib -Wl,--gc-sections -shared -Wl,-soname,libFIRDialect.so.21.0git -o lib/libFIRDialect.so.21.0git tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FirAliasTagOpInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/Inliner.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:" lib/libCUFAttrs.so.21.0git lib/libFIRDialectSupport.so.21.0git lib/libLLVMAsmPrinter.so.21.0git lib/libMLIRBuiltinToLLVMIRTranslation.so.21.0git lib/libMLIROpenMPToLLVM.so.21.0git lib/libMLIRLLVMToLLVMIRTranslation.so.21.0git lib/libMLIRFuncToLLVM.so.21.0git lib/libMLIRArithToLLVM.so.21.0git lib/libMLIRArithAttrToLLVMConversion.so.21.0git lib/libMLIRArithTransforms.so.21.0git lib/libMLIRBufferizationTransforms.so.21.0git lib/libMLIRBufferizationDialect.so.21.0git lib/libMLIRSparseTensorDialect.so.21.0git lib/libMLIRSCFDialect.so.21.0git lib/libMLIRFuncTransforms.so.21.0git lib/libMLIRShardingInterface.so.21.0git lib/libMLIRMeshDialect.so.21.0git lib/libMLIRVectorDialect.so.21.0git lib/libMLIRTensorDialect.so.21.0git lib/libMLIRParallelCombiningOpInterface.so.21.0git lib/libMLIRMaskableOpInterface.so.21.0git lib/libMLIRMaskingOpInterface.so.21.0git lib/libMLIRVectorInterfaces.so.21.0git lib/libMLIRControlFlowToLLVM.so.21.0git lib/libMLIRControlFlowDialect.so.21.0git lib/libMLIRMemRefToLLVM.so.21.0git lib/libMLIRLLVMCommonConversion.so.21.0git lib/libMLIRMemRefUtils.so.21.0git lib/libMLIRAffineDialect.so.21.0git lib/libMLIRMemRefDialect.so.21.0git lib/libMLIRArithUtils.so.21.0git lib/libMLIRComplexDialect.so.21.0git lib/libMLIRArithDialect.so.21.0git lib/libMLIRCastInterfaces.so.21.0git lib/libMLIRInferIntRangeCommon.so.21.0git lib/libMLIRShapedOpInterfaces.so.21.0git lib/libMLIRDialect.so.21.0git lib/libMLIRDialectUtils.so.21.0git lib/libMLIROpenMPDialect.so.21.0git lib/libMLIROpenACCMPCommon.so.21.0git lib/libMLIRTargetLLVMIRExport.so.21.0git lib/libMLIRDLTIDialect.so.21.0git lib/libMLIRLLVMIRTransforms.so.21.0git lib/libMLIRTransforms.so.21.0git lib/libMLIRUBDialect.so.21.0git lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git lib/libMLIRFuncDialect.so.21.0git lib/libMLIRNVVMDialect.so.21.0git lib/libMLIRTranslateLib.so.21.0git lib/libMLIRParser.so.21.0git lib/libMLIRBytecodeReader.so.21.0git lib/libMLIRAsmParser.so.21.0git lib/libMLIRTransformUtils.so.21.0git lib/libMLIRSubsetOpInterface.so.21.0git lib/libMLIRValueBoundsOpInterface.so.21.0git lib/libMLIRDestinationStyleOpInterface.so.21.0git lib/libMLIRRewrite.so.21.0git lib/libMLIRRewritePDL.so.21.0git lib/libMLIRPDLToPDLInterp.so.21.0git lib/libMLIRPass.so.21.0git lib/libMLIRAnalysis.so.21.0git lib/libMLIRInferIntRangeInterface.so.21.0git lib/libMLIRLoopLikeInterface.so.21.0git lib/libMLIRPresburger.so.21.0git lib/libMLIRViewLikeInterface.so.21.0git lib/libMLIRPDLInterpDialect.so.21.0git lib/libMLIRPDLDialect.so.21.0git lib/libLLVMFrontendOpenMP.so.21.0git lib/libLLVMTransformUtils.so.21.0git lib/libMLIRLLVMDialect.so.21.0git lib/libMLIRInferTypeOpInterface.so.21.0git lib/libMLIRControlFlowInterfaces.so.21.0git lib/libMLIRDataLayoutInterfaces.so.21.0git lib/libMLIRFunctionInterfaces.so.21.0git lib/libMLIRCallInterfaces.so.21.0git lib/libMLIRMemorySlotInterfaces.so.21.0git lib/libMLIRSideEffectInterfaces.so.21.0git lib/libMLIRIR.so.21.0git lib/libLLVMBitWriter.so.21.0git lib/libLLVMAnalysis.so.21.0git lib/libLLVMAsmParser.so.21.0git lib/libLLVMBitReader.so.21.0git lib/libMLIRSupport.so.21.0git lib/libLLVMCore.so.21.0git lib/libLLVMRemarks.so.21.0git lib/libLLVMBinaryFormat.so.21.0git lib/libLLVMTargetParser.so.21.0git lib/libLLVMSupport.so.21.0git -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12CharBoxValue4dumpEv[_ZNK3fir12CharBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::PolymorphicValue::dump() const':
FIROps.cpp:(.text._ZNK3fir16PolymorphicValue4dumpEv[_ZNK3fir16PolymorphicValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::PolymorphicValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ArrayBoxValue4dumpEv[_ZNK3fir13ArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir17CharArrayBoxValue4dumpEv[_ZNK3fir17CharArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ProcBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12ProcBoxValue4dumpEv[_ZNK3fir12ProcBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ProcBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::BoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir8BoxValue4dumpEv[_ZNK3fir8BoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::BoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::MutableBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir15MutableBoxValue4dumpEv[_ZNK3fir15MutableBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::MutableBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ExtendedValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ExtendedValue4dumpEv[_ZNK3fir13ExtendedValue4dumpEv]+0x18): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ExtendedValue const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Commit: 076318bd78f5ed338350841075316a75d89ecd9b
https://github.com/llvm/llvm-project/commit/076318bd78f5ed338350841075316a75d89ecd9b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/reordered-loads.ll
Log Message:
-----------
[SLP]Use proper order when calculating costs for geps/extracts to correctly identify profitability
Need to reorder properly the scalars, when evaluating the costs for the
external uses/geps to prevent differences in the calculating of the
profitability costs, used to choose between gather/compressed loads.
Fixes https://github.com/llvm/llvm-project/pull/132099#issuecomment-2789627454
Commit: 5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
https://github.com/llvm/llvm-project/commit/5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
Author: ivangarcia44 <36650061+ivangarcia44 at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
Folding extract_strided_metadata input into reinterpret_cast (#134845)
We can always fold the input of a extract_strided_metadata operator to
the input of a reinterpret_cast operator, because they point to the same
memory. Note that the reinterpret_cast does not use the layout of its
input memref, only its base memory pointer which is the same as the base
pointer returned by the extract_strided_metadata operator and the base
pointer of the extract_strided_metadata memref input.
Operations like expand_shape, collapse_shape, and subview are lowered to
a pair of extract_strided_metadata and reinterpret_cast like this:
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %base_buffer to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] : memref<f32> to
memref<OD1x...xODNxBaseType >
In many cases the input of the extract_strided_metadata input can be
passed directly into the input of the reinterpret_cast operation like
this (see how %base_buffer is replaced by %input_memref in the
reinterpret_cast above and the input type is updated):
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >
When dealing with static dimensions, the extract_strided_metatdata will
become deadcode and we end up only with a reinterpret_cast:
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >
Note that reinterpret_cast only reads the base memory pointer from the
input memref (%input_memref above), which is equivalent to the
%base_buffer returned by the extract_strided_metadata operation. Hence
it is legal always to use the extract_strided_metadata input memref
directly in the reinterpret_cast. Note that since this is a pointer,
this operation is legal even when the base pointer values are modified
between the operation pair.
@matthias-springer
@joker-eph
@sahas3
@Hanumanth04
@dixinzhou
@rafaelubalmw
---------
Co-authored-by: Ivan Garcia <igarcia at vdi-ah2ddp-178.dhcp.mathworks.com>
Commit: b0338c3d6c6d9787232e07ceff56ef161c357602
https://github.com/llvm/llvm-project/commit/b0338c3d6c6d9787232e07ceff56ef161c357602
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/misc/clc_shuffle.h
A libclc/clc/include/clc/misc/clc_shuffle2.h
A libclc/clc/include/clc/misc/shuffle2_decl.inc
A libclc/clc/include/clc/misc/shuffle2_def.inc
A libclc/clc/include/clc/misc/shuffle_decl.inc
A libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/misc/clc_shuffle.cl
A libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
Log Message:
-----------
[libclc] Move shuffle/shuffle2 to the CLC library (#135000)
This commit moves the shuffle and shuffle2 builtins to the CLC library.
In so doing it makes the headers simpler and re-usable for other builtin
layers to hook into the CLC functions, if they wish.
An additional gentype utility has been made available, which provides a
consistent vector-size-or-1 macro for use.
The existing __CLC_VECSIZE is defined but empty which is useful in
certain applications, such as in concatenation with a type to make a
correctly sized scalar or vector type. However, this isn't usable in the
same preprocessor lines when wanting to check for specific vector sizes,
as e.g., '__CLC_VECSIZE == 2' resolves to '== 2' which is invalid. In
local testing this is also useful for the geometric builtins which are
only available for scalar types and vector types of 2, 3, or 4 elements.
No codegen changes are observed, except the internal shuffle/shuffle2
utility functions are no longer made publicly available.
Commit: b010554d2d1fbe19091b2b3996e0477b70fcd84b
https://github.com/llvm/llvm-project/commit/b010554d2d1fbe19091b2b3996e0477b70fcd84b
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Reduce use of getCalledFunction in Verifier. NFCI. (#134978)
This is mostly just a simplification. getCalledFunction is a best-effort
thing so the verifier should not be relying on it in most cases, except
for intrinsic calls where we are guaranteed that the called function is
known, but most of those cases can be handled with
CallBase::getIntrinsicID instead.
---------
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Commit: 68ee56d15020b4fa7f3c5443b4be6504481957d4
https://github.com/llvm/llvm-project/commit/68ee56d15020b4fa7f3c5443b4be6504481957d4
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OpenMP][SPIR-V] Fix addrspace of global constants (#134399)
SPIR-V has strict address space rules, constant globals cannot be in the
default address space.
The OMPIRBuilder change was required for lit tests to pass, we were
missing an addrspacecast.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 9344b2196cbc36cdc577314bbb2b889606ba6820
https://github.com/llvm/llvm-project/commit/9344b2196cbc36cdc577314bbb2b889606ba6820
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Transforms/Inline/X86/inline-landing-pad.ll
Log Message:
-----------
[DebugInfo][Inlining] Propagate inlined `resume` source loc to new br (#134826)
As part of inlining an invoke instruction, we may replace an inlined
resume instruction with a simple branch to the landing pad block. When
this happens, we should also propagate the resume's DILocation to this
branch, which this patch enables.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: a00a61d59bf1c1f142c8e08b74a0f26991122f7a
https://github.com/llvm/llvm-project/commit/a00a61d59bf1c1f142c8e08b74a0f26991122f7a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/mlir-tblgen/attr-or-type-format.mlir
Log Message:
-----------
[mlir][IR] Improve error message when parsing incorrect type (#134984)
Improve error messages when parsing an incorrect type.
Before:
```
invalid kind of type specified
```
After:
```
invalid kind of type specified: expected builtin.tensor, but found 'tensor<*xi32>'
```
This error message is produced when a certain operand/result type is
expected according to an op's TableGen definition, but a different type
is parsed. Type constraints (which may have nice error messages) are
checked after parsing a type. If an incorrect type is parsed, we never
get to the point of printing type constraint error messages. This may
discourage users from specifying C++ classes with type constraints.
(Explicitly specifying C++ classes is beneficial because the
auto-generated C++ code will have richer type information; explicit
casts are unnecessary, etc.) See #134981 for an example where specifying
additional type information with type constraints (e.g.,
`LLVM_AnyVector`) lead to worse error messages.
Note: In order to generate a better error message, the parser must
retrieve a type's name from the C++ class. TableGen-generated type
classes always have a `name` field, but hand-written C++ type classes
may not. The `HasStaticName` template was copied from
`DialectImplementation.h` (`HasStaticDialectName`).
Commit: 5039bf4e26f07f9082e42374a342b3f52236e3fc
https://github.com/llvm/llvm-project/commit/5039bf4e26f07f9082e42374a342b3f52236e3fc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
A llvm/test/Transforms/Inline/X86/inline-simplified-branch-dbg-loc.ll
Log Message:
-----------
[DebugInfo][Inline] Propagate source locs when simplifying cond branches (#134827)
During inlining, we may opportunistically simplify conditional branches
(incl. switches) to unconditional branches if, after inlining, their
destination is fixed. While we do this, we should propagate any
DILocation attached to the original branch to the simplified branch,
which this patch enables.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 94f6f0334d13d6090c7c31387e50358d5b244313
https://github.com/llvm/llvm-project/commit/94f6f0334d13d6090c7c31387e50358d5b244313
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/eq-of-parts.ll
M llvm/test/Transforms/InstCombine/onehot_merge.ll
Log Message:
-----------
[InstCombine] handle trunc to i1 in foldLogOpOfMaskedICmps. (#128861)
proof: https://alive2.llvm.org/ce/z/pu8WmX
fixes #128778
Commit: c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
https://github.com/llvm/llvm-project/commit/c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-factoring-add.ll
Log Message:
-----------
[DebugInfo][Reassociate] Propagate source locs when factoring add->mul (#134829)
As part of reassociating add instructions, we may factorize some of the
adds and produce a mul instruction; this patch propagates the source
location of the reassociated tree of instructions to the new mul.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
https://github.com/llvm/llvm-project/commit/b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Add scope braces (#135025)
Commit: 1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
https://github.com/llvm/llvm-project/commit/1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
llvm-reduce: Fix taking wrong error before exit (#135020)
Commit: 840b366d47115ecf2f7034721c13576e6f14cd82
https://github.com/llvm/llvm-project/commit/840b366d47115ecf2f7034721c13576e6f14cd82
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
CodeGen: Remove redundant arguments to defusechain_instr_iterator (#135023)
ByOperand must be false, this is implied by the iterator type.
The instr_iterator cases are a separate implementation from the single
operand defusechain_iterator.
Additionally ByInstr and ByBundle are mutually exclusive.
Commit: 2a7f12e37b450e24869c0e82b39a4894d69b8d3e
https://github.com/llvm/llvm-project/commit/2a7f12e37b450e24869c0e82b39a4894d69b8d3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
CodeGen: Trim redundant template argument from defusechain_iterator (#135024)
Only one of ByOperand, ByInstr, or ByBundle should be true. Replace
ByBundle with !ByInstr, and assert that both are not used.
Commit: 751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
https://github.com/llvm/llvm-project/commit/751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Update TileOp infer shape (#134732)
update to use getConstShapeValues in TileOp's shape inference
Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: 543e5f5842fe576bb8752f04345b2cc995e5bb50
https://github.com/llvm/llvm-project/commit/543e5f5842fe576bb8752f04345b2cc995e5bb50
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
Log Message:
-----------
Fix crash with align_value diagnostic reporting (#135013)
We were passing the address of a local variable to a call to Diag()
which then tried to use the object after its lifetime ended, resulting
in crashes. We no longer pass the temporary object any longer.
Fixes #26612
Commit: c0480738cb3f4b2db47b77f5b18f9819cb995373
https://github.com/llvm/llvm-project/commit/c0480738cb3f4b2db47b77f5b18f9819cb995373
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/pointer-overflow.c
Log Message:
-----------
[Clang][CodeGen] Respect -fwrapv-pointer when emitting struct GEPs (#134269)
This patch turns off inbounds/nuw flags for member accesses when
`-fwrapv-pointer` is set.
Closes https://github.com/llvm/llvm-project/issues/132449.
It is required by https://github.com/llvm/llvm-project/pull/130734.
Commit: f0131c327ea1432ff45f385aac28fe5d57005244
https://github.com/llvm/llvm-project/commit/f0131c327ea1432ff45f385aac28fe5d57005244
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Avoid reallocating per chunk iteration (#135029)
Commit: 0eb560a4dee05a55781f44c60c8164aef3bcf04c
https://github.com/llvm/llvm-project/commit/0eb560a4dee05a55781f44c60c8164aef3bcf04c
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
A llvm/test/Transforms/Coroutines/coro-early-twice.ll
Log Message:
-----------
[Coroutines] Don't assert if coro-early runs more than once (#134854)
The pass may run more than once during ThinLTO for example (see bug).
Maybe that means those pass pipelines aren't optimal, but the pass
should be resilient against that.
Fixes #134054
Commit: 40f9bb9e250d5762ee9cedabc7b7704c4cccddde
https://github.com/llvm/llvm-project/commit/40f9bb9e250d5762ee9cedabc7b7704c4cccddde
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
M llvm/test/Assembler/DIDefaultTemplateParam.ll
M llvm/test/Assembler/metadata-use-uselistorder.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
R llvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
M llvm/test/tools/llvm-reduce/debug-metadata-verifier.ll
R llvm/test/tools/llvm-reduce/remove-args-dbg-intrinsics.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Eliminate another debug-info variation flag (#133917)
The "preserve input debug-info format" flag allowed some tooling to opt
into not seeing the new debug records yet, and to not autoupgrade. This
was good at the time, but un-necessary now that we'll be ditching
intrinsics shortly.
It also hides errors now: verify-uselistorder was hardcoding this flag
to on, and as a result it hasn't seen debug records before. Thus, we
missed a uselistorder variation: constant-expressions such as GEPs can
be contained within debug records and completely isolated from the value
hierachy, see the metadata-use-uselistorder.ll test. These Values didn't
get ordered, but were legitimate uses of constants like "i64 0", and we
now run into difficulty handling that. The patch to AsmWriter seeks
Values to order even through debug-info now.
Finally there are a few intrinsics-tests relying on this flag that we
can just delete, such as one in llvm-reduce and another few in the
LocalTest unit tests. For the fast-isel test, it was added in
https://reviews.llvm.org/D67703 explicitly for checking the size of
blocks without debug-info and in 1525abb9c94 the codepath it tests moved
towards being sunsetted. It'll be totally redundant once RemoveDIs is on
permanently.
Note that there's now no explicit test for the textual-IR autoupgrade
path. I submit that we can rely on the thousands of .ll files where
we've only been bothered to update the outputs, not the inputs, to debug
records.
Commit: 1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
https://github.com/llvm/llvm-project/commit/1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] Enable multiple variables for target teams reductions (#134903)
This patch enables multiple reductions to be used in a reduction clause
inside target regions for GPU offloading.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: f76d9da6d8a005d019c63775b2205c5a8cb3da67
https://github.com/llvm/llvm-project/commit/f76d9da6d8a005d019c63775b2205c5a8cb3da67
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[MSan] Update type for MsanMetadataPtrForLoadN and MsanMetadataPtrForStoreN (#135040)
Changed last parameter type for `MsanMetadataPtrForLoadN` and
`MsanMetadataPtrForStoreN` from `i64` to `IntptrTy` to keep it
consistent with call in `getShadowOriginPtrKernelNoVec`
Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>
Commit: c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
https://github.com/llvm/llvm-project/commit/c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Recognize mutableCopy from literal as +1 (#132350)
This PR adds the support for recognizing the return value of copy /
mutableCopy as +1. isAllocInit and isOwned now traverses
PseudoObjectExpr to its last semantic expression.
Commit: 6d4d017fd250b77e832bec37644f3446d0be6d6c
https://github.com/llvm/llvm-project/commit/6d4d017fd250b77e832bec37644f3446d0be6d6c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/StripSymbols.h
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/StripSymbols.cpp
A llvm/test/Transforms/StripSymbols/strip-cg-profile.ll
M llvm/tools/llvm-extract/llvm-extract.cpp
Log Message:
-----------
[llvm-extract] Delete dead `CG Profile` edges (#134940)
When `llvm-extract`-ing a function, and the `CG Profile` flag is present in the original module, we end up with lots of `!{null, null, i64 1234}` entries for call edges that have disappeared as result of the removed functions.
This patch fixes that by adding a pass to `llvm-extract` that finds `CG Profile` edges with one or both operands `null` and removes them. This results in a cleaner output.
Commit: fa273e1158edb109e1c392a0d8e18b711d0e008e
https://github.com/llvm/llvm-project/commit/fa273e1158edb109e1c392a0d8e18b711d0e008e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A 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
Log Message:
-----------
[OpenACC][CIR] Implement 'data' construct lowering (#135038)
This patch does the lowering of the OpenACC 'data' construct, which
requires getting the `default` clause (as `data` requires at least 1 of
a list of clauses, and this is the easiest one). The lowering of the
clauses appears to happen in 1 of 2 ways: a- as an operand. or b- as an
attribute.
This patch adds infrastructure to lower as an attribute, as that is how
'data' works.
In addition to that, it changes the OpenACCClauseVisitor a bit, which
previously just required that each of the derived classes have all of
the clauses covered. This patch modifies it so that the visitor directly
calls the derived class from its visitor function, which leaves the
base-class ones the ability to defer to a generic function. This was
previously like this because I had some use cases that I didn't end up
using, and the 'generic' function here seems much more useful.
Commit: f4d87c42a6021e49fd972f5f5d863d35b267d17f
https://github.com/llvm/llvm-project/commit/f4d87c42a6021e49fd972f5f5d863d35b267d17f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.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/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/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/test/HLFIR/elemental-codegen.fir
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/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Add asyncId to allocate entry point (#134947)
Commit: e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
https://github.com/llvm/llvm-project/commit/e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[NFC][LLDB] Clean up comments/some code in MinidumpFileBuilder (#134961)
I've recently been working on Minidump File Builder again, and some of
the comments are out of date, and many of the includes are no longer
used. This patch removes unneeded includes and rephrases some comments
to better fit with the current state after the read write chunks pr.
Commit: 0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
https://github.com/llvm/llvm-project/commit/0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/Dialect/X86Vector/X86VectorDialect.h
A mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
R mlir/include/mlir/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.h
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
R mlir/lib/Target/LLVMIR/Dialect/X86Vector/CMakeLists.txt
R mlir/lib/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.cpp
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][x86vector] Simplify intrinsic generation (#133692)
Replaces separate x86vector named intrinsic operations with direct calls
to LLVM intrinsic functions.
This rework reduces the number of named ops leaving only high-level MLIR
equivalents of whole intrinsic classes e.g., variants of AVX512 dot on
BF16 inputs. Dialect conversion applies LLVM intrinsic name mangling
further simplifying lowering logic.
The separate conversion step translating x86vector intrinsics into LLVM
IR is also eliminated. Instead, this step is now performed by the
existing llvm dialect infrastructure.
RFC:
https://discourse.llvm.org/t/rfc-simplify-x86-intrinsic-generation/85581
Commit: 9dc6551fa8944668af475e09bcb16dd81ab1bd00
https://github.com/llvm/llvm-project/commit/9dc6551fa8944668af475e09bcb16dd81ab1bd00
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract a check for a SplitVectorize node, NFC
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134896
Commit: 505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
https://github.com/llvm/llvm-project/commit/505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
Log Message:
-----------
[OpenACC][CIR] Support for `init` and `shutdown` lowering
These two are very simple. they don't require any clauses and don't
have an associated statement, so they have very simple output. This
patch implements them, but none of the associated clauses.
Commit: 3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
https://github.com/llvm/llvm-project/commit/3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
Author: metkarpoonam <poonammetkar at microsoft.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/dst.hlsl
Log Message:
-----------
[HLSL] Implement the dst HLSL Function (#133828)
fixes: https://github.com/llvm/llvm-project/issues/99108
Implement dst algorithm in the hlsl_intrinsics.h and added test cases
for HLSL codegen and sema
- [x] implement dst algorithm in the hlsl_intrinsics.h
- [x] Add HLSL codegen tests to clang/test/CodeGenHLSL/builtins/dst.hlsl
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dst-errors.hlsl
Commit: ef1088f70356b18dd9af066ed6cea0c8b8d7800a
https://github.com/llvm/llvm-project/commit/ef1088f70356b18dd9af066ed6cea0c8b8d7800a
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
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/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
M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
Revert "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135060)
Reverts llvm/llvm-project#125883
This PR causes crashes in RISC-V codegen around f16/f64 poison values:
https://github.com/llvm/llvm-project/pull/125883#issuecomment-2787048206
Commit: 2c31403f4f301214cb87e929c4d032bd2f4617f4
https://github.com/llvm/llvm-project/commit/2c31403f4f301214cb87e929c4d032bd2f4617f4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
Log Message:
-----------
[alpha.webkit.UnretainedLambdaCapturesChecker] Add the support for protectedSelf (#132518)
This PR adds the support for treating capturing of "self" as safe if the
lambda simultaneously captures "protectedSelf", which is a RetainPtr of
"self".
This PR also fixes a bug that the checker wasn't generating a warning
when "self" is implicitly captured. Note when "self" is implicitly
captured, we use the lambda's getBeginLoc as a fallback source location.
Commit: 2ab2276ee079478b7ba9dd42c62b796d3dab1759
https://github.com/llvm/llvm-project/commit/2ab2276ee079478b7ba9dd42c62b796d3dab1759
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/lit.hlsl
Log Message:
-----------
[HLSL] Implement the `lit` intrinsic (#134171)
Closes #99135.
Tasks completed:
- Wrote implementation in `hlsl_intrinsics.h`/`hlsl_intrinsic_helpers.h`
- Added codegen tests to `clang/test/CodeGenHLSL/builtins/lit.hlsl`
Commit: 989bc69ceb47e27f402d14166eb2e2ea53e00c84
https://github.com/llvm/llvm-project/commit/989bc69ceb47e27f402d14166eb2e2ea53e00c84
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Trim includes in ReduceInstructions (#135022)
Commit: b92f4d4c3315e4632a2e6fc425583e07d57234ca
https://github.com/llvm/llvm-project/commit/b92f4d4c3315e4632a2e6fc425583e07d57234ca
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep for X86Vector (#135069)
Follow up fix to https://github.com/llvm/llvm-project/pull/133692
Commit: be133ff4c44060e18a9c8a5e55c32d242007c8d1
https://github.com/llvm/llvm-project/commit/be133ff4c44060e18a9c8a5e55c32d242007c8d1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/test/Preprocessing/kind-suffix.F90
Log Message:
-----------
[flang] Fix preprocessor regression (#134405)
For numeric kind suffixes like 1_foo, the preprocessor should be able to
perform macro replacement for macros named either "_foo" or "foo".
Fixes https://github.com/llvm/llvm-project/issues/133399.
Commit: 0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
https://github.com/llvm/llvm-project/commit/0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
Log Message:
-----------
[flang][OpenMP] Fix regression in !$ continuation (#134756)
A recent patch that obviated the need to use -fopenmp when using the
compiler to preprocess in -E mode broke a case of Fortran line
continuation when using OpenMP conditional compilation lines (!$) when
*not* in -E mode. Fix.
Commit: e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
https://github.com/llvm/llvm-project/commit/e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/io-stmt.cpp
Log Message:
-----------
[flang][runtime] Tweak width-free I/G formatted I&O (#135047)
For Fujitsu test case 0561/0561_0168.f90, adjust both input and output
sides of the extension I (and G) edit descriptors with no width (as
distinct from I0/G0). On input, be sure to halt on a separator character
rather than complaining about an invalid character; on output, be sure
to emit a leading space.
Commit: a0d449016b9fda248df78a9e0a8634fa03d33eb2
https://github.com/llvm/llvm-project/commit/a0d449016b9fda248df78a9e0a8634fa03d33eb2
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][LLVM] Delete `getVectorElementType` (#134981)
The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove `LLVM::getVectorElementType` and
use `cast<VectorType>(ty).getElementType()` instead. This commit
addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.
Also improve vector type constraints by specifying the
`mlir::VectorType` C++ class, so that explicit casts to `VectorType` can
be avoided in some places.
Commit: 7b4b43bd15cc66b6d9300db4c444954664cf04af
https://github.com/llvm/llvm-project/commit/7b4b43bd15cc66b6d9300db4c444954664cf04af
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/kernel-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll
Log Message:
-----------
[MSan] Separated PPC32 va_arg helper from PPC64 (#131827)
With more understanding of PowerPC32 ABI we've rewritten the
`VarArgPowerPC32Helper`.
New implementation fills shadow for both `reg_save_area` and
`overflow_arg_area`.
It does not copy shadow for floating-point arguments, as they are stored
in a separate space.
This implementation does not fully support passing arguments `byVal`.
This will be fixed in future PRs.
Tests were also updated via `llvm/utils/update_test_checks.py`.
Commit: 8f23d4296cb3bf612653aabb9c35395d197f704a
https://github.com/llvm/llvm-project/commit/8f23d4296cb3bf612653aabb9c35395d197f704a
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
Reland "[flang][nfc] Support volatility in Fir ops" (#135039)
#134858 had an extraneous include which caused the shared library builds
to break.
Commit: 46de0caed89fa379a2f7f5506c669ef21be8ef8c
https://github.com/llvm/llvm-project/commit/46de0caed89fa379a2f7f5506c669ef21be8ef8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/metadata.ll
Log Message:
-----------
[LV] Add more tests for preserving metadata on vector instructions.
This patch extends test coverage for preserving existing metadata on
vector instructions, including many uncovered cases, like metadata on
calls, selects, FP ops and truncates.
Commit: 5709506de0e8cdeaf291952302f80b81eb03206a
https://github.com/llvm/llvm-project/commit/5709506de0e8cdeaf291952302f80b81eb03206a
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
Log Message:
-----------
[offload] Fix finding amdgpu/nvptx-arch to generate tests (#135072)
PR #134713, which landed as 79cb6f05da37, causes this on my test
systems:
```
-- Building AMDGPU plugin for dlopened libhsa
-- Not generating AMDGPU tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_AMDGPU_TESTS' to override.
-- Building CUDA plugin for dlopened libcuda
-- Not generating NVIDIA tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.
```
The problem is it cannot locate amdgpu-arch and nvptx-arch. This patch
enables it to.
I suspect there is more cleanup to do here. amdgpu-arch and nvptx-arch
do not appear to exist as cmake targets anymore, but there is still
cmake code here that looks for those targets.
Commit: fe2eefc4718f57e1753f7bd51c158fc03d70b34f
https://github.com/llvm/llvm-project/commit/fe2eefc4718f57e1753f7bd51c158fc03d70b34f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Lex/PPExpressions.cpp
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
Log Message:
-----------
[clang][index] Handle undefined function-like macros in single file parse mode (#135054)
The single file parse mode is supposed to enter both branches of an
`#if` directive whenever the condition contains undefined identifiers.
This patch adds support for undefined function-like macros, where we
would previously emit an error that doesn't make sense from end-user
perspective.
(I discovered this while working on a very similar feature that parses
single module only and doesn't enter either `#if` branch when the
condition contains undefined identifiers.)
Commit: 639ebbfeb9b09e36158714a8e12f9138e18de0d9
https://github.com/llvm/llvm-project/commit/639ebbfeb9b09e36158714a8e12f9138e18de0d9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
Log Message:
-----------
[ctxprof][nfc] Remove redundant include in PGOCtxProfWriter.cpp (#135077)
Commit: 12b1ed213ec55750e8fd59dfa44f6872186ed709
https://github.com/llvm/llvm-project/commit/12b1ed213ec55750e8fd59dfa44f6872186ed709
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
Log Message:
-----------
[Clang] Add non static data member initializer for BindingDecl member Decomp (#134969)
Static analysis flagged BindingDecl Decomp member as not being
initialized during construction or by any other member function.
Fix is add a default initializer for it like the other member Binding.
Commit: 0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
https://github.com/llvm/llvm-project/commit/0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
Log Message:
-----------
[VectorUtils] Add helper to get list of metadata to propagate (NFC). (#135003)
Split off the logic to filter out metadata that should not be propagated
to a helper that populates a list with metadata kinds that should be
preserved.
The current version just uses is_contained on an array to check if a
metadata kind is supported. Given that most instructions will only have
a small number of metadata kinds to start with, this shouldn't be worse
than iterating over all kinds once and querying the instruction for
individual metadata kinds, which involves quite a bit of indirection.
I plan ot use this utility in a follow-up patch in other places as well.
PR: https://github.com/llvm/llvm-project/pull/135003
Commit: 7cbf78ec74ea899ac508da0067962ab91c39930f
https://github.com/llvm/llvm-project/commit/7cbf78ec74ea899ac508da0067962ab91c39930f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove no-op addMetadata for VPWidenGEP/VPWidenIntOrFPInd (NFC).
GEPs and truncates should not have any metadata that can be propgated at
the moment, so addMetadata is a no-op. Remove the calls.
This patch also adds assertions to the recipes' constructors, to ensure
no metadata is accidentially dropped.
Commit: 785d69e317f249d96ca10010c96a92c51fa4d199
https://github.com/llvm/llvm-project/commit/785d69e317f249d96ca10010c96a92c51fa4d199
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_float_comparison_test.cpp
Log Message:
-----------
[libc][test] make `str_to_float_comparison_test` independent of C++ headers. (#133978)
This is an attempt to move away from C++ headers to be able to run the
test without `libcxx`.
closes #129838
cc @lntue @RossComputerGuy
Commit: 6a45fce90937f1c8671e609c4218818ce4491329
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/test/Integration/debug-local-var-2.f90
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo] Soft-disable the production of debug intrinsics (#133933)
This patch switches the --experimental-debuginfo-iterators flag to be
stored to an otherwise unused cl-opt. This is a deliberate attempt to
break downstream tests that are relying on the use of debug intrinsics,
because they're imminently going away! If this commit breaks your tests,
please just revert the commit upstream, and then make contact with us
here:
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
So that we can work out whether there's any further transition work
needed to support the move away from using debug intrinsics.
Commit: a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
https://github.com/llvm/llvm-project/commit/a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/tid-range.ll
M llvm/test/CodeGen/NVPTX/vector-compare.ll
Log Message:
-----------
[NVPTX] Cleanup ISel for selp.* (#135065)
This change uses the untyped variant of `selp.` in all integer cases to
simplify the ISel TableGen logic. It is not expected to have any impact
on the final SASS.
Commit: e10f67a8270c7745b8a9306a9910b06cfc8d2c55
https://github.com/llvm/llvm-project/commit/e10f67a8270c7745b8a9306a9910b06cfc8d2c55
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
Log Message:
-----------
[clang-doc][NFC] refactor out file helpers (#134298)
Split from https://github.com/llvm/llvm-project/pull/133161
refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc
Commit: f75dce43ea0a98c0ade916cf3ffcc7548f569821
https://github.com/llvm/llvm-project/commit/f75dce43ea0a98c0ade916cf3ffcc7548f569821
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#135046)
This fixes a warning where a variable assigned in a 'if' statement
wasn't referenced again.
Commit: af9c04fa689029c80451ec2c497509c7bd28534f
https://github.com/llvm/llvm-project/commit/af9c04fa689029c80451ec2c497509c7bd28534f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/fstream.h
M libcxx/include/__fwd/functional.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__fwd/istream.h
M libcxx/include/__fwd/map.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__fwd/ostream.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/set.h
M libcxx/include/__fwd/sstream.h
M libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/streambuf.h
M libcxx/include/__fwd/string.h
M libcxx/include/__fwd/string_view.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__hash_table
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/dependent_type.h
M libcxx/include/__type_traits/enable_if.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/has_virtual_destructor.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_compound.h
M libcxx/include/__type_traits/is_const.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_same.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/is_volatile.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_const.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/remove_volatile.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/piecewise_construct.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/codecvt
M libcxx/include/complex
M libcxx/include/deque
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mutex
M libcxx/include/optional
M libcxx/include/queue
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/streambuf
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
Log Message:
-----------
[libc++] Remove _LIBCPP_TEMPLATE_VIS (#134885)
The need for `_LIBCPP_TEMPLATE_VIS` has been removed in #133233.
Commit: d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
https://github.com/llvm/llvm-project/commit/d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] Start enforcing 'device_type' clause values
Researching in prep of doing the implementation for lowering, I found
that the source of the valid identifiers list from flang is in the
frontend. This patch adds the same list to the frontend, but does it as
a sema diagnostic, so we still parse it as an identifier/identifier-like
thing, but then diagnose it as invalid later.
Commit: 688c3ffb057a87b86c6c1e77040418adf511efbb
https://github.com/llvm/llvm-project/commit/688c3ffb057a87b86c6c1e77040418adf511efbb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - add bass gather from struct tests for #130920
Show current codegen for base reference
Commit: 58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
https://github.com/llvm/llvm-project/commit/58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFC] Upstream LValueBaseInfo handling (#134928)
Previous implementations that used the cir::LValue class omitted hanling
of the LValueBaseInfo class, which tracks information about the basis
for the LValue's alignment. As more code was upstreamed from the
incubator, we were accumulating technical debt by adding more places
where this wasn't handled correctly. This change puts the interfaces in
place to track this information.
The information being tracked isn't used yet, so no functional change is
intended. The tracking is being added now because it will become more
difficult to add it as more features are implemented.
Commit: 90c001ac9e1d92a1a95d191d1640ab5337a937e5
https://github.com/llvm/llvm-project/commit/90c001ac9e1d92a1a95d191d1640ab5337a937e5
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Use Bazel aspects to implement libc_release_library. (#134948)
Instead of creating hundreds of implicit "filegroup" targets to keep
track of sources and textual headers required to build each libc
function or helper library, use Bazel aspects (see
https://bazel.build/versions/8.0.0/extending/aspects), which enable
transparent collection of transitive sources / textual headers while
walking the dependency DAG, and minimizes the Starlark overhead.
Co-authored-by: Jordan Rupprecht <rupprecht at google.com>
Commit: 2f7e685e3d8813ca584cc2f278ac3cd57b43772d
https://github.com/llvm/llvm-project/commit/2f7e685e3d8813ca584cc2f278ac3cd57b43772d
Author: Nachi G <nacgarg at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
M mlir/test/IR/invalid-ops.mlir
Log Message:
-----------
[MLIR] Ensure deterministic parallel verification (#134963)
`failableParallelForEach` will non-deterministically early terminate
upon failure, leading to inconsistent and potentially missing
diagnostics.
This PR uses `parallelForEach` to ensure all operations are verified and
all diagnostics are handled, while tracking the failure state
separately.
Other potential fixes include:
- Making `failableParallelForEach` have deterministic early-exit
behavior (or have an option for it)
- I didn't want to change more than what was required (and potentially
incur perf hits for unrelated code), but if this is a better fix I'm
happy to submit a patch.
- I think all diagnostics that can be detected from verification
failures should be reported, so I don't even think this would be correct
behavior anyway
- Adding an option for `failableParallelForEach` to still execute on
every element on the range while still returning `LogicalResult`
Commit: 154507cf403e1859b9a81fa76af406e8489daa4b
https://github.com/llvm/llvm-project/commit/154507cf403e1859b9a81fa76af406e8489daa4b
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/test/SemaTemplate/dependent-names.cpp
Log Message:
-----------
[clang] fix NestedNameSpecifier dependency calculation (#135067)
A NestedNameSpecifier of TypeSpec kind can be non-dependent even if its
prefix is dependent, when for example the prefix is an injected class
type but the type itself is a simple alias to a non-dependent type.
This issue was a bit hard to observe because if it is an alias to a
class type, then we (for some unknown reason) ignored that the NNS was
dependent in the first place, which wouldn't happen with an enum type.
This could have been a workaround for previous dependency bugs, and is
not relevant anymore for any of the test cases in the tree, so this
patch also removes that.
The other kinds of dependencies are still relevant. If the prefix
contains an unexpanded pack, then this NNS is still unexpanded, and
likewise for errors.
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787909829
which was introduced by https://github.com/llvm/llvm-project/pull/133610
There are no release notes since the regression was never released.
Commit: 433a63e117ebf22365ef1f3f595a49cbe9f0c88e
https://github.com/llvm/llvm-project/commit/433a63e117ebf22365ef1f3f595a49cbe9f0c88e
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Fix ambiguous reversed operator error in sanitizer_mac.h (#135068)
Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].
This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator
Commit: 4d06d22da048f2c025df7b58ec1d7f96d0840bf9
https://github.com/llvm/llvm-project/commit/4d06d22da048f2c025df7b58ec1d7f96d0840bf9
Author: Pranav Kant <prka at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix after #133692 (#135098)
Avoid failures like these:
https://buildkite.com/llvm-project/upstream-bazel/builds/131707#01961bb5-2a7b-4dea-a387-cdfd8bb4db48
Commit: 8145659c39996b6b33c2fa922593d35068bcbf61
https://github.com/llvm/llvm-project/commit/8145659c39996b6b33c2fa922593d35068bcbf61
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
Log Message:
-----------
[nfc][AMDGPU] Autogenerated assertions applied to fold-imm-copy.mir (#135071)
Autogenerated assertions are applied to fold-imm-copy.mir
Commit: 9b50167ed9d28589d70f36e302850d29ca249b9e
https://github.com/llvm/llvm-project/commit/9b50167ed9d28589d70f36e302850d29ca249b9e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/value.py
Log Message:
-----------
[mlir][python] add use_name_loc_as_prefix to value.get_name() (#135052)
Add `use_name_loc_as_prefix` to `value.get_name()`.
Commit: c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
https://github.com/llvm/llvm-project/commit/c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
A mlir/test/python/dialects/linalg/utils.py
Log Message:
-----------
[mlir][CAPI][python] expose the python bindings for linalg::isaContractionOpInterface and linalg::inferContractionDims (#134935)
This PR is mainly about exposing the python bindings for`
linalg::isaContractionOpInterface` and` linalg::inferContractionDims`.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 6a63abce7b54076015b52d6b99c51eb04d2763f6
https://github.com/llvm/llvm-project/commit/6a63abce7b54076015b52d6b99c51eb04d2763f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use GPRMemZeroOffset instead of GPRMem in RISCVInstrInfoVPseudos.td. NFC
The distinction between GPRMem and GPRMemZeroOffset only matters
for parsing which doesn't apply to pseudos.
Commit: 56b792322aaaa82883d56a322a94448de519f789
https://github.com/llvm/llvm-project/commit/56b792322aaaa82883d56a322a94448de519f789
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
Log Message:
-----------
[flang][cuda] Use the aysncId in device allocation (#135099)
Use `cudaMallocAsync` in the `CUFAllocDevice` allocator when asyncId is
provided.
More work is needed to be able to call `cudaFreeAsync` since the
allocated address and stream needs to be tracked.
Commit: 75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
https://github.com/llvm/llvm-project/commit/75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Add FormatToken::is(tok::ObjCKeywordKind) (#134973)
This allows simplification of code that checks if a token is an
Objective-C keyword.
Also, delete the following in
UnwrappedLineParser::parseStructuralElement():
- an else-after-break in the tok::at case
- the copypasted code in the tok::objc_autoreleasepool case
Commit: 2795abb2f8c71a6f00371b49d49829efe2814b0d
https://github.com/llvm/llvm-project/commit/2795abb2f8c71a6f00371b49d49829efe2814b0d
Author: Alan Li <me at alanli.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/shufflevector.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
Log Message:
-----------
[GISel][AMDGPU] Expand ShuffleVector (#124527)
This patch dismantles G_SHUFFLE_VECTOR before lowering. The original
lowering would emit extract vector element ops. We found that by using
unmerged values the build vector op combine could find ways to fold.
Only enabled on AMDGPU.
This resolves #123631
Commit: f34483838937b1a01ee11ee22bdd6e13c81e9fff
https://github.com/llvm/llvm-project/commit/f34483838937b1a01ee11ee22bdd6e13c81e9fff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Keep the space between `not` and a unary operator (#135035)
Also keep the space between `not` and `::`.
Based on the
[documentation](https://releases.llvm.org/20.1.0/tools/clang/docs/ClangFormatStyleOptions.html#spaceafterlogicalnot),
it can be argued that SpaceAfterLogicalNot doesn't cover the alternative
operator `not`.
Closes #125465
Commit: 78b21ddba7bc43b1e59d97ccad51133858a9ce91
https://github.com/llvm/llvm-project/commit/78b21ddba7bc43b1e59d97ccad51133858a9ce91
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Revert "Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)"
This reverts commit 348374028970c956f2e49ab7553b495d7408ccd9 because #128619 doesn't handle the case when we have an empty frame from `getInliningInfoForAddress` because line num is 0 which makes it non-differentiable from missing debug info. So, we end up using the base filename from symtab again. Reverting for now until that issus is solved.
Commit: b88eef95e72ed54580c3f65c49cc8b768a764938
https://github.com/llvm/llvm-project/commit/b88eef95e72ed54580c3f65c49cc8b768a764938
Author: Michael Berg <93234525+mcberg2021 at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
A llvm/test/Transforms/DeadStoreElimination/dead-vp.store.ll
Log Message:
-----------
[DSE] Add predicated vector length store support for masked store elimination (#134175)
In isMaskedStoreOverwrite we process two stores that fully overwrite one
another, here we add support for predicated vector length stores so that
DSE will eliminate this variant of masked stores.
This is the follow up installment mentioned in:
https://reviews.llvm.org/D132700
Commit: 747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
https://github.com/llvm/llvm-project/commit/747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll
Log Message:
-----------
[DirectX] Implement UseNativeLowPrecision shader flag analysis (#134288)
Fixes #112267
Implement the shader flag analysis to set the UseNativeLowPrecision DXIL
module flag.
The flag is only able to be set when the command-line flag
`-enable-16bit-types` is passed to clang-dxc, or equivalently
`-fnative-half-type` is passed to clang.
When the command-line flag is passed, a module metadata flag called
"dx.nativelowprec" is set to 1.
The DXILShaderFlags shader flags analysis checks that the module
metadata flag "dx.nativelowprec" is set to 1 and the DXIL Version is 1.2
or greater before setting the UseNativeLowPrecision DXIL module flag.
Commit: 02fde3a6518b1085946b891e2a1b3550f7497888
https://github.com/llvm/llvm-project/commit/02fde3a6518b1085946b891e2a1b3550f7497888
Author: Pranav Kant <prka at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
Log Message:
-----------
[bazel] Fix for #134298 (#135114)
Commit: 98feb05825a179c56f965d936b948a95d2a6b888
https://github.com/llvm/llvm-project/commit/98feb05825a179c56f965d936b948a95d2a6b888
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
Log Message:
-----------
[clang] fix unresolved dependent template specialization mangling (#135111)
This fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/133610 which was reported here
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787332042
When mangling a dependent template specialization appearing within an
unresolved prefix, translate the dtst back to a dependent template name
including the prefix, and mangle following the nested unresolved-type
production.
There are no release notes, since this regression was never released.
Commit: d1badf5635c5876a8c0b9558fe149ef0e293b865
https://github.com/llvm/llvm-project/commit/d1badf5635c5876a8c0b9558fe149ef0e293b865
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A clang/test/CodeGen/cfi-check-fail-nomerge.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
Log Message:
-----------
[cfi][NFCI] Precommit tests to show nomerge functionality (#135104)
https://github.com/llvm/llvm-project/pull/120464 (and earlier CLs) added -fsanitize-merge functionality, which is intended to work for all "sanitizers". It is nearly correct for CFI.
This patch precommits some tests for CFI, to track the progress of future -fsanitize-merge fixes for CFI.
Commit: 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
https://github.com/llvm/llvm-project/commit/2b8cc651dca0c000ee18ec79bd5de4826156c9d6
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
Log Message:
-----------
:createMCStreamer: delete InstPrinter on error
Commit: 0283bb3afcc5dc521f6b2e7d541a830a9546ed80
https://github.com/llvm/llvm-project/commit/0283bb3afcc5dc521f6b2e7d541a830a9546ed80
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers (#130990)
This patch adds `memory(argmem: read, inaccessiblemem: readwrite)
mustprogress` to **recoverable** ubsan handlers in order to unblock some
memory/loop optimizations. It provides an average of 3% performance
improvement on llvm-test-suite (except for 49 test failures due to ubsan
diagnostics).
Closes https://github.com/llvm/llvm-project/issues/130093.
Commit: 7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
https://github.com/llvm/llvm-project/commit/7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Revert "Replace bool operator== for VersionType in sanitizer_mac.h" (#135127)
Reverts llvm/llvm-project#135068 because it breaks building compiler-rt
on Darwin.
https://green.lab.llvm.org/job/clang-stage1-RA/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/
Commit: 2828328611089481d6ebd2e148791d9729117a8a
https://github.com/llvm/llvm-project/commit/2828328611089481d6ebd2e148791d9729117a8a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Link to command guide in help like bugpoint does (#134810)
Commit: 98ea512f720ec954a6f096dbb39534f06affa196
https://github.com/llvm/llvm-project/commit/98ea512f720ec954a6f096dbb39534f06affa196
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
Log Message:
-----------
[clang][bytecode] Clear inactive union fields when copying (#134982)
When copying unions, we need to only copy the active field of the source
union, which we were already doing. However, we also need to zero out
the (now) inactive fields, so we don't end up with dangling pointers in
those inactive fields.
Commit: 5587932e20ff90ba8a28f3c9089e8b12e42b09b5
https://github.com/llvm/llvm-project/commit/5587932e20ff90ba8a28f3c9089e8b12e42b09b5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
Log Message:
-----------
llvm-reduce: Use simpleSimplifyCFG in block reduction (#135028)
Commit: 02f923f8e4329995f2f0c512fa53f5e37e631933
https://github.com/llvm/llvm-project/commit/02f923f8e4329995f2f0c512fa53f5e37e631933
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
Log Message:
-----------
[clang][bytecode] Classify function pointers as PT_Ptr (#135026)
The Pointer class already has the capability to be a function pointer,
but we still classifed function pointers as PT_FnPtr/FunctionPointer.
This means when converting from a Pointer to a FunctionPointer, we lost
the information of what the original Pointer pointed to.
Commit: 27ca4837eec1734d23cc628fcaddf03b94afc845
https://github.com/llvm/llvm-project/commit/27ca4837eec1734d23cc628fcaddf03b94afc845
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivalenceClasses] Introduce erase member function (#134660)
Introduce 'erase(const ElemTy &V)' member function to allow the deletion
of a certain value from EquivClasses. This is essential for certain
scenarios that require modifying the contents of EquivClasses.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 843fb7be380c0907b3b222cd5e429a4d38c97b54
https://github.com/llvm/llvm-project/commit/843fb7be380c0907b3b222cd5e429a4d38c97b54
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix overly conservative operands-to-args user restriction (#133854)
I assume this was a leftover from typed pointers. It's easier to replace
the non-callee uses, they are just replacable pointer values.
Commit: 2257f5143148210fa968205730543f49427d0cc6
https://github.com/llvm/llvm-project/commit/2257f5143148210fa968205730543f49427d0cc6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
R clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
Revert "[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers" (#135130)
Reverts llvm/llvm-project#130990
Breaks buildbot https://lab.llvm.org/buildbot/#/builders/186/builds/8072
Commit: f819f46284f2a79790038e1f6649172789734ae8
https://github.com/llvm/llvm-project/commit/f819f46284f2a79790038e1f6649172789734ae8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Reapply "Inline: Propagate callsite nofpclass attribute" (#135018)
This reverts commit 3f38cd07d820248fd2043efb1341fabaac2d84a6.
Fix case where inner callsite has nofpclass but callsite does not.
Commit: 3fd0d22d74027c00bd2365ea1691dc530bb9709a
https://github.com/llvm/llvm-project/commit/3fd0d22d74027c00bd2365ea1691dc530bb9709a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/arm64-diags.s
M llvm/test/MC/MachO/AArch64/darwin-ARM64-reloc.s
Log Message:
-----------
AArch64AsmParser: Restore Lsym at page-offset support
https://github.com/llvm/llvm-project/pull/134202 removed support for
`sym at page-offset` in instruction operands. This change is generally
reasonable since subtracting an offset from a symbol typically doesn’t
make sense for Mach-O due to its .subsections_via_symbols mechanism, which treats
them as separate atoms.
However, BoringSSL relies on a temporary symbol with a negative offset,
which can be meaningful when the symbol and the referenced location are
within the same atom.
```
../../third_party/boringssl/src/gen/bcm/p256-armv8-asm-apple.S:1160:25: error: unexpected token in argument list
adrp x23,Lone_mont at PAGE-64
```
It's worth noting that expressions involving @ can be complex and
brittle in MCParser, and much of the Mach-O @ offsets remains
under-tested.
* Allow default argument for parsePrimaryExpr. The argument, used by the niche llvm-ml,
should not require other targets to adapt.
Commit: 807cc3791fabd47bd24d57a8e4ab7df9117b3ede
https://github.com/llvm/llvm-project/commit/807cc3791fabd47bd24d57a8e4ab7df9117b3ede
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-10 (Thu, 10 Apr 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] Fold subtraction if above threshold to `umin` (#134235)
Folds patterns such as:
unsigned foo(unsigned x, unsigned y) {
return x >= y ? x - y : x;
}
Before, on RISC-V:
sltu a2, a0, a1
addi a2, a2, -1
and a1, a1, a2
subw a0, a0, a1
Or, with Zicond:
sltu a2, a0, a1
czero.nez a1, a1, a2
subw a0, a0, a1
After, with Zbb:
subw a1, a0, a1
minu a0, a0, a1
Only applies to unsigned comparisons.
If `x >= y` then `x - y` is less than or equal `x`.
Otherwise, `x - y` wraps and is greater than `x`.
Commit: 7818e5ab6725c1590ff5c4a483a76f08b8697cb7
https://github.com/llvm/llvm-project/commit/7818e5ab6725c1590ff5c4a483a76f08b8697cb7
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-bit-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll
Log Message:
-----------
[LoongArch] lower vector shuffle to shift if possible (#132866)
Commit: b122956390a6877536927c2b073a0b99f8b9704f
https://github.com/llvm/llvm-project/commit/b122956390a6877536927c2b073a0b99f8b9704f
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals-1.mir
Log Message:
-----------
[llvm][CodeGen] update live intervals for ModuloScheduleExpanderMVE (#132677)
ModuloScheduleExpanderMVE and ModuloScheduleExpander are used sequentially in
certain use cases. It is necessary to update live intervals for ModuloScheduleExpanderMVE;
otherwise, crashes may occur.
Commit: adfc577895811b5df3935be3b26aec52929afebd
https://github.com/llvm/llvm-project/commit/adfc577895811b5df3935be3b26aec52929afebd
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-memcpy-align-metadata.mlir
Log Message:
-----------
[OpenMP][CodeExtractor]Add align metadata to load instructions (#131131)
Moving code to another function can lead to missed optimization
opportunities, because function passes operate on smaller chunks of
code, and they cannot figure out all details.
One example of missed optimization opportunities after code extraction
is information about pointer alignment. The instruction combine pass
adds information about pointer alignment to LLVM intrinsic memcpy calls
if it can deduce it from the code or if align metadata is added. If this
information is not present, then further optimization passes can
generate inefficient code.
If we add align metadata to extracted pointers, then the instruction
combine pass can add the align attribute to the LLVM intrinsic memcpy
call and unblock further optimization.
Scope of changes:
1. Analyze MLIR map operations. Add information about the alignment of
objects that are passed by reference to OpenMP GPU kernels.
2. Propagate alignment information to the outlined by `CodeExtractor`
helper functions.
Commit: 923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
https://github.com/llvm/llvm-project/commit/923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Add 'cl' to enable OpenCL kernel file formatting (#134529)
There are many .cl files in llvm repo. It would be great that
clang-format can support it.
Commit: 85742f764270c701d2245615c590702c5110b030
https://github.com/llvm/llvm-project/commit/85742f764270c701d2245615c590702c5110b030
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
Log Message:
-----------
[mlir][LLVM] Delete `getFixedVectorType` and `getScalableVectorType` (#135051)
The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove
`LLVM::getFixedVectorType/getScalableVectorType` and use
`VectorType::get` instead. This commit addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.
Commit: f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
https://github.com/llvm/llvm-project/commit/f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][FormatEntity][NFCI] Refactor FunctionNameWithArgs into helper functions and use LLVM style (#135031)
I've always found this hard to read. Some upcoming changes make similar
computations, so I thought it's a good time to factor out this logic
into re-usable helpers and clean it up using LLVM's preferred
early-return style.
Commit: 344a491dad1ec117ea0f97eb09c56fe5edb51fe6
https://github.com/llvm/llvm-project/commit/344a491dad1ec117ea0f97eb09c56fe5edb51fe6
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
Log Message:
-----------
[CodeGen] Simplify expandRoundInexactToOdd (#134988)
FP_ROUND and FP_EXTEND the input value before FABSing it. This avoids
some bit twiddling to copy the sign bit from the input to the result. It
does introduce one extra FABS, but that is folded into another
instruction for free on AMDGPU, which is the only target currently
affected by this change.
Commit: a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
https://github.com/llvm/llvm-project/commit/a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
M clang/test/SemaTemplate/address_space-dependent.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
Log Message:
-----------
[HLSL][SPIR-V] Add hlsl_private address space for SPIR-V (#133464)
This is an alternative to
https://github.com/llvm/llvm-project/pull/122103
In SPIR-V, private global variables have the Private storage class. This
PR adds a new address space which allows frontend to emit variable with
this storage class when targeting this backend.
This is covered in this proposal: llvm/wg-hlsl at 4c9e11a
This PR will cause addrspacecast to show up in several cases, like class
member functions or assignment. Those will have to be handled in the
backend later on, particularly to fixup pointer storage classes in some
functions.
Before this change, global variable were emitted with the 'Function'
storage class, which was wrong.
Commit: 135a7874dc2af6e2eb439db837eda273bdc54a63
https://github.com/llvm/llvm-project/commit/135a7874dc2af6e2eb439db837eda273bdc54a63
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libclc/clspv/lib/math/fma.cl
Log Message:
-----------
libclc: clspv: fma: remove fp16 implementation (#135002)
clspv is already handling generation of fp16. This implementation is
preventing clspv from making the best choice to use an emulation on top
of fp32-fma, or the native fp16-fma, depending on the command-line
arguments.
Commit: 7d32d72f10445657f598cbdf1bb5f3040373daf5
https://github.com/llvm/llvm-project/commit/7d32d72f10445657f598cbdf1bb5f3040373daf5
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libclc/clspv/lib/math/fma.cl
Log Message:
-----------
[libclc][NFC] Remove blank line at end of file
Commit: 5543d9ded7330b21c1d52cdeafadc4b95a495ccc
https://github.com/llvm/llvm-project/commit/5543d9ded7330b21c1d52cdeafadc4b95a495ccc
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAlloc][NFC] Use `std::move` to avoid copy (#134533)
Commit: 785e7f06ddb1ba36aa679d23436726dcf61f8afb
https://github.com/llvm/llvm-project/commit/785e7f06ddb1ba36aa679d23436726dcf61f8afb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)
The buidbot
[flang-aarch64-libcxx](https://lab.llvm.org/buildbot/#/builders/89) is
currently failing with an ABI issue. The suspected reason is that
LLVMSupport.a is built using libc++, but the unittests are using the
default C++ standard library, libstdc++ in this case. This predefined
`llvm_gtest` target uses the LLVMSupport from `find_package(LLVM)`,
which finds the libc++-built LLVMSupport.
To fix, store the `LLVM_ENABLE_LIBCXX` setting in the LLVMConfig.cmake
such that everything that links to LLVM libraries use the same standard
library. In this case discussed in
https://github.com/llvm/llvm-zorg/pull/387 it was the flang-rt
unittests, but other runtimes with GTest unittests should have the same
issue (e.g. offload), and any external project that uses
`find_package(LLVM)`.
Commit: d9cfd905248a7ef74826576978348600a372af5f
https://github.com/llvm/llvm-project/commit/d9cfd905248a7ef74826576978348600a372af5f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
Log Message:
-----------
[ci] Improve wording in CI test reports
We weren't saying where to click, make it clear you click on a
test name.
Commit: d34437e9e17be59a5b9da1937fec21886779885b
https://github.com/llvm/llvm-project/commit/d34437e9e17be59a5b9da1937fec21886779885b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Recognize a zipeven/zipodd requiring larger SEW (#134923)
This is a follow up to f8ee58a3c, and improves code generation for the
XRivosVizip extension.
If we have a slide pair which could be a zipeven or zipodd if the
shuffle was widened, widen the shuffle and then mask the zipeven or
zipodd.
This is basically working around an order of matching issue; we match
the slide pair variants before trying widening. I considered whether we
should just widen slide pairs without any consideration of the zip
idioms, but the resulting codegen changes look mostly like churn, and
have no clear evidence of profitability.
Commit: cdb9c6190ff066756ce4eb898eea747c5076ad33
https://github.com/llvm/llvm-project/commit/cdb9c6190ff066756ce4eb898eea747c5076ad33
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Support negative function offsets in UnwindPlans (#134662)
These are needed for functions whose entry point is not their lowest
address.
Commit: e3350a62635777ee983d86b6f6c9be4b07f48fc8
https://github.com/llvm/llvm-project/commit/e3350a62635777ee983d86b6f6c9be4b07f48fc8
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/bitcast-fold-lane-ops.ll
Log Message:
-----------
[AMDGPU] InstCombine llvm.amdgcn.ds.bpermute with uniform arguments (#130133)
Reland #129895 with a fix to avoid trying to combine bpermute of
bitcast.
Commit: 2fe123a1195e16e065f913ba2bba8582370a8707
https://github.com/llvm/llvm-project/commit/2fe123a1195e16e065f913ba2bba8582370a8707
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
Revert "Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)"
This reverts commit 785e7f06ddb1ba36aa679d23436726dcf61f8afb.
It did not solve the problem with flang-aarch64-libcxx and caused
another failure with openmp-offload-amdgpu-runtime-2.
Commit: 716b02d8c575afde7af1af13df145019659abca2
https://github.com/llvm/llvm-project/commit/716b02d8c575afde7af1af13df145019659abca2
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
A llvm/test/Transforms/MemCpyOpt/memcpy-tbaa.ll
M llvm/test/Transforms/MemCpyOpt/stack-move.ll
Log Message:
-----------
[LLVM][MemCpyOpt] Unify alias tags if we optimize allocas (#129537)
Optimization of alloca instructions may lead to invalid alias tags.
Incorrect alias tags can result in incorrect optimization outcomes for
Fortran source code compiled by Flang with flags: `-O3 -mmlir
-local-alloc-tbaa -flto`.
This commit removes alias tags when memcpy optimization replaces two
arrays with one array, thus ensuring correct compilation of Fortran
source code using flags: `-O3 -mmlir -local-alloc-tbaa -flto`.
This commit is also a proposal to fix the reported issue:
https://github.com/llvm/llvm-project/issues/133984
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 20507a9e95a08069863e9910a688a38370d58952
https://github.com/llvm/llvm-project/commit/20507a9e95a08069863e9910a688a38370d58952
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/selectiondag-order.ll
M llvm/test/CodeGen/X86/selectiondag-order.ll
A llvm/test/Transforms/CodeGenPrepare/X86/cast-debuginfo-salvage.ll
Log Message:
-----------
[Verifier][CGP] Allow integer argument to dbg_declare (#134803)
Relaxes the newly added verifier rule to also allow an integer argument
to dbg_declare, which is interpreted as a pointer. Adjust CGP to deal with
it gracefully.
Fixes https://github.com/llvm/llvm-project/issues/134523.
Alternative to https://github.com/llvm/llvm-project/pull/134601.
Commit: 64b5e8f2b732defc35831d5765175647d763264d
https://github.com/llvm/llvm-project/commit/64b5e8f2b732defc35831d5765175647d763264d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - clean up check prefixes
Share X86/X64 common prefixes as much as possible to reduce duplication
Commit: d02a704ec952f01ab258e8c4cbb3c01c8f768e15
https://github.com/llvm/llvm-project/commit/d02a704ec952f01ab258e8c4cbb3c01c8f768e15
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getExtractWithExtendCost.ll
Log Message:
-----------
[SLP][REVEC] Make getExtractWithExtendCost support FixedVectorType as Dst. (#134822)
Commit: c7745b0babb0151d9fe9cdc4fc180b0b53821e98
https://github.com/llvm/llvm-project/commit/c7745b0babb0151d9fe9cdc4fc180b0b53821e98
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-st1.ll
Log Message:
-----------
[AArch64][test] Regenerate arm64-st1.ll using update_llc_test_checks.py (NFC) (#134919)
This is a fairly large test file which can be annoying to manually
update. Using --filter-out gets pretty close to the original checks.
Commit: dcb2ae126de1ce64a9164a3e63f328ae1859ea46
https://github.com/llvm/llvm-project/commit/dcb2ae126de1ce64a9164a3e63f328ae1859ea46
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
A llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
Log Message:
-----------
[gn] port e10f67a8270c774
Commit: 6d98d45c9c1867d4006f93e04bc1380b36e34f18
https://github.com/llvm/llvm-project/commit/6d98d45c9c1867d4006f93e04bc1380b36e34f18
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
Log Message:
-----------
reland [clang-doc][NFC] refactor out file helpers (#135164)
Split from https://github.com/llvm/llvm-project/pull/133161
refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc
This patch fixes the error where compiling with
-DLLVM_LINK_LLVM_DYLIB=ON broke the buildbot
Commit: 71f629fc2a93e41577c09bdd782b2ba524ed5fea
https://github.com/llvm/llvm-project/commit/71f629fc2a93e41577c09bdd782b2ba524ed5fea
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
Log Message:
-----------
Initialize member variable; NFC (#135167)
This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.
This adds an in-class initializer for `BR` and some asserts, to be safe.
Commit: 5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
https://github.com/llvm/llvm-project/commit/5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaInit.cpp
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenObjC/property-array-type.m
M clang/www/c_status.html
Log Message:
-----------
[C11] Implement WG14 N1285 (temporary lifetimes) (#133472)
This feature largely models the same behavior as in C++11. It is
technically a breaking change between C99 and C11, so the paper is not
being backported to older language modes.
One difference between C++ and C is that things which are rvalues in C
are often lvalues in C++ (such as the result of a ternary operator or a
comma operator).
Fixes #96486
Commit: 6defc8ee66caef0191015a6943f1694ee7410459
https://github.com/llvm/llvm-project/commit/6defc8ee66caef0191015a6943f1694ee7410459
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
Log Message:
-----------
Initialize member variable; NFC
This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.
This adds an in-class initializer for `BR` and some asserts, to be safe.
Commit: 9ff27d5fc2d57a676a0d0a47684409c640f38c7f
https://github.com/llvm/llvm-project/commit/9ff27d5fc2d57a676a0d0a47684409c640f38c7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/avgfloors-scalar.ll
M llvm/test/CodeGen/X86/avgflooru-scalar.ll
Log Message:
-----------
[X86] add additional avgfloor 'add(shift(x,1),shift(y,1),and(x,y,1))' patterns
Add mixture of pattern combos to match against the SDPatternMatch::m_Reassociatable* matchers
Commit: 5a1b4ec6f4b773f191e98183ae4628785729daa1
https://github.com/llvm/llvm-project/commit/5a1b4ec6f4b773f191e98183ae4628785729daa1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/C/C11/n1285_1.c
Log Message:
-----------
Fix broken bots
https://lab.llvm.org/buildbot/#/builders/190/builds/18038
This adds a triple and regenerates the test results.
Commit: ed858220276dd11f6c2d7a5d3e357c211f9c6190
https://github.com/llvm/llvm-project/commit/ed858220276dd11f6c2d7a5d3e357c211f9c6190
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
[clang-format] Handle C++ keywords in other languages better (#132941)
There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords. Right now, the kind
is set to identifier, and the identifier info is cleared. The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures. But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting. However,
there are places where the code checks whether the identifier info field
is null or not. They are places where an identifier and a keyword are
treated the same way. For example, the name of a function in
JavaScript. This patch removes the lines that clear the identifier
info. This way, a C++ keyword gets treated in the same way as an
identifier in those places.
JavaScript
New
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Old
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Java
New
```Java
enum union { ABC, CDE }
```
Old
```Java
enum
union { ABC, CDE }
```
This reverts commit 97dcbdef6089175c45e14fcbcf5c88b10233a79a.
Commit: f7617f7f909102080f1a0cee46f8ca75ec8d14ff
https://github.com/llvm/llvm-project/commit/f7617f7f909102080f1a0cee46f8ca75ec8d14ff
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Recognize TableGen paste operator on separate line (#133722)
Formatting this piece of code made the program crash.
```
class TypedVecListRegOperand<RegisterClass Reg, int lanes, string eltsize>
: RegisterOperand<Reg, "printTypedVectorList<" # lanes # ", '"
# eltsize # "'>">;
```
The line starting with the `#` was treated as a separate preprocessor
directive line. Then the code dereferenced a null pointer when it tried
to continue parsing the first line that did not end in a semicolon.
Now the 2 problems are fixed.
Commit: 2b3aa56fd742775c5b05c3053778832aa76c0feb
https://github.com/llvm/llvm-project/commit/2b3aa56fd742775c5b05c3053778832aa76c0feb
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[MS][clang] Error about ambiguous operator delete[] only when required (#135041)
And issue was reported in
https://github.com/llvm/llvm-project/pull/133950#issuecomment-2787510484
. Since we don't always emit vector deleting dtors, only error out about
ambiguous operator delete[] when it will be required for vector deleting
dtor emission.
Commit: 4244a91be268111dd133fa4863504c4840e5361c
https://github.com/llvm/llvm-project/commit/4244a91be268111dd133fa4863504c4840e5361c
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIRV][NFC] Refactor pointer creation in GlobalRegistery (#134429)
This PR adds new interfaces to create pointer type, and adds
some requirements to the old interfaces. This is the first step in
https://github.com/llvm/llvm-project/issues/134119.
Commit: b0428870dae980af84e50dfa3ee6ed2165998678
https://github.com/llvm/llvm-project/commit/b0428870dae980af84e50dfa3ee6ed2165998678
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Rename TH_STORE_RT_WB to TH_STORE_WB (#135171)
So it matches the documentation
Fixes: SWDEV-526726
Commit: 5978bb2936d9a71d8e6891c640a36be760b569d3
https://github.com/llvm/llvm-project/commit/5978bb2936d9a71d8e6891c640a36be760b569d3
Author: u4f3 <ricoafoat at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Transforms/DeadArgElim/musttail-caller.ll
A llvm/test/Transforms/DeadArgElim/musttail-verifier.ll
Log Message:
-----------
[DeadArgElim] fix verifier failure when changing musttail's function signature (#127366)
This commit is for #107569 and #126817.
Stop changing musttail's caller and callee's function signature when
calling convention is not swifttailcc nor tailcc. Verifier makes sure
musttail's caller and callee shares exactly the same signature, see
commit 9ff2eb1 and #54964.
Otherwise just make sure the return type is the same and then process
musttail like usual calls.
close #107569, #126817
Commit: f989db5745b88cd72f2af7f67ff96071f5059922
https://github.com/llvm/llvm-project/commit/f989db5745b88cd72f2af7f67ff96071f5059922
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[NFC] Use cast instead of dyn_cast for Src and Dst vec types in VecCombine folding (#134432)
SrcVecTy and DstVecTy are used without a null check, and originate from
a dyn_cast. This patch adjusts this to use a fixed cast, since it is not
checked for null before use otherwise, but is semantically guaranteed
from previous checks.
Commit: 15428e0d786939a5c7629a9978947c8a9112ce96
https://github.com/llvm/llvm-project/commit/15428e0d786939a5c7629a9978947c8a9112ce96
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.waitcnt.out.order.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-sample-out-order.mir
Log Message:
-----------
[AMDGPU] Add support for point sample accel out of order returns (#127991)
Add target feature for point sample acceleration and enable it for
relevant
targets.
Also add support to insert waitcnts where required when point sample
accel may
have occurred. This has implications for out of order returns, which is
why
extra waitcnts are required.
Add a VMEM_NOSAMPLER bit in the register masks to determine when
waitcnt is required.
Commit: 4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
https://github.com/llvm/llvm-project/commit/4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/tapi-rpath.s
Log Message:
-----------
[lld] load rpaths from tbd files (#134925)
TBD files can contain rpaths, add support for setting them in DylibFile
during construction.
Commit: 85614e160ba569d719452ec80b842a0edc5ab930
https://github.com/llvm/llvm-project/commit/85614e160ba569d719452ec80b842a0edc5ab930
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
A 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/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/IR/call.cir
Log Message:
-----------
[CIR] Upstream initial function call support (#134673)
This patch upstreams initial support for making function calls in CIR.
Function arguments and return values are not included to keep the patch
small for review.
Related to #132487
Commit: a693f23ef2fc4022383d986a365da325f3d42ade
https://github.com/llvm/llvm-project/commit/a693f23ef2fc4022383d986a365da325f3d42ade
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-load-compress.ll
Log Message:
-----------
[SLP][REVEC] Fix CompressVectorize does not expand mask when REVEC is enabled. (#135174)
Commit: 8820f4e52b1b4ae59603b9307ded4ffc0f27c112
https://github.com/llvm/llvm-project/commit/8820f4e52b1b4ae59603b9307ded4ffc0f27c112
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vsetcc_fp.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Regenerate CHECK lines for arm64-vsetcc_fp.ll and fp16-v4-instructions.ll.
Commit: 2bbe8e825e53f3878c344adc7b5440c1040b097e
https://github.com/llvm/llvm-project/commit/2bbe8e825e53f3878c344adc7b5440c1040b097e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Add more level_check tests for tensor_dim and tensor_size (#135062)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: b17bd73e620b0040b04e368ebe4d963add4bbaf1
https://github.com/llvm/llvm-project/commit/b17bd73e620b0040b04e368ebe4d963add4bbaf1
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add more negative tests for rank0 tensors, negate, and sub (#135061)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 396e2ef3b7f43d59074738699b7c748a30e30376
https://github.com/llvm/llvm-project/commit/396e2ef3b7f43d59074738699b7c748a30e30376
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect identity match for less-defined splat
Commit: 3097ab0fe88809ca0cba754079766a56ec111df1
https://github.com/llvm/llvm-project/commit/3097ab0fe88809ca0cba754079766a56ec111df1
Author: Thomas BIZET <thomas.bizet at foss.st.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
A llvm/test/MC/ARM/directive-arch-armv8.1-m.s
A llvm/test/MC/ARM/directive-arch-armv8.1m.s
Log Message:
-----------
[ARM][MC] Add support for Armv8.1-M Mainline to '.arch' asm directive (#135184)
Armv8.1-M Mainline architecture is supported by Clang's driver & LLVM's
ARM backend, but MC would report an 'Unknown Arch: armv8.1-m.main' error
when processing '.arch armv8.1-m.main' assembler directives.
Commit: 378ac572accc6d14ed36136f261951f8607a9169
https://github.com/llvm/llvm-project/commit/378ac572accc6d14ed36136f261951f8607a9169
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
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/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
M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
A llvm/test/CodeGen/PowerPC/poison-legalization.ll
A llvm/test/CodeGen/RISCV/poison-legalization.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
Reland "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135056)
A new ISD::POISON SDNode is introduced to represent the poison value in
the IR, replacing the previous use of ISD::UNDEF
Commit: 959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
https://github.com/llvm/llvm-project/commit/959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
Author: Alan Li <me at alanli.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[MLIR][NFC] Expose `computeProduct` function. (#135192)
Make it non-static, as its functionality is quite generic.
Commit: 4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
https://github.com/llvm/llvm-project/commit/4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
Log Message:
-----------
[SLP]Fix detection of matching splat vector
Need to check, that the mask of the potentially matching splat node is
not less defined than the requested mask to avoid poison propagation and
incorrect code.
Fixes #135113
Commit: 83f831d46f46e9f68bec9b7a6592f678c8ba61ab
https://github.com/llvm/llvm-project/commit/83f831d46f46e9f68bec9b7a6592f678c8ba61ab
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Fix-forward -Wcovered-switch-default error in #134429
Remove the default case to avoid buildbot error (https://lab.llvm.org/buildbot/#/builders/66/builds/12382/steps/8/logs/stdio):
```
/home/b/sanitizer-x86_64-linux/build/llvm-project/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:85:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
85 | default:
| ^
```
(also https://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations)
Commit: 01a2922f0d35ac7e2062426b5e5dc5349485796a
https://github.com/llvm/llvm-project/commit/01a2922f0d35ac7e2062426b5e5dc5349485796a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
R libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++][doc] Removes LLVM 19 Release Notes. (#134894)
There will be no more LLVM-19 releases so we will not backport patches
for this release. This makes these Release Notes obsolete.
Commit: aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
https://github.com/llvm/llvm-project/commit/aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
Log Message:
-----------
[SLP]Support vectorization of previously vectorized scalars in split nodes
Patch removes the restriction for the revectorization of the previously
vectorized scalars in split nodes, and moves the cost profitability
check to avoid regressions.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134286
Commit: edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
https://github.com/llvm/llvm-project/commit/edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
A llvm/test/CodeGen/AArch64/bti-linkage.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Log Message:
-----------
[AArch64][v8.5A] Omit BTI for non-addr-taken static fns in ELF (#135043)
This follows up commit 7af2b51e761f499, which removed the BTI at the
start of functions with internal linkage (provided they weren't
indirectly called inside the translation unit) for Linux targets.
Now we leave out the BTI for any ELF target, including bare-metal,
because the AAELF64 document in the Arm ABI has been updated to make the
same guarantee as SYSVABI64: if the linker wants to insert an indirect
branch at link time (e.g. as part of a long branch thunk) it's
responsible for making a BTI-equipped landing pad.
That was too difficult to test in the existing codegen test
`patchable-function-entry-bti.ll`, because so much of LLVM's detailed
asm output changes for non-ELF targets. So I've simplified that back to
how it was before 7af2b51e761f499 (except that now it expects no BTI in
the disputed function), and made a new test checking specifically the
difference in BTI between the formats.
Commit: 3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
https://github.com/llvm/llvm-project/commit/3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: 0563569978fee1e780a560494c89869074933f58
https://github.com/llvm/llvm-project/commit/0563569978fee1e780a560494c89869074933f58
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)
PHI operands and results must belong to the same register class.
If a PHI node produces an SGPR, but one of its operands is a VGPR, we
insert a VGPR-to-SGPR copy in the operand’s source block. The PHI
operand is then updated to use the destination register of the inserted
copy.
These inserted copies are processed immediately when they are created.
Therefore, we should avoid reprocessing them when handling their parent
block later.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: f2ff298867d7733122e32eead5a8c524b09dfdb1
https://github.com/llvm/llvm-project/commit/f2ff298867d7733122e32eead5a8c524b09dfdb1
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
Log Message:
-----------
[MC] Remove deprecated createAsmStreamer/createMCObjectStreamer with 3 trailing bool
They were deprecated around 867faeec054abb4c035673189c1169fef45f54c8
(June 2024)
Commit: 2f41fa387d6734c637d02cbcf985c7b312b1e23b
https://github.com/llvm/llvm-project/commit/2f41fa387d6734c637d02cbcf985c7b312b1e23b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Mapping.cpp
A offload/test/api/amdgpu_code_object.c
Log Message:
-----------
[AMDGPU] Fix code object version not being set to 'none' (#135036)
Summary:
Previously, we removed the special handling for the code object version
global. I erroneously thought that this meant we cold get rid of this
weird `-Xclang` option. However, this also emits an LLVM IR module flag,
which will then cause linking issues.
Commit: 750d009bb22015be4b8b6278fb24dbda90c7b485
https://github.com/llvm/llvm-project/commit/750d009bb22015be4b8b6278fb24dbda90c7b485
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for BITCAST nodes (#133913)
These nodes are effectively free, so we should only concatenate if the
inner nodes will concatenate together.
This also exposed a regression in canonicalizeShuffleWithOp that failed
to realize it could potentially merge shuffles with a CONCAT_VECTORS
node.
Commit: 18fe0124e7abbaba64db5793503cc86cb52965d8
https://github.com/llvm/llvm-project/commit/18fe0124e7abbaba64db5793503cc86cb52965d8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/connection.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/unit.cpp
M flang/include/flang/Common/uint128.h
Log Message:
-----------
[flang][runtime] Formatted input optimizations (#134715)
Make some minor tweaks (inlining, caching) to the formatting input path
to improve integer input in a SPEC code. (None of the I/O library has
been tuned yet for performance, and there are some easy optimizations
for common cases.) Input integer values are now calculated with native
C/C++ 128-bit integers.
A benchmark that only reads about 5M lines of three integer values each
speeds up from over 8 seconds to under 3 in my environment with these
changeds.
If this works out, the code here can be used to optimize the formatted
input paths for real and character data, too.
Fixes https://github.com/llvm/llvm-project/issues/134026.
Commit: cf8c02f71d43b93241eb5d8262a829047afcbfb7
https://github.com/llvm/llvm-project/commit/cf8c02f71d43b93241eb5d8262a829047afcbfb7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
A flang/test/Preprocessing/bug134986.F90
Log Message:
-----------
[flang] Don't insert spaces in -E output after line continuation (#135063)
See test case. When Fortran line continuation has been used, don't
insert spaces in -E formatted output to put things into the right
column, as this can break up a token.
Fixes https://github.com/llvm/llvm-project/issues/134986.
Commit: 61a72890774354aeed188d45aa161ff6bbddc581
https://github.com/llvm/llvm-project/commit/61a72890774354aeed188d45aa161ff6bbddc581
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/Bitcode/calling-conventions.3.2.ll
Log Message:
-----------
[NFC] Remove trailing whitespaces in `llvm/test/Bitcode/calling-conventions.3.2.ll`
Commit: 464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
https://github.com/llvm/llvm-project/commit/464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
Revert "[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)"
This reverts commit 0563569978fee1e780a560494c89869074933f58.
Breaks tests, see comments on https://github.com/llvm/llvm-project/pull/134153
Commit: 3954d258a5d20c418718bb2f655665e02e6a7475
https://github.com/llvm/llvm-project/commit/3954d258a5d20c418718bb2f655665e02e6a7475
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang] Improved canonicalization for template specialization types (#135119)
This changes the TemplateArgument representation to hold a flag
indicating whether a template argument of expression type is supposed to
be canonical or not.
This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292
This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now. Without this
uniquing, this patch stands neutral in terms of performance impact.
This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.
This fixes some places which were unnecessarily canonicalizing these
TSTs.
Commit: 39562de51007e9d6a2ce444475a7b78fba9fafcb
https://github.com/llvm/llvm-project/commit/39562de51007e9d6a2ce444475a7b78fba9fafcb
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstSimplify/shr-nop.ll
Log Message:
-----------
[ValueTracking] Handle assume(trunc x to i1) in ComputeKnownBits (#118406)
proof: https://alive2.llvm.org/ce/z/zAspzb
Commit: a4e6a771a68660de312aeaaceed0c7d41a680912
https://github.com/llvm/llvm-project/commit/a4e6a771a68660de312aeaaceed0c7d41a680912
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
Log Message:
-----------
libcxx: In gdb test detect execute_mi with feature check instead of version check.
The existing version check can lead to test failures on some distribution
packages of gdb where not all components of the version number are
integers, such as Fedora where gdb.VERSION can be something like
"15.2-4.fc41". Fix it by replacing the version check with a feature check.
Reviewers: philnik777
Reviewed By: philnik777
Pull Request: https://github.com/llvm/llvm-project/pull/132291
Commit: f53eb88d2589590960b56a3cc54c5da97cc41842
https://github.com/llvm/llvm-project/commit/f53eb88d2589590960b56a3cc54c5da97cc41842
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
ELF: Remove lock from MTE global relocation handling code.
This lock is unnecessary because we can add the relocations to
shards and let them be sorted later.
Reviewers: smithp35, fmayer, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/135123
Commit: cd56666d7b6fa0b3214c226b2ae8a473537a009e
https://github.com/llvm/llvm-project/commit/cd56666d7b6fa0b3214c226b2ae8a473537a009e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang][runtime] Fix CUDA flang-rt build breakage (#135220)
I used "std::nullopt" instead of the correct "Fortran::common::nullopt"
in a recent patch, and you can get away with that only for CPU builds.
Fix.
Commit: 2927050dd4f9df5ec85c6ecb0ac1450a8695b242
https://github.com/llvm/llvm-project/commit/2927050dd4f9df5ec85c6ecb0ac1450a8695b242
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: refine class names and debug output (NFC) (#135073)
Scanning functions without CFG information as well as the detection of
authentication oracles requires introducing more classes related to
register state analysis. To make the future code easier to understand,
rename several classes beforehand.
To detect authentication oracles, one has to query the properties of
*output* operands of authentication instructions *after* the instruction
is executed - this requires adding another analysis that iterates over
the instructions in reverse order, and a corresponding state class.
As the main difference of the existing `State` class is that it stores
the properties of source register operands of the instructions before
the instruction's execution, rename it to `SrcState` and
`PacRetAnalysis` to `SrcSafetyAnalysis`.
Apply minor adjustments to the debug output along the way.
Commit: 9102ccd2f7025dff6b858b813d089bec152365ba
https://github.com/llvm/llvm-project/commit/9102ccd2f7025dff6b858b813d089bec152365ba
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[CXX Safe Buffer] Update the documentation for unsafe_buffer_usage attribute (#135087)
Update the documentation for the unsafe_buffer_usage attribute to
capture the new behavior introduced by
https://github.com/llvm/llvm-project/pull/125671
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 6493345c5ab96f60ab5ee38272fb6635f2083318
https://github.com/llvm/llvm-project/commit/6493345c5ab96f60ab5ee38272fb6635f2083318
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
Log Message:
-----------
[lldb] Handle signals in a separate thread in the driver (#134956)
Handle signals in a separate thread in the driver so that we can stop
worrying about signal safety of functions in libLLDB that may get called
from a signal handler.
Commit: 6ca9a30c26641ac5f836cf794bed01ff61972f37
https://github.com/llvm/llvm-project/commit/6ca9a30c26641ac5f836cf794bed01ff61972f37
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Update stream operand type for cuf.kernel_launch op (#135222)
Commit: 337a4d5526618c7c16f20967f7bd10d1cf27c6c4
https://github.com/llvm/llvm-project/commit/337a4d5526618c7c16f20967f7bd10d1cf27c6c4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bswap.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
[NVPTX] Use sink registers instead of temp registers where possible. (#134957)
PTX 7.1 introduces the concept of a "sink" register, `_`, which is a
register to which writes are ignored.
This patch makes us use sink registers where possible, instead of using
explicit temp registers.
This results in cleaner assembly, and also works around a problem we
encountered in some private workloads.
(Unfortunately the tablegen is not particularly clean. But then again,
it's tablegen...)
Commit: 755016a3a82eb1850d88b47d636088fb76e5f091
https://github.com/llvm/llvm-project/commit/755016a3a82eb1850d88b47d636088fb76e5f091
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Runtime/complex.h
Log Message:
-----------
[flang-rt] Fixed warnings and miscompilations in CUDA build. (#134470)
* DescribeIEEESignaledExceptions() is unused on the device - warning.
* StopStatementText() could return while marked noreturn - warning.
* Including cuda/std/complex only in the device compilation
may cause nvcc to try to register variables in `cuda` namespace,
while they are not defined in the host compilation - error.
I decided to include cuda/std/complex always under RT_USE_LIBCUDACXX.
Commit: 589e1c73d0fa2692cf997a7a9c2286996ad2fec7
https://github.com/llvm/llvm-project/commit/589e1c73d0fa2692cf997a7a9c2286996ad2fec7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
Log Message:
-----------
[HLSL] Add support for modulo of floating point scalar and vectors (#135125)
fixes #135122
SemaExpr.cpp - Make all doubles fail. Add sema support for float scalars
and vectors when language mode is HLSL.
CGExprScalar.cpp - Allow emit frem when language mode is HLSL.
Commit: 8bea91f677be4a05b1256a8052ab84dcd7ccb050
https://github.com/llvm/llvm-project/commit/8bea91f677be4a05b1256a8052ab84dcd7ccb050
Author: Leonard Grey <lgrey at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputFiles.h
A lld/test/MachO/archive-no-index.ll
A lld/test/MachO/archive-no-index.s
R lld/test/MachO/invalid/archive-no-index.s
Log Message:
-----------
[lld-macho] Support archives without index (#132942)
This is a ~port of https://reviews.llvm.org/D117284. Like in that
change, archives without indices are treated as a collection of lazy
object files (as in `--start-lib/--end-lib`)
Porting the ELF follow-up to convert *all* archives to the lazy object
code path (https://reviews.llvm.org/D119074) is a natural next step, but
we would need to ensure the assertions about memory use hold for Mach-O.
NB: without an index, we can't do the part of the `-ObjC` scan where we
check for Objective-C symbols directly. We *can* still check for
`__obcj` sections so I wonder how much of a problem this actually is,
since I'm not sure how the "symbols but no sections" case can appear in
the wild.
Commit: c893f1d18da6547027648f44592f61c08570d80f
https://github.com/llvm/llvm-project/commit/c893f1d18da6547027648f44592f61c08570d80f
Author: Tim Clephas <tim.clephas at nobleo.nl>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/lib/Format/Format.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
Treat ipynb as json (#135137)
Fixes #110727
Commit: 22c3dac454954a83efbfe147dd8d3dff6df39143
https://github.com/llvm/llvm-project/commit/22c3dac454954a83efbfe147dd8d3dff6df39143
Author: Pranav Kant <prka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix for #134956 (#135233)
Commit: ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
https://github.com/llvm/llvm-project/commit/ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Rename int_div to intdiv (#135080)
This patch renames Tosa Operator int_div to intdiv to align with 1.0
spec
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: ca5346313782f53658ed383e802f6e45aaeacd42
https://github.com/llvm/llvm-project/commit/ca5346313782f53658ed383e802f6e45aaeacd42
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Propagate stream information to gpu.launch_func op (#135227)
Use the information from `cuf.kernel_launch` to `gpu.launch_func`
Commit: 9c31155ead6e68450b8c2de38f5bec8f5c5db810
https://github.com/llvm/llvm-project/commit/9c31155ead6e68450b8c2de38f5bec8f5c5db810
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
TableGen: Optimize super-register class computation (#134865)
Inferring super-register classes naively requires checking every
register class against every other register class and sub-register
index.
Each of those checks is itself a non-trivial operation on register sets.
Culling as many (RC, RC, SubIdx) triples as possible is important for
the running time of TableGen for architectures with complex sub-register
relations.
Use transitivity to cull many (RC, RC, SubIdx) triples. This
unfortunately requires us to complete the transitive closure of
super-register classes explicitly, but it still cuts down the running
time on AMDGPU substantially -- in some upcoming work in the
backend by more than half (in very rough measurements).
This changes the names of some of the inferred register classes, since
the order in which they are inferred changes. The names of the inferred
register classes become shorter, which reduces the size of the generated
files.
Replacing some uses of SmallPtrSet by DenseSet shaves off a few more
percent; there are hundreds of register classes in AMDGPU.
Tweaking the topological signature check to skip reigsters without
super-registers further helps skip register classes that have "pseudo"
registers in them whose sub- and super-register structure is trivial.
Commit: d07a2164e7c7812b96b0f04a39af5483660bac71
https://github.com/llvm/llvm-project/commit/d07a2164e7c7812b96b0f04a39af5483660bac71
Author: Drew Lewis <cannada at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
Log Message:
-----------
Add generic sqrt root headers to libc sqrt specializations (#135237)
This header is needed to provide the declaration for the sqrt template.
You can build without these in the CMake build, but not having this
include in the architecture specific headers makes them not self
contained.
Commit: d7cb24e10d7c5468b91fa7297a1f4c97a663618a
https://github.com/llvm/llvm-project/commit/d7cb24e10d7c5468b91fa7297a1f4c97a663618a
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[MLIR][NVVM] Run clang-tidy (#135006)
Commit: 72436b37bf4203ee43395c65cc179dc573f79251
https://github.com/llvm/llvm-project/commit/72436b37bf4203ee43395c65cc179dc573f79251
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/known-phi-br.ll
Log Message:
-----------
[InstCombine] add more test for #134712 (NFC)
Commit: dcb90780817461ba30ced78338b2270fd3307873
https://github.com/llvm/llvm-project/commit/dcb90780817461ba30ced78338b2270fd3307873
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Index/single-file-parse-include-macro.c
Log Message:
-----------
[clang][index] Skip over `#include UNDEF_IDENT` in single-file-parse mode (#135218)
In the 'single-file-parse' mode, seeing `#include UNDEFINED_IDENTIFIER`
should not be treated as an error. The identifier might be defined in a
header that we decided to skip, resulting in a nonsensical diagnostic
from the user point of view.
Commit: 74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
https://github.com/llvm/llvm-project/commit/74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/init.c
M clang/test/CIR/CodeGenOpenACC/shutdown.c
Log Message:
-----------
[OpenACC][CIR] Implement 'device_type' clause lowering for 'init'/'sh… (#135102)
…utdown'
This patch emits the lowering for 'device_type' on an 'init' or
'shutdown'. This one is fairly unique, as these directives have it as an
attribute, rather than as a component of the individual operands, like
the rest of the constructs.
So this patch implements the lowering as an attribute.
In order to do tis, a few refactorings had to happen: First, the
'emitOpenACCOp' functions needed to pick up th edirective kind/location
so that the NYI diagnostic could be reasonable.
Second, and most impactful, the `applyAttributes` function ends up
needing to encode some of the appertainment rules, thanks to the way the
OpenACC-MLIR operands get their attributes attached. Since they each use
a special function (rather than something that can be legalized at
runtime), the forms of 'setDefaultAttr' is only valid for some ops. SO
this patch uses some `if constexpr` and a small type-trait to help
legalize these.
Commit: a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
https://github.com/llvm/llvm-project/commit/a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
Author: Pranav Kant <prka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/Driver/openacc-no-cir.c
Log Message:
-----------
[clang] Make tests write to /dev/null if output is not needed (#135242)
We execute tests in read only environment which leads to test failure
when tests try to write to the current directory. Either they should
write to a temporary directory or not write if output is not needed.
Fallback from #134717
Commit: 53ae2bdceb124fa87ff4d2bcdc842e388e817fde
https://github.com/llvm/llvm-project/commit/53ae2bdceb124fa87ff4d2bcdc842e388e817fde
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir][NVVM] Remove commented out code (#135144)
This addresses a comment on #135051.
Commit: 9188288581f73a10bff9ee1500146dff7901e94c
https://github.com/llvm/llvm-project/commit/9188288581f73a10bff9ee1500146dff7901e94c
Author: darkbuck <michael.hliao at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/test/Target/LLVMIR/Import/data-layout.ll
Log Message:
-----------
[mlir][DataLayout] Keep consistent input/output order (#135185)
- Use 'MapVector' instead of 'DenseMap' to keep a consistent order when
importing/printing entries to prevent run-by-run differences.
Commit: 966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
https://github.com/llvm/llvm-project/commit/966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[NFC][HLSL] Refactor DXILResourceTest for upcoming PR (#134952)
Local changes were getting pretty large and complex so this is an NFC
refactor PR to simplify the upcoming changes
Commit: e762baffd9f115106f861a236c56093c85dfbc93
https://github.com/llvm/llvm-project/commit/e762baffd9f115106f861a236c56093c85dfbc93
Author: David Green <david.green at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Move SLId/SRId patterns into instruction definitions. NFC
The v1i64 patterns were next to the vector variants, not the SIMDScalar
instructions tht define them. In moving them closer they cal also be
incorporated into the definitions themselves. SIMDScalarRShiftDTied is
altered to remove the redundant i64 variants.
Commit: 61d04f1aac96f671a3975e04dac02d270b86ac4d
https://github.com/llvm/llvm-project/commit/61d04f1aac96f671a3975e04dac02d270b86ac4d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract preliminary checks from buildTree_rec, NFC
Moved check from buildTree_rec function to a separate
isLegalToVectorizeScalars function.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134132
Commit: ed4c3979085d1a7a5e32b5743aa9de1a22784161
https://github.com/llvm/llvm-project/commit/ed4c3979085d1a7a5e32b5743aa9de1a22784161
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/spirv-tests.yml
Log Message:
-----------
[Github] Bump workflows depending on CI container to ubuntu 24.04 (#133626)
This patch bumps workflows depending upon the Linux CI container to
ubuntu 24.04. The 22.04 container is no longer being built as it was
recently bumped to 24.04, so this patch moves all of these workflows
over to the new container to keep them updated and ensure they are using
an actually maintained version of the container image.
Commit: 18189430abbbc13b055d029683413e992a3eac2d
https://github.com/llvm/llvm-project/commit/18189430abbbc13b055d029683413e992a3eac2d
Author: tltao <tony.le.tao at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
A llvm/test/CodeGen/SystemZ/init-undef.mir
Log Message:
-----------
[SystemZ] Add check for INIT_UNDEF in getInstSizeInBytes (#134661)
Due to some optimization changes, INIT_UNDEF is making its way to
`getInstSizeInBytes` in `llvm/lib/Target/SystemZ/SystemZLongBranch.cpp`
but we do not have an exception there in the assert. Since INIT_UNDEF is
described as being similar to IMPLICIT_DEF and there is a check for
IMPLICIT_DEF, it seems logical to also add a check for INIT_UNDEF.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
https://github.com/llvm/llvm-project/commit/edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
Reapply [AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#135243)
LIT tests which were incorrectly merged are corrected.
Commit: a80a802d2f077257bcfee3aec67ea12dfc4e94da
https://github.com/llvm/llvm-project/commit/a80a802d2f077257bcfee3aec67ea12dfc4e94da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
IROutliner: Use ValueMapper to remap constants in a function (#134850)
Stop relying on the uselist of constants, which also required filtering
the uses that are in the correct function. I'm not sure why this pass is
doing its own cloning instead of building the value map while doing its
cloning.
Commit: 5aeeebc1f4919c67b35954865d0cb2190517688e
https://github.com/llvm/llvm-project/commit/5aeeebc1f4919c67b35954865d0cb2190517688e
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/undef-args.ll
Log Message:
-----------
[NFC] add a pre-commit test case for patch 122741 (#135247)
[NFC] add a pre-commit test case for patch [Eliminating li of 0 into arg
registers of unused
arguments](https://github.com/llvm/llvm-project/pull/122741)
The test case tests that extend poison are lower to undef and also test
there are redendunt instrution load 0 into argument registers for unused
arguments.
Commit: 641de84d3b3112b80683875af1fc01c45bc1afb3
https://github.com/llvm/llvm-project/commit/641de84d3b3112b80683875af1fc01c45bc1afb3
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/pow.ll
Log Message:
-----------
[DirectX] legalize powi (#135228)
fixes #135221
- have powi use the same legalization path as pow
- use CreateSIToFP to cast the int back to a float type
- add tests for powi
Commit: 49f8ccd1ebe5caf4185230014701e861c43cefca
https://github.com/llvm/llvm-project/commit/49f8ccd1ebe5caf4185230014701e861c43cefca
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Pass stream information to kernel launch functions (#135246)
Commit: 721af7e636c3dc9bbc5b13ef52331addc8242b50
https://github.com/llvm/llvm-project/commit/721af7e636c3dc9bbc5b13ef52331addc8242b50
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Add experimental 'poison_history_size' flag (#133175)
This adds an experimental flag that will keep track of where the manual memory poisoning (`__asan_poison_memory_region`) is called from, and print the stack trace if the poisoned region is accessed. (Absent this flag, ASan will tell you what code accessed a poisoned region, but not which code set the poison.)
This implementation performs best-effort record keeping using ring buffers, as suggested by Vitaly. The size of each ring buffer is set by the `poison_history_size` flag.
Commit: 36acaa0be5cf6273200d4cc4c35042c4bfc3861b
https://github.com/llvm/llvm-project/commit/36acaa0be5cf6273200d4cc4c35042c4bfc3861b
Author: Pengxuan Zheng <pzheng at quicinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
R llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir
Log Message:
-----------
Revert "[ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)"
This reverts commit e48916f615e0ad2b994b2b785d4fe1b8a98bc322.
Commit: db22909089dbc28d072e8cba6183f5a51f418bf0
https://github.com/llvm/llvm-project/commit/db22909089dbc28d072e8cba6183f5a51f418bf0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Upstream support for cir.get_global (#135095)
This adds basic support for referencing global variables from within
functions via the cir.get_global operation.
Commit: e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
https://github.com/llvm/llvm-project/commit/e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/MinGW/Driver.cpp
Log Message:
-----------
[LLD] [MinGW] Fall back to using default target if no -m flag given. (#134700)
On Cygwin at least, GCC is not passing any -m flag to the linker, so
fall back to the default target triple to determine if we need to apply
i386-specific behaviors.
Fixes #134558
Commit: 801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
https://github.com/llvm/llvm-project/commit/801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
Author: mojyack <66899529+mojyack at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix build on ppc64+musl (#120036)
In powerpc64-unknown-linux-musl, signal.h does not include asm/ptrace.h,
which causes "member access into incomplete type 'struct pt_regs'"
errors. Include the header explicitly to fix this.
Also in sanitizer_linux_libcdep.cpp, there is a usage of TlsPreTcbSize
which is not defined in such a platform. Guard the branch with macro.
Commit: 6a9e8fc50c87a01798b847e623139fc21249c2bb
https://github.com/llvm/llvm-project/commit/6a9e8fc50c87a01798b847e623139fc21249c2bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
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/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/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
Log Message:
-----------
[VPlan] Introduce VPInstructionWithType, use instead of VPScalarCast(NFC) (#129706)
There are some opcodes that currently require specialized recipes, due
to their result type not being implied by their operands, including
casts.
This leads to duplication from defining multiple full recipes.
This patch introduces a new VPInstructionWithType subclass that also
stores the result type. The general idea is to have opcodes needing to
specify a result type to use this general recipe. The current patch
replaces VPScalarCastRecipe with VInstructionWithType, a similar patch
for VPWidenCastRecipe will follow soon.
There are a few proposed opcodes that should also benefit, without the
need of workarounds:
* https://github.com/llvm/llvm-project/pull/129508
* https://github.com/llvm/llvm-project/pull/119284
PR: https://github.com/llvm/llvm-project/pull/129706
Commit: 01ee922b2abe905bc922bc809141cba2ad13157c
https://github.com/llvm/llvm-project/commit/01ee922b2abe905bc922bc809141cba2ad13157c
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Add coverage for missing vrgather.vi shuffle case
If we have a near identity shuffle with a single element repeated, we
manage to match this as a masked vrgather.vi for the two operand
forms, but not the single operand form. If the scalar being repeated
was a scalar just inserted into the vector, we're also missing a
chance to recognize a vmerge.vxm or vmerge.vim in both cases.
Commit: 5de3118c677943848c0897e3e30208d744337b2d
https://github.com/llvm/llvm-project/commit/5de3118c677943848c0897e3e30208d744337b2d
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit3.ll
Log Message:
-----------
[AMDGPU] Make the iterative schedulers selectable via amdgpu-sched-strategy (#135042)
Currently, the only way for users to try these schedulers is via
`-misched=` . However, this overrides the default scheduler for all
targets. This causes problems for various toolchains / drivers which
spawn jobs for both x86 and AMDGPU -- e.g. hipcc. On the other hand,
`amdgpu-sched-strategy` only changes the scheduler for AMDGPU target.
Commit: 26678454847e7b76ff8947c50c93d203de4a15a0
https://github.com/llvm/llvm-project/commit/26678454847e7b76ff8947c50c93d203de4a15a0
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/set-construct.cpp
Log Message:
-----------
[OpenACC] device_type on set should have only 1 architecture
Discussions with the OpenACC Standard folks and the dialect folks showed
that the ability to have 'set' have a 'device_type' with more than one
architecture was a mistake, and one that will be fixed in future
revisions of the standard. Since the dialect requires this anyway,
we'll implement this in advance of standardization.
Commit: 78921cd884c37ba18ded34b6d32a548c069d6a84
https://github.com/llvm/llvm-project/commit/78921cd884c37ba18ded34b6d32a548c069d6a84
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR] Upstream ArraySubscriptExpr for fixed size array (#134536)
This change adds ArraySubscriptExpr for fixed size ArrayType
Issue #130197
Commit: 324083b5fe13c2d1efa88b6bb81e440f950262e8
https://github.com/llvm/llvm-project/commit/324083b5fe13c2d1efa88b6bb81e440f950262e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.cpp
Log Message:
-----------
[asan] Fix-forward #133175 by avoiding designated initializers
My patch broke the Windows build:
C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DASAN_DYNAMIC=1 -DINTERCEPTION_DYNAMIC_CRT -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\build\stage1\include -IC:\b\slave\sanitizer-windows\llvm-project\llvm\include -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\.. /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Z7 /Oi /bigobj /permissive- -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /W4 /O2 /Ob2 -std:c++17 -MD /Oy- /GS- /Zc:threadSafeInit- /Z7 /wd4146 /wd4291 /wd4391 /wd4722 /wd4800 /Zl /GR- /experimental:external /external:W0 /external:anglebrackets /showIncludes /Foprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\asan_poisoning.cpp.obj /Fdprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\ /FS -c C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp
C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp(164): error C7555: use of designated initializers requires at least '/std:c++20'
[2/3] Building CXX object projects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic_version_script_dummy.x86_64.dir\dummy.cpp.obj
https://lab.llvm.org/buildbot/#/builders/107/builds/9712/steps/4/logs/stdio
Commit: 80267f81482486977b3bdecf3855fc6a3096f912
https://github.com/llvm/llvm-project/commit/80267f81482486977b3bdecf3855fc6a3096f912
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/Driver/systemz-march.c
M clang/test/Misc/target-invalid-cpu-note/systemz.c
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZProcessors.td
M llvm/lib/Target/SystemZ/SystemZSchedule.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
A llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
M llvm/lib/TargetParser/Host.cpp
M llvm/test/Analysis/CostModel/SystemZ/divrem-reg.ll
M llvm/test/Analysis/CostModel/SystemZ/i128-cmp-ext-conv.ll
M llvm/test/Analysis/CostModel/SystemZ/int-arith.ll
M llvm/test/CodeGen/SystemZ/args-12.ll
M llvm/test/CodeGen/SystemZ/args-13.ll
M llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
M llvm/test/CodeGen/SystemZ/int-abs-03.ll
M llvm/test/CodeGen/SystemZ/int-add-19.ll
M llvm/test/CodeGen/SystemZ/int-cmp-64.ll
M llvm/test/CodeGen/SystemZ/int-conv-15.ll
M llvm/test/CodeGen/SystemZ/int-div-08.ll
M llvm/test/CodeGen/SystemZ/int-max-02.ll
M llvm/test/CodeGen/SystemZ/int-min-02.ll
M llvm/test/CodeGen/SystemZ/int-mul-14.ll
M llvm/test/CodeGen/SystemZ/int-mul-15.ll
M llvm/test/CodeGen/SystemZ/int-mul-16.ll
M llvm/test/CodeGen/SystemZ/int-neg-04.ll
M llvm/test/CodeGen/SystemZ/int-sub-12.ll
M llvm/test/CodeGen/SystemZ/llxa-01.ll
M llvm/test/CodeGen/SystemZ/llxa-02.ll
M llvm/test/CodeGen/SystemZ/llxa-03.ll
M llvm/test/CodeGen/SystemZ/llxa-04.ll
M llvm/test/CodeGen/SystemZ/llxa-05.ll
M llvm/test/CodeGen/SystemZ/lxa-01.ll
M llvm/test/CodeGen/SystemZ/lxa-02.ll
M llvm/test/CodeGen/SystemZ/lxa-03.ll
M llvm/test/CodeGen/SystemZ/lxa-04.ll
M llvm/test/CodeGen/SystemZ/lxa-05.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
M llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
M llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
M llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
M llvm/test/CodeGen/SystemZ/vec-div-03.ll
M llvm/test/CodeGen/SystemZ/vec-eval.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
M llvm/test/CodeGen/SystemZ/vec-mul-06.ll
M llvm/test/CodeGen/SystemZ/vec-mul-08.ll
M llvm/test/CodeGen/SystemZ/vec-mul-10.ll
M llvm/test/CodeGen/SystemZ/vec-mul-12.ll
M llvm/test/CodeGen/SystemZ/vec-mul-14.ll
M llvm/test/CodeGen/SystemZ/vec-unpack-02.ll
M llvm/test/CodeGen/SystemZ/vec-unpack-04.ll
R llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
A llvm/test/MC/Disassembler/SystemZ/insns-z17.txt
R llvm/test/MC/SystemZ/insn-bad-arch15.s
A llvm/test/MC/SystemZ/insn-bad-z17.s
R llvm/test/MC/SystemZ/insn-good-arch15.s
A llvm/test/MC/SystemZ/insn-good-z17.s
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
Support z17 processor name and scheduler description (#135254)
The recently announced IBM z17 processor implements the architecture
already supported as "arch15" in LLVM. This patch adds support for "z17"
as an alternate architecture name for arch15.
This patch also add the scheduler description for the z17 processor,
provided by Jonas Paulsson.
Commit: c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
https://github.com/llvm/llvm-project/commit/c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Support adopt(cast(copy(~)) (#132316)
This PR adds the support for recognizing calling adoptCF/adoptNS on the
result of a cast operation on the return value of a function which
creates NS or CF types. It also fixes a bug that we weren't reporting
memory leaks when CF types are created without ever calling RetainPtr's
constructor, adoptCF, or adoptNS.
To do this, this PR adds a new mechanism to report a memory leak
whenever create or copy CF functions are invoked unless this CallExpr
has already been visited while validating a call to adoptCF. Also added
an early exit when isOwned returns IsOwnedResult::Skip due to an
unresolved template argument.
Commit: 6c51603e4cc4978194c99d64d26712f97d715ffc
https://github.com/llvm/llvm-project/commit/6c51603e4cc4978194c99d64d26712f97d715ffc
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Temporarily disable new test cases from #133175 on Android
My patch causes a build breakage on Android
(https://lab.llvm.org/buildbot/#/builders/186/builds/8103/steps/21/logs/stdio).
I can't easily test on Android, which is not the intended audience for
my patch anyway, so temporarily disable the test pending further
investigation.
Commit: 613601978073058f4a4620e93bb84ac8f387934a
https://github.com/llvm/llvm-project/commit/613601978073058f4a4620e93bb84ac8f387934a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
Log Message:
-----------
[alpha.webkit.ForwardDeclChecker] Recognize a forward declared template specialization (#134545)
This PR fixes a bug that when a template specialization is declared with
a forward declaration of a template, the checker fails to find its
definition in the same translation unit and erroneously emit an unsafe
forward declaration warning.
Commit: 2b984fd0e396fe6ab30cd823ea2f65f33f75409c
https://github.com/llvm/llvm-project/commit/2b984fd0e396fe6ab30cd823ea2f65f33f75409c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/DebuggerTest.cpp
Log Message:
-----------
[lldb] Support programmatically setting the statusline format (NFC) (#135250)
Support programmatically setting the statusline format. I want to use
this API downstream, to change the statusline format for the Swift REPL.
Commit: 1331f171846c4a5620c7a049d9b05d70c8d674a3
https://github.com/llvm/llvm-project/commit/1331f171846c4a5620c7a049d9b05d70c8d674a3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Replace getUnderlyingInstr() with type inference (NFC)
Remove an unnecessary use of getUnderlyingInstr().
Commit: 1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
https://github.com/llvm/llvm-project/commit/1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/test/Pass/full_diagnostics.mlir
A mlir/test/Pass/full_diagnostics_only_expected.mlir
A mlir/test/mlir-translate/verify-only-expected.mlir
Log Message:
-----------
[mlir] implement `-verify-diagnostics=only-expected` (#135131)
This PR implements `verify-diagnostics=only-expected` which is a "best
effort" verification - i.e., `unexpected`s and `near-misses` will not be
considered failures. The purpose is to enable narrowly scoped checking
of verification remarks (just as we have for lit where only a subset of
lines get `CHECK`ed).
Commit: b39ab7a620e1bd038d6c22a667110ad814596288
https://github.com/llvm/llvm-project/commit/b39ab7a620e1bd038d6c22a667110ad814596288
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks to clamp op verifier (#134224)
Specifically it introduces checks for:
- ERROR_IF(max_val < min_val)
- ERROR_IF(isNaN(min_val) || isNaN(max_val))
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 727f3921e7af7a4b0f1e59635ebb99a52bd173c3
https://github.com/llvm/llvm-project/commit/727f3921e7af7a4b0f1e59635ebb99a52bd173c3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGenHLSL/res-may-alias.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.6.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] Implement Shader Flags Analysis for ResMayNotAlias (#131070)
Fixes #112270
Completed ACs:
- `-res-may-alias` clang-dxc command-line option added
- It inserts and sets a module metadata flag `dx.resmayalias` to 1
- Shader flag set appropriately:
- The flag IS NOT set if DXIL Version <= 1.6 OR the command-line option
`-res-may-alias` is specified
- Otherwise the flag IS set when:
- DXIL Version > 1.7 AND function uses UAVs, OR
- DXIL Version <= 1.7 AND UAVs present globally
- Add tests
- Tests for Shader Models 6.6, 6.7, and 6.8 corresponding to DXIL
Versions 1.6, 1.7, and 1.8
- Tests (`res-may-alias-0.ll`/`res-may-alias-1.ll`) for when the module
metadata flag `dx.resmayalias` is set to 0 or 1 respectively
- A frontend test (`res-may-alias.hlsl`) for testing that that the
command-line option `-res-may-alias` inserts `dx.resmayalias` module
metadata correctly
Commit: 27bc8a1811d417c2d38646a3473226431987e7d9
https://github.com/llvm/llvm-project/commit/27bc8a1811d417c2d38646a3473226431987e7d9
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
R flang/include/flang/Optimizer/CodeGen/CGOps.h
R flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
R flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Split CG dialect and the passes. (#135240)
I am making a CG pass to depend on `FIROpenACCSupport` in #134346.
This introduces a cyclic dependency between `FIROpenACCSupport`
and `FIRCodeGen`. This patch splits `FIRCodeGen` into
`FIRCodeGenDialect` (for FIR CG dialect definition) and `FIRCodeGen`
(for the CG passes).
Now, `FIROpenACCSupport` depends on `FIRCodeGenDialect`,
and `FIRCodeGen` depends on `FIROpenACCSupport`.
Commit: a62b9b387fab85ae8ad63992b002c333069d87ae
https://github.com/llvm/llvm-project/commit/a62b9b387fab85ae8ad63992b002c333069d87ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Calling Debugger::SetStatuslineFormat should redraw the statusline
Commit: 2f298294759307e532dcce50549534cbe8ba6561
https://github.com/llvm/llvm-project/commit/2f298294759307e532dcce50549534cbe8ba6561
Author: Jason Rice <ricejasonf at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
Log Message:
-----------
[Clang][P1061] Fix invalid pack binding crash (#135129)
Commit: 1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
https://github.com/llvm/llvm-project/commit/1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/Modules/new-delete.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
Log Message:
-----------
[RFC] Initial implementation of P2719 (#113510)
This is a basic implementation of P2719: "Type-aware allocation and
deallocation functions" described at http://wg21.link/P2719
The proposal includes some more details but the basic change in
functionality is the addition of support for an additional implicit
parameter in operators `new` and `delete` to act as a type tag. Tag is
of type `std::type_identity<T>` where T is the concrete type being
allocated. So for example, a custom type specific allocator for `int`
say can be provided by the declaration of
void *operator new(std::type_identity<int>, size_t, std::align_val_t);
void operator delete(std::type_identity<int>, void*, size_t, std::align_val_t);
However this becomes more powerful by specifying templated declarations,
for example
template <typename T> void *operator new(std::type_identity<T>, size_t, std::align_val_t);
template <typename T> void operator delete(std::type_identity<T>, void*, size_t, std::align_val_t););
Where the operators being resolved will be the concrete type being
operated over (NB. A completely unconstrained global definition as above
is not recommended as it triggers many problems similar to a general
override of the global operators).
These type aware operators can be declared as either free functions or
in class, and can be specified with or without the other implicit
parameters, with overload resolution performed according to the existing
standard parameter prioritisation, only with type parameterised
operators having higher precedence than non-type aware operators. The
only exception is destroying_delete which for reasons discussed in the
paper we do not support type-aware variants by default.
Commit: 1d8966e2465364dca8aea71d9331d46a0e908265
https://github.com/llvm/llvm-project/commit/1d8966e2465364dca8aea71d9331d46a0e908265
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
[flang][cuda] Use the provided stream in kernel launch (#135267)
Commit: 9466cbdf29306b2595303dac5b62b54cf71841b4
https://github.com/llvm/llvm-project/commit/9466cbdf29306b2595303dac5b62b54cf71841b4
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/test/python/dialects/linalg/utils.py
Log Message:
-----------
[mlir][CAPI][python] expose the python bindings for linalg::isaConvolutionOpInterface and linalg::inferConvolutionDims (#135253)
This PR is mainly about exposing the python bindings for
`linalg::isaConvolutionOpInterface` and `linalg::inferConvolutionDims`.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: f4203ca2b7b047fc556535661f406e7fef758835
https://github.com/llvm/llvm-project/commit/f4203ca2b7b047fc556535661f406e7fef758835
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
Log Message:
-----------
[flang-rt] Declare DeviceTrap static inline. (#135286)
Commit: 77db154cf9383fa20685fca56633601ce0ea47fa
https://github.com/llvm/llvm-project/commit/77db154cf9383fa20685fca56633601ce0ea47fa
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/set.c
Log Message:
-----------
[OpenACC][CIR] implement basic 'set' lowering with device_type clause
The 'set' lowering is pretty trivial. 'device_type' is a little more
restricted since both the MLIR-Dialect and language limit it to only 1
value (as confirmed by standards-discussion).
This patch implements 'set', with 'device_type', since 'set' requires at
least 1 clause, and this is the least difficult to implement at the
moment.
Commit: d14acb78065bdd331019924feaaef52e5e744529
https://github.com/llvm/llvm-project/commit/d14acb78065bdd331019924feaaef52e5e744529
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/pr135182.ll
Log Message:
-----------
[IndVarSimplify] Handle the case where both operands are the same when widening IV (#135207)
`WidenIV::widenWithVariantUse` assumes that exactly one of the binop
operands is the IV to be widened. This miscompilation happens when it
tries to sign-extend the "NonIV" operand while the IV is zero-extended.
Closes https://github.com/llvm/llvm-project/issues/135182.
Commit: 1711996805c506f5717193aaeedf3752dfdd900d
https://github.com/llvm/llvm-project/commit/1711996805c506f5717193aaeedf3752dfdd900d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
Log Message:
-----------
[Clang][CodeGen] Do not set inbounds flag for struct GEP with null base pointers (#130734)
In the LLVM middle-end we want to fold `gep inbounds null, idx -> null`:
https://alive2.llvm.org/ce/z/5ZkPx-
This pattern is common in real-world programs
(https://github.com/dtcxzyw/llvm-opt-benchmark/pull/55#issuecomment-1870963906).
Generally, it exists in some (actually) unreachable blocks, which is
introduced by JumpThreading.
However, some old-style offsetof macros are still widely used in
real-world C/C++ code (e.g., hwloc/slurm/luajit). To avoid breaking
existing code and inconvenience to downstream users, this patch removes
the inbounds flag from the struct gep if the base pointer is null.
Commit: 701d726ef09ea89909df9bd2fdc63c63758fe8d6
https://github.com/llvm/llvm-project/commit/701d726ef09ea89909df9bd2fdc63c63758fe8d6
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/CodeGen/builtins-nvptx.c
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
A llvm/test/CodeGen/NVPTX/nvvm-reflect-options.ll
Log Message:
-----------
[NVPTX] Improve NVVMReflect Efficiency (#134416)
The NVVMReflect pass simply replaces calls to nvvm-reflect functions
with the appropriate constant, either the architecture number, or
nvvm-reflect-ftz, found in the module's metadata.
The implementation is inefficient and does this by traversing through
all instructions to find calls. The common case is that you never call
nvvm-reflect, so this traversal is costly.
This PR:
- Updates the pass so that it finds the reflect functions by name, and
then traverses through their uses to find the calls directly.
- Adds a line (245) to make sure the dead nvvm-reflect definitions are
erased.
- Adds the ability to set reflect values via command line
Commit: 9aff19e7a3ff22ad15dc52609c65c785d4621fca
https://github.com/llvm/llvm-project/commit/9aff19e7a3ff22ad15dc52609c65c785d4621fca
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
A flang/test/Lower/repack-arrays-safe.f90
A flang/test/Transforms/lower-repack-arrays-openacc.fir
A flang/test/Transforms/lower-repack-arrays-openmp.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
Log Message:
-----------
[flang] Defined SafeTempArrayCopyAttrInterface for array repacking. (#134346)
This patch defines `fir::SafeTempArrayCopyAttrInterface` and the
corresponding
OpenACC/OpenMP related attributes in FIR dialect. The actual
implementations
are just placeholders right now, and array repacking becomes a no-op
if `-fopenacc/-fopenmp` is used for the compilation.
Commit: 862e7190c9d4672d3adf1bbde95b556c8e2d7544
https://github.com/llvm/llvm-project/commit/862e7190c9d4672d3adf1bbde95b556c8e2d7544
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Reland "Replace bool operator== for VersionType in sanitizer_mac.h" (#135276)
Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].
This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator
Relands #135068
Co-authored-by: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Commit: 72540dbe01d143436be096b44deb89e625f350f7
https://github.com/llvm/llvm-project/commit/72540dbe01d143436be096b44deb89e625f350f7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format][NFC] Reformat git-clang-format
Commit: 8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
https://github.com/llvm/llvm-project/commit/8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[OpenMP][NFC] Do not collect kernels if they are not used (#135252)
Commit: b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
https://github.com/llvm/llvm-project/commit/b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/undef-args.ll
Log Message:
-----------
Add 'REQUIRES: asserts' to test undef-args.ll added in #135247 to skip test when asserts are not present.
Should fix bot failure: https://lab.llvm.org/buildbot/#/builders/202/builds/601
Commit: f40001372b54ce68507f36b600f798e832478e16
https://github.com/llvm/llvm-project/commit/f40001372b54ce68507f36b600f798e832478e16
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Lower a shuffle which is nearly identity except one replicated element (#135292)
This can be done with a vrgather.vi/vx, and (possibly) a register move.
The alternative is to do a vrgather.vv with a full width index vector.
We'd already caught the two operands forms of this shuffle; this patch
specifically handles the single operand form.
Unfortunately only in abstract, it would be nice if we canonicalized
shuffles in some way wouldn't it?
Commit: 04c38981a9ce3e6225669c0e41cab947e3e7989f
https://github.com/llvm/llvm-project/commit/04c38981a9ce3e6225669c0e41cab947e3e7989f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
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/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
Log Message:
-----------
[Clang][CodeGen] Do not set inbounds flag in `EmitMemberDataPointerAddress` when the base pointer is null (#130952)
See also https://github.com/llvm/llvm-project/pull/130734 for the
original motivation.
This pattern (`container_of`) is also widely used by real-world
programs.
Examples:
https://github.com/llvm/llvm-project/blob/1d89d7d5d76e391b035f50343e2a4890506c6f2b/llvm/include/llvm/IR/SymbolTableListTraits.h#L77-L87
https://github.com/nodejs/node/blob/a2a53cb728ec5f776ac16879ce0f480a8e838320/src/util-inl.h#L134-L137
https://github.com/search?q=*%29nullptr-%3E*&type=code
Commit: ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
https://github.com/llvm/llvm-project/commit/ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
Log Message:
-----------
[BOLT][NFC] Simplify getOrCreate/analyze/populate/emitJumpTable (#132108)
Commit: c04d9d57ee4c116ecc1222b1f4458a21be13ac15
https://github.com/llvm/llvm-project/commit/c04d9d57ee4c116ecc1222b1f4458a21be13ac15
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/lib/Passes/AsmDump.cpp
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/test/tools/llvm-mc/disassembler-options.test
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
MCAsmStreamer: Replace the MCInstPrinter * parameter with unique_ptr
... to clarify ownership, aligning with other parameters. Using
`std::unique_ptr` encourages users to manage `createMCInstPrinter` with
a unique_ptr instead of a raw pointer, reducing the risk of memory
leaks.
* llvm-mc: fix a leak and update llvm/test/tools/llvm-mc/disassembler-options.test
* #121078 copied the llvm-mc code to CodeGenTargetMachineImpl and made
the same mistake. Fixed by 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
Using unique_ptr requires #include MCInstPrinter.h in a few translation
units.
* Delete a createAsmStreamer overload I deprecated in 2024
* SystemZMCTargetDesc.cpp: rename to `createSystemZAsmStreamer` to fix
an overload conflict.
Pull Request: https://github.com/llvm/llvm-project/pull/135128
Commit: db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
https://github.com/llvm/llvm-project/commit/db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/Analysis/MemoryDependenceAnalysis/InvariantLoad.ll
M llvm/test/Analysis/ValueTracking/gep-negative-issue.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
Log Message:
-----------
[AMDGPU][InstCombine][InstSimplify] Pre-commit tests for PR130742 (#135305)
https://github.com/llvm/llvm-project/pull/130742#discussion_r1993055149
Commit: 3b70715c13876c51542ebfe2e3f4ee908f6785cb
https://github.com/llvm/llvm-project/commit/3b70715c13876c51542ebfe2e3f4ee908f6785cb
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
Log Message:
-----------
[libcxxabi] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#134976)
This avoids needing to hardcode the mapping between architectures and
their sizes of long doubles.
This fixes a case in test_demangle.pass.cpp, that previously failed like
this (XFAILed):
.---command stdout------------
| Testing 29859 symbols.
| _ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c should be invalid
but is not
| Got: 0, void test0::h<float>(char (&) [(unsigned int)(sizeof (float) +
0x0.07ff98f7ep-1022L)])
`-----------------------------
.---command stderr------------
| Assertion failed: !passed && "demangle did not fail", file
libcxxabi/test/test_demangle.pass.cpp, line 30338
`-----------------------------
This testcase is defined within
// Is long double fp80? (Only x87 extended double has 64-bit mantissa)
#define LDBL_FP80 (__LDBL_MANT_DIG__ == 64)
...
#if !LDBL_FP80
...
#endif
The case failed on x86 architectures with an unusual size for long
doubles, as the test expected the demangler to not be able to demangle
an 80 bit long double (based on the `__LDBL_MANT_DIG__ == 64` condition
in the test). However as the libcxxabi implementation was hardcoded to
demangle 80 bit long doubles on x86_64 regardless of the actual size,
this test failed (by unexpectedly being able to demangle it).
By configuring libcxxabi's demangling of long doubles to match what the
compiler specifies, we no longer hit the expected failures in the
test_demangle.pass.cpp test on Android on x86.
This makes libcxxabi require a GCC-compatible compiler that defines
nonstandard defines like `__LDBL_MANT_DIG__`, but I presume that's
already essentially required anyway.
Commit: eccd7aa88879570ca12629a63d08a1e27fac0463
https://github.com/llvm/llvm-project/commit/eccd7aa88879570ca12629a63d08a1e27fac0463
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
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/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilb-invalid.s
A llvm/test/MC/RISCV/xqcilb-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for Xqcilb long branch instructions (#135044)
This patch adds support for parsing symbols in the Xqcilb long branch
instructions. The instructions use the `R_RISCV_QC_E_JUMP_PLT`
relocation and the `InstFormatQC_EJ` instruction format.
Vendor relocation support will be added in a later patch.
Commit: 715ad67c80ccb443d54575e81a3208674ef5b5c2
https://github.com/llvm/llvm-project/commit/715ad67c80ccb443d54575e81a3208674ef5b5c2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.cpp
Log Message:
-----------
[clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (#130473)
Fixes https://github.com/llvm/llvm-project/issues/130468
Commit: 34fb673b0835c3b361eebacc7fd619dcea214063
https://github.com/llvm/llvm-project/commit/34fb673b0835c3b361eebacc7fd619dcea214063
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerStreamer.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCGOFFStreamer.h
M llvm/include/llvm/MC/MCSPIRVStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCNullStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
Log Message:
-----------
MCStreamer: Remove Mach-O specific functions from derived MCObjectStreamer
Commit: 0816c7a95d04f141e136812910f3183df3bcbe7c
https://github.com/llvm/llvm-project/commit/0816c7a95d04f141e136812910f3183df3bcbe7c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCParser: Remove unused enum constant
Commit: fa0498fdaed951dfb73a326a03fe3b00d544ea47
https://github.com/llvm/llvm-project/commit/fa0498fdaed951dfb73a326a03fe3b00d544ea47
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Apply default argument heuristic in resolveDeclRefExpr as well (#132576)
This is a follow-up to https://github.com/llvm/llvm-project/pull/131074.
After moving the default argument heuristic to `simplifyType` in that
patch, the heuristic no longer applied to the
`DependentScopeDeclRefExpr` case, because that wasn't using
`simplifyType`.
This patch fixes that, with an added testcase.
Commit: 9604bdf1180950c04f194584fdd2cca0f0668971
https://github.com/llvm/llvm-project/commit/9604bdf1180950c04f194584fdd2cca0f0668971
Author: offsetof <offsetof at mailo.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Allow parentheses around CTAD declarators (#132829)
Fixes #39811
Commit: c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
https://github.com/llvm/llvm-project/commit/c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
SPIRV: Suppress warnings in #134429
Commit: b3397bacfb85aa824e1257085500551d3026d49a
https://github.com/llvm/llvm-project/commit/b3397bacfb85aa824e1257085500551d3026d49a
Author: z <feqin1023 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[CodeGen][LLVM] Fix MachineOperand::print crash when TII is nullptr. (#135170)
This crash will caused if run this testcase:
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
When build the SDNode, precisely build the SDNode for this ir:
```ir
call void @llvm.amdgcn.ds.gws.barrier(i32 %val, i32 0)
```
If want call the dump function of the new SDNode in the gdb environment
like this:
```gdb
p N->dump()
```
The llvm will crash.
All of these is because calling ```dump()``` will cause the
calling```MachineMemOperand::print()```
with the argument value for the```TII``` is nullptr.
And the llvm/lib/CodeGen/MachineOperand.cpp#L1235 is a derefrence of
TII.
Signed-off-by: fanfuqiang <fuqiang.fan at mthreads.com>
Commit: 23c9cfcb7494b2331a80661a0cb83f95a422833c
https://github.com/llvm/llvm-project/commit/23c9cfcb7494b2331a80661a0cb83f95a422833c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Small refactor of eh_frame parsing (#134806)
.. which prepares us for handling of discontinuous functions. The main
change there is that we can have multiple FDEs contributing towards an
unwind plan of a single function. This patch separates the logic for
parsing of a single FDE from the construction of an UnwindPlan (so that
another patch can change the latter to combine several unwind plans).
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: aeb06c61523499bc88af1a24eb645be972b482d4
https://github.com/llvm/llvm-project/commit/aeb06c61523499bc88af1a24eb645be972b482d4
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Adding 'inline_hint' attribute on LLMV::CallOp (#134582)
Addition of `inlinehint` attributes for CallOps in MLIR in order to be
able to say to a function call that the inlining is desirable without
having the attribute on the FuncOp.
Commit: 0276915a6c888906b2140a3d97e5ce32057a3ca5
https://github.com/llvm/llvm-project/commit/0276915a6c888906b2140a3d97e5ce32057a3ca5
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
Log Message:
-----------
[clang-tidy] Fix `cert-err33-c` to ignore functions with same prefixes as target (#135160)
PR #82952 introduced regex matching for `CheckedFunctions` in
`UnusedReturnValueCheck` which is used by the checker `cert-err33-c`.
Add a testcase and fix false positives by adding end-of-string to target
regex's.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: fafeaab6d91334e9c251aa222cbca1eb94536bf2
https://github.com/llvm/llvm-project/commit/fafeaab6d91334e9c251aa222cbca1eb94536bf2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Misc TypeidPointer fixes (#135322)
Fix comparing type id pointers, add mor info when print()ing them, use
the most derived type in GetTypeidPtr() and the canonically unqualified
type when we know the type statically.
Commit: 8a351f1f2ed593b5e3ddf453d744b9d53908c616
https://github.com/llvm/llvm-project/commit/8a351f1f2ed593b5e3ddf453d744b9d53908c616
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-tls-ie.s
Log Message:
-----------
[lld][LoongArch] Support relaxation during IE to LE conversion (#123702)
Complement https://github.com/llvm/llvm-project/pull/123680. When
relaxation enable, remove redundant NOPs.
Commit: 476c1c5ec557af59afb7b9eff0198e2d84c83973
https://github.com/llvm/llvm-project/commit/476c1c5ec557af59afb7b9eff0198e2d84c83973
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
Log Message:
-----------
[SPIR-V] Don't emit OpLifetime for Vulkan (#135166)
Those instructions require the Kernel capability, which is not available
when targeting Vulkan.
Commit: 8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
https://github.com/llvm/llvm-project/commit/8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
Log Message:
-----------
[libcxxabi] Fix the long double demangling for PowerPC (#135332)
PowerPC uses a slightly different type of floats for their 128 bit long
doubles, as "double-double", with __LDBL_MANT_DIG__ == 106 rather than
__LDBL_MANT_DIG__ == 113 for IEEE 128 bit floats.
This fixes compiling libcxxabi for PowerPC after
3b70715c13876c51542ebfe2e3f4ee908f6785cb.
Commit: d77dc875118859066a4c81226bca7d307b225e09
https://github.com/llvm/llvm-project/commit/d77dc875118859066a4c81226bca7d307b225e09
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll
Log Message:
-----------
[SLP][REVEC] Fix type comparison and mask transformation for REVEC. (#135310)
When REVEC is enabled, ScalarTy may be a FixedVectorType. Compare its
element type to decide if casting is needed. Also apply mask
transformation accordingly.
Commit: 6d992f1db73ac8e27c87296411506d8bbdb9497e
https://github.com/llvm/llvm-project/commit/6d992f1db73ac8e27c87296411506d8bbdb9497e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM][Maintainers] Add llvm-cov / Coverage maintainer (#130590)
Commit: 2e02164566ee548838dbee95860b321fb54a8501
https://github.com/llvm/llvm-project/commit/2e02164566ee548838dbee95860b321fb54a8501
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getConstVector - remove raw bits -> fp handling and leave it to getNode/FoldConstantArithmetic (#135337)
getConstVector could only handle f32/f64 vector element types from raw APInt bit data - instead of trying to add all supported fp types, just bitcast the integer equivalent and leave it to getNode/FoldConstantArithmetic to perform the constant bitcast conversion
Tentative fix for a regression reported after #133913
Commit: b0b723a241e2f123527637e0564fd6956fb65521
https://github.com/llvm/llvm-project/commit/b0b723a241e2f123527637e0564fd6956fb65521
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV][NFC] Add pre-commit test
Commit: 1d3d3f404ed134697405078411b0bd690a68be0e
https://github.com/llvm/llvm-project/commit/1d3d3f404ed134697405078411b0bd690a68be0e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[DAG] SDPatternMatch::ReassociatableOpc_match - pull out repeated pattern count expression. NFC. (#135187)
Minor tidyup to remove so much template noise.
CC @esan5
Commit: 937cfdc7be56cb5cb46c098eecdb8e4f524add0d
https://github.com/llvm/llvm-project/commit/937cfdc7be56cb5cb46c098eecdb8e4f524add0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] combineGatherScatter - split non-constant (add v, (splat b)) indices patterns and add the splat into the (scalar) base address (#135201)
We already did this for constant cases, this patch generalizes the existing fold to attempt to extract the splat from either operand of a ADD node for the gather/scatter index value
This cleanup should also make it easier to add support for splitting vXi32 indices on x86_64 64-bit pointer targets in the future as well.
Noticed while reviewing #134979
Commit: b99a2b6221259095bc6c07f2d574a3655d073a1e
https://github.com/llvm/llvm-project/commit/b99a2b6221259095bc6c07f2d574a3655d073a1e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll
Log Message:
-----------
[SLP][REVEC] Update test.
The test is affected by commit aaaa2a325bd1abb8c87e0171384fd2c42da5e38a.
Commit: b656915d5a4cbb35392d340142340bf9bef8d8d1
https://github.com/llvm/llvm-project/commit/b656915d5a4cbb35392d340142340bf9bef8d8d1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Log Message:
-----------
[lldb][Format][NFCI] Refactor CPlusPlusLanguage::GetFunctionDisplayName into helpers and use LLVM style (#135331)
Same cleanup as in https://github.com/llvm/llvm-project/pull/135031. It
pretty much is the same code that we had to duplicate in the language
plugin. Maybe eventually we'll find a way of getting rid of the
duplication.
Commit: cb43fe33b5d5084cf3b5a2723a03b692edb68018
https://github.com/llvm/llvm-project/commit/cb43fe33b5d5084cf3b5a2723a03b692edb68018
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__functional/hash.h
M libcxx/include/locale
M libcxx/include/regex
M libcxx/src/filesystem/path_parser.h
Log Message:
-----------
[libc++][NFC] Inline _LIBCPP_FALLTHROUGH() (#135001)
We have `[[fallthrough]]` available in all standards modes, so we can
just inline it like other stanard attributes we use.
Commit: 4cde945673a852e1c051134cd2d8ad48dc4924e1
https://github.com/llvm/llvm-project/commit/4cde945673a852e1c051134cd2d8ad48dc4924e1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_reference_wrapper.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_signed_integer.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned_integer.h
Log Message:
-----------
[libc++][NFC] Remove `public` from the type traits (#135088)
The type traits are always `struct`s, so the `public` isn't necessary.
We're currently using `public` in some places, while we omit it in
others. This makes us consistent across the type traits.
Commit: 9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
https://github.com/llvm/llvm-project/commit/9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/dump-minimization-hints.cpp
Log Message:
-----------
Implement `-dump-minimization-hints` flag. (#133910)
This PR implements a CC1 flag `-dump-minimization-hints`.
The flag allows to specify a file path to dump ranges of deserialized
declarations in `ASTReader`. Example usage:
```
clang -Xclang=-dump-minimization-hints=/tmp/decls -c file.cc -o file.o
```
Example output:
```
// /tmp/decls
{
"required_ranges": [
{
"file": "foo.h",
"range": [
{
"from": {
"line": 26,
"column": 1
},
"to": {
"line": 27,
"column": 77
}
}
]
},
{
"file": "bar.h",
"range": [
{
"from": {
"line": 30,
"column": 1
},
"to": {
"line": 35,
"column": 1
}
},
{
"from": {
"line": 92,
"column": 1
},
"to": {
"line": 95,
"column": 1
}
}
]
}
]
}
```
Specifying the flag creates an instance of
`DeserializedDeclsSourceRangePrinter`, which dumps ranges of deserialized
declarations to aid debugging and bug minimization (we use is as input to [C-Vise](https://github.com/emaxx-google/cvise/tree/multifile-hints).
Required ranges are computed from source ranges of Decls.
`TranslationUnitDecl`, `LinkageSpecDecl` and `NamespaceDecl` are ignored
for the sake of this PR.
Technical details:
* `DeserializedDeclsSourceRangePrinter` implements `ASTConsumer` and
`ASTDeserializationListener`, so that an object of
`DeserializedDeclsSourceRangePrinter` registers as its own listener.
* `ASTDeserializationListener` interface provides the `DeclRead`
callback that we use to collect the deserialized Decls.
Printing or otherwise processing them as this point is dangerous, since
that could trigger additional deserialization and crash compilation.
* The collected Decls are processed in `HandleTranslationUnit` method of
`ASTConsumer`. This is a safe point, since we know that by this point
all the Decls needed by the compiler frontend have been deserialized.
* In case our processing causes further deserialization, `DeclRead` from
the listener might be called again. However, at that point we don't
accept any more Decls for processing.
Commit: e377a5d1682d0410b1fd38b011c29b7d81d6b53b
https://github.com/llvm/llvm-project/commit/e377a5d1682d0410b1fd38b011c29b7d81d6b53b
Author: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[MLIR][Tensor] Remove tensor.dim canonicalization patterns registered on tensor.expand_shape/tensor.collapse_shape (#134219)
These are problematic because the iterative application that locally
resolves the tensor.dim operation introduces
intermediate floor_div, which is losing the information about the exact
division that was carried out in the original
IR, and the iterative algorithm can't converge towards the simplest
form.
Information loss is not acceptable for canonicalization.
Resolving the dimOp can be achieved through
resolve-ranked-shaped-type-result-dims and
resolve-shaped-type-result-dims passes.
---------
Signed-off-by: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Commit: 52a32471967f62ae4d1f905e7a2a5022be40a9c7
https://github.com/llvm/llvm-project/commit/52a32471967f62ae4d1f905e7a2a5022be40a9c7
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-block-end-iterator-debugloc.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/kill-true-in-return-block.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll
Log Message:
-----------
[AMDGPU] Select (xor i1 (divergent trunc:i32 x), -1) -> cmp_neq x, 1 (#133698)
Commit: 3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
https://github.com/llvm/llvm-project/commit/3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBitMask - generalize FP handling. (#135345)
Don't explicitly handle f32/f64 cases - allow any fp value type and convert to equivalent int type with MVT::changeTypeToInteger
Commit: 37a86cb89e9e03ac7c91f2217cab8adedceb61ac
https://github.com/llvm/llvm-project/commit/37a86cb89e9e03ac7c91f2217cab8adedceb61ac
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[NFC] Use the hasMinSize() instead of hasFnAttribute(Attribute::MinSize) (#135328)
The other code all use the hasMinSize(), so I change the last two
hasFnAttribute(Attribute::MinSize).
Commit: b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
https://github.com/llvm/llvm-project/commit/b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[RISCV][test] Add tests for subtraction if above a constant threshold
Commit: e27a21f6a7fd191625ffca525323de643ed76be8
https://github.com/llvm/llvm-project/commit/e27a21f6a7fd191625ffca525323de643ed76be8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Add hasScalarTail, use instead of !CM.foldTailByMasking() (NFC). (#134674)
Now that VPlan is able to fold away redundant branches to the scalar
preheader, we can directly check in VPlan if the scalar tail may
execute. hasScalarTail returns true if the tail may execute.
We know that the scalar tail won't execute if the scalar preheader
doesn't have any predecessors, i.e. is not reachable.
This removes some late uses of the legacy cost model.
PR: https://github.com/llvm/llvm-project/pull/134674
Commit: c58777c2ad3464cfddc62e1da13dae443e868f3e
https://github.com/llvm/llvm-project/commit/c58777c2ad3464cfddc62e1da13dae443e868f3e
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][ReleaseNotes] Fix code block not rendering (#135330)
Bullet lists require a blank line between paragraphs therefore the `..
code-block::` directive only renders correctly if preceded by a blank
line.
Commit: bc2a5b5466cd3d0698830301f2594a136522c7e5
https://github.com/llvm/llvm-project/commit/bc2a5b5466cd3d0698830301f2594a136522c7e5
Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV] Explicitly set FRM defs as non-dead to prevent their reordering with instructions that may use it (#135176)
Fixes #135172. The proposed solution is to conservatively reset dead
flag from all $frm defs in AdjustInstrPostInstrSelection.
Commit: e36e57b478393a1c44ba1a2e3a2cff056e208c52
https://github.com/llvm/llvm-project/commit/e36e57b478393a1c44ba1a2e3a2cff056e208c52
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[BUILD] Fix unicode build issue. (#135315)
Fix unicode build fail issue:
```
C4819 The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss ...\llvm-project\llvm\include\llvm\Support\Compiler.h
```
Commit: 2fd860c1f559c0b0be66cc000e38270a04d0a1a3
https://github.com/llvm/llvm-project/commit/2fd860c1f559c0b0be66cc000e38270a04d0a1a3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
[lldb] ProcessGdbRemote header gardning
Remove unused headers, add used headers, remove declared-but-not-defined
entities.
Commit: 01658b16661dcff8bc24da7d86cee8df6f0bb4bd
https://github.com/llvm/llvm-project/commit/01658b16661dcff8bc24da7d86cee8df6f0bb4bd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
Log Message:
-----------
Fix two MSVC warnings; NFC
One was "unsafe use of bool" and the other was "sign comparision
mismatch", and both were because we're treating a bool object as if it
were an unsigned int. Add a cast to make that more explicit.
Commit: dda53bef35c5ab49967e8755e69ce893ecb525c4
https://github.com/llvm/llvm-project/commit/dda53bef35c5ab49967e8755e69ce893ecb525c4
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/API/SBTarget.cpp
A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
A lldb/test/API/python_api/target/read-instructions-flavor/main.c
Log Message:
-----------
[lldb] Fix SBTarget::ReadInstruction with flavor (#134626)
When you call the `SBTarget::ReadInstructions` with flavor from lldb
crashes. This is because the wrong order of the `DisassemblyBytes`
constructor this fixes that
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
https://github.com/llvm/llvm-project/commit/c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/dialects/rocdl.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir][python] fix value-builder generation for snake_case ops (#135302)
Ops that are already snake case (like [`ROCDL_wmma_*`
ops](https://github.com/makslevental/llvm-project/blob/66b0b0466bbd995146aadaf2cd18de5476c19941/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td#L411))
produce python "value-builders" that collide with the class names:
```python
class wmma_bf16_16x16x16_bf16(_ods_ir.OpView):
OPERATION_NAME = "rocdl.wmma.bf16.16x16x16.bf16"
...
def wmma_bf16_16x16x16_bf16(res, args, *, loc=None, ip=None) -> _ods_ir.Value:
return wmma_bf16_16x16x16_bf16(res=res, args=args, loc=loc, ip=ip).result
```
and thus cannot be emitted (because of recursive self-calls).
This PR fixes that by affixing `_` to the value builder names.
I would've preferred to just rename the ops but that would be a breaking
change :shrug:.
Commit: e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
https://github.com/llvm/llvm-project/commit/e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-11 (Fri, 11 Apr 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] Fold subtraction if above a constant threshold to `umin` (#135194)
Like #134235, but with a constant.
It's a pattern in Adler-32 checksum calculation in zlib.
Example:
unsigned adler32_mod(unsigned x) {
return x >= 65521u ? x - 65521u : x;
}
Before, on RISC-V:
lui a1, 16
lui a2, 1048560
addiw a1, a1, -16
sltu a1, a1, a0
negw a1, a1
addi a2, a2, 15
and a1, a1, a2
addw a0, a0, a1
Or, with Zicond:
lui a1, 16
lui a2, 1048560
addiw a1, a1, -16
sltu a1, a1, a0
addi a2, a2, 15
czero.eqz a1, a2, a1
addw a0, a0, a1
After, with Zbb:
lui a1, 1048560
addi a1, a1, 15
addw a1, a0, a1
minu a0, a1, a0
Commit: 5b384c3015100ad815f4d994d7ef35cc947db711
https://github.com/llvm/llvm-project/commit/5b384c3015100ad815f4d994d7ef35cc947db711
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
Log Message:
-----------
[lldb][test] Adjust TestTargetReadInstructionsFlavor skipIfs
Original in https://github.com/llvm/llvm-project/pull/134626 was
written as if it was "this or this" but it's "this and this".
So the test ran on AArch64 Linux, because Linux is not Windows.
Split out the Windows check to fix that.
Commit: b658a2e74ab48fce303d009b7039fbb10482bab8
https://github.com/llvm/llvm-project/commit/b658a2e74ab48fce303d009b7039fbb10482bab8
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.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/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.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/X86/pr47437.ll
Log Message:
-----------
[LV] Reduce register usage for scaled reductions (#133090)
This PR accounts for scaled reductions in `calculateRegisterUsage` to
reflect the fact that the number of lanes in their output is smaller
than the VF.
Depends on https://github.com/llvm/llvm-project/pull/126437
Commit: 9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
https://github.com/llvm/llvm-project/commit/9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
Log Message:
-----------
[AMDGPU][Clang] Add builtins for gfx12 ray tracing intrinsics (#135224)
Commit: 8fc2538f338088bd084d217a7569d72c3b630e8c
https://github.com/llvm/llvm-project/commit/8fc2538f338088bd084d217a7569d72c3b630e8c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/locale
M libcxx/include/module.modulemap
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
Log Message:
-----------
Reapply "[libc++] Optimize num_put integral functions" (#131613) (#133572)
This reverts commit d1156fcb56891fb1a426c3e8331a51d47f98a1b8.
This patch fixes the reported incorrect formatting changes and adds
tests for them. The performance should be unaffected, since there are no
significant changes required to fix the bugs.
Specifically, a `>` was changed to a `>=` to also add a `+` in the zero
case, and we're checking for zero now before printing the octal and
hexadecimal prefixes.
Closes #131710
Commit: 33af951f3f1196d65aafebabd913abc43d3ce074
https://github.com/llvm/llvm-project/commit/33af951f3f1196d65aafebabd913abc43d3ce074
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-incoming-blocks-in-phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-cmps.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLP]Synchronize cost of gather/buildvector nodes with codegen
If the buildvector node contains constants and non-constants, need to
consider shuffling of the constant vec and insertion of unique elements
into the vector. Also, if there is an input vector, need to consider the
cost of shuffling source vector and constant vector and then insertion
and shuffling of the non-constant elements.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/135245
Commit: 0f615fbb0a964082a6601a2838c9788bd29a97ba
https://github.com/llvm/llvm-project/commit/0f615fbb0a964082a6601a2838c9788bd29a97ba
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
Log Message:
-----------
[AMDGPU] Simplify GCNRewritePartialRegUses pass. (#135199)
Cleanup some leftover hacks that existed before #67245, more details in #69957.
Commit: 1c05c6183da836d148eb3f558e8f8e0194f39eed
https://github.com/llvm/llvm-project/commit/1c05c6183da836d148eb3f558e8f8e0194f39eed
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-map.s
Log Message:
-----------
[LLD][COFF] Swap the meaning of symtab and hybridSymtab in hybrid images (#135093)
Originally, the intent behind symtab was to represent the symbol table
seen in the PE header (without applying ARM64X relocations). However, in
most cases outside of `writeHeader()`, the code references either both
symbol tables or only the EC one, for example, `mainSymtab` in
`linkerMain()` maps to `hybridSymtab` on ARM64X.
MSVC's link.exe allows pure ARM64EC images to include native ARM64
files. This patch prepares LLD to support the same, which will require
`hybridSymtab` to be available even for ARM64EC. At that point,
`writeHeader()` will need to use the EC symbol table, and the original
reasoning for keeping it in `hybridSymtab` no longer applies.
Given this, it seems cleaner to treat the EC symbol table as the “main”
one, assigning it to `symtab`, and use `hybridSymtab` for the native
symbol table instead. Since `writeHeader()` will need to be conditional
anyway, this change simplifies the rest of the code by allowing other
parts to consistently treat `ctx.symtab` as the main symbol table.
As a further simplification, this also allows us to eliminate `symtabEC`
and use `symtab` directly; I’ll submit that as a separate PR.
The map file now uses the EC symbol table for printed entry points and
exports, matching MSVC behavior.
Commit: cbba9600ae4faeb06619ed8b52c22d8a38708230
https://github.com/llvm/llvm-project/commit/cbba9600ae4faeb06619ed8b52c22d8a38708230
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
Revert "[clang] Improved canonicalization for template specialization types" (#135354)
Reverts llvm/llvm-project#135119 because of the assert in ASTContext.cpp, line 5619.
See #135352 for details.
Commit: 39f119086f115e2af79ebb187a647ea2efad2d5c
https://github.com/llvm/llvm-project/commit/39f119086f115e2af79ebb187a647ea2efad2d5c
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang][OpenMP][ROCM] Enable rocm-device-lib-path for flang (#135307)
Currently rocm-device-lib-path is not enabled for Flang, so when the
compiler warns / requests a user to provide this option in cases where
it can't find rocm a user cannot actually set the device libraries using
rocm-device-lib-path. The alternative rocm_path that's also mentioned
via the warning can be used, but we should enable both mentioned options
to not confuse users (and myself).
Commit: a9225251c43e84d2bef0528ac61e1abf9fadae50
https://github.com/llvm/llvm-project/commit/a9225251c43e84d2bef0528ac61e1abf9fadae50
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove SLI/SRI debug. NFC
We don't usually have special debug for DAG combines, and this one has been
around long enough to not be required any more.
Commit: cd85f5dbdf135347a9912dde148ec9fd325ba8c1
https://github.com/llvm/llvm-project/commit/cd85f5dbdf135347a9912dde148ec9fd325ba8c1
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir] canonicalizer: shape_cast(poison) -> poison (#133988)
Based on the ShapeCastConstantFolder, this pattern replaces
%0 = ub.poison : vector<2x3xf32>
%1 = vector.shape_cast %0 vector<2x3xf32> to vector<6xf32>
with
%1 = ub.poison : vector<6xf32>
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
https://github.com/llvm/llvm-project/commit/f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
A lld/test/COFF/arm64ec-x86-sec.yaml
Log Message:
-----------
[LLD][COFF] Support marking sections as x86_64 code in ARM64EC object files (#135280)
On ARM64EC, the `IMAGE_SCN_GPREL` flag is repurposed to indicate that
section code is x86_64. This enables embedding x86_64 code within
ARM64EC object files. MSVC uses this for export thunks in .exp files.
Commit: 409def2867ffe7dffceeff380d7b4057bac5eac6
https://github.com/llvm/llvm-project/commit/409def2867ffe7dffceeff380d7b4057bac5eac6
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] shape_cast(broadcast) -> broadcast canonicalization (#134939)
Add additional cases of this canonicalization, by checking the 'source
of truth' function `isBroadcastableTo` to check when it is possible to
broadcast directly to the shape resulting from the shape_cast.
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
https://github.com/llvm/llvm-project/commit/d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] vmem-to-lds-load-insts incoherence between TargetParser and AMDGPU.td (#135376)
The vmem-to-lds-loads-insts feature is only available on gfx9/10. While
target-parser was also enabling it for gfx6,7,8.
Commit: 7113aece4eaa634cdcea5c4057da171c17229b40
https://github.com/llvm/llvm-project/commit/7113aece4eaa634cdcea5c4057da171c17229b40
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle.cpp
Log Message:
-----------
[clang] ItaniumMangle: fix mangling for unresolved types (#135312)
Commit: 6b78bbc56b835e69ecc5eb8f978c27592e4c4051
https://github.com/llvm/llvm-project/commit/6b78bbc56b835e69ecc5eb8f978c27592e4c4051
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsMulMulBugPass.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
Log Message:
-----------
[NFC][LLVM][Mips] Cleanup pass initialization for Mips (#134446)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 12fe15ff9d72697848496894401af3eeb7b6c3b8
https://github.com/llvm/llvm-project/commit/12fe15ff9d72697848496894401af3eeb7b6c3b8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/Hexagon.h
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
M llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonMask.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Target/Hexagon/HexagonPeephole.cpp
M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Target/Hexagon/HexagonVExtract.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp
Log Message:
-----------
[NFC][LLVM][Hexagon] Cleanup pass initialization for Hexagon (#134431)
- Remove pass initialization calls from pass constructors.
- Move pass initialization and creation function declarations to
Hexagon.h and remove them from individual .cpp files.
- Add calls for pass initialization in Hexagon target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 58211f55c5d42394b3de3310a825d707e7622833
https://github.com/llvm/llvm-project/commit/58211f55c5d42394b3de3310a825d707e7622833
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/108541-null-metadata-crash.ll
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
[llvm-reduce] Fix incorrectly ignored null MD in ReduceDIMetadata (#108541)
Commit c2e62c7 updated the ReduceDIMetadata pass to be able to remove
DIGlobalVariableExpressions from MDNode operands; it also accidentally
prevented null operands from being preserved, which results in an
assertion being triggered:
`Targets == NoChunksCounter.count() && "number of chunks changes when
reducing"'
This patch allows us to correctly preserve null operands once again.
I've not got a test case for this yet - I'm hoping this patch is just
trivially correct as-is, because I've not got the hang of reducing a
test case for llvm-reduce yet, but I can get a test case generated if
needed.
Commit: 07b439605a4cc838a9157f6a948edb0369adeada
https://github.com/llvm/llvm-project/commit/07b439605a4cc838a9157f6a948edb0369adeada
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - require free concatenation of at least one operand of UNPCKL\H (#135366)
Stop just replacing 2*UNPCK+INSERT_SUBVECTOR with 2*INSERT_SUBVECTOR+UNPCK
Currently limited to sub-64-bit element cases until we've accounted for the remaining regressions from some build_vector style patterns.
Commit: d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
https://github.com/llvm/llvm-project/commit/d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPDirectives.cpp
M clang/test/Preprocessor/embed_parameter_unrecognized.c
Log Message:
-----------
[C23] Fix failed assertions with invalid #embed parameters (#135368)
If the invalid parameter was not the last parameter given, we would fail
to skip to the end of the directive and trip a failed assertion.
Fixes #126940
Commit: c3795ba7373d9a4878974cd664eb6d000bc91880
https://github.com/llvm/llvm-project/commit/c3795ba7373d9a4878974cd664eb6d000bc91880
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Maintainers] Fix name
Commit: 61f95c6429df523dc3f04e85a5d500008c76e1fa
https://github.com/llvm/llvm-project/commit/61f95c6429df523dc3f04e85a5d500008c76e1fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
IR: Simplify BlockAddress replacement (#135360)
Don't repeatedly replaceAllUsesWith in a loop.
Commit: 88e15b781506949c56936b8642774125772fdeb2
https://github.com/llvm/llvm-project/commit/88e15b781506949c56936b8642774125772fdeb2
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] A quick-fix for the Apple CI. (#135202)
The Apple runners automatically pick up newer XCode versions breaking
the CI. This disables the test to get the CI green which allows us to
investigate the issue properly later on.
Commit: 3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
https://github.com/llvm/llvm-project/commit/3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Fix-forward #133175 by restricting newly-added tests to Linux
This was failing on Mac
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/4107/ and
https://issues.chromium.org/issues/409995888). Since this is an
experimental feature, rather than play whack-a-mole with selectively
disabling failing platforms (previously done for Android), this patch
restricts it to Linux.
Commit: 76b85d3a27d9de4667cdf6de158111830724f34d
https://github.com/llvm/llvm-project/commit/76b85d3a27d9de4667cdf6de158111830724f34d
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
Log Message:
-----------
[MLIR][CAPI] add C API typedef to fix downstream C API usage (#135380)
This PR is after #135253 and #134935 to fix the error reported by
https://github.com/llvm/llvm-project/pull/135253#issuecomment-2796077024.
This PR Adds typedef declarations for `MlirLinalgContractionDimensions`
and `MlirLinalgConvolutionDimensions` in the C API to ensure
compatibility with pure C code.
I confirm that this fix resolves the reported error based on my testing.
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
https://github.com/llvm/llvm-project/commit/5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
Log Message:
-----------
[clang][modules] Name the module map files on PCM file conflict (#134475)
With implicitly-built modules, seeing something like:
```
fatal error: module 'X' is defined in both '<cache>/HASH1/X-HASH2.pcm' and '<cache>/HASH1/X-HASH3.pcm'
```
is super confusing and not actionable, because the module cache tends to
be hidden from the developer.
This PR adds a note to that diagnostic that names the module map files
the PCM files were compiled from, hopefully giving a good enough hint
for further investigation:
```
note: compiled from '<build>/X.framework/Modules/module.modulemap' and '<SDK>/X.framework/Modules/module.modulemap'
```
(I had to replace the mechanism used to convert `DiagnosticError` into
something `DiagnosticsEngine` can understand, because it seemingly did
not support notes.)
Commit: 976c37ec950a93ed60068389ad05454f76da1e55
https://github.com/llvm/llvm-project/commit/976c37ec950a93ed60068389ad05454f76da1e55
Author: amansharma612 <amansharma6122002 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/mul.ll
Log Message:
-----------
[AMDGPU] Set hasSideEffects=0 for SALU psuedos (#134487)
Fixes #128685
---------
Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>
Commit: a4b7688d27da1a0189fff6549853fdfe22b33c48
https://github.com/llvm/llvm-project/commit/a4b7688d27da1a0189fff6549853fdfe22b33c48
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/fsh.ll
Log Message:
-----------
[AArch64] Regenerate fsh.ll test. NFC
Commit: ffac1404f8e0f606cac12a21777dfe700b455e87
https://github.com/llvm/llvm-project/commit/ffac1404f8e0f606cac12a21777dfe700b455e87
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang] [Sema] Document invariant in Sema::AddOverloadCandidate (#135256)
Static analysis flagged 1 - ArgIdx in Sema::AddOverloadCandidate for its
potential to overflow.
Turns out this is intentional since when PO ==
OverloadCandidateParamOrder::Reversed Args.size() is always two, so this
will never overflow.
We document using an assert.
Fixes: https://github.com/llvm/llvm-project/issues/135086
Commit: 438f984b4b3c6774f07eced877dce7cdbeef6a3b
https://github.com/llvm/llvm-project/commit/438f984b4b3c6774f07eced877dce7cdbeef6a3b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DirectX] XFAIL test failing because of debuginfo changes (#135279)
For more context see
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
This change:
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
broke this test:
https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/dxil-dis/debug-info.ll
in our pipeline:
https://github.com/llvm/llvm-project/actions/workflows/hlsl-matrix.yaml
LLVM is transitioning off of the llvm.dbg.value debug intrinsic in favor
of the `#dbg_declare(..) format. see
https://github.com/llvm/llvm-project/pull/133917/files
dxil-dis does not understand the new format and so work needs to be
planned out to support this transition in
https://github.com/microsoft/DirectXShaderCompiler
For now the fix is to XFAIL this test to unblock the pipeline.
Commit: 70627af91f577f5195a11ee44c6af39503e1ce52
https://github.com/llvm/llvm-project/commit/70627af91f577f5195a11ee44c6af39503e1ce52
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Synchronize access to m_statusline in the Debugger (#134759)
Eliminate the potential for a race between the main thread, the default
event handler thread and the signal handling thread, when accessing the
m_statusline member.
Commit: 8d2f0911ce8dddb37d064b3065b3be71e3233c2c
https://github.com/llvm/llvm-project/commit/8d2f0911ce8dddb37d064b3065b3be71e3233c2c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang] Extract `CompilerInstance` creation out of `compileModuleImpl()` (#134887)
This PR extracts the creation of `CompilerInstance` for compiling an
implicitly-discovered module out of `compileModuleImpl()` into its own
separate function and passes it into `compileModuleImpl()` from the
outside. This makes the instance creation logic reusable (useful for my
experiments) and also simplifies the API, removing the `PreBuildStep`
and `PostBuildStep` hooks from `compileModuleImpl()`.
Commit: 61f80db9a493e3f33dc01ecd5294856d33ca74d4
https://github.com/llvm/llvm-project/commit/61f80db9a493e3f33dc01ecd5294856d33ca74d4
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Remove no longer needed symtabEC from COFFLinkerContext (NFC) (#135094)
With #135093, we may just use `symtab` instead.
Commit: 68b7cba2b04a036dfb2e216cfafe70a83fbc7530
https://github.com/llvm/llvm-project/commit/68b7cba2b04a036dfb2e216cfafe70a83fbc7530
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
A llvm/test/Transforms/LoopIdiom/strlen-cleanup.ll
M llvm/test/Transforms/LoopIdiom/strlen.ll
M llvm/test/Transforms/LoopIdiom/wcslen16.ll
M llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
[LoopIdiom] Update strlen idiom body loop condition to be clean up by LoopDeletion (#134906)
Fixes the case where subsequent passes were unable to find and delete
the invariant loop left over by the strlen idiom conversion. Since
`loop-deletion` only operate on computable loops, we can update the loop
condition to something more easily picked up by `loop-deletion`
As pointed out in https://github.com/llvm/llvm-project/issues/134736
Commit: d995b2ebdc1a312c8583351c13dac90e8e320a09
https://github.com/llvm/llvm-project/commit/d995b2ebdc1a312c8583351c13dac90e8e320a09
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
Log Message:
-----------
[Clang][AMDGPU] Accept builtins in lambda declarations (#135027)
`Sema::getCurFunctionDecl(AllowLambda = false)` returns a nullptr when
the lambda declaration is outside a function (for example, when
assigning a lambda to a static constexpr variable).
This triggered an assertion in
`SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall`.
Using `Sema::getCurFunctionDecl(AllowLambda = true)` returns the
declaration of the enclosing lambda.
Stumbled with this issue when refactoring some code in CK.
Commit: 8fb6bb3e23966c973bb04784e165473f681ec7af
https://github.com/llvm/llvm-project/commit/8fb6bb3e23966c973bb04784e165473f681ec7af
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Semantics/OpenACC/acc-init-validity.f90
M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow multiple device_type clauses on init and shutdown (#135314)
Relax the restriction for init and shutdown directives for device_type
clause. The clause can be allowed multiple times.
Commit: 566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
https://github.com/llvm/llvm-project/commit/566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/IR/binassign.cir
Log Message:
-----------
[CIR] Upstream binary assignments and comma (#135115)
This patch adds `VisitBinAssign` and `VisitBinComma` to the ClangIR
`ScalarExprEmitter` to enable assignments and the comma operator.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Commit: bd0b2bdacc95332a62d5eeb9582302cc12567be3
https://github.com/llvm/llvm-project/commit/bd0b2bdacc95332a62d5eeb9582302cc12567be3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use VF instead of VL.size and modernize some transformations, NFC.
Commit: 68ab45f0533f3bbfc1c96bddd53de7e769180219
https://github.com/llvm/llvm-project/commit/68ab45f0533f3bbfc1c96bddd53de7e769180219
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
Revert "[lldb] ProcessGdbRemote header gardning"
This reverts commit 2fd860c1f559c0b0be66cc000e38270a04d0a1a3 as this is
causing a EXC_BAD_ACCESS on Darwin:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/23807/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/11255/
Commit: de5b099dd1542deee821b1dcfcb1762e683c672c
https://github.com/llvm/llvm-project/commit/de5b099dd1542deee821b1dcfcb1762e683c672c
Author: Jan Korous <jkorous at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage][NFC] Factor out FixitUtil (#135100)
Commit: cb974dcd7798317f065fe0668e16d0e1712e5ca0
https://github.com/llvm/llvm-project/commit/cb974dcd7798317f065fe0668e16d0e1712e5ca0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port de5b099dd154
Commit: abe3b90b3fa49829a165f2174191c33542597052
https://github.com/llvm/llvm-project/commit/abe3b90b3fa49829a165f2174191c33542597052
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
Log Message:
-----------
[CIR] Fix warnings, again! (#135284)
The calleeDecl var will be used in the near future, so I left it. At
least for clang, the [[maybe_unused]] attribute takes care of the
warnings related to that variable. The other warning was a simple lack
of return after errorNYI.
Commit: a2d129b792cc49224f98c83d2279b2e19bfa700f
https://github.com/llvm/llvm-project/commit/a2d129b792cc49224f98c83d2279b2e19bfa700f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
Log Message:
-----------
[SLP]Fix a crash when trying to reduce in revec after minbitwidth analysis
Need to use the original scalar type, when building the reduction, and
use the scalar type, when performing casting, to avoid compiler crash.
Commit: e911f90a4035ee6a70d9b608ef35c6870aa86fdb
https://github.com/llvm/llvm-project/commit/e911f90a4035ee6a70d9b608ef35c6870aa86fdb
Author: Kevin Gleason <gleasonk at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir] Add support for broader range of input files in generate-test-checks.py (#134327)
A few additions:
- Lines with `{{`: These can show up if serializing non-MLIR info into
string attrs `my.attr = {{proto}, {...}}`. String escape the opening
`{{`, given that check lines are generated this has no effect on
`{{.*}}` etc in generated lines.
- File split line: Normally these are skipped because of their indent
level, but if using `--starts_from_scope=0` to generate checks for the
`module {...} {` line, and since MLIR opt tools emit file split lines by
default, some `CHECK: // -----` lines were emit.
- (edit removed this, fixed by
https://github.com/llvm/llvm-project/pull/134364) AttrAliases: I'm not
sure if I'm missing something for the attribute parser to work
correctly, but I was getting many `#[[?]]` for all dialect attrs. Only
use the attr aliasing if there's a match.
Commit: e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
https://github.com/llvm/llvm-project/commit/e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/test/uncaught_exception.pass.cpp
Log Message:
-----------
[libc++] Another Apple CI quick-fix.
Like #135202 this fixes another issue after the XCode update.
Commit: c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
https://github.com/llvm/llvm-project/commit/c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect type promotion after bitwidth analysis, NFC
Commit: 1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
https://github.com/llvm/llvm-project/commit/1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add dthorn as maintainer for allocator on baremetal (#135203)
This was on request from other maintainers, given that I've been
de-facto acting as maintainer of the baremetal allocator stuff.
Commit: df579ce4b6006ed23bb3a31f009269a1ba2587d4
https://github.com/llvm/llvm-project/commit/df579ce4b6006ed23bb3a31f009269a1ba2587d4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Adds is_implemented function for new ftm generator. (#134538)
At the moment the ftm macro for __cpp_lib_to_chars will have the
following values:
standard_ftms: {
"c++17": "201611L",
"c++20": "201611L",
"c++23": "201611L",
"c++26": "201611L",
}
implemented_ftms: {
"c++17": None,
}
This is an issue with the test whether the FTM is implemented it does:
self.implemented_ftms[ftm][std] == self.standard_ftms[ftm][std]
This will fail in C++20 since implemented_ftms[ftm] does not have the
key c++20. This adds a new helper function and removes the None entries
when a FTM is not implemented.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 6f5e993b179a6f93b40d375a8864f2a482f3ca5d
https://github.com/llvm/llvm-project/commit/6f5e993b179a6f93b40d375a8864f2a482f3ca5d
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/usub_sat.ll
Log Message:
-----------
[DirectX] legalize usub.sat (#135288)
fixes #135285
This change implements the `usub.sat` intrinsic to perform an unsigned
saturating subtraction on the 2 arguments.
The minimum value this operation is clamp to is 0.
Commit: 52ef55864f50077072e083c5582d23a9ec494142
https://github.com/llvm/llvm-project/commit/52ef55864f50077072e083c5582d23a9ec494142
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
Log Message:
-----------
[OpenACC] Fix source-location on a handful of CIR Directives
Apparently we used the 'end location' instead of 'start' in a few
places.
Commit: db4ad4686f09822add4575801a2bbb10c8d56ebb
https://github.com/llvm/llvm-project/commit/db4ad4686f09822add4575801a2bbb10c8d56ebb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add myself as maintainer for Public Headers / hdrgen (#135209)
Commit: 38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
https://github.com/llvm/llvm-project/commit/38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
Log Message:
-----------
[SLP]Fix minbiwidth analysis for gather nodes with SIToFP users
If the buildvector node has cast to float user, it cannot be considered as safe
for truncation, need to use the original bitwidth here.
Fixes #135410
Commit: c2939b9bf672713ac36910a3e6d00c19ace1bd44
https://github.com/llvm/llvm-project/commit/c2939b9bf672713ac36910a3e6d00c19ace1bd44
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
Reland "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)" (#135296)
This reapplies commit
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d.
The original commit triggered a sanitizer failure when `Target` was
destroyed. In `Target::Destroy`, `DeleteCurrentProcess` was called, but
it did not destroy the thread creation breakpoints for the underlying
`ProcessGDBRemote` because `ProcessGDBRemote::Clear` was not called in
that path.
`Target `then proceeded to destroy its breakpoints, which resulted in a
call to the destructor of a `std::vector` containing the breakpoints.
Through a sequence of complicated events, destroying breakpoints caused
the reference count of the underlying `ProcessGDBRemote` to finally
reach zero. This, in turn, called `ProcessGDBRemote::Clear`, which
attempted to destroy the breakpoints. To do that, it would go back into
the Target's vector of breakpoints, which we are in the middle of
destroying.
We solve this by moving the breakpoint deletion into
`Process:DoDestroy`, which is a virtual Process method that will be
called much earlier.
Commit: 179d30f8c3fddd3c85056fd2b8e877a4a8513158
https://github.com/llvm/llvm-project/commit/179d30f8c3fddd3c85056fd2b8e877a4a8513158
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
Revert "[lldb] Make sure the process is stopped when computing the symbol context (#134757)" (#135408)
This reverts commit e84a80408523a48d6eaacd795f1615e821ffb233 because on
Linux there seems to be a race around GetRunLock. See #134757 for more
context.
Commit: fedd79bdcd8363456ec87796694ae0f37d28a98f
https://github.com/llvm/llvm-project/commit/fedd79bdcd8363456ec87796694ae0f37d28a98f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
Log Message:
-----------
[mlir][vector] Tighten the semantics of vector.{load|store} (#135151)
This change refines the verifier for `vector.load` and `vector.store` to
disallow the use of vectors with higher rank than the source or
destination memref. For example, the following is now rejected:
```mlir
%0 = vector.load %src[%c0] : memref<?xi8>, vector<16x16xi8>
vector.store %vec, %dest[%c0] : memref<?xi8>, vector<16x16xi8>
```
This pattern was previously used in SME end-to-end tests and "happened"
to work by implicitly assuming row-major memory layout. However, there
is no guarantee that such an assumption will always hold, and we should
avoid relying on it unless it can be enforced deterministically.
Notably, production ArmSME lowering pipelines do not rely on this
behavior. Instead, the expected usage (illustrated here with scalable
vector syntax) would be:
```mlir
%0 = vector.load %src[%c0, %c0] : memref<?x?xi8>, vector<[16]x[16]xi8>
```
This PR updates the verifier accordingly and adjusts all affected tests.
These tests are either removed (if no longer relevant) or updated to use
memrefs with appropriately matching rank.
Commit: 052225dc0366ddf56631b1e4104ef09896f1139b
https://github.com/llvm/llvm-project/commit/052225dc0366ddf56631b1e4104ef09896f1139b
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Use a lower Costsize cost in getScalarizationOverhead.
This is a follow on to #130946 to use the same codesize cost override in
getScalarizationOverhead for vector instructions.
Commit: 32c39092eab3a401d9d028c21f4707102fd70e32
https://github.com/llvm/llvm-project/commit/32c39092eab3a401d9d028c21f4707102fd70e32
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
A llvm/test/CodeGen/Hexagon/calloperand-v2i1.ll
Log Message:
-----------
[llvm][Hexagon] Promote operand v2i1 to v2i32 (#135409)
Fixes #118879
Commit: a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
https://github.com/llvm/llvm-project/commit/a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CallingConv.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/Bitcode/calling-conventions.3.2.ll
M llvm/test/Bitcode/calling-conventions.3.2.ll.bc
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
R llvm/test/CodeGen/AMDGPU/call-to-kernel-undefined.ll
R llvm/test/CodeGen/AMDGPU/call-to-kernel.ll
M llvm/test/Other/spir_cc.ll
M llvm/test/Verifier/amdgpu-cc.ll
A llvm/test/Verifier/call-to-non-callable-functions.ll
Log Message:
-----------
[AMDGPU][Verifier] Mark calls to entry functions as invalid in the IR verifier (#134910)
Commit: 72144d119a7291f8b6b8e022a2947fbe31e66afc
https://github.com/llvm/llvm-project/commit/72144d119a7291f8b6b8e022a2947fbe31e66afc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
Log Message:
-----------
[flang][runtime] Fix recently broken big-endian formatted integer input (#135417)
My recent change to speed up formatted integer input has a bug on
big-endian targets that has shown up on ppc64 AIX build bots. Fix.
Commit: ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
https://github.com/llvm/llvm-project/commit/ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[VPlan] Merge cases using getResultType in inferScalarType (NFC).
Commit: d78b48641429c8b48e2c376fa3870d841e319c96
https://github.com/llvm/llvm-project/commit/d78b48641429c8b48e2c376fa3870d841e319c96
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks for Mul Op (#135075)
This adds error_if validation checking for Mul Op
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 90a202f2ff241a9f4b11ec625dcc3446cbceb924
https://github.com/llvm/llvm-project/commit/90a202f2ff241a9f4b11ec625dcc3446cbceb924
Author: Victor Vianna <victor.vianna10 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/lib/orc/error.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
Log Message:
-----------
[cpp23] Remove usage of std::aligned_union<> in llvm (#135146)
std::aligned_union<> is deprecated in C++23. See more details in the
linked bug.
Bug: https://crbug.com/388068052
Commit: d1fd97737e9064431983e48c2105d1c54d5feacc
https://github.com/llvm/llvm-project/commit/d1fd97737e9064431983e48c2105d1c54d5feacc
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_platform.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[compiler-rt][sanitizer] add Haiku support (#134772)
Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>
Commit: ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
https://github.com/llvm/llvm-project/commit/ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
Author: Jan Korous <jkorous at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Add findUnsafePointers (#135421)
Commit: a8da4834f70b4cea0ba8e703a76ccbcd26f88923
https://github.com/llvm/llvm-project/commit/a8da4834f70b4cea0ba8e703a76ccbcd26f88923
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] IEEE_SCALB and SCALE - kind=2, kind=3 (#135374)
Implement the kind=2,3 variants of language intrinsic SCALE and
intrinsic module procedure IEEE_SCALB, including exception signaling.
Commit: 609361ab39226a866211286a2ae4f19ab8bb444c
https://github.com/llvm/llvm-project/commit/609361ab39226a866211286a2ae4f19ab8bb444c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow finalize clause on exit data more than once (#135415)
The spec has not strict restriction to allow a single `finalize` clause
on the `exit data` directive. Allowing this clause multiple times does
not change the semantic of it. This patch relax the rules in `ACC.td`
since there is no restriction in the standard.
The OpenACC dialect represent the finalize clause with a UnitAttr so the
attribute will be set if the is one or more `finalize` clause.
Commit: 2837fd7e5ad521d977fbca85a639ce7afbacdc56
https://github.com/llvm/llvm-project/commit/2837fd7e5ad521d977fbca85a639ce7afbacdc56
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenACC/acc-update-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow if_present multiple times on host_data and update (#135422)
Similar to #135415.
The spec has not strict restriction to allow a single `if_present`
clause on the host_data and update directives. Allowing this clause
multiple times does not change the semantic of it. This patch relax the
rules in ACC.td since there is no restriction in the standard.
The OpenACC dialect represents the `if_present` clause with a `UnitAttr`
so the attribute will be set if the is one or more `if_present` clause.
Commit: 4530922cfdacc5be25dbe499fc106cc3b009bf79
https://github.com/llvm/llvm-project/commit/4530922cfdacc5be25dbe499fc106cc3b009bf79
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] fix serialization for SubstNonTypeTemplateParmPackExpr (#135428)
This fixes a PCM non-determinism regression reported here:
https://github.com/llvm/llvm-project/pull/134560#issuecomment-2797744370
There was a bit in `SubstNonTypeTemplateParmPackExpr` which we missed to
serialize, and that bit eventually propagates to
`SubstNonTypeTemplateParmExpr`.
As a drive by, improve serialization for PackIndex on
SubstNonTypeTemplateParmExpr by using the newly introduced
UnsignedOrNone helpers.
There are no release notes since this regression was never released.
Commit: de67293c093efddb9f9444b3a614695ad243355d
https://github.com/llvm/llvm-project/commit/de67293c093efddb9f9444b3a614695ad243355d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/IR/SMT.td
A mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
A mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.h
A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.td
A mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTOps.h
A mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.h
A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
A mlir/include/mlir/Dialect/SMT/IR/SMTVisitors.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/SMT/CMakeLists.txt
A mlir/lib/Dialect/SMT/IR/CMakeLists.txt
A mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
A mlir/lib/Dialect/SMT/IR/SMTDialect.cpp
A mlir/lib/Dialect/SMT/IR/SMTOps.cpp
A mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
A mlir/test/Dialect/SMT/array-errors.mlir
A mlir/test/Dialect/SMT/array.mlir
A mlir/test/Dialect/SMT/basic.mlir
A mlir/test/Dialect/SMT/bitvector-errors.mlir
A mlir/test/Dialect/SMT/bitvectors.mlir
A mlir/test/Dialect/SMT/core-errors.mlir
A mlir/test/Dialect/SMT/cse-test.mlir
A mlir/test/Dialect/SMT/integers.mlir
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/SMT/AttributeTest.cpp
A mlir/unittests/Dialect/SMT/CMakeLists.txt
A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
A mlir/unittests/Dialect/SMT/TypeTest.cpp
Log Message:
-----------
[mlir][SMT] upstream `SMT` dialect (#131480)
This PR upstreams the `SMT` dialect from the CIRCT project. Here we only
check in the dialect/op/types/attributes and lit tests. Follow up PRs
will add conversions in and out and etc.
Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Commit: 93370c4ab3437432e488fac9e3a09b44dbe87449
https://github.com/llvm/llvm-project/commit/93370c4ab3437432e488fac9e3a09b44dbe87449
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Make LLVM & OGCG variables match the same pattern (#135427)
Follow-up patch to improve variable names in LLVM and OGCG in
https://github.com/llvm/llvm-project/pull/134536
Commit: 84ed81bc8a5359f33818c876e43f6450e98deb35
https://github.com/llvm/llvm-project/commit/84ed81bc8a5359f33818c876e43f6450e98deb35
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/unittests/Thread/ThreadTest.cpp
Log Message:
-----------
[lldb] On Windows, silence warning when building with Clang ToT
Fixes:
```
[930/2017] Building CXX object tools\lldb\unittests\Thread\CMakeFiles\ThreadTests.dir\ThreadTest.cpp.obj
C:\git\llvm-project\lldb\unittests\Thread\ThreadTest.cpp(51,23): warning: cast from 'FARPROC' (aka 'long long (*)()') to 'SetThreadDescriptionFunctionPtr' (aka 'long (*)(void *, const wchar_t *)') converts to incompatible function type [-Wcast-function-type-mismatch]
51 | SetThreadName = reinterpret_cast<SetThreadDescriptionFunctionPtr>(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52 | ::GetProcAddress(hModule, "SetThreadDescription"));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```
Commit: 12c4be1ba8513b4c0f43945c0f266d7f871a978a
https://github.com/llvm/llvm-project/commit/12c4be1ba8513b4c0f43945c0f266d7f871a978a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
Log Message:
-----------
[clang][unittests] On Windows, silence warning when building with MSVC
Fixes:
```
[113/324] Building CXX object tools\clang\unittests\AST\ByteCode\CMakeFiles\InterpTests.dir\BitcastBuffer.cpp.obj
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(52): warning C4309: 'initializing': truncation of constant value
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(53): warning C4309: 'initializing': truncation of constant value
```
Commit: 78fbba992188c60f0f06267ca013e52db19b8c67
https://github.com/llvm/llvm-project/commit/78fbba992188c60f0f06267ca013e52db19b8c67
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[compiler-rt] On Windows, silence warning when building with Clang ToT
Fixes:
```
[6113/7139] Building CXX object projects\compiler-rt\lib\interception\CMakeFiles\RTInterception.x86_64.dir\interception_win.cpp.obj
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'FALLTHROUGH;' to silence this warning
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
| FALLTHROUGH;
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'break;' to avoid fall-through
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
| break;
1 warning generated.
```
Commit: e1d91ba06d250dd8bbd5bded4824c5b210c2667a
https://github.com/llvm/llvm-project/commit/e1d91ba06d250dd8bbd5bded4824c5b210c2667a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
Log Message:
-----------
[lldb] Fix erroneous return value
Found when building with MSVC on Windows, was seeing:
```
[2703/7138] Building CXX object tools\lldb\source\Plugins\Process\Utility\CMakeFiles\lldbPluginProcessUtility.dir\NativeRegisterContextDBReg.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Process\Utility\NativeRegisterContextDBReg.cpp(286): warning C4305: 'return': truncation from 'unsigned int' to 'bool'
```
Commit: 715c61e9a7cc631fd0965b887941ccfd8c0133d6
https://github.com/llvm/llvm-project/commit/715c61e9a7cc631fd0965b887941ccfd8c0133d6
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
Log Message:
-----------
[lldb][lldbp-dap] On Windoows, silence warnings when building with MSVC
Fixes:
```
[6373/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\DAP.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\DAP.cpp(725) : warning C4715: '`lldb_dap::DAP::HandleObject'::`30'::<lambda_2>::operator()': not all control paths return a value
[6421/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolTypes.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(203) : warning C4715: 'lldb_dap::protocol::ToString': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(98) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(72) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(111) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
[6426/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolBase.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolBase.cpp(287) : warning C4715: 'lldb_dap::protocol::fromJSON': not all control paths return a value
```
Commit: 46135ade9ec0b7fd975b5d3923aea95f4d416296
https://github.com/llvm/llvm-project/commit/46135ade9ec0b7fd975b5d3923aea95f4d416296
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Sema] On Windows, silence erroneous warning when building with MSVC
Fixes what seems to be a buggy warning in MSVC:
```
[1/37] Building CXX object tools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaConcept.cpp.obj
C:\git\llvm-project\clang\lib\Sema\SemaConcept.cpp(1933): warning C4101: '$S26': unreferenced local variable
```
Commit: 6e7fe85247301c52d10d234b87f13376e091c77e
https://github.com/llvm/llvm-project/commit/6e7fe85247301c52d10d234b87f13376e091c77e
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
Log Message:
-----------
[AMDGPU] Teach iterative schedulers about IGLP (#134953)
This adds IGLP mutation to the iterative schedulers
(`gcn-iterative-max-occupancy-experimental`, `gcn-iterative-minreg`, and
`gcn-iterative-ilp`).
The `gcn-iterative-minreg` and `gcn-iterative-ilp` schedulers never
actually applied the mutations added, so this also has the effect of
teaching them about mutations in general. The
`gcn-iterative-max-occupancy-experimental` scheduler has calls to
`ScheduleDAGMILive::schedule()`, so, before this, mutations were applied
at this point. Now this is done during calls to `BuildDAG`, with IGLP
superseding other mutations (similar to the other schedulers). We may
end up scheduling regions multiple times, with mutations being applied
each time, so we need to track for
`AMDGPU::SchedulingPhase::PreRAReentry`
Commit: eb68b914dd7f1926daf9cfab19b85765f2a60700
https://github.com/llvm/llvm-project/commit/eb68b914dd7f1926daf9cfab19b85765f2a60700
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
Log Message:
-----------
[NFC][LLVM] Apply std::move to object being pushed back in findSymbolCommon (#135290)
Static analysis found that we could move LineInfo into the Result vector
instead of just copying it.
Commit: 957bd6aa32da8b89571a6e6abb53ec87ad828332
https://github.com/llvm/llvm-project/commit/957bd6aa32da8b89571a6e6abb53ec87ad828332
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[gn] port d1fd97737e90
Commit: 4c67bdd973ee1c308155555500ef39d4e2099a6a
https://github.com/llvm/llvm-project/commit/4c67bdd973ee1c308155555500ef39d4e2099a6a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
Log Message:
-----------
[RISCV] Don't fold offsets into auipc if offset is larger than the reference global variable. (#135297)
The global variable should be within 2GB of the PC, but an offset to an
address outside the global might not be.
Fixes #134525.
Commit: 6aae1047b6c701b407c0cadaf1acd036c1bab6b6
https://github.com/llvm/llvm-project/commit/6aae1047b6c701b407c0cadaf1acd036c1bab6b6
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[clang] ASTImporter: fix SubstNonTypeTemplateParmExpr source location (#135450)
This makes it clear which source location is imported.
Commit: b74dbf7fb2d152109bba29fdb39e0924eb8dc842
https://github.com/llvm/llvm-project/commit/b74dbf7fb2d152109bba29fdb39e0924eb8dc842
Author: Pranav Kant <prka at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add support for SMT Dialect (#135454)
This fixes #131480
Commit: a4fbc6f78f7a276d23f61c93694090fccd2461cb
https://github.com/llvm/llvm-project/commit/a4fbc6f78f7a276d23f61c93694090fccd2461cb
Author: Pranav Kant <prka at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix a typo (#135460)
Commit: 54e70ac7650f1c22f687937d1a082e4152f97b22
https://github.com/llvm/llvm-project/commit/54e70ac7650f1c22f687937d1a082e4152f97b22
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
M mlir/unittests/Dialect/SMT/CMakeLists.txt
R mlir/unittests/Dialect/SMT/QuantifierTest.cpp
Log Message:
-----------
[mlir][SMT] remove custom forall/exists builder because of asan memory leak
Commit: 357e3803bb94cc622c785f7eb60aa38d552bc5ef
https://github.com/llvm/llvm-project/commit/357e3803bb94cc622c785f7eb60aa38d552bc5ef
Author: Sagar Kulkarni <sagar.kulkarni1911 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Prevent folding non memref-type gather into maskedload (#135371)
This patch fixes an issue in the FoldContiguousGather pattern which was
incorrectly folding vector.gather operations with contiguous indices
into vector.maskedload operations regardless of the base operand type.
While vector.gather operations can work on both tensor and memref types,
vector.maskedload operations are only valid for memref types. The
pattern was incorrectly lowering a tensor-based gather into a
masked-load, which is invalid.
This fix adds a type check to ensure the pattern only applies to
memref-based gather operations.
Co-authored-by: Sagar Kulkarni <sagar at rain.ai>
Commit: 336b290923151d02fd6b3050ccbaf74f0aa08339
https://github.com/llvm/llvm-project/commit/336b290923151d02fd6b3050ccbaf74f0aa08339
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Use a DAG combine to prune pointless vrgather.vi (#135392)
If the vrgather.vi is preceeded by a vmv.v.x which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.
This is the start of a mini-series of patches around rewriting
vrgather.vi/vx preceeded by vmv.v.x, vfmf.v.f, vmv.s.x, etc... Starting
with the simplest, but also lowest impact.
One point I'd like a second oppinion on is the out of bounds semenatic
change. As far as I can tell, all the indices are in bounds by
construction. The doc change is as much as I couldn't figure out how to
test the alternative as anything else.
Commit: 3a2d9a7c1e73618ca77caa6455e9208ad3b16664
https://github.com/llvm/llvm-project/commit/3a2d9a7c1e73618ca77caa6455e9208ad3b16664
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][frontend] Expose `CompilerInstance::cloneForModuleCompile()` (#135405)
This PR exposes `cloneForModuleCompile()` as a public `CompilerInstance`
member function. This will be eventually used in the dependency scanner
to customize implicit module builds.
Commit: fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
https://github.com/llvm/llvm-project/commit/fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Accept PLT fall-throughs as valid traces (#129481)
We used to report PLT traces as invalid (mismatching disassembled
function contents) because PLT functions are marked as pseudo and
ignored, thus missing CFG. However, such traces are not mismatching
the function contents. Accept them without attaching the profile.
Test Plan: updated callcont-fallthru.s
Commit: 6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
https://github.com/llvm/llvm-project/commit/6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Remove unneeded FIXME. NFC
The message looks correct to me.
Commit: d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
https://github.com/llvm/llvm-project/commit/d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][sanitizer][NFC] update endif markers for Haiku (#135475)
Commit: 7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
https://github.com/llvm/llvm-project/commit/7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
[NFC][equivalenceClass] Refactor coding style in EquivalenceClasses.h. (#135467)
Commit: b864405c9b848d6815ac4562fe3680c5ce8d90ff
https://github.com/llvm/llvm-project/commit/b864405c9b848d6815ac4562fe3680c5ce8d90ff
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
Log Message:
-----------
MCAsmInfo: Remove unused UseParensForDollarSignNames
Follow-up to 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Commit: 339f58de16ac7a31869d189bec6cad7696958546
https://github.com/llvm/llvm-project/commit/339f58de16ac7a31869d189bec6cad7696958546
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add llvm-symbolizer to CI container
This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.
Commit: 76e07d8ba5286daf349ef19588c8c011162bec09
https://github.com/llvm/llvm-project/commit/76e07d8ba5286daf349ef19588c8c011162bec09
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InferFunctionAttrs/readonly_and_writeonly.ll
M llvm/test/Transforms/LICM/strlen.ll
M llvm/test/Transforms/LoopIdiom/basic.ll
M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[LibCall] Infer nocallback for libcalls (#135173)
This patch adds `nocallback` attributes for string/math libcalls. It
allows FuncAttributor to infer `norecurse` more precisely and encourages
more aggressive global optimization.
Commit: 8b40a09bf50d62e2017611b7be2c55fab22d9572
https://github.com/llvm/llvm-project/commit/8b40a09bf50d62e2017611b7be2c55fab22d9572
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
Log Message:
-----------
[Clang][CodeGen][UBSan] Remove redundant `EmitCheckValue` calls. NFCI (#135141)
`EmitCheckValue` is called inside `EmitCheck`:
https://github.com/llvm/llvm-project/blob/b122956390a6877536927c2b073a0b99f8b9704f/clang/lib/CodeGen/CGExpr.cpp#L3739
The outside calls are redundant because
`EmitCheckValue(EmitCheckValue(V))` always returns `EmitCheckValue(V)`.
Required by https://github.com/llvm/llvm-project/pull/135135.
Commit: 4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
https://github.com/llvm/llvm-project/commit/4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] test for trunc condition (NFC)
Commit: 2b270df2e7be5deef5d471b7624363d9b48b4480
https://github.com/llvm/llvm-project/commit/2b270df2e7be5deef5d471b7624363d9b48b4480
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
A lld/test/COFF/export-alias.test
M llvm/lib/Object/COFFModuleDefinition.cpp
A llvm/test/tools/llvm-lib/underscore.test
Log Message:
-----------
[Object][COFF] Avoid underscore prefix for forwarding exports (#135433)
Fixes #132411.
Commit: 6de15379f4c1ae88ec347c6e000d6f27ad0a948b
https://github.com/llvm/llvm-project/commit/6de15379f4c1ae88ec347c6e000d6f27ad0a948b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[NFC][libc++][test] Minor updates to generated header version test. (#134543)
Adjusting the existing script to match the new output makes it easy to
review the new script works correctly.
This adjusts the tests to match the changes in the new tests, Notably
- removes the synopsis uses 2 spaces indent in `# if`
It does not implement the conditional include part. This would be quite
some effort and these diffs are easy to review manually.
Note there are no tests for the changes; the existing script will be
phased out when the next generators are complete.
Commit: d39d24cec109e99e74a8cfd88d28eb32195a9f2e
https://github.com/llvm/llvm-project/commit/d39d24cec109e99e74a8cfd88d28eb32195a9f2e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
Log Message:
-----------
[libc++][doc] Updates the release notes.
Copies the not-yet-implemented items planned for removal from the
LLVM-20 to the LLVM-21 release notes. This allows to better keep track
of the status of the next release.
Commit: e838b8b7e71df4ee0e3aea6c94f510ee1794d707
https://github.com/llvm/llvm-project/commit/e838b8b7e71df4ee0e3aea6c94f510ee1794d707
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold.ll
Log Message:
-----------
[Matrix] Fix a miscompile due to an incorrect double-transpose fold (#135397)
Transposes are only inverses of each other when they have matching
shapes.
rdar://145592582
Commit: 33e5305c598be9b4f57feba330b963c2142d15cc
https://github.com/llvm/llvm-project/commit/33e5305c598be9b4f57feba330b963c2142d15cc
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Further explain vfmerge.vfm/vmerge.vxm varuat coverage
Commit: c6a892e0ed82a378ad1a69905f70700bf57c68cf
https://github.com/llvm/llvm-project/commit/c6a892e0ed82a378ad1a69905f70700bf57c68cf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
M mlir/unittests/Dialect/SMT/CMakeLists.txt
A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
Log Message:
-----------
[mlir][SMT] restore custom builder for forall/exists (#135470)
This reverts commit 54e70ac7650f1c22f687937d1a082e4152f97b22 which
itself fixed an [asan
leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the
original upstreaming commit. The leak was due to op allocations not
being `free`ed.
~~The necessary change was to explicitly `->destroy()` the ops at the
end of the tests. I believe this is because the rewriter used in the
tests doesn't actually insert them into a module and so without an
explicit `->destroy()` no bookkeeping process is able to take care of
them.~~
The necessary change was to use `OwningOpRef` which calls `op->erase()`
in its [own
destructor](https://github.com/makslevental/llvm-project/blob/89cfae41ecc043f8c47be4dea4b7c740d4f950b3/mlir/include/mlir/IR/OwningOpRef.h#L39).
Commit: b233d79623dd3a6d307db2bc73ddd12e3a054460
https://github.com/llvm/llvm-project/commit/b233d79623dd3a6d307db2bc73ddd12e3a054460
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/r600.llvm.is.fpclass.ll
Log Message:
-----------
R600: Expand is_fpclass (#135234)
Commit: 009971a0d3218d3af0d10fb70d2c876ccc46b24d
https://github.com/llvm/llvm-project/commit/009971a0d3218d3af0d10fb70d2c876ccc46b24d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Accurately calculate where the source variable ops start in PseudoLoweringEmitter::emitLoweringEmitter. (#135465)
The code was using the number of source operands plus one. The plus one
seems to be an ARM specific value accounting for one of the source
operands having 2 sub operands. No other target in tree uses
PseudoLowering with variadic instructions so this worked.
This patch replaces it with a proper count of the number of sub operands
of all operands. While there I update the loop to use MIOperandNo so we
don't need to count up the sub operands as we go.
Commit: 761787d42576751afbaaba5107233ee849f81b6f
https://github.com/llvm/llvm-project/commit/761787d42576751afbaaba5107233ee849f81b6f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
Reland: [clang] Improved canonicalization for template specialization types (#135414)
This relands https://github.com/llvm/llvm-project/pull/135119, after
fixing crashes seen in LLDB CI reported here:
https://github.com/llvm/llvm-project/pull/135119#issuecomment-2794910840
Fixes https://github.com/llvm/llvm-project/pull/135119
This changes the TemplateArgument representation to hold a flag
indicating whether a tempalte argument of expression type is supposed to
be canonical or not.
This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292
This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now.
This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.
This fixes some places which were unnecessarily canonicalizing these
TSTs.
Commit: b71123f1272ee081b18b8ced1925d6e9300e7310
https://github.com/llvm/llvm-project/commit/b71123f1272ee081b18b8ced1925d6e9300e7310
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Pre-commit tests for static members and functions (#135456)
Issue #59813 mentions that static members are not included in
the documentation generated by clang-doc. This patch adds
some basic testing for that property, with the current incorrect
behavior. Follow up patches will address the missing documentation.
Commit: 995fd47944f471e985e34d7da8c0667059decbac
https://github.com/llvm/llvm-project/commit/995fd47944f471e985e34d7da8c0667059decbac
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
Log Message:
-----------
[LAA] Make sure MaxVF for Store-Load forward safe dep distances is pow2.
MaxVF computed in couldPreventStoreLoadFowrard may not be a power of 2,
as CommonStride may not be a power-of-2.
This can cause crashes after 78777a20. Use bit_floor to make sure it is
a suitable power-of-2.
Fixes https://github.com/llvm/llvm-project/issues/134696.
Commit: 4fa3b2a1843c42f333d7332b373ae99428883974
https://github.com/llvm/llvm-project/commit/4fa3b2a1843c42f333d7332b373ae99428883974
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use TypeAnalysis instead of underlying instr in VPPredInst (NFC)
Removes another unnecessary use of the underlying instructions during
VPlan execution.
Commit: 5bdad0555eae01e5eef6a1360c1637a5d9bcde79
https://github.com/llvm/llvm-project/commit/5bdad0555eae01e5eef6a1360c1637a5d9bcde79
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++][NFC] Remove a few aliases in __tree (#134392)
These aliases aren't required anymore, since we've taken an ABI break
unconditionally which these were used to avoid.
Commit: acf964b95f5421cc372719139b427be37ad79e7e
https://github.com/llvm/llvm-project/commit/acf964b95f5421cc372719139b427be37ad79e7e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/include/mlir/InitAllTranslations.h
A mlir/include/mlir/Target/SMTLIB/ExportSMTLIB.h
A mlir/include/mlir/Target/SMTLIB/Namespace.h
A mlir/include/mlir/Target/SMTLIB/SymCache.h
M mlir/lib/Target/CMakeLists.txt
A mlir/lib/Target/SMTLIB/CMakeLists.txt
A mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
A mlir/test/Target/SMTLIB/array.mlir
A mlir/test/Target/SMTLIB/attributes.mlir
A mlir/test/Target/SMTLIB/bitvector-errors.mlir
A mlir/test/Target/SMTLIB/bitvector.mlir
A mlir/test/Target/SMTLIB/core-errors.mlir
A mlir/test/Target/SMTLIB/core.mlir
A mlir/test/Target/SMTLIB/integer-errors.mlir
A mlir/test/Target/SMTLIB/integer.mlir
Log Message:
-----------
[mlir][SMT] add export smtlib (#131492)
This PR adds the `ExportSMTLIB` translation/egress pass for `SMT`
dialect.
Commit: 75dea80085ff9870239109275a2f19d6709fbe65
https://github.com/llvm/llvm-project/commit/75dea80085ff9870239109275a2f19d6709fbe65
Author: Min Hsu <min at myhsu.dev>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Consolidate all my email addresses
Commit: f0dc236d3384e5d5dce2e39a8a3202325899eae5
https://github.com/llvm/llvm-project/commit/f0dc236d3384e5d5dce2e39a8a3202325899eae5
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/rv32c-invalid.s
Log Message:
-----------
[RISCV][NFC] Correct c_lui_imm (#135448)
The MCOperandPredicate seems to allow symbols as well as immediates, but
the parser/matcher does not due to `isCLUIImm`. This brings both in line
with each other, and should prevent trying to compress a `lui` with a
symbol, which cannot be emitted as a `c.lui` as there are no relocations
for this as `R_RISCV_RVC_LUI` is deprecated/removed.
Commit: d903f6b672cb7ebb162e3ef98f483e79b180a413
https://github.com/llvm/llvm-project/commit/d903f6b672cb7ebb162e3ef98f483e79b180a413
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Target/SMTLIB/CMakeLists.txt
Log Message:
-----------
[mlir][SMT] fix MLIRExportSMTLIB by linking MLIRArithDialect
Commit: bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
https://github.com/llvm/llvm-project/commit/bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Target/SMTLIB/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix build after #131492 (#135502)
After #131492 is appears that linking MLIRAritDialect was missing.
Commit: 09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
https://github.com/llvm/llvm-project/commit/09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format][NFC] Add isJava() and isTextProto() in FormatStyle (#135466)
Also remove redundant name qualifiers format::, FormatStyle::, and
LanguageKind::.
Commit: 5f744cc6301abb3be5a500b2fcbc944fe2bd3241
https://github.com/llvm/llvm-project/commit/5f744cc6301abb3be5a500b2fcbc944fe2bd3241
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Wrap and indent lambda braces in GNU style (#135479)
Fix #133135
Commit: b0fede358fea768ead2dc5d59ad0b6b2decc4217
https://github.com/llvm/llvm-project/commit/b0fede358fea768ead2dc5d59ad0b6b2decc4217
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/AMDGPU/Inputs/in-f1.ll
A llvm/test/ThinLTO/AMDGPU/force-import-all.ll
A llvm/test/ThinLTO/AMDGPU/lit.local.cfg
Log Message:
-----------
[ThinLTO] Don't convert functions to declarations if `force-import-all` is enabled (#134541)
On one hand, we intend to force import all functions when the option is
enabled.
On the other hand, we currently drop definitions of some functions and
convert
them to declarations, which contradicts this intent.
With this PR, functions will no longer be converted to declarations when
`force-import-all` is enabled.
Commit: 60b1d44d708d5912897c7bdab681cbefe8f35e79
https://github.com/llvm/llvm-project/commit/60b1d44d708d5912897c7bdab681cbefe8f35e79
Author: Sayan Saha <sayans at mathworks.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa]: canonicalize dynamic size of tosa.slice to static output shape (#135429)
Addresses https://github.com/llvm/llvm-project/issues/135389
Commit: cfa322fa9a693d4ba652871fafc6dbb2039b55a2
https://github.com/llvm/llvm-project/commit/cfa322fa9a693d4ba652871fafc6dbb2039b55a2
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__algorithm/sort.h
M libcxx/include/__bit/bit_log2.h
Log Message:
-----------
[libc++][NFC] Reuse `__bit_log2` for `sort` (#135303)
The `__log2i` function template in `<algorithm/sort.h>` is basically
equivalent to `__bit_log2` in `<__bit/bit_log2.h>`. It seems better to
avoid duplication.
Commit: b0acbbee88f8ae706658f2a7635df4ce39e15e74
https://github.com/llvm/llvm-project/commit/b0acbbee88f8ae706658f2a7635df4ce39e15e74
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector] Fix deprecation warning for `.isa`. NFC. (#135512)
This was introduced in: https://github.com/llvm/llvm-project/pull/135371
Commit: 39662922e15c53f54da93b5a1d029589d49caec9
https://github.com/llvm/llvm-project/commit/39662922e15c53f54da93b5a1d029589d49caec9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Refine absoluteSymbolDiff condition
The function is called to test the fast path - when Lo/Hi are within the
same fragment. This is unsafe - Lo/Hi at the begin and end of a
relaxable fragment should not evaluate to a constant. However, we don't
have tests that exercise the code path.
Nevertheless, make the check safer and remove the now unnecessary
isRISCV check (from https://reviews.llvm.org/D103539).
Commit: 3e7be494f84e51d5f4245d6f39e380a500f226a6
https://github.com/llvm/llvm-project/commit/3e7be494f84e51d5f4245d6f39e380a500f226a6
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Test `nasty_string` in C++20 (#135338)
It seems that we can only rely on C++20 features and make `nasty_string`
also tested for MSVC STL.
Commit: 329a675006a22da89ca39199fac4408e3ae4eee4
https://github.com/llvm/llvm-project/commit/329a675006a22da89ca39199fac4408e3ae4eee4
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify STT_SECTION adjustment. NFC
Commit: 1c5961c0481b9c7421d38e3141d3c5a1e6084234
https://github.com/llvm/llvm-project/commit/1c5961c0481b9c7421d38e3141d3c5a1e6084234
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
ELFObjectWriter: Disable STT_SECTION adjustment for .reloc
to match GNU Assembler. This generalizes the SHT_LLVM_CALL_GRAPH_PROFILE
(which uses BFD_RELOC_NONE https://reviews.llvm.org/D104080) special case.
Commit: 3ff634dee857c4d71ff665e49d38005e608de8a0
https://github.com/llvm/llvm-project/commit/3ff634dee857c4d71ff665e49d38005e608de8a0
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
Revert "ELFObjectWriter: Disable STT_SECTION adjustment for .reloc"
This reverts commit 1c5961c0481b9c7421d38e3141d3c5a1e6084234.
Inadvertently pushed.
Commit: 302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
https://github.com/llvm/llvm-project/commit/302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
Log Message:
-----------
[clang-tidy] `matchesAnyListedTypeName` support non canonical types (#134869)
Commit: 06814834a63139ff27efe3bdbc6dc15d46666b39
https://github.com/llvm/llvm-project/commit/06814834a63139ff27efe3bdbc6dc15d46666b39
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
Log Message:
-----------
[clang-tidy] treat unsigned char and signed char as char type by default in bugprone-unintended-char-ostream-output (#134870)
Add `AllowedTypes` options to support custom defined char like type.
treat `unsigned char` and `signed char` as char like type by default.
The allowed types only effect when the var decl or explicit cast to this
non-canonical type names.
Fixed: #133425
Commit: 734660b6dd95d37604ac43f43de4f8da518e7319
https://github.com/llvm/llvm-project/commit/734660b6dd95d37604ac43f43de4f8da518e7319
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify STT_SECTION adjustment
Commit: 19730e37ec5d3513d188a75999c964f2ef4b9509
https://github.com/llvm/llvm-project/commit/19730e37ec5d3513d188a75999c964f2ef4b9509
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Make .reloc test generic
Move `Fixup.getKind() >= FirstLiteralRelocationKind` from target hooks
to ELFObjectWriter::recordRelocation.
Currently, getRelocType cannot be skipped for LoongArch due to #135519
Commit: 6196379baf4fe42b6c1a4bea270df39b7152547b
https://github.com/llvm/llvm-project/commit/6196379baf4fe42b6c1a4bea270df39b7152547b
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
Log Message:
-----------
[PowerPC] Fix -Wunused-variable
Commit: 7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
https://github.com/llvm/llvm-project/commit/7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix warning
This patch fixes:
bolt/lib/Core/BinaryContext.cpp:582:8: error: unused variable
'printEntryDiagnostics' [-Werror,-Wunused-variable]
bolt/lib/Core/BinaryContext.cpp:842:10: error: unused variable
'isSibling' [-Werror,-Wunused-variable]
Commit: f4fba20726aced418dc7ae24e47ee78f109a64cb
https://github.com/llvm/llvm-project/commit/f4fba20726aced418dc7ae24e47ee78f109a64cb
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBReproducer.h
M lldb/include/lldb/Core/Debugger.h
R lldb/scripts/reproducer-replay.py
M lldb/source/API/SBReproducer.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Interpreter/TestCommandPaths.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/ProcessEventDataTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
M lldb/unittests/Target/ExecutionContextTest.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/Target/StackFrameRecognizerTest.cpp
M lldb/unittests/Thread/ThreadTest.cpp
Log Message:
-----------
[lldb] Remove vestigial remnants of reproducers (#135361)
Not touching the SB API.
Commit: d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
https://github.com/llvm/llvm-project/commit/d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
Revert "[tosa]: canonicalize dynamic size of tosa.slice to static output shape" (#135525)
Reverts llvm/llvm-project#135429 due buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/169/builds/10405
Based on the ASan output, I think after the replaceOp on line 775, it's
no longer valid to do getSize() on sliceOp:
```
775 rewriter.replaceOp(sliceOp, newSliceOp.getResult());
776
777 // Remove const_shape size op when it no longer has use point.
778 Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```
Commit: 12a7155ee290d62fef00362554b392a98b75fb77
https://github.com/llvm/llvm-project/commit/12a7155ee290d62fef00362554b392a98b75fb77
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port mlir-translate bits of acf964b95f54.
Commit: 5c45e239e81972ec3ff84b1650825385ccad0d46
https://github.com/llvm/llvm-project/commit/5c45e239e81972ec3ff84b1650825385ccad0d46
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
Log Message:
-----------
[libc++][test][NFC] Remove unused inclusions of `<iostream>` (#134776)
Some test files for flat container adaptors redundantly include
`<iostream>` and, surprisingly, `<cstddef>`. This patch removes the
redundant inclusions.
Inclusions of `<vector>` is also removed since a sane implementation is
expected to make instantiation of `flat_(multi)map<K, V>` or
`flat_(multi)set<K>` valid when only `<flat_map>` or `<flat_set>` is
included.
Commit: 028429ac452acde227ae0bfafbfe8579c127e1ea
https://github.com/llvm/llvm-project/commit/028429ac452acde227ae0bfafbfe8579c127e1ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)
These have been empty since July 2023
Commit: 1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
https://github.com/llvm/llvm-project/commit/1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
Reapply "[lldb] ProcessGdbRemote header gardning"
This reverts commit 68ab45f0533f3bbfc1c96bddd53de7e769180219, reapplying
2fd860c1f559c0b0be66cc000e38270a04d0a1a3. The only change is keeping
"lldb/Host/Config.h", which I believe was the cause of the failures.
Commit: ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
https://github.com/llvm/llvm-project/commit/ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[MC] Remove SetUsed on isUndefined and getFragment
Due to the known limitations of .set reassignment (see
https://sourceware.org/PR288), we use diagnostics to reject patterns
that could lead to errors (ae7ac010594f693fdf7b3ab879e196428d961e75 2009-06)).
This code gets refined multiple times, see:
* 9b4a824217f1fe23f83045afe7521acb791bc2d0 (2010-05) `IsUsedInExpr`
* 46c79ef1132607aead144dfda0f26aa8b065214f (2010-11) renamed `IsUsedInExpr` to `IsUsed`
The related `SetUsed` bit seems unnecessary nowadays.
Commit: 1004fae222efeee215780c4bb4e64eb82b07fb4f
https://github.com/llvm/llvm-project/commit/1004fae222efeee215780c4bb4e64eb82b07fb4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
flang: Try to update test for oclc_daz_opt removal
Try to fix bot failure after 028429ac452acde227ae0bfafbfe8579c127e1ea
Commit: 4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
https://github.com/llvm/llvm-project/commit/4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__atomic/memory_order.h
M libcxx/include/__functional/hash.h
M libcxx/include/__type_traits/underlying_type.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/future
Log Message:
-----------
[libc++] Use __underlying_type directly in underyling_type_t (#135423)
This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.
Commit: 3bebda0758409e91c25fa5add72ff22f3ddff609
https://github.com/llvm/llvm-project/commit/3bebda0758409e91c25fa5add72ff22f3ddff609
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Mark VPWidenCallRecipe as a VPRecipeWithIRFlags (#135373)
I noticed VPWidenCallRecipe was missing here, it looks like it should be
handled in VPRecipeWithIRFlags::classof
Commit: 84666d68740bea9eee19399ab5c8622ff2f6e9ca
https://github.com/llvm/llvm-project/commit/84666d68740bea9eee19399ab5c8622ff2f6e9ca
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
Add back include for AutoConvert.h as it's needed for z/OS (#135430)
The commit
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
removed an include that is needed when building on z/OS.
Commit: beac727e48346efb84558696fb080b1bbd07e234
https://github.com/llvm/llvm-project/commit/beac727e48346efb84558696fb080b1bbd07e234
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
IROutliner: Do not look at use lists of constant phi inputs (#135019)
Theoretically this does a worse job with globals but this is not
covered by existing tests
Commit: 09588e93bbe486ce782de9fba604f5cd184ec446
https://github.com/llvm/llvm-project/commit/09588e93bbe486ce782de9fba604f5cd184ec446
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode] Fix an inconsistency with loop condition jumps (#135530)
When emitting the jump for e.g. a for loop condition, we used to jump
out of the CondScope, leaving the scope initialized, because we skipped
the corresponding Destroy opcode. If that loop was in a loop itself,
that outer loop could then iterate once more, leading to us initializing
a scope that was still initialized.
Fix this by also destroying the scope after the EndLabel.
Commit: 0f607f3df54e22896b484510f0c1ccfb718de67a
https://github.com/llvm/llvm-project/commit/0f607f3df54e22896b484510f0c1ccfb718de67a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Simplify 'or x, true' -> true.
Add additional OR simplification to fix a divergence between legacy and
VPlan-based cost model.
This adds a new m_AllOnes matcher by generalizing specific_intval to
int_pred_ty, which takes a predicate to check to support matching both
specific APInts and other APInt predices, like isAllOnes.
Fixes https://github.com/llvm/llvm-project/issues/131359.
Commit: ed43207306f7351f2b4f8284710b028df973d74e
https://github.com/llvm/llvm-project/commit/ed43207306f7351f2b4f8284710b028df973d74e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] Handle trunc condition in foldBranchToCommonDest. (#135490)
proof: https://alive2.llvm.org/ce/z/v32Aof
Commit: 77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
https://github.com/llvm/llvm-project/commit/77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#132660)
Commit: bb9580a02b393683ff0b6c360df684f33c715a1f
https://github.com/llvm/llvm-project/commit/bb9580a02b393683ff0b6c360df684f33c715a1f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/pr135531.ll
Log Message:
-----------
[SCEV] Use ashr to adjust constant multipliers (#135534)
SCEV converts "-2 *nsw (i32 V)" into "2148473647 *nsw (i32 V)". But we
cannot preserve the nsw flag when the constant multiplier is negative.
This patch changes lshr to ashr so that we can preserve both nsw and nuw
flags.
Alive2 proof: https://alive2.llvm.org/ce/z/LZVSEa
Closes https://github.com/llvm/llvm-project/issues/135531.
Commit: 5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
https://github.com/llvm/llvm-project/commit/5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Check captured operand when simplifying redundant OR.
Follow-up to 0f607f to actually use the captured operand X instead of Y.
Commit: 703cfe745b96751c1204bcffe4e56038c809247f
https://github.com/llvm/llvm-project/commit/703cfe745b96751c1204bcffe4e56038c809247f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__bit/popcount.h
M libcxx/include/__stop_token/atomic_unique_lock.h
Log Message:
-----------
[libc++] Replace __libcpp_popcount by __builtin_popcountg (#133937)
`__libcpp_popcount` was previously used as a fallback for `__builtin_popcountg` to ensure compatibility with older compilers (Clang 18 and earlier), as `__builtin_popcountg` became available in Clang 19. Now that support for Clang 18 has been officially dropped in #130142, we can now safely replace all instances of `__libcpp_popcount` with `__builtin_popcountg` and eliminate the fallback logic.
Commit: 62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
https://github.com/llvm/llvm-project/commit/62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#135540)
Commit: 4b4cd645a829b8e510bdb008f449969d7bf53c30
https://github.com/llvm/llvm-project/commit/4b4cd645a829b8e510bdb008f449969d7bf53c30
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated map lookups (NFC) (#135541)
Commit: d1d5f00a8eb43aaa22274c06b58d567f19e284fe
https://github.com/llvm/llvm-project/commit/d1d5f00a8eb43aaa22274c06b58d567f19e284fe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Passes/StandardInstrumentations.cpp
Log Message:
-----------
[Passes] Avoid repeated hash lookups (NFC) (#135542)
Commit: ccfb97b42174eab118a4e4222c25e986db876563
https://github.com/llvm/llvm-project/commit/ccfb97b42174eab118a4e4222c25e986db876563
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
Revert "clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)"
This reverts commit 028429ac452acde227ae0bfafbfe8579c127e1ea and
1004fae222efeee215780c4bb4e64eb82b07fb4f.
These really need to be part of the compiler distribution. Bots are
relying on a nearly year old version to provide bitcode.
Commit: 1264d7a53a4de3094672be2a248db57b213f33ac
https://github.com/llvm/llvm-project/commit/1264d7a53a4de3094672be2a248db57b213f33ac
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[driver] Generalize the code that adds the path of libflang_rt.runtime.a. (#134362)
The PR is to generalize the re-use of the `compilerRT` code of adding
the path of `libflang_rt.runtime.a (so)` from AIX and LoP only to all
platforms via a new function `addFlangRTLibPath`.
It also added `-static-libflangrt` and `-shared-libflangrt` compiler
options to allow users choosing which `flang-rt` to link to. It defaults
to shared `flang-rt`, which is consistent with the linker behavior,
except on AIX, it defaults to static.
Also, PR #134320 exposed an issue in PR #131041 that the the overriding
`addFortranRuntimeLibs` is missing the link to `libquadmath`. This PR
also fixed that and restored the test case that PR #131041 broke.
Commit: 578ca5e469ef1c91a79aa15bc186921ee7faa855
https://github.com/llvm/llvm-project/commit/578ca5e469ef1c91a79aa15bc186921ee7faa855
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Print jump lines in Function::dump() (#135482)
E.g. for
```c++
constexpr int foo(int b) {
int a = 1+1;
for (int i = 0; i < b; ++i) {
++a;
}
return a;
}
```
we now print:
```
foo 0x7cc8d4bf0580
frame size: 128
arg size: 8
rvo: 0
this arg: 0
0 InitScope 0
16 ConstSint32 1
32 ConstSint32 1
48 AddSint32
56 SetLocalSint32 40
72 ConstSint32 0
88 SetLocalSint32 104
104 GetPtrLocal 104 <-+
120 LoadPopSint32 |
128 GetPtrParam 0 |
144 LoadPopSint32 |
152 LTSint32 |
160 Jf 80 --+ |
176 GetPtrLocal 40 | |
192 IncPopSint32 1 | |
208 GetPtrLocal 104 | |
224 IncPopSint32 1 | |
240 Jmp -152 | --+
256 GetPtrLocal 40 <-+
272 LoadPopSint32
280 Destroy 0
296 RetSint32
304 Destroy 0
320 NoRet
```
Commit: ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
https://github.com/llvm/llvm-project/commit/ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] Use `byref` for aggregate OpenCL kernel arguments (#134892)
Due to a previous workaround allowing kernels to be called from other
functions,
Clang currently doesn't use the `byref` attribute for aggregate kernel
arguments. The issue was recently resolved in
https://github.com/llvm/llvm-project/pull/115821. With that fix, we can
now
enable the use of `byref` consistently across all languages.
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Fixes SWDEV-247226.
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
https://github.com/llvm/llvm-project/commit/db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/test/Transforms/ObjCARC/contract.ll
Log Message:
-----------
ObjCARC: Add regressed testcase from #134275
Commit: a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
https://github.com/llvm/llvm-project/commit/a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/sincospi.ll
Log Message:
-----------
SimplifyLibCalls: Skip sincospi optimization for ConstantData (#134688)
Avoids looking at the uselist, and it would probably be more
productive to constant fold this.
Commit: b37476f99c37a9edf48684d82dde745d9e0df957
https://github.com/llvm/llvm-project/commit/b37476f99c37a9edf48684d82dde745d9e0df957
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Analysis/PHITransAddr.cpp
M llvm/test/Transforms/GVN/pr65447.ll
Log Message:
-----------
PHITransAddr: Avoid looking at constant use lists (#134689)
Avoids asserts in GVN
Commit: 393c783a10052b14d2b76b3ee930b3d83e7f1a16
https://github.com/llvm/llvm-project/commit/393c783a10052b14d2b76b3ee930b3d83e7f1a16
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/swdev380865.ll
M llvm/test/CodeGen/PowerPC/pr43527.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/sms-grp-order.ll
M llvm/test/Transforms/LICM/pr50367.ll
M llvm/test/Transforms/LICM/pr59324.ll
Log Message:
-----------
LICM: Avoid looking at use list of constant data (#134690)
The codegen test changes seem incidental. Either way,
sms-grp-order.ll seems to already not hit the original issue.
Commit: 30ae47eeefaeb2c78ae7f234621b8bb0444b7844
https://github.com/llvm/llvm-project/commit/30ae47eeefaeb2c78ae7f234621b8bb0444b7844
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
SCEVExpander: Don't look at uses of constants (#134691)
This could be more relaxed, and look for uses of globals in
the same function but no tests apparently depend on that.
Commit: 0a27c4e318e778b520306a9e2102e03023cfaa33
https://github.com/llvm/llvm-project/commit/0a27c4e318e778b520306a9e2102e03023cfaa33
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
M llvm/include/llvm/TableGen/Main.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/TableGen/CMakeLists.txt
M llvm/lib/TableGen/Main.cpp
A llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/Basic/TableGen.cpp
M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn
Log Message:
-----------
[StrTable] Use string literal emission for intrinsics on non-MSVC platforms (#124856)
This mainly transitions the LLVM intrinsic string table from character
emission to string literal emission, which I confirmed happens for me
locally.
I moved the guts of StringToOffsetTable to a cpp file so I could move
the `EmitLongStrLiterals` cl::opt global to a non-vague linkage home in
the `TableGen` library. I had to add missing FormatVariadic.h includes
to account for moving other includes to a cpp file.
Commit: 5f11d64cfb44fc0adf3d3235b0e480d930379e9d
https://github.com/llvm/llvm-project/commit/5f11d64cfb44fc0adf3d3235b0e480d930379e9d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in AlignConsecutiveDeclarations (#135516)
Fix #109768
Commit: c41ef751f85ee42f40380d064f44cfd347fb6215
https://github.com/llvm/llvm-project/commit/c41ef751f85ee42f40380d064f44cfd347fb6215
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Treat lambda in braced init as inline (#135520)
Fix #125430
Commit: dd107b20daedbc49dc3003ae2cb2e846267c308c
https://github.com/llvm/llvm-project/commit/dd107b20daedbc49dc3003ae2cb2e846267c308c
Author: Firas Khalil Khana <firasuke at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libunwind/docs/BuildingLibunwind.rst
Log Message:
-----------
Update LIBUNWIND_ENABLE_WERROR default value in BuildingLibunwind.rst (#135546)
`LIBUNWIND_ENABLE_WERROR` defaults to `OFF` according to
[CMakeLists.txt](https://github.com/llvm/llvm-project/blob/main/libunwind/CMakeLists.txt#L43).
Commit: 974bda8f61e056f90b17baa6db686c91d20ebe9d
https://github.com/llvm/llvm-project/commit/974bda8f61e056f90b17baa6db686c91d20ebe9d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Reject constexpr-unknown pointers from Inc ops (#135548)
We used to accept c++ as a known value here, causing wrong codegen.
Commit: c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
https://github.com/llvm/llvm-project/commit/c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/function-call-invalid.s
M llvm/test/MC/RISCV/tail-call-invalid.s
Log Message:
-----------
RISCVAsmParser: Reject call foo at invalid
... instead of silently parsing and ignoring it without leaving an error
message.
While here, remove an unreachable `@plt`.
Pull Request: https://github.com/llvm/llvm-project/pull/135509
Commit: d893d129e6ee8b4dead1532cd8420750908acca6
https://github.com/llvm/llvm-project/commit/d893d129e6ee8b4dead1532cd8420750908acca6
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-unsupported.mlir
M mlir/test/Dialect/GPU/shuffle-rewrite.mlir
Log Message:
-----------
[mlir] GPUToROCDL: Fix crashes with unsupported shuffle datatypes (#135504)
Calling `getIntOrFloatBitWidth` on non-int/float types (`gpu.shuffle`
also accepts vectors) will crash.
Commit: e555ccaa4da77b5d3065ed7d002e7073db995199
https://github.com/llvm/llvm-project/commit/e555ccaa4da77b5d3065ed7d002e7073db995199
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[llvm] Call *Map::erase directly (NFC) (#135545)
Commit: 91a205653e8fa5a338c985b9a9dbaaaec62e3475
https://github.com/llvm/llvm-project/commit/91a205653e8fa5a338c985b9a9dbaaaec62e3475
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-rdffr-predication.ll
Log Message:
-----------
[AArch64][SVE] Instcombine ptrue(all) to splat(i1) (#135016)
SVE Operations such as predicated loads become canonicalized to LLVM
masked loads, and doing the same for ptrue(all) to splat(1) creates
further optimization opportunities from generic LLVM IR passes.
Commit: 543351babff4144675ee8259eeddafc7b441bf0c
https://github.com/llvm/llvm-project/commit/543351babff4144675ee8259eeddafc7b441bf0c
Author: Sayan Saha <sayans at mathworks.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa] : Re-enable PR #135429 with ASAN fix (#135560)
Removed the calls to `sizeOp` after replacing `SliceOp`:
```
// Remove const_shape size op when it no longer has use point.
Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```
Turns out as part of canonicalization, trivially dead ops are removed
anyway, so the above piece of code isn't actually needed.
Commit: 87322c903976b4b24b96f460719181cbebde1547
https://github.com/llvm/llvm-project/commit/87322c903976b4b24b96f460719181cbebde1547
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
Log Message:
-----------
[ObjCopy] Use llvm::reverse (NFC) (#135559)
Commit: 99df442df1f88c1078c433618c75ee62f3dd8512
https://github.com/llvm/llvm-project/commit/99df442df1f88c1078c433618c75ee62f3dd8512
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
Log Message:
-----------
Skip test on Darwin
Commit: 3de93015386f17d3430c6534b9fa3e2a9adfaa1a
https://github.com/llvm/llvm-project/commit/3de93015386f17d3430c6534b9fa3e2a9adfaa1a
Author: Yoann Congal <yoann.congal at smile.fr>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
Log Message:
-----------
[clangd] Add a build option to disable building dexp (#133124)
Building dexp on Debian 11 currently causes intermittent failures [0] [1].
Adding the CLANGD_BUILD_DEXP option to disable dexp from the build
allows Debian 11 users to build clang (albeit without the dexp tool).
This option is set to "Build Dexp" by default so, no change is expected
without manual setting.
[0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101322
Commit: 425ccd50dc6dd154c448fba8dbcbb4d2f726b331
https://github.com/llvm/llvm-project/commit/425ccd50dc6dd154c448fba8dbcbb4d2f726b331
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
Log Message:
-----------
[gn] port 3de93015386f
Commit: cbe8f3ad7621e402b050e768f400ff0d19c3aedd
https://github.com/llvm/llvm-project/commit/cbe8f3ad7621e402b050e768f400ff0d19c3aedd
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] fix fmac_f16_t16 vop3 format (#135464)
add fmac_f16_t16_e64 to isfmac check to fix the vop3 format of
fmac_f16_t16 instruction
Commit: 52e45a79ad24f8a2347a5566e6abaa207918df62
https://github.com/llvm/llvm-project/commit/52e45a79ad24f8a2347a5566e6abaa207918df62
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Target/Language.cpp
Log Message:
-----------
[lldb][Language] Change GetFunctionDisplayName to take SymbolContext by reference (#135536)
Both the `CPlusPlusLanguage` plugins and the Swift language plugin
already assume the `sc != nullptr`. And all `FormatEntity` callsites of
`GetFunctionDisplayName` already check for nullptr before passing `sc`.
This patch makes this pre-condition explicit by changing the parameter
to `const SymbolContext &`. This will help with some upcoming changes in
this area.
Commit: 5710759eb390c0d5274c2a4d43967282d7df1993
https://github.com/llvm/llvm-project/commit/5710759eb390c0d5274c2a4d43967282d7df1993
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend,X86: Pass MCValue to fixupNeedsRelaxationAdvanced. NFC
This parameter eliminates a redundant computation for VK_ABS8 in X86 and
reduces reliance on shouldForceRelocation in relaxation decisions.
Note: `local: jmp local at plt` relaxes JMP. This behavior depends on
fixupNeedsRelaxation calling shouldForceRelocation, which might change
in the future.
Commit: 1e153b782ea3054c02dd0016314fca11a5d781da
https://github.com/llvm/llvm-project/commit/1e153b782ea3054c02dd0016314fca11a5d781da
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
Log Message:
-----------
[lldb][Format] Display only the inlined frame name in backtraces if available (#135343)
When a frame is inlined, LLDB will display its name in backtraces as
follows:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3
* frame #0: 0x0000000100000398 a.out`func() [inlined] baz(x=10) at inline.cpp:1:42
frame #1: 0x0000000100000398 a.out`func() [inlined] bar() at inline.cpp:2:37
frame #2: 0x0000000100000398 a.out`func() at inline.cpp:4:15
frame #3: 0x00000001000003c0 a.out`main at inline.cpp:7:5
frame #4: 0x000000026eb29ab8 dyld`start + 6812
```
The longer the names get the more confusing this gets because the first
function name that appears is the parent frame. My assumption (which may
need some more surveying) is that for the majority of cases we only care
about the actual frame name (not the parent). So this patch removes all
the special logic that prints the parent frame.
Another quirk of the current format is that the inlined frame name does
not abide by the `${function.name-XXX}` format variables. We always just
print the raw demangled name. With this patch, we would format the
inlined frame name according to the `frame-format` setting (see the
test-cases).
If we really want to have the `parentFrame [inlined] inlinedFrame`
format, we could expose it through a new `frame-format` variable (e..g.,
`${function.inlined-at-name}` and let the user decide where to place
things.
Commit: 634f9a981571eae000c1adc311014c5c64486187
https://github.com/llvm/llvm-project/commit/634f9a981571eae000c1adc311014c5c64486187
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
Log Message:
-----------
ARMAsmBackend: Use fixupNeedsRelaxationAdvanced. NFC
This prepares for the upcoming change to simplify relocation recording
in MCAssembler.
While both MCAssembler::fixupNeedsRelaxation and
MCAssembler::handleFixup call evaluateFixup and use
shouldForceRelocation, the shouldForceRelocation logic is not supposed
to be needed by MCAssembler::fixupNeedsRelaxation.
The ARM special cases for interworking branches
(https://reviews.llvm.org/D33436 and https://reviews.llvm.org/D33898)
break the assumption. Switch to fixupNeedsRelaxationAdvanced and
explicitly test the conditions.
Commit: af7a7ba4aadea3600e78a5f522b72e5413c8e595
https://github.com/llvm/llvm-project/commit/af7a7ba4aadea3600e78a5f522b72e5413c8e595
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][Format][NFC] Factor FunctionNameWithArgs case out into helper function
Commit: 5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
https://github.com/llvm/llvm-project/commit/5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Refactor fixup evaluation and relocation generation
Follow-up to commits 5710759eb390c0d5274c2a4d43967282d7df1993
and 634f9a981571eae000c1adc311014c5c64486187
- Integrate `evaluateFixup` into `recordRelocation` and inline code
within `MCAssembler::layout`, removing `handleFixup`.
- Update `fixupNeedsRelaxation` to bypass `shouldForceRelocation` when
calling `evaluateFixup`, eliminating the `WasForced` workaround for
RISC-V linker relaxation (https://reviews.llvm.org/D46350 ).
Commit: 20d35fe5a58c3d90613dd50ec91aca700e111726
https://github.com/llvm/llvm-project/commit/20d35fe5a58c3d90613dd50ec91aca700e111726
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm] Use llvm::is_contained (NFC) (#135566)
Commit: dc5178cc41d876b4e3d8ace9545f6e9898ef654b
https://github.com/llvm/llvm-project/commit/dc5178cc41d876b4e3d8ace9545f6e9898ef654b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#135567)
Commit: f1ba4bb805b918bc464aa7232cb446cca10ef5a3
https://github.com/llvm/llvm-project/commit/f1ba4bb805b918bc464aa7232cb446cca10ef5a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#135568)
Commit: 1f195afa57942db3f616e0595eb5816d1359dd2e
https://github.com/llvm/llvm-project/commit/1f195afa57942db3f616e0595eb5816d1359dd2e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Use llvm::erase_if (NFC) (#135574)
Commit: ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
https://github.com/llvm/llvm-project/commit/ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/CodeGen/attr-target-x86.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86][AVX10] Remove VAES and VPCLMULQDQ feature from AVX10.1 (#135489)
According to SDM, they require both VAES/VPCLMULQDQ and AVX10.1 CPUID
bits.
Fixes: #135394
Commit: a32d4917c82840179a9ff5686567834922fc4e6d
https://github.com/llvm/llvm-project/commit/a32d4917c82840179a9ff5686567834922fc4e6d
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Clean up the code for isBareSimmNLsb0. NFC.
Commit: 7778a197e65ad1b0cae794318870d41d8c59a3fb
https://github.com/llvm/llvm-project/commit/7778a197e65ad1b0cae794318870d41d8c59a3fb
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
Log Message:
-----------
[MC] Remove unused `MCAsmBackend::isMicroMips()` method (NFC) (#135581)
The only use was removed by 4c892770.
Commit: e038c5401c99ca1f19a873a5c88ad7db4645a26a
https://github.com/llvm/llvm-project/commit/e038c5401c99ca1f19a873a5c88ad7db4645a26a
Author: Tianle Liu <tianle.l.liu at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
A llvm/test/Other/new-pm-lto-prelink-samplepgo-inline-threshold.ll
R llvm/test/Other/new-pm-thinlto-prelink-samplepgo-inline-threshold.ll
Log Message:
-----------
[LTO][Pipelines] Add 0 hot-caller threshold for SamplePGO + FullLTO (#135152)
If a hot callsite function is not inlined in the 1st build, inlining the
hot callsite in pre-link stage of SPGO 2nd build may lead to Function
Sample not found in profile file in link stage. It will miss some
profile info.
ThinLTO has already considered and dealed with it by setting
HotCallSiteThreshold to 0 to stop the inline. This patch just adds the
same processing for FullLTO.
Commit: 5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
https://github.com/llvm/llvm-project/commit/5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/Properties.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/IR/enum-attr-invalid.mlir
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Improve EnumProp, making it take an EnumInfo (#132349)
This commit improves the `EnumProp` class, causing it to wrap around an
`EnumInfo` just like` EnumAttr` does. This EnumProp also has logic for
converting to/from an integer attribute and for being read and written
as bitcode.
The following variants of `EnumProp` are provided:
- `EnumPropWithAttrForm` - an EnumProp that can be constructed from (and
will be converted to, if `storeInCustomAttribute` is true) a custom
attribute, like an `EnumAttr`, instead of a plain integer. This is meant
for backwards compatibility with code that uses enum attributes.
`NamedEnumProp` adds a "`mnemonic` `<` $enum `>`" syntax around the
enum, replicating a common pattern seen in MLIR printers and allowing
for reduced ambiguity.
`NamedEnumPropWithAttrForm` combines both of these extensions.
(Sadly, bytecode auto-upgrade is hampered by the lack of the ability to
optionally parse an attribute.)
Depends on #132148
Commit: d0cf5cd5f9790dc21396936d076389c3be1a9599
https://github.com/llvm/llvm-project/commit/d0cf5cd5f9790dc21396936d076389c3be1a9599
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)
We add comment markers and print enum names instead of numbers.
For required extensions, we print the feature list instead of raw
bits.
Commit: 47cbc8706cb5d73f2db101165bf213d558f8b0cb
https://github.com/llvm/llvm-project/commit/47cbc8706cb5d73f2db101165bf213d558f8b0cb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#135585)
Commit: 2ff226ae2c9bdafc686d698b69b4a8519213f325
https://github.com/llvm/llvm-project/commit/2ff226ae2c9bdafc686d698b69b4a8519213f325
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend,Hexagon: Remove MCRelaxableFragment from fixupNeedsRelaxationAdvanced
Among fixupNeedsRelaxationAdvanced (introduced by
https://reviews.llvm.org/D8217) targets, only Hexagon needs the
`MCRelaxableFragment` parameter (commit
86f218e7ec5d941b7785eaebcb8f4cad76db8a64) to get the instruction packet
(MCInst with sub-instruction operands).
As fixupNeedsRelaxationAdvanced follows mayNeedRelaxation, we can store
the MCInst in mayNeedRelaxation and eliminate the MCRelaxableFragment
parameter.
Follow-up to 7c83b7ef1796210451b839f4c58f2815f4aedfe5 that eliminates
the MCRelaxableFragment parameter from fixupNeedsRelaxation.
Commit: b283ff7eb1d7558594063528af7a94cfe2390e98
https://github.com/llvm/llvm-project/commit/b283ff7eb1d7558594063528af7a94cfe2390e98
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/BranchRelaxation.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/BranchRelaxation.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AArch64/branch-relax-block-size.mir
M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
Log Message:
-----------
[CodeGen][NPM] Port BranchRelaxation to NPM (#130067)
This completes the PreEmitPasses.
Commit: 21ff45dea1601d6d12438b5201ff09b8726899be
https://github.com/llvm/llvm-project/commit/21ff45dea1601d6d12438b5201ff09b8726899be
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
Revert "[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)"
This reverts commit d0cf5cd5f9790dc21396936d076389c3be1a9599.
Error: "declaration of ‘clang::RISCV::RequiredExtensions
{anonymous}::SemaRecord::RequiredExtensions’ changes meaning of
‘RequiredExtensions’ [-fpermissive]"
Commit: e57f4e8969db32f075d8f3e554506ec8b187a2f1
https://github.com/llvm/llvm-project/commit/e57f4e8969db32f075d8f3e554506ec8b187a2f1
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)
We add comment markers and print enum names instead of numbers.
For required extensions, we print the feature list instead of raw
bits.
This recommits d0cf5cd which was reverted by 21ff45d.
Commit: 63e2963f4a24cb9365d1224e69f64bf643171023
https://github.com/llvm/llvm-project/commit/63e2963f4a24cb9365d1224e69f64bf643171023
Author: Michael Park <mcypark at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/relocatable-modules.cpp
Log Message:
-----------
Support '-fmodule-file-home-is-cwd' for C++ modules. (#135147)
Commit: a3f8359410eb7e14c4a52b47f36e433af40c05e9
https://github.com/llvm/llvm-project/commit/a3f8359410eb7e14c4a52b47f36e433af40c05e9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
Log Message:
-----------
[lldb][test] Fix NativePDB/inline_sites_live.cpp inlined frame format
Adjust after https://github.com/llvm/llvm-project/pull/135343
Commit: 58b5df09dc6f899016fc707bf937b36b36934b6d
https://github.com/llvm/llvm-project/commit/58b5df09dc6f899016fc707bf937b36b36934b6d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-maxnum-minnum.c
Log Message:
-----------
Clang: Add elementwise minnum/maxnum builtin functions (#129207)
With https://github.com/llvm/llvm-project/pull/112852, we claimed that
llvm.minnum and llvm.maxnum should treat +0.0>-0.0, while libc doesn't
require fmin(3)/fmax(3) for it.
To make llvm.minnum/llvm.maxnum easy to use, we define the builtin
functions for them, include
__builtin_elementwise_minnum
__builtin_elementwise_maxnum
All of them support _Float16, __bf16, float, double, long double.
Commit: 9df153bc146eab7e6c48d5083acb87a6d5c42394
https://github.com/llvm/llvm-project/commit/9df153bc146eab7e6c48d5083acb87a6d5c42394
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused requiresScalarEpilogue function. nfc (#135341)
Commit: ffd5b148941a1146378a247c70c4faface3a1f96
https://github.com/llvm/llvm-project/commit/ffd5b148941a1146378a247c70c4faface3a1f96
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
Log Message:
-----------
[LV] Add test cases for reverse accesses involving irregular types. nfc (#135139)
Add a test with irregular type to ensure the vector load/store
instructions are not generated.
Commit: e710a5a9f274162c63e32aa8d88f6a734759b4a5
https://github.com/llvm/llvm-project/commit/e710a5a9f274162c63e32aa8d88f6a734759b4a5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[InstCombine] Fold fneg/fabs patterns with ppc_f128 (#130557)
This patch is needed by
https://github.com/llvm/llvm-project/pull/130496.
Commit: 1380a8259e5937d7e871c7a754bbf8a662aaa4da
https://github.com/llvm/llvm-project/commit/1380a8259e5937d7e871c7a754bbf8a662aaa4da
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Use llvm::find and llvm::find_if (NFC) (#135582)
Commit: 893cd69872ca8e7be8010699aac32c5678a0e2a6
https://github.com/llvm/llvm-project/commit/893cd69872ca8e7be8010699aac32c5678a0e2a6
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
A llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
A llvm/test/MC/Disassembler/RISCV/emit-x8-as-fp.txt
A llvm/test/MC/RISCV/emit-x8-as-fp.s
Log Message:
-----------
[RISCV][MC] Emit `x8` as `fp` instead of `s0` (#135500)
When emphasizing `X8`'s functionality related to Frame Pointer, this option can be passed.
Commit: 150e7b14f9474bc4d6891faaae4de6b8c5f6c797
https://github.com/llvm/llvm-project/commit/150e7b14f9474bc4d6891faaae4de6b8c5f6c797
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr134602.ll
Log Message:
-----------
[X86] Add test coverage for #134602
Commit: cf188d650ce26b4ee3e11101d844361fca15ba64
https://github.com/llvm/llvm-project/commit/cf188d650ce26b4ee3e11101d844361fca15ba64
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-non-byte-sizes.ll
Log Message:
-----------
[AMDGPU] Avoid crashes for non-byte-sized types in PromoteAlloca (#134042)
This patch addresses three problems when promoting allocas to vectors:
- Element types with size < 1 byte in allocas with a vector type caused
divisions by zero.
- Element types whose size doesn't match their AllocSize hit an assertion.
- Access types whose size doesn't match their AllocSize hit an assertion.
With this patch, we do not attempt to promote affected allocas to vectors. In
principle, we could handle these cases in PromoteAlloca, e.g., by truncating
and extending elements from/to their allocation size. It's however unclear if
we ever encounter such cases in practice, so that doesn't seem worth the added
complexity.
For SWDEV-511252
Commit: 53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
https://github.com/llvm/llvm-project/commit/53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
A clang/test/Driver/arm-fpu-selection.s
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
Log Message:
-----------
[Clang][ARM] Ensure FPU Features are parsed when targeting `cc1as` (#134612)
Previously, `cc1as` did not consider the Features that can be included
from a target's FPU. This could lead to a situation where assembly files
could not compile as cc1as did not know if a feature was supported.
With this change, all the features for the FPU will be passed to `cc1as`
as `-target-feature` lines. By making this change, it will enable
`+nosimd` to be functional, worked on in #130623, and fix a regression
introduced in 8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3 so
armv7s-apple-darwin targets can utilise VFPv4 correctly.
---------
Co-authored-by: Martin Storsjö <martin at martin.st>
Commit: 1df4af6cbcc3bda86fa76b9aba01424ab39077a4
https://github.com/llvm/llvm-project/commit/1df4af6cbcc3bda86fa76b9aba01424ab39077a4
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
A llvm/test/CodeGen/AArch64/sve-vls-ldst-opt.mir
Log Message:
-----------
Reapply "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#135177)
Reapplies #134068.
The first patch was missing a check to prevent attempts to pair SVE
fill/spill with other Neon load/store instructions, which could happen
specifically if the Neon instruction was unscaled.
Commit: ed96e4642c76fa199cc427129e6d03fba301a301
https://github.com/llvm/llvm-project/commit/ed96e4642c76fa199cc427129e6d03fba301a301
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/peephole-orr.mir
Log Message:
-----------
AArch64: Allow ZEXT+COPY -> FMOV peephole for ZPR registers as well (#135436)
Commit: e29f986838bcd0ff60cf33e7ae5ee867bad0de00
https://github.com/llvm/llvm-project/commit/e29f986838bcd0ff60cf33e7ae5ee867bad0de00
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/fake-use-remove-loads.mir
Log Message:
-----------
[CodeGen][NPM] Port RemoveLoadsIntoFakeUses to NPM (#130068)
Commit: 51fe5d2c314619796c29af6bd717c5c212faa811
https://github.com/llvm/llvm-project/commit/51fe5d2c314619796c29af6bd717c5c212faa811
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Pre-commit tests related to ADDLIKE+GEP->GEP+GEP. NFC (#135154)
InstCombine can transform ADD+GEP into GEP+GEP. But those rewrites does
not currently trigger when the ADD is a disjoint OR (which happens to be
the canonical form for certain ADD operations). Add lit tests to show
that we are lacking such rewrites.
Also add a test case showing that we do not preserve "inbounds nuw",
"nusw nuw" and "nuw" when doing such transforms and the ADD/OR is
known to be NUW.
Commit: 97bc9137e545423334b00d60ab64855ccc434c3a
https://github.com/llvm/llvm-project/commit/97bc9137e545423334b00d60ab64855ccc434c3a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Upload artifacts directory for premerge workflow
The premerge pipeline currently creates an artifacts directory with some
statistics that gets uploaded on the buildkite side for later
inspection. This patch adds support for this on the Github side by using
the upload artifacts action.
Reviewers: Keenuts, lnihlen, mizvekov, tstellar, Endilll
Reviewed By: mizvekov
Pull Request: https://github.com/llvm/llvm-project/pull/135538
Commit: ebd1667059e7b2865a8e419a21df4d4c9735869c
https://github.com/llvm/llvm-project/commit/ebd1667059e7b2865a8e419a21df4d4c9735869c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#135584)
Commit: d792094c26dc6b40136f1e6c2e393c041062e371
https://github.com/llvm/llvm-project/commit/d792094c26dc6b40136f1e6c2e393c041062e371
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/source/Host/common/ProcessRunLock.cpp
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Remove ProcessRunLock::TrySetRunning (#135455)
I traced the issue reported by Caroline and Pavel in #134757 back to the
call to ProcessRunLock::TrySetRunning. When that fails, we get a
somewhat misleading error message:
> process resume at entry point failed: Resume request failed - process
still running.
This is incorrect: the problem was not that the process was in a running
state, but rather that the RunLock was being held by another thread
(i.e. the Statusline). TrySetRunning would return false in both cases
and the call site only accounted for the former.
Besides the odd semantics, the current implementation is inherently
race-y and I believe incorrect. If someone is holding the RunLock, the
resume call should block, rather than give up, and with the lock held,
switch the running state and report the old running state.
This patch removes ProcessRunLock::TrySetRunning and updates all callers
to use ProcessRunLock::SetRunning instead. To support that,
ProcessRunLock::SetRunning (and ProcessRunLock::SetStopped, for
consistency) now report whether the process was stopped or running
respectively. Previously, both methods returned true unconditionally.
The old code has been around pretty much pretty much forever, there's
nothing in the git history to indicate that this was done purposely to
solve a particular issue. I've tested this on both Linux and macOS and
confirmed that this solves the statusline issue.
A big thank you to Jim for reviewing my proposed solution offline and
trying to poke holes in it.
Commit: 73b554d7a0a666e252f3c837510a55ee1acb1df5
https://github.com/llvm/llvm-project/commit/73b554d7a0a666e252f3c837510a55ee1acb1df5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Make sure the process is stopped when computing the symbol context (#135458)
Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.
Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.
Depends on #135455
Commit: 931a78a1db3da210a1ed5681778e37fa011cdf23
https://github.com/llvm/llvm-project/commit/931a78a1db3da210a1ed5681778e37fa011cdf23
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir
Log Message:
-----------
[AMDGPU] Add sext_trunc in RegBankCombiner (#131623)
Commit: 95d526f7f587cc7a3db785169967f8dad0ba3978
https://github.com/llvm/llvm-project/commit/95d526f7f587cc7a3db785169967f8dad0ba3978
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[MLIR][Tosa] Fix argmax NaN propagate lowering (#133074)
In the propagate mode, NaN compare equal to each other so in case of
several NaNs the index of the first one needs to be returned. This
commit changes the index update condition to check that the current
index is not that of a NaN.
The commit also simplifies argmax NaN ignore lowering to only use OGT.
This prevent any update in case of NaN. The only case where the index of
a NaN is returned is when all values are NaN and this is covered by the
fact that the initial index value is 0 so no update will result in 0
being returned.
Commit: bcd7f54d340c54630a63659e439540891f7efb09
https://github.com/llvm/llvm-project/commit/bcd7f54d340c54630a63659e439540891f7efb09
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Update my name
Commit: 29555ad5efea20308c7a5ee851a4cba9093a607d
https://github.com/llvm/llvm-project/commit/29555ad5efea20308c7a5ee851a4cba9093a607d
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (#135155)
Given that we have a "add nuw" and a "getelementptr inbounds nuw" like
this:
%idx = add nuw i64 %idx1, %idx2
%gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx
Then we can preserve the "inbounds nuw" flag when transforming that into
two getelementptr instructions:
%gep1 = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx1
%gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx2
Similarly for just having "nuw", and "nusw nuw" instead of "inbounds nuw"
on the getelementptr.
Proof: https://alive2.llvm.org/ce/z/QSweWW
Commit: dffef041d568e945efbd78c8eb1a3881b67cd405
https://github.com/llvm/llvm-project/commit/dffef041d568e945efbd78c8eb1a3881b67cd405
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/IR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[IR][ADT] Remove `APFloat/Type::isIEEE` (#130496)
Address comment
https://github.com/llvm/llvm-project/pull/130477#issuecomment-2708801892.
Commit: cbda72a5474112e6bc62d5c5978ada7581e80dad
https://github.com/llvm/llvm-project/commit/cbda72a5474112e6bc62d5c5978ada7581e80dad
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
R libclc/generic/include/clc/atom_decl_int32.inc
R libclc/generic/include/clc/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_add.h
A libclc/generic/include/clc/atomic/atom_and.h
A libclc/generic/include/clc/atomic/atom_cmpxchg.h
A libclc/generic/include/clc/atomic/atom_dec.h
A libclc/generic/include/clc/atomic/atom_decl_int32.inc
A libclc/generic/include/clc/atomic/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_inc.h
A libclc/generic/include/clc/atomic/atom_max.h
A libclc/generic/include/clc/atomic/atom_min.h
A libclc/generic/include/clc/atomic/atom_or.h
A libclc/generic/include/clc/atomic/atom_sub.h
A libclc/generic/include/clc/atomic/atom_xchg.h
A libclc/generic/include/clc/atomic/atom_xor.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_add.cl
A libclc/generic/lib/atomic/atom_and.cl
A libclc/generic/lib/atomic/atom_cmpxchg.cl
A libclc/generic/lib/atomic/atom_dec.cl
A libclc/generic/lib/atomic/atom_inc.cl
A libclc/generic/lib/atomic/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_max.cl
A libclc/generic/lib/atomic/atom_min.cl
A libclc/generic/lib/atomic/atom_or.cl
A libclc/generic/lib/atomic/atom_sub.cl
A libclc/generic/lib/atomic/atom_xchg.cl
A libclc/generic/lib/atomic/atom_xor.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
Log Message:
-----------
[NFC][libclc] Merge atomic extension built-ins with identical name into a single file (#134489)
llvm-diff shows there is no change to amdgcn--amdhsa.bc.
Similar to how cl_khr_fp64 and cl_khr_fp16 implementations are put in a
same file for math built-ins, this PR do the same to atom_* built-ins.
The main motivation is to prevent that two files with same base name
implementats different built-ins. In a follow-up PR, I'd like to relax
libclc_configure_lib_source to only compare filename instead of path for
overriding, since in our downstream the same category of built-ins, e.g.
math, are organized in several different folders.
Commit: 77341388a77b1442b3a54d745fc269dabb175f0c
https://github.com/llvm/llvm-project/commit/77341388a77b1442b3a54d745fc269dabb175f0c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] allow cancellation to not be directly nested (#134084)
omp.cancel and omp.cancellationpoint contain an attribute describing the
type of parent construct which should be cancelled. e.g.
```
!$omp cancel do
```
Must be inside of a wsloop. Previously the verifer required the
immediate parent to be this operation. This is not quite right because
something like the following is valid:
```
!$omp parallel do
do i = 1, N
if (cond) then
!$omp cancel do
endif
enddo
```
This patch relaxes the verifier to only require that some parent
operation matches (not necessarily the immediate parent).
Commit: c9eebc7af440dc012c94d25351eaba92e6a57910
https://github.com/llvm/llvm-project/commit/c9eebc7af440dc012c94d25351eaba92e6a57910
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-sext-inreg.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-trunc-sextinreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
Log Message:
-----------
[GlobalISel] Combine redundant sext_inreg (#131624)
Commit: a9474191e059edbb9b25c769afbe52c7a823f359
https://github.com/llvm/llvm-project/commit/a9474191e059edbb9b25c769afbe52c7a823f359
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Improve handling of lifetimes in load-only promotion (#135382)
The propagateStoredValuesToLoads() transform currently bails out if
there is a lifetime intrinsic spanning the whole alloca, but the
individual loads/stores operate on some smaller part, because the slice
/ partition size does not match.
Fix this by ignoring assume-like slices early, regardless of which range
they cover.
I've changed the overall code structure here a bit because I was getting
confused by the different iterators.
Commit: 1e2dc5b0873d990473bba4a52d5085a805f56845
https://github.com/llvm/llvm-project/commit/1e2dc5b0873d990473bba4a52d5085a805f56845
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Add load-only promotion tests with dynamic offset load
Commit: e4a672bc17a2a7dc39e51c9f5e656d705312a12b
https://github.com/llvm/llvm-project/commit/e4a672bc17a2a7dc39e51c9f5e656d705312a12b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp
Log Message:
-----------
[LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#135033)
The original PR is #132274.
Co-authored-by: @bulbazord Alex Langford
Commit: 90c01f4bad3132fcff4a73fb39efb64fe4c524b6
https://github.com/llvm/llvm-project/commit/90c01f4bad3132fcff4a73fb39efb64fe4c524b6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Add missing bitmask for some extensions (#135599)
According to:
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc#extension-bitmask-definitions
And we sort the bitmask by group id and then bit position.
Commit: 123993fd974629ca0a094918db4c21ad1c2624d0
https://github.com/llvm/llvm-project/commit/123993fd974629ca0a094918db4c21ad1c2624d0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#133888)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: e8e98683d70b81802659fa31b458ce3251971248
https://github.com/llvm/llvm-project/commit/e8e98683d70b81802659fa31b458ce3251971248
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV][NFC] Use bitmasks generated by TableGen
So that we don't need to sync-up the table manually.
Reviewers: BeMg, preames, lenary
Reviewed By: BeMg
Pull Request: https://github.com/llvm/llvm-project/pull/135600
Commit: 1c04ebbbb5aff6da50aa62f08b2453e741484b85
https://github.com/llvm/llvm-project/commit/1c04ebbbb5aff6da50aa62f08b2453e741484b85
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/LLVMVisualizers/llvm.natvis
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Remove debugger pretty printers for llvm::Optional (#135235)
Since 2916b99182752b1aece8cc4479d8d6a20b5e02da this is just an alias to
std::optional, and by now it has been removed entirely.
Commit: 14cb8c56b26784c684865053a6deb066f9a5e5b5
https://github.com/llvm/llvm-project/commit/14cb8c56b26784c684865053a6deb066f9a5e5b5
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Log Message:
-----------
[lldb] add required for lldb RISCV relocations in MCJIT (#126266)
After implementing CFI instructions in the function prologue, LLDB
testing for RISC-V started failing due to insufficient relocations
(e.g., R_RISCV_SET8, R_RISCV_SET16).
This patch adds support for the necessary RISC-V relocations in MCJIT.
Commit: fe54d1afcca055f464840654dd2ec3fd83aea688
https://github.com/llvm/llvm-project/commit/fe54d1afcca055f464840654dd2ec3fd83aea688
Author: Iris <0.0 at owo.li>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)
- Closes #135557
Commit: 88d0b0835d030635c5d08c9a9754c21b5ac00be9
https://github.com/llvm/llvm-project/commit/88d0b0835d030635c5d08c9a9754c21b5ac00be9
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
R clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[MS][clang] Revert vector deleting destructors support (#135611)
Finding operator delete[] is still problematic, without it the extension
is a security hazard, so reverting until the problem with operator
delete[] is figured out.
This reverts the following PRs:
Reland [MS][clang] Add support for vector deleting destructors (llvm#133451)
[MS][clang] Make sure vector deleting dtor calls correct operator delete (llvm#133950)
[MS][clang] Fix crash on deletion of array of pointers (llvm#134088)
[clang] Do not diagnose unused deleted operator delete[] (llvm#134357)
[MS][clang] Error about ambiguous operator delete[] only when required (llvm#135041)
Commit: cbbf562d1c2a076de83d50fedfee78acfb4d8003
https://github.com/llvm/llvm-project/commit/cbbf562d1c2a076de83d50fedfee78acfb4d8003
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][Format][NFC] Remove unused FormatEntity::FormatCString
One can use `FormatStringRef` instead anyway
Commit: 0078cf79adc2f24a168bc774cba1f39dda5e3752
https://github.com/llvm/llvm-project/commit/0078cf79adc2f24a168bc774cba1f39dda5e3752
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/DefiningDialects/_index.md
M mlir/docs/Diagnostics.md
M mlir/docs/Interfaces.md
M mlir/docs/PDLL.md
M mlir/docs/Tutorials/QuickstartRewrites.md
M mlir/docs/Tutorials/Toy/Ch-5.md
M mlir/docs/Tutorials/Toy/Ch-7.md
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/docs/Tutorials/transform/Ch4.md
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/ExtensibleDialect.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/IR/SymbolTableTest.cpp
Log Message:
-----------
[mlir] Remove deprecated cast member functions (#135556)
These have been deprecated for over two years now in favor of free
functions.
See the relevant discourse thread:
https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443
and the deprecation notice: https://mlir.llvm.org/deprecation/.
Commit: 0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
https://github.com/llvm/llvm-project/commit/0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix commands in compile_to_bc are executed sequentially (#130755)
In libclc, we observe that compiling OpenCL source files to bitcode is
executed sequentially on Windows, which increases debug build time by
about an hour.
add_custom_command may introduce additional implicit dependencies, see
https://gitlab.kitware.com/cmake/cmake/-/issues/17097
This PR adds a target for each command, enabling parallel builds of
OpenCL source files.
CMake 3.27 has fixed above issue with DEPENDS_EXPLICIT_ONLY. When LLVM
upgrades cmake vertion to 3.7, we can switch to DEPENDS_EXPLICIT_ONLY.
Commit: 4eaf3a7596fb335edfa36368c2851a256b6e8d75
https://github.com/llvm/llvm-project/commit/4eaf3a7596fb335edfa36368c2851a256b6e8d75
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Support/ELFAttrParserExtended.cpp
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-long.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-short.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-type.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-values.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-ver.s
Log Message:
-----------
[readobj][ELF][AArch64] Handle misformed AArch64 build attribute section (#134888)
Report an error when the .ARM.attributes section for AArch64 is
malformed or violates expected format.
Commit: 4cb1803ff9d052f1b75d90d5be87345e54aebf92
https://github.com/llvm/llvm-project/commit/4cb1803ff9d052f1b75d90d5be87345e54aebf92
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc][NFC] Fix typo in comment
Commit: 10a15024212fe9ac06adad7daad2c1bb510a612c
https://github.com/llvm/llvm-project/commit/10a15024212fe9ac06adad7daad2c1bb510a612c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] AST: remove source locations from [Variable/Dependent]SizedArrayType (#135511)
Commit: efe9cb0f79a074ab472ec51d8463aac6931d670a
https://github.com/llvm/llvm-project/commit/efe9cb0f79a074ab472ec51d8463aac6931d670a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-extract-mova.ll
Log Message:
-----------
[AArch64] Model ZA array using inaccessible memory (#132058)
This patch changes how ZA array is modelled at LLVM-IR level. Currently
accesses to ZA are represented at LLVM-IR level as memory reads and
writes and at instruction level as unmodeled side-effects. This patch
changes that and models them as purely Inaccessible memory accesses
without any unmodeled side-effects.
Commit: 74e8f29f3138431abc9b393579733f3bbd0d85d8
https://github.com/llvm/llvm-project/commit/74e8f29f3138431abc9b393579733f3bbd0d85d8
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
A llvm/test/CodeGen/AArch64/csr-copy-hint.mir
M llvm/test/CodeGen/AArch64/ptrauth-ret.ll
M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll
M llvm/test/CodeGen/AVR/dynalloca.ll
M llvm/test/CodeGen/AVR/return.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPARC/32abi.ll
M llvm/test/CodeGen/SPARC/64abi.ll
M llvm/test/CodeGen/SPARC/bigreturn.ll
M llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
M llvm/test/CodeGen/SPARC/leafproc.ll
M llvm/test/CodeGen/SPARC/parts.ll
M llvm/test/CodeGen/SPARC/tailcall.ll
M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
M llvm/test/CodeGen/X86/ghc-cc64.ll
M llvm/test/CodeGen/X86/mwaitx.ll
Log Message:
-----------
[RegAlloc] Sort CopyHint by IsCSR (#131046)
`weightCalcHelper` is responsible for adding hints to MRI. Prior to this
PR, we fell back on register ID as the last tie breaker for sorting
hints. However, there is an opportunity to add an additional sorting
characteristic: whether or not a register is a callee-saved-register.
I thought of this idea because I saw that `AllocationOrder::create`
calls `RegisterClassInfo::getOrder`, which returns a list of registers
such that the registers which alias callee-saved-registers come last.
>From this, I conclude that the register allocator prefers an order such
that callee-saved-registers are allocated after
non-callee-saved-registers to avoid having to spill the CSR.
This sorting characteristic occurs only as a tie breaker to the Weight
calculation. This is a good idea since the weight calculation is pretty
complex and I'm sure it is a pretty stable metric. I think its pretty
reasonable to agree that whether a register is callee-saved or not is a
better tie breaker than register ID. I think this is evident by the test
diff, since the changes all seem to have no impact or improve the
register allocation.
Commit: bcbdbd25c0a2608299a4e97f12076be06a64d724
https://github.com/llvm/llvm-project/commit/bcbdbd25c0a2608299a4e97f12076be06a64d724
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/ELFAttributes.h
Log Message:
-----------
[llvm][ELF][build attributes] Change StringRef to std::string for BuildAttributeSubSection::Name (#135625)
BuildAttributeSubSection::Name must be a std::string instead of
StringRef because it may be assigned from non-persistent memory.
StringRef is non-owning and unsafe in this context. This change ensures
the subsection name owns its memory, preventing use-after-free or
dangling references.
Context: Work in progress in PR #131990.
Commit: dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
https://github.com/llvm/llvm-project/commit/dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[Github][CI] Upload .ninja_log as an artifact
This enables using tools like https://github.com/nico/ninjatracing for
performance introspection.
Reviewers: mizvekov, lnihlen, tstellar, Endilll, Keenuts
Reviewed By: Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/135539
Commit: 40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
https://github.com/llvm/llvm-project/commit/40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang] remove unused frontend flag -fretain-subst-template-type-parm-type-ast-nodes (#134177)
This is a follow-up to #132748, where we deferred the flag removal in
order to ease transition for external users.
The plan is to merge this in the nearish future, in two weeks or so is
my best guess.
Commit: a485abbddda7997177b1b56f4dc8e9c069ae4d9a
https://github.com/llvm/llvm-project/commit/a485abbddda7997177b1b56f4dc8e9c069ae4d9a
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/test/Driver/do_concurrent_to_omp_cli.f90
Log Message:
-----------
[flang] Fix Driver/do_concurrent_to_omp_cli.f90 test not to use runtime (#135485)
Fix Flang invocation in `Driver/do_concurrent_to_omp_cli.f90` test to
run compilation step only, to fix testing when building with
`-DFLANG_INCLUDE_RUNTIME=OFF`. The test is only concerned with warning
being emitted by the compiler, so there is no need to link the resulting
executable.
Commit: 092b6e73e651469527662443b592f98f442ece72
https://github.com/llvm/llvm-project/commit/092b6e73e651469527662443b592f98f442ece72
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
Log Message:
-----------
[InstCombine] Handle "add like" in ADD+GEP->GEP+GEP rewrites (#135156)
Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP->GEP+GEP rewrites to make things more consistent.
Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.
Commit: b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
https://github.com/llvm/llvm-project/commit/b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/optional-argument-map.f90
A offload/test/offloading/fortran/optional-mapped-arguments.f90
Log Message:
-----------
[Flang][OpenMP][MLIR] Check for presence of Box type before emitting store in MapInfoFinalization pass (#135477)
Currently we don't check for the presence of descriptor/BoxTypes before
emitting stores which lower to memcpys, the issue with this is that
users can have optional arguments, where they don't provide an input,
making the argument effectively null. This can still be mapped and this
causes issues at the moment as we'll emit a memcpy for function
arguments to store to a local variable for certain edge cases, when we
perform this memcpy on a null input, we cause a segfault at runtime.
The fix to this is to simply create a branch around the store that
checks if the data we're copying from is actually present. If it is, we
proceed with the store, if it isn't we skip it.
Commit: f133eae70c8b9f4e70372443b79995c5f39727f0
https://github.com/llvm/llvm-project/commit/f133eae70c8b9f4e70372443b79995c5f39727f0
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/tools/llc/new-pm/pipeline.ll
Log Message:
-----------
[CodeGen][NPM] Port MachineSanitizerBinaryMetadata to NPM (#130069)
Didn't find a test for this (but there are tests for the `Function`
version of this pass)
Commit: 44e32a263a7a696e17f8785108e89e1cb1cbd850
https://github.com/llvm/llvm-project/commit/44e32a263a7a696e17f8785108e89e1cb1cbd850
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
M llvm/test/Verifier/SystemZ/intrinsic-immarg.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
[Verifier] Fix intrinsic signatures in immarg tests (NFC)
Commit: 2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
https://github.com/llvm/llvm-project/commit/2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
Author: John Harrison <harjohn at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A lldb/test/API/tools/lldb-dap/cancel/Makefile
A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
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/Handler/CancelRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.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/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Adding support for cancelling a request. (#130169)
Adding support for cancelling requests.
There are two forms of request cancellation.
* Preemptively cancelling a request that is in the queue.
* Actively cancelling the in progress request as a best effort attempt
using `SBDebugger.RequestInterrupt()`.
Commit: b04045cc4165fae487d048bbf928be26e068284e
https://github.com/llvm/llvm-project/commit/b04045cc4165fae487d048bbf928be26e068284e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 2d30a60e9ff8
Commit: fcf0f810ac4b22bda3f21048784ee114da1cb061
https://github.com/llvm/llvm-project/commit/fcf0f810ac4b22bda3f21048784ee114da1cb061
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
A clang/test/Driver/hip-thinlto.hip
Log Message:
-----------
[Clang][AMDGPU] Enable `avail-extern-to-local` for ThinLTO in HIP (#134476)
In HIP, the Clang driver already sets `force-import-all` when ThinLTO is
enabled. As a result, all imported functions get the
`available_externally`
linkage. However, these functions are later removed by the
`EliminateAvailableExternallyPass`, effectively undoing the forced
import and
eventually leading to link errors.
The `EliminateAvailableExternallyPass` provides an option to convert
`available_externally` functions into local functions, renaming them to
avoid
conflicts. This behavior is exactly what we need for HIP. This PR
enables that
option (`avail-extern-to-local`) alongside `force-import-all` when
ThinLTO is
used.
With this change, ThinLTO almost works correctly on AMDGPU. The only
remaining
issue is an undefined reference to `__assert_fail`, but that falls
outside the
scope of this PR.
Commit: da6f493d4aab7ac18b680345701d210556438048
https://github.com/llvm/llvm-project/commit/da6f493d4aab7ac18b680345701d210556438048
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/ModFiles.md
Log Message:
-----------
[flang][NFC] Update module file documentation (#135107)
The current module file documentation antedates the current
implementation of module files and contains many aspirational and
conditional statements, all of which can now be resolved with
descriptions of how things actually work.
Commit: dba757a33c9a07a632c8f14d6820dd6cd90fc918
https://github.com/llvm/llvm-project/commit/dba757a33c9a07a632c8f14d6820dd6cd90fc918
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/bug518.F
Log Message:
-----------
[flang] Rework preprocessor fix for replacement in kind suffixes (#135406)
Recent work to better handle macro replacement in literal constant kind
suffixes isn't handling fixed form well, leading to a crash in Fujitsu
test 0113/0113_0073.F. The look-ahead needs to be done with the
higher-level prescanner functions that skip over fixed form comment
fields after column 72. Rework.
Commit: 13b55ad3bb6bafda7d8a62c5fe2fc98157442355
https://github.com/llvm/llvm-project/commit/13b55ad3bb6bafda7d8a62c5fe2fc98157442355
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang/include/clang/AST/PrettyPrinter.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang] implement printing of canonical expressions (#135133)
This patch extends the canonicalization printing policy to cover
expressions
and template names, and wires that up to the template argument printer,
covering expressions, and to the expression within a dependent decltype.
This is helpful for debugging, or if these expressions somehow end up
in diagnostics, as without this patch they can print as completely
unrelated
expressions, which can be quite confusing.
This is because expressions are not uniqued, unlike types, and
when a template specialization containing an expression is the first to
be
canonicalized, the expression ends up appearing in the canonical type of
subsequent equivalent specializations.
Fixes https://github.com/llvm/llvm-project/issues/92292
Commit: 882200684bf1a0edcd3a8edd31c3fd601a2298df
https://github.com/llvm/llvm-project/commit/882200684bf1a0edcd3a8edd31c3fd601a2298df
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Parser/OpenMP/bug518.f
Log Message:
-----------
[flang][OpenMP] Prescanning bug with !$ fixed form line continuation (#135416)
The logic for fixed form compiler directive line continuation has a hole
that can apply continuation for !$ even if the next line does not begin
with a fixed form comment character. Rearrange the nested if statements
to enforce that requirement for all compiler directives.
Commit: 9f7aac177cac18e03ca68e2a69e06700250cd3d7
https://github.com/llvm/llvm-project/commit/9f7aac177cac18e03ca68e2a69e06700250cd3d7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/spec-expr.f90
Log Message:
-----------
[flang] Allow host-associated INTENT(OUT) in specification expr. (#135426)
Nearly, but not all, other compilers have a blanket prohibition against
the use of an INTENT(OUT) dummy argument in a specification expression.
Some compilers, however, permit an INTENT(OUT) dummy argument to appear
in a specification expression in a BLOCK construct or inner procedure
via host association.
The argument some have put forth to accept this usage comes from a
reading of 10.1.11 (specification expressions) in Fortran 2023 that, if
followed consistently, would also require host-associated OPTIONAL dummy
argument to be allowed. That would be dangerous for reasons that should
be obvious.
However, I can agree that a non-OPTIONAL dummy argument can't be assumed
to remain undefined on entry to a BLOCK construct or inner procedure, so
we can accept host-associated INTENT(OUT) in specification expressions
with a portability warning.
Commit: 8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
https://github.com/llvm/llvm-project/commit/8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
Log Message:
-----------
[NFC][MC] Use `StringRef` for Modifier in Inst/Asm Printers (#135403)
- Change various Inst/Asm Printer functions to use a StringRef for the
Modifier parameter (instead of a const char *).
- This simplifies various string comparisons used within these
functions.
- Remove these params for print functions that do not use them.
Commit: 71d10590dbc041139644f00144513c7f487a94ba
https://github.com/llvm/llvm-project/commit/71d10590dbc041139644f00144513c7f487a94ba
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
Log Message:
-----------
[CaptureTracking][NFC] Clarify usage expectations in PointerMayBeCaptured comments (#132744)
Fixes issue #132739.
CaptureAnalysis only considers captures through the def-use chain of the
provided pointer, explicitly excluding captures of underlying values or
implicit captures like those involving external globals.
The previous comment for `PointerMayBeCaptured` did not clearly state
this limitation, leading to its incorrect usage in files such as
ThreadSanitizer.cpp and SanitizerMetadata.cpp.
This PR addresses this by refining the comments for the relevant APIs
within `PointerMayBeCaptured` to explicitly document this behavior.
Commit: 2e353a635b90a6c31eee5fd4ec0335f37f130628
https://github.com/llvm/llvm-project/commit/2e353a635b90a6c31eee5fd4ec0335f37f130628
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/OpenACC.md
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
Log Message:
-----------
[flang][openacc] Relax constraint on OpenACC declare statement (#135238)
OpenACC declare statements are restricted from having having clauses
that reference assumed size arrays. It should be the case that we can
implement `deviceptr` and `present` clauses for assumed-size arrays.
This is a first step towards relaxing this restriction.
Note running flang on the following example results in an error in
lowering.
```
$ cat t.f90
subroutine vadd (a, b, c, n)
real(8) :: a(*), b(*), c(*)
!$acc declare deviceptr(a, b, c)
!$acc parallel loop
do i = 1,n
c(i) = a(i) + b(i)
enddo
end subroutine
$ flang -fopenacc -c t.f90
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":3:7): expect declare attribute on variable in declare operation
error: Lowering to LLVM IR failed
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): unsupported OpenACC operation: acc.private.recipe
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): LLVM Translation failed for operation: acc.private.recipe
error: failed to create the LLVM module
```
I would like to to share this code, because others are currently working
on the implementation of `deviceptr`, but it is obviously not running
end-to-end. I think the cleanest approach to this would be to put this
exception to the rule behind some feature flag, but I am not certain
what the precedence for that is.
Commit: 04b6f541b7ab6c1b25371cb248277c2b391040c9
https://github.com/llvm/llvm-project/commit/04b6f541b7ab6c1b25371cb248277c2b391040c9
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[NFC][llvm] Create UEFI helper function (#132462)
Create useful helper functions for UEFI 64 bit target that can be used in
tablegen files in future changes.
Commit: fef5b6f9530c52d623f4729900855e626d5ee722
https://github.com/llvm/llvm-project/commit/fef5b6f9530c52d623f4729900855e626d5ee722
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp
M llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
Log Message:
-----------
[NFC][LLVM][PowerPC] Cleanup pass initialization for PowerPC (#134422)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 4983aec494119048ccbdd19d237f92ebb24c5d62
https://github.com/llvm/llvm-project/commit/4983aec494119048ccbdd19d237f92ebb24c5d62
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
M flang/test/Lower/OpenMP/task-depend-array-section.f90
Log Message:
-----------
[flang][OpenMP][HLFIR] Support vector subscripted array sections for DEPEND (#133892)
The OpenMP runtime needs the base address of the array section to
identify the dependency.
If we just put the vector subscript through the usual HLFIR expression
lowering, that would generate a new contiguous array representing the
values of the elements in the array which was sectioned. We cannot use
addresses from this array because these addresses would not match
dependencies on the original array. For example
```
integer :: array(1024)
integer :: indices(2)
indices(1) = 1
indices(2) = 100
!$omp task depend(out: array(1:512))
!$omp end task
!$omp task depend(in: array(indices))
!$omp end task
```
This requires taking the lowering path previously only used for ordered
assignments to get the address of the elements in the original array
which were indexed. This is done using `hlfir.elemental_addr`. e.g.
```
array(indices) = 2
```
`hlfir.elemental_addr` is awkward to use because it (by design) doesn't
return something like `!hlfir.expr<>` (like `hlfir.elemental`) and so it
can't have a generic lowering: each place it is used has to carefully
inline the contents of the operation and extract the needed address.
For this reason, `hlfir.elemental_addr` is not allowed outside of these
ordered assignments. In this commit I ignore this restriction so that I
can use `hlfir.elemental_addr` to lower the OpenMP DEPEND clause (this
works because the operation is inlined and removed before the verifier
runs).
One alternative solution would have been to provide my own more limited
re-implementation of `HlfirDesignatorBuilder` which skipped
`hlfir::elemental_addr`, instead inlining its body directly at the
current insertion point applying indices only for the first element.
This would have been difficult to maintain because designation in
Fortran is complex.
Commit: f9b8971bea0d93fe6b86364bb02a96a35eee9aba
https://github.com/llvm/llvm-project/commit/f9b8971bea0d93fe6b86364bb02a96a35eee9aba
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align RFFT2d and FFT2d operator examples (#135261)
* Minor variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 45aba5149b94412da01eef482e8b815a9889779b
https://github.com/llvm/llvm-project/commit/45aba5149b94412da01eef482e8b815a9889779b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align AddOp examples to spec (#135266)
* simple example variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 5d489f484867b7ddcb3efe51144a133970921082
https://github.com/llvm/llvm-project/commit/5d489f484867b7ddcb3efe51144a133970921082
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align AbsOp example variable names (#135268)
* Minor example variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 88c3e0eecffd42c6743638db51ad6db379996ff2
https://github.com/llvm/llvm-project/commit/88c3e0eecffd42c6743638db51ad6db379996ff2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll
Log Message:
-----------
[CVP] Add tests for ucmp/scmp with switch (NFC)
Commit: 1175f5b988ce706fd3e084912ed34ae6254f5cc3
https://github.com/llvm/llvm-project/commit/1175f5b988ce706fd3e084912ed34ae6254f5cc3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__verbose_abort
M libcxx/src/verbose_abort.cpp
Log Message:
-----------
[libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (#135494)
This makes __libcpp_verbose_abort unconditionally noexcept. This was
planned for the upcomming release.
Commit: 9800c3489a06a285cbc469a9aab4601e57dac35a
https://github.com/llvm/llvm-project/commit/9800c3489a06a285cbc469a9aab4601e57dac35a
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/Interpreter/inline-virtual.cpp
Log Message:
-----------
[Interp] Mark inline-virtual.cpp as unsupported with ASan (#135402)
See https://github.com/llvm/llvm-project/issues/135401 for the full flakiness report.
It fails on stage2/asan_ubsan check with:
```
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -Xcc -fno-rtti -Xcc -fno-sized-deallocation
JIT session error: In graph incr_module_23-jitted-objectbuffer, section .text.startup: relocation target "_ZN1AD2Ev" at address 0x79618c48d040 is out of range of Delta32 fixup at 0x75618b40d02d (<anonymous block> @ 0x75618b40d010 + 0x1d)
error: Failed to materialize symbols: { (main, { $.incr_module_23.__inits.0, __orc_init_func.incr_module_23, a2 }) }
error: Failed to materialize symbols: { (main, { __orc_init_func.incr_module_23 }) }
The error message ("out of range of Delta32") appears similar to #102858, another Interpreter test that is flaky with ASan.
```
Recent test history on the x86_64-linux-fast bot:
- https://lab.llvm.org/buildbot/#/builders/169/builds/10339: fail
- 10340: buildbot logistical problem
- https://lab.llvm.org/buildbot/#/builders/169/builds/10341: fail
- https://lab.llvm.org/buildbot/#/builders/169/builds/10342: fail
- 10343: pass
- 10344: pass
- https://lab.llvm.org/buildbot/#/builders/169/builds/10345: fail
- 10346: pass
...
Commit: 6b863e810d6decb689bff8f6620e8ea07b356d86
https://github.com/llvm/llvm-project/commit/6b863e810d6decb689bff8f6620e8ea07b356d86
Author: John Harrison <harjohn at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Transport.cpp
Log Message:
-----------
[lldb-dap] Fix win32 build. (#135638)
This enum was not fully specified.
Commit: 3b1dafd4271ced4c75625176c6d37f41fe85fc70
https://github.com/llvm/llvm-project/commit/3b1dafd4271ced4c75625176c6d37f41fe85fc70
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++][CI] Pin the XCode version. (#135412)
This version is the current version, to avoid unplanned automatic
updates in the future pin this version.
Commit: e071233fa527027c021509fcbd41238aa9bae2e1
https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)
Previously `vst` and `vl` were not considered "simple" BDX stores and
loads, leading to, among other things, some opportunities for `mvc`
optimization to be missed.
This PR addresses this and updates some tests to account for additional
`mvc` instructions being emitted.
This is observed to have a neutral or slightly beneficial effect
performance-wise.
Commit: e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
https://github.com/llvm/llvm-project/commit/e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Handle instrumenting functions with `musttail` calls (#135121)
Functions with `musttail` calls can't be roots because we can't instrument their `ret` to release the context. This patch tags their `CtxRoot` field in their `FunctionData`. In compiler-rt we then know not to allow such functions become roots, and also not confuse `CtxRoot == 0x1` with there being a context root.
Currently we also lose the context tree under such cases. We can, in a subsequent patch, have the root detector search past these functions.
Commit: 305006179341d8f657b89fdc7d76502f9bc5f0aa
https://github.com/llvm/llvm-project/commit/305006179341d8f657b89fdc7d76502f9bc5f0aa
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/stack-size-section.ll
M llvm/test/CodeGen/SystemZ/stack-size-section.ll
Log Message:
-----------
[AsmPrinter] Link .section_sizes to the correct section (#135583)
AsmPrinter may switch the current section when e.g., emitting a jump
table for a switch. `.stack_sizes` should still be linked to the
function section. If the section is wrong, readelf emits a warning
"relocation symbol is not in the expected section".
Commit: aad09da2adb67f5d2db83bed57c4e0d3f4821d86
https://github.com/llvm/llvm-project/commit/aad09da2adb67f5d2db83bed57c4e0d3f4821d86
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
Log Message:
-----------
[flang] Fix linking to libMLIR (#135483)
Fix regression to MLIR dylib support introduced in #135240. Without the
fix, the build with no static libraries fails:
```
FAILED: bin/fir-opt
: && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-rpath-link,/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/lib -Wl,--gc-sections -Wl,--dependency-file=tools/fir-opt/CMakeFiles/fir-opt.dir/link.d tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o -o bin/fir-opt -L/usr/lib/llvm/21/lib64 -Wl,-rpath,"\$ORIGIN/../lib64:/usr/lib/llvm/21/lib64:" lib/libCUFAttrs.a lib/libCUFDialect.a lib/libFIRDialect.a lib/libFIRSupport.a lib/libFIRTransforms.a lib/libFIRCodeGen.a lib/libFIRCodeGenDialect.a lib/libHLFIRDialect.a lib/libHLFIRTransforms.a lib/libFIROpenACCSupport.a lib/libFIROpenMPSupport.a lib/libFlangOpenMPTransforms.a lib/libFIRAnalysis.a lib/libFIRTransforms.a lib/libFIRCodeGen.a lib/libFIROpenACCSupport.a lib/libFIRCodeGenDialect.a -lMLIRIR lib/libFIROpenMPSupport.a lib/libFIRAnalysis.a lib/libFIRBuilder.a lib/libCUFDialect.a lib/libFIRSupport.a lib/libHLFIRDialect.a lib/libFIRDialect.a lib/libCUFAttrs.a lib/libFIRDialectSupport.a lib/libFortranEvaluate.a lib/libFortranDecimal.a lib/libFortranParser.a lib/libFortranSupport.a /usr/lib/llvm/21/lib64/libMLIR.so.21.0gitfa4ac19f /usr/lib/llvm/21/lib64/libclang-cpp.so.21.0gitfa4ac19f /usr/lib/llvm/21/lib64/libLLVM.so.21.0gitfa4ac19f -lquadmath && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMLIRIR: No such file or directory
collect2: error: ld returned 1 exit status
```
Commit: 2a83c0cc134471bdbc8342041d12fa514e17eca1
https://github.com/llvm/llvm-project/commit/2a83c0cc134471bdbc8342041d12fa514e17eca1
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/runtime/relative-vftable.cpp
Log Message:
-----------
[BOLT] Support relative vtable (#135449)
To handle relative vftable, which is enabled with clang option
`-fexperimental-relative-c++-abi-vtables`, we look for PC relative
relocations whose fixup locations fall in vtable address ranges.
For such relocations, actual target is just virtual function itself,
and the addend is to record the distance between vtable slot for
target virtual function and the first virtual function slot in vtable,
which is to match generated code that calls virtual function. So
we can skip the logic of handling "function + offset" and directly
save such relocations for future fixup after new layout is known.
Commit: 3e644859470e9ba77b8365cc7e2b5234492f4c30
https://github.com/llvm/llvm-project/commit/3e644859470e9ba77b8365cc7e2b5234492f4c30
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
Log Message:
-----------
Remove the redundant check for "WeakPtr" in isSmartPtrClass to fix the issue 135612. (#135629)
Commit: da17ced11b1cf44b433cb2b850978df4b6bff279
https://github.com/llvm/llvm-project/commit/da17ced11b1cf44b433cb2b850978df4b6bff279
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/dot2_error.ll
M llvm/test/CodeGen/DirectX/dot2add.ll
M llvm/test/CodeGen/DirectX/dot3_error.ll
M llvm/test/CodeGen/DirectX/dot4_error.ll
M llvm/test/CodeGen/DirectX/fdot.ll
M llvm/test/CodeGen/DirectX/normalize.ll
Log Message:
-----------
[DirectX] Use scalar arguments for @llvm.dx.dot intrinsics (#134570)
The `dx.dot2`, `dot3`, and `dot4` intrinsics exist purely to lower
`dx.fdot`, and they map exactly to the DXIL ops of the same name. Using
vectors for their arguments adds unnecessary complexity and causes us to
have vector operations that are not trivial to lower post-scalarizer.
Similarly, the `dx.dot2add` intrinsic is overly generic for something
that only needs to lower to a single `dot2AddHalf` DXIL op. Update its
signature to match the operation it lowers to.
Fixes #134569.
Commit: df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
https://github.com/llvm/llvm-project/commit/df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
Author: Mateusz Sokół <8431159+mtsokol at users.noreply.github.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR][Shape] Support >2 args in `shape.broadcast` folder (#126808)
Hi!
As the title says, this PR adds support for >2 arguments in
`shape.broadcast` folder by sequentially calling `getBroadcastedShape`.
Commit: c9ec1bc753b0bae7137547e1e39823b2effe82c1
https://github.com/llvm/llvm-project/commit/c9ec1bc753b0bae7137547e1e39823b2effe82c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/HLFIR/volatile1.fir
A flang/test/HLFIR/volatile2.fir
A flang/test/HLFIR/volatile3.fir
A flang/test/HLFIR/volatile4.fir
Log Message:
-----------
[flang] Handle volatility in lowering and codegen (#135311)
* Enable lowering and conversion patterns to pass volatility information
from higher level operations to lower level ones.
* Enable codegen to pass volatility to LLVM dialect ops by setting an
attribute on loads, stores, and memory intrinsics.
* Add utilities for passing along the volatility from an input type to
an output type.
To introduce volatile types into the IR, entities with the volatile
attribute will be given a volatile type in the bridge; this is not
enabled in this patch. User code should not result in IR with volatile
types yet, so this patch contains no tests with Fortran source, only IR
that already contains volatile types.
Part 3 of #132486.
Commit: da8ce56c53fe6e34809ba0b310fa90257e230a89
https://github.com/llvm/llvm-project/commit/da8ce56c53fe6e34809ba0b310fa90257e230a89
Author: aankit-ca <quic_aankit at quicinc.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
A llvm/test/CodeGen/Hexagon/hwloop-dist-check.mir
M llvm/test/CodeGen/Hexagon/swp-phi-start.ll
Log Message:
-----------
[HEXAGON] Fix corner cases for hwloops pass (#135439)
Add check to make sure Dist > 0 or Dist < 0 for appropriate cmp cases to
hexagon hardware loops pass. The change modifies the
HexagonHardwareLoops pass to add runtime checks to make sure that
end_value > initial_value for less than comparisons and end_value <
initial_value for greater than comparisons.
Fix for https://github.com/llvm/llvm-project/issues/133241
@androm3da @iajbar PTAL
---------
Co-authored-by: aankit-quic <aankit at quicinc.com>
Commit: c766d0c7321b12db12b3b087941e86df0f1a75d1
https://github.com/llvm/llvm-project/commit/c766d0c7321b12db12b3b087941e86df0f1a75d1
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[NFC][AsmPrinter] Refactor AsmPrinter and AArch64AsmPrinter to prepare for jump table partitions on aarch64 (#125993)
With
https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e,
AsmPrinter can place jump table entries into `.hot` or `.unlikely`
prefixed data sections. This change refactors AsmPrinter and
AArch64AsmPrinter to prepare for the aarch64 port.
* Before this patch, the AsmPrinter class exposes `emitJumpTableInfo` as
a virtual method, and AArch64AsmPrinter overrides `emitJumpTableInfo`
for jump table emission.
* After this patch, both AsmPrinter and AArch64AsmPrinter shares
`AsmPrinter::emitJumpTableInfo`, and class-specific code are moved
inside each class's `emitJumpTableImpl` respectively.
This is a follow-up of https://github.com/llvm/llvm-project/pull/125987,
and https://github.com/llvm/llvm-project/pull/126018 implements the port
for aarch64.
Commit: 6e19de84b302fbbb8d0b7a78b44bf1689c3e9c7c
https://github.com/llvm/llvm-project/commit/6e19de84b302fbbb8d0b7a78b44bf1689c3e9c7c
Author: mingmingl <mingmingl at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
R .ci/compute-projects.sh
A .ci/compute_projects.py
A .ci/compute_projects_test.py
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/metrics/metrics.py
M .ci/metrics/requirements.lock.txt
M .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/build-metrics-container.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/issue-write.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-check-generated-files.yml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M .github/workflows/llvm-bugs.yml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-lit.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/scorecard.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/version-check.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Linker.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
A bolt/include/bolt/Core/TargetConfig.def.in
R bolt/include/bolt/Passes/ContinuityStats.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
A bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Passes/PatchEntries.h
A bolt/include/bolt/Passes/ProfileQualityStats.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/JumpTable.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/ContinuityStats.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/Instrumentation.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
A bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
A bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/hugify.cpp
A bolt/test/AArch64/computed-goto.s
A bolt/test/AArch64/data-in-code.s
A bolt/test/AArch64/got-load-symbolization.s
A bolt/test/AArch64/jmp-table-unsupported.s
A bolt/test/AArch64/lite-mode.s
M bolt/test/AArch64/test-indirect-branch.s
M bolt/test/AArch64/tls.c
A bolt/test/Inputs/indirect_goto.c
M bolt/test/X86/Inputs/define_bar.s
R bolt/test/X86/Inputs/indirect_goto.c
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/callcont-fallthru.s
R bolt/test/X86/cfg-discontinuity-reporting.test
A bolt/test/X86/entry-point-fallthru.s
M bolt/test/X86/icf-safe-icp.test
M bolt/test/X86/icf-safe-process-rela-data.test
M bolt/test/X86/icf-safe-test1.test
M bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
R bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/indirect-goto.test
A bolt/test/X86/lite-mode-target-expr.s
A bolt/test/X86/profile-quality-reporting.test
A bolt/test/X86/skip-inline.s
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
A bolt/test/avoid-wx-segment.c
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/binary-analysis/AArch64/lit.local.cfg
A bolt/test/indirect-goto-relocs.test
M bolt/test/link_fdata.py
A bolt/test/runtime/relative-vftable.cpp
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/utils/docker/Dockerfile
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.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/CapturingThisInMemberVariableCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.cpp
A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeComplete.h
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/ProjectModules.h
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/Rename.h
M clang-tools-extra/clangd/refactor/tweaks/AnnotateHighlightings.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/StdLibTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModularizeUtilities.h
M clang-tools-extra/modularize/ModuleAssistant.cpp
A clang-tools-extra/test/clang-doc/DR-131697.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/single-file.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers-values.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call-custom-pointers.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
A clang/AreaTeamMembers.txt
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/BOLT.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/HLSL.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/BoundsSafety.rst
M clang/docs/BoundsSafetyImplPlans.rst
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/FunctionCalls.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/MSVCCompatibility.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/developer-docs.rst
M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
A clang/docs/analyzer/developer-docs/Statistics.rst
A clang/docs/analyzer/images/flamegraph.png
A clang/docs/analyzer/images/uftrace_detailed.png
M clang/docs/tools/dump_ast_matchers.py
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclID.h
A clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclVisitor.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Analysis/ProgramPoint.h
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
A clang/include/clang/Basic/BuiltinTemplates.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
R clang/include/clang/Basic/BuiltinsSME.def
M clang/include/clang/Basic/BuiltinsSPIRV.td
R clang/include/clang/Basic/BuiltinsSVE.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/ObjCRuntime.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Basic/TokenKinds.def
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/CMakeLists.txt
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
A clang/include/clang/CIR/Dialect/Passes.h
A clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/CIR/Passes.h
A clang/include/clang/CIR/TypeEvaluationKind.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/ModuleMap.h
A clang/include/clang/Lex/ModuleMapFile.h
M clang/include/clang/Lex/Preprocessor.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaConcept.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
A clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/EntryPointStats.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/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
A clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/include/module.modulemap
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
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/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
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/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
A clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.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/AMDGPU.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Warnings.cpp
M clang/lib/CIR/CMakeLists.txt
A clang/lib/CIR/CodeGen/Address.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenCall.cpp
A clang/lib/CIR/CodeGen/CIRGenCall.h
A clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
A clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
A clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
A clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
A clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
A clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
A clang/lib/CIR/Dialect/Transforms/PassDetail.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
A clang/lib/CIR/Interfaces/CIROpInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
A clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/lib/CodeGen/CGBuiltin.h
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGObjCRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGVTables.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
A clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
A clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
A clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
A clang/lib/CodeGen/TargetBuiltins/PPC.cpp
A clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
A clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
A clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
A clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
A clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/TCE.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/CodeGen/VarBypassDetector.cpp
M clang/lib/CodeGen/VarBypassDetector.h
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_cuda_intrinsics.h
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
M clang/lib/Headers/__stdarg_va_arg.h
M clang/lib/Headers/altivec.h
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/amxcomplexintrin.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2_512satcvtdsintrin.h
M clang/lib/Headers/avx10_2_512satcvtintrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Headers/avx10_2satcvtintrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl.h
A clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
A clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_detail.h
A clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
M clang/lib/Headers/lzcntintrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Headers/shaintrin.h
M clang/lib/Headers/stdint.h
M clang/lib/Headers/vecintrin.h
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/CMakeLists.txt
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/HeaderSearch.cpp
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
A clang/lib/Lex/ModuleMapFile.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
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/ParseHLSL.cpp
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/DeclSpec.cpp
A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAVR.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
A clang/lib/Sema/SemaDirectX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaMIPS.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/CMakeLists.txt
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
A clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
A clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
A clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Core/WorkList.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Testing/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/RefactoringCallbacks.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/c.c
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/floats.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/if.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/deref-to-array.cpp
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
A clang/test/AST/ByteCode/libcxx/make_unique.cpp
A clang/test/AST/ByteCode/libcxx/memcmp-pointer.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
A clang/test/AST/ByteCode/libcxx/pointer-subscript.cpp
A clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/placement-new.cpp
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/references.cpp
A clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/TypdefArrayParam.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
A clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/AST/HLSL/vector-alias.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/ast-dump-array.cpp
A clang/test/AST/ast-dump-atomic-options.hip
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
A clang/test/AST/ast-print-openacc-cache-construct.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/AST/ast-print-openacc-declare-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
A clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/AST/attr-print-emit.cpp
A clang/test/AST/cc-modifier.cpp
M clang/test/AST/const-fpfeatures.c
A clang/test/Analysis/ArrayBound/assumption-reporting.c
A clang/test/Analysis/ArrayBound/assumptions.c
A clang/test/Analysis/ArrayBound/brief-tests.c
A clang/test/Analysis/ArrayBound/cplusplus.cpp
A clang/test/Analysis/ArrayBound/verbose-tests.c
A clang/test/Analysis/Checkers/WebKit/binding-to-refptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
A clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
A clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
A clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
A clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/a_flaky_crash.cpp
M clang/test/Analysis/analysis-after-multiple-dtors.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
A clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
R clang/test/Analysis/array-bound-v2-constraint-check.c
M clang/test/Analysis/array-init-loop.cpp
M clang/test/Analysis/array-punned-region.c
A clang/test/Analysis/builtin_assume.cpp
M clang/test/Analysis/builtin_overflow_notes.c
R clang/test/Analysis/builtin_signbit.cpp
M clang/test/Analysis/call-invalidation.cpp
M clang/test/Analysis/cast-value-notes.cpp
A clang/test/Analysis/castsize.c
M clang/test/Analysis/concrete-address.c
M clang/test/Analysis/copy-elision.cpp
A clang/test/Analysis/csv2json.py
M clang/test/Analysis/ctor-array.cpp
M clang/test/Analysis/ctor.mm
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/cxx-uninitialized-object.cpp
A clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/diagnostics/no-store-func-path-notes.m
A clang/test/Analysis/dtor-union.cpp
M clang/test/Analysis/dtor.cpp
A clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/fread.c
A clang/test/Analysis/ftime-trace-bind.cpp
A clang/test/Analysis/ftime-trace-removeDead.cpp
M clang/test/Analysis/ftime-trace.cpp
M clang/test/Analysis/implicit-ctor-undef-value.cpp
M clang/test/Analysis/index-type.c
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
M clang/test/Analysis/initializer.cpp
M clang/test/Analysis/invalidated-iterator.cpp
A clang/test/Analysis/issue-124474.cpp
A clang/test/Analysis/issue-91835.cpp
M clang/test/Analysis/kmalloc-linux.c
A clang/test/Analysis/lambda-capture-structured-binding.cpp
M clang/test/Analysis/live-stmts.cpp
M clang/test/Analysis/loop-assumptions.c
A clang/test/Analysis/lvalue_elements.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/misc-ps-region-store.m
M clang/test/Analysis/misc-ps.c
M clang/test/Analysis/misc-ps.m
M clang/test/Analysis/mismatched-iterator.cpp
A clang/test/Analysis/new-user-defined.cpp
R clang/test/Analysis/no-outofbounds.c
M clang/test/Analysis/operator-calls.cpp
R clang/test/Analysis/out-of-bounds-diagnostics.c
R clang/test/Analysis/out-of-bounds-new.cpp
R clang/test/Analysis/out-of-bounds-notes.c
R clang/test/Analysis/out-of-bounds.c
R clang/test/Analysis/outofbound-notwork.c
R clang/test/Analysis/outofbound.c
M clang/test/Analysis/pr22954.c
R clang/test/Analysis/rdar-6541136-region.c
M clang/test/Analysis/region-store.cpp
M clang/test/Analysis/runtime-regression.c
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/stackaddrleak.cpp
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
A clang/test/Analysis/suppress-dereferences-from-any-address-space.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/Analysis/undef-buffers.c
R clang/test/Analysis/uninit-asm-goto.cpp
M clang/test/Analysis/uninit-const.c
M clang/test/Analysis/uninit-const.cpp
R clang/test/Analysis/uninit-sometimes.cpp
M clang/test/Analysis/uninit-structured-binding-array.cpp
M clang/test/Analysis/uninit-structured-binding-struct.cpp
M clang/test/Analysis/uninit-structured-binding-tuple.cpp
M clang/test/Analysis/uninit-vals.m
M clang/test/Analysis/virtualcall.cpp
M clang/test/Analysis/zero-size-non-pod-array.cpp
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/C/C11/n1330.c
A clang/test/C/C11/n1518.c
M clang/test/C/C23/n2819.c
M clang/test/C/C23/n2975.c
M clang/test/C/C23/n3042.c
A clang/test/C/C2y/n3347.c
A clang/test/C/C2y/n3353.c
A clang/test/C/C2y/n3363.c
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3409.c
A clang/test/C/C2y/n3410.c
A clang/test/C/C2y/n3411.c
A clang/test/C/C2y/n3451.c
A clang/test/C/C2y/n3460.c
A clang/test/C/C2y/n3460_1.c
A clang/test/C/C2y/n3469.c
A clang/test/C/C2y/n3478.c
A clang/test/C/C2y/n3481.c
A clang/test/C/C2y/n3482.c
A clang/test/C/C2y/n3496.c
A clang/test/C/C2y/n3505.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr209.c
A clang/test/CIR/CodeGen/array.cpp
A clang/test/CIR/CodeGen/basic.c
A clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/binop.cpp
A clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cmp.cpp
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/CodeGen/if-consteval.cpp
A clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/CodeGen/int-to-bool.cpp
A clang/test/CIR/CodeGen/local-vars.cpp
A clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/CodeGen/nullptr-init.cpp
A clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp
A clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/CodeGenOpenACC/data.c
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/kernels.c
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
A clang/test/CIR/CodeGenOpenACC/set.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
A clang/test/CIR/IR/array.cir
A clang/test/CIR/IR/binassign.cir
A clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/cast.cir
A clang/test/CIR/IR/cmp.cir
A clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global-var-linkage.cir
A clang/test/CIR/IR/global.cir
A clang/test/CIR/IR/unary.cir
A clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Lowering/basic.cpp
A clang/test/CIR/Lowering/binop-bool.cir
A clang/test/CIR/Lowering/binop-fp.cir
A clang/test/CIR/Lowering/binop-signed-int.cir
A clang/test/CIR/Lowering/binop-unsigned-int.cir
A clang/test/CIR/Lowering/cast.cir
A clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
A clang/test/CIR/Lowering/if.cir
A clang/test/CIR/Lowering/local-vars.cpp
A clang/test/CIR/Lowering/unary-expr-or-type-trait.cpp
A clang/test/CIR/Tools/cir-translate-triple.cir
A clang/test/CIR/Tools/has-triple-and-data-layout.cir
A clang/test/CIR/Tools/has-triple-no-data-layout.cir
A clang/test/CIR/Tools/invalid-translate-triple.cir
A clang/test/CIR/Tools/no-triple-has-data-layout.cir
A clang/test/CIR/Tools/no-triple-no-data-layout.cir
A clang/test/CIR/Tools/warn-default-triple.cir
A clang/test/CIR/Transforms/canonicalize.cir
A clang/test/CIR/Transforms/hoist-allocas.cir
A clang/test/CIR/Transforms/if.cir
A clang/test/CIR/Transforms/loop.cir
A clang/test/CIR/Transforms/scope.cir
A clang/test/CIR/emit-actions.cpp
A clang/test/CIR/func-simple.cpp
A clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/global-var-simple.cpp
R clang/test/CIR/hello.c
A clang/test/CIR/mlirargs.c
A clang/test/CIR/mlprint.c
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
M clang/test/CXX/class.access/class.access.dcl/p1.cpp
M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
M clang/test/CXX/class.access/class.friend/p6.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg787.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/special/class.inhctor/elsewhere.cpp
A clang/test/CXX/stmt.stmt/stmt.select/stmt.switch/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/test/CXX/temp/temp.pre/p6.cpp
M clang/test/CXX/temp/temp.res/temp.dep/p3.cpp
M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
M clang/test/ClangScanDeps/modules-context-hash-cwd.c
A clang/test/ClangScanDeps/modules-debug-dir.c
A clang/test/ClangScanDeps/modules-in-stable-dirs.c
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
A clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
A clang/test/CodeCompletion/GH125500.cpp
A clang/test/CodeCompletion/if-const.cpp
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fmv-detection.c
M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
A clang/test/CodeGen/AArch64/fp8-init-list.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.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/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
A clang/test/CodeGen/Inputs/cuda.h
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M clang/test/CodeGen/PowerPC/builtins-ppc-p9vector.c
A clang/test/CodeGen/RISCV/issue-129995.cpp
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
R clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
R clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/CodeGen/X86/lzcnt-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/sha-builtins.c
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
A clang/test/CodeGen/aarch64-execute-only.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
A clang/test/CodeGen/arm-neon-endianness.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/asm.c
M clang/test/CodeGen/assignment-tracking/assignment-tracking.cpp
M clang/test/CodeGen/assignment-tracking/memcpy-fragment.cpp
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/attr-malloc.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-version-riscv.c
R clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/avr/argument.c
M clang/test/CodeGen/blocks-windows.c
A clang/test/CodeGen/bounds-checking-debuginfo.c
A clang/test/CodeGen/builtin-assume-dereferenceable.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/builtin-constant-p.c
A clang/test/CodeGen/builtin-maxnum-minnum.c
A clang/test/CodeGen/builtin_signbit.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
A clang/test/CodeGen/cfi-check-fail-nomerge.c
M clang/test/CodeGen/cfi-check-fail.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/cfi-check-fail2.c
A clang/test/CodeGen/cx-complex-range-real.c
M clang/test/CodeGen/cx-complex-range.c
A clang/test/CodeGen/debug-info-enum-extensibility.c
A clang/test/CodeGen/excess-embed-data.c
M clang/test/CodeGen/fake-use-determinism.c
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
A clang/test/CodeGen/hwasan-stack-safety-analysis-with-array-bounds.c
A clang/test/CodeGen/invalid_llvm_ir.ll
A clang/test/CodeGen/kcfi-arity.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/memtag-globals-asm.cpp
A clang/test/CodeGen/nvptx-surface.cu
A clang/test/CodeGen/openacc-noop-decl.c
A clang/test/CodeGen/p0963r3.cpp
M clang/test/CodeGen/partial-reinitialization2.c
A clang/test/CodeGen/patchable-function-entry-section.c
M clang/test/CodeGen/pointer-overflow.c
M clang/test/CodeGen/pragma-fenv_access.c
A clang/test/CodeGen/profile-continuous.c
A clang/test/CodeGen/promoted-complex-div.c
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/CodeGen/setjmp.c
M clang/test/CodeGen/sret.c
A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/CodeGen/varargs.c
M clang/test/CodeGen/vector.c
A clang/test/CodeGen/win-fp128.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCUDA/atomic-ops.cu
A clang/test/CodeGenCUDA/atomic-options.hip
A clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/launch-bounds.cu
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/builtin-amdgcn-atomic-inc-dec.cpp
M clang/test/CodeGenCXX/builtin-constant-p.cpp
A clang/test/CodeGenCXX/builtins-eh-wasm.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
A clang/test/CodeGenCXX/cxx23-p2280r4.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
M clang/test/CodeGenCXX/derived-to-base.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/function-template-specialization.cpp
A clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/merge-functions.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
A clang/test/CodeGenCXX/sret_cast_with_nonzero_alloca_as.cpp
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCXX/type-metadata.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
A clang/test/CodeGenCXX/wasm-em-eh.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
A clang/test/CodeGenCoroutines/pr134409.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
A clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/and.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/asint16.hlsl
A clang/test/CodeGenHLSL/builtins/asuint16.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/dst.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/lit.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/or.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/select.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
R clang/test/CodeGenHLSL/cbuf.hlsl
R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
A clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/disable_opt.hlsl
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/res-may-alias.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/CodeGenObjC/arc-property.m
M clang/test/CodeGenObjC/arc-weak-property.m
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/arm64-int32-ivar.m
M clang/test/CodeGenObjC/bitfield-ivar-offsets.m
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/direct-method.m
M clang/test/CodeGenObjC/hidden-visibility.m
M clang/test/CodeGenObjC/interface-layout-64.m
M clang/test/CodeGenObjC/ivar-base-as-invariant-load.m
M clang/test/CodeGenObjC/ivar-layout-64.m
M clang/test/CodeGenObjC/metadata-symbols-64.m
M clang/test/CodeGenObjC/nontrivial-c-struct-property.m
M clang/test/CodeGenObjC/objc-asm-attribute-test.m
M clang/test/CodeGenObjC/property-array-type.m
M clang/test/CodeGenObjC/ubsan-bool.m
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
A clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
R clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-arg-info.cl
M clang/test/CodeGenOpenCL/kernel-attributes.cl
A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
M clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CodeGenOpenCL/sampler.cl
M clang/test/CodeGenOpenCL/spir-calling-conv.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
A clang/test/CodeGenSPIRV/Builtins/reflect.c
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
R clang/test/CoverageMapping/mcdc-error-nests.cpp
A clang/test/CoverageMapping/mcdc-nested-expr.cpp
M clang/test/CoverageMapping/terminate-statements.cpp
A clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/loongarch64-linux-ohos/.keep
A clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/loongarch64-linux-ohos/clang_rt.crtbegin.o
A clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/loongarch64-linux-ohos/clang_rt.crtend.o
A clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/loongarch64-linux-ohos/libclang_rt.builtins.a
A clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/loongarch64-linux-ohos/.keep
A clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/loongarch64-linux-ohos/.keep
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
M clang/test/Driver/Xarch.c
A clang/test/Driver/aarch64-execute-only.c
M clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aarch64-nvidia-olympus.c
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
A clang/test/Driver/aix-rpath.c
M clang/test/Driver/aix-rtlib.c
A clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/apple-arm64-arch.c
A clang/test/Driver/arch-arm64e.c
A clang/test/Driver/arm-fpu-selection.s
M clang/test/Driver/arm-thread-pointer.c
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
M clang/test/Driver/at_file_missing.c
A clang/test/Driver/atomic-options.hip
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/clang_wrapv_opts.c
M clang/test/Driver/compilation_database_multiarch.c
M clang/test/Driver/csky-toolchain.c
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/darwin-ld-platform-version-macos-requires-darwin.c
M clang/test/Driver/darwin-ld-platform-version-watchos.c
A clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/fat-lto-objects.c
M clang/test/Driver/fmemprof.cpp
M clang/test/Driver/fpatchable-function-entry.c
A clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-cuid-hash.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-gz-options.hip
M clang/test/Driver/hip-link-bc-to-bc.hip
M clang/test/Driver/hip-link-bundle-archive.hip
M clang/test/Driver/hip-macros.hip
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-sanitize-options.hip
A clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
A clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/link-device-code.test
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-ld.c
M clang/test/Driver/loongarch-toolchain.c
M clang/test/Driver/mips-abi.c
M clang/test/Driver/mips-cs.cpp
M clang/test/Driver/mips-fsf.cpp
M clang/test/Driver/mips-img-v2.cpp
M clang/test/Driver/mips-img.cpp
M clang/test/Driver/mips-mti.cpp
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/offload-Xarch.c
M clang/test/Driver/ohos.c
A clang/test/Driver/openacc-no-cir.c
M clang/test/Driver/openbsd.c
A clang/test/Driver/opencl-aot-compilation.cl
M clang/test/Driver/openmp-offload.c
A clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
A clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/sanitizer-ld.c
A clang/test/Driver/sparc-ias-Wa.s
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/spirv-toolchain.cl
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/systemz-march.c
A clang/test/Driver/warning-suppression-mappings-not-parsed.cpp
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/x86-target-features.c
M clang/test/Driver/xros-driver-requires-darwin-host.c
A clang/test/ExtractAPI/typedef_underscore.c
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
A clang/test/Frontend/dump-minimization-hints.cpp
A clang/test/Frontend/print-stats.c
A clang/test/Frontend/verify-mulptiple-prefixes.c
M clang/test/Frontend/verify.c
M clang/test/Frontend/verify3.c
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/altivec-header.c
M clang/test/Headers/cpuid.c
M clang/test/Headers/gpuintrin.c
A clang/test/Headers/no-xend.cpp
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Import/pack-expansion-expr/test.cpp
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/comment-to-html-xml-conversion.cpp
A clang/test/Index/extract-api-cursor-cpp.cpp
A clang/test/Index/index-deduction-guide.cpp
A clang/test/Index/openmp-stripe.c
M clang/test/Index/pch-from-libclang.c
M clang/test/Index/print-type.cpp
A clang/test/Index/single-file-parse-include-macro.c
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Interpreter/inline-virtual.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/ms-extensions.c
R clang/test/Lexer/newline-eof-c++98-compat.cpp
M clang/test/Lexer/newline-eof.c
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Misc/show-diag-options.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/systemz.c
M clang/test/Misc/time-passes.c
M clang/test/Misc/warning-flags.c
A clang/test/Modules/ComplexExplicitSpecifier.cpp
M clang/test/Modules/Inputs/export_as_test.modulemap
A clang/test/Modules/MixedModulePrecompile.cpp
A clang/test/Modules/clang-pragmas.c
A clang/test/Modules/diag-undefined-template.cpp
M clang/test/Modules/diagnostics.modulemap
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
M clang/test/Modules/explicit-build.cpp
M clang/test/Modules/export_as_test.c
A clang/test/Modules/external-but-not-type-external.cppm
A clang/test/Modules/fmodule-file-mismatch.cppm
A clang/test/Modules/lambda-in-module-purview-2.cppm
A clang/test/Modules/lambda-in-module-purview.cppm
A clang/test/Modules/local-submodule-visibility-transitive-import.c
A clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
A clang/test/Modules/modules-merge-enum.m
M clang/test/Modules/new-delete.cpp
A clang/test/Modules/no-transitive-decl-change-3.cppm
A clang/test/Modules/no-transitive-source-location-change-2.cppm
A clang/test/Modules/pr120277-2.cpp
A clang/test/Modules/pr125999.cppm
A clang/test/Modules/pr126373.cppm
A clang/test/Modules/pr127943.cppm
A clang/test/Modules/pr129982.cpp
A clang/test/Modules/pr28744.cpp
A clang/test/Modules/relocatable-modules.cpp
A clang/test/Modules/transitive-system.test
A clang/test/Modules/try-func-body.cppm
A clang/test/OpenMP/amdgcn_sret_ctor.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/amdgpu-unsafe-fp-atomics.cpp
M clang/test/OpenMP/assume_lambda.cpp
M clang/test/OpenMP/assume_nesting_tmpl.cpp
M clang/test/OpenMP/assume_template.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_messages.c
M clang/test/OpenMP/assumes_messages_attr.c
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/attr-assume.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_messages.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/metadirective_ast_print.c
A clang/test/OpenMP/metadirective_otherwise.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/ordered_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_messages.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
A clang/test/OpenMP/spirv_target_codegen_basic.cpp
A clang/test/OpenMP/spirv_variant_match.cpp
A clang/test/OpenMP/stripe_ast_print.cpp
A clang/test/OpenMP/stripe_codegen.cpp
A clang/test/OpenMP/stripe_messages.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
M clang/test/OpenMP/taskgroup_codegen.cpp
M clang/test/OpenMP/thread_limit_nvptx.c
A clang/test/Parser/Inputs/cuda.h
M clang/test/Parser/asm.cpp
A clang/test/Parser/atomic-options.hip
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx-template-decl.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx2c-variadic-friends.cpp
M clang/test/Parser/decomposed-condition.cpp
M clang/test/Parser/parser_overflow.c
M clang/test/Parser/recovery.cpp
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/bpf-predefined-macros.c
A clang/test/Preprocessor/constants.c
A clang/test/Preprocessor/embed_constexpr.c
M clang/test/Preprocessor/embed_parameter_unrecognized.c
M clang/test/Preprocessor/embed_preprocess_to_file.c
M clang/test/Preprocessor/ohos.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
A clang/test/Preprocessor/riscv-cf-protection-return.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/stdint.c
A clang/test/Preprocessor/warn-macro-undef-true.c
A clang/test/Preprocessor/zos-target.c
A clang/test/Sema/GH126231.cpp
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/test/Sema/aarch64-special-register.c
M clang/test/Sema/aarch64-sve-vector-exp-ops.c
M clang/test/Sema/aarch64-sve-vector-log-ops.c
M clang/test/Sema/aarch64-sve-vector-pow-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/attr-args.c
M clang/test/Sema/attr-availability-macosx.cpp
M clang/test/Sema/attr-callback-broken.c
M clang/test/Sema/attr-model.cpp
A clang/test/Sema/avr-interript-signal-attr.c
R clang/test/Sema/avr-interrupt-attr.c
R clang/test/Sema/avr-signal-attr.c
M clang/test/Sema/bool-compare.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-reduction-math.c
A clang/test/Sema/c23-varargs.c
A clang/test/Sema/clear_cache.c
M clang/test/Sema/compare.c
M clang/test/Sema/count-builtins.c
A clang/test/Sema/excess-embed-data.c
M clang/test/Sema/for.c
A clang/test/Sema/format-string-matches.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/generic-selection-type-extension.c
M clang/test/Sema/generic-selection.c
A clang/test/Sema/gh106576.c
M clang/test/Sema/incomplete-decl.c
A clang/test/Sema/main-no-return-c89-1.c
A clang/test/Sema/main-no-return-c89-2.c
A clang/test/Sema/main-no-return-c89-3.c
A clang/test/Sema/nullability-and-template-deduction.cpp
A clang/test/Sema/offsetof-ucrt.c
M clang/test/Sema/parentheses.cpp
M clang/test/Sema/patchable-function-entry-attr.c
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
A clang/test/Sema/riscv-interrupt-attr-qci.c
M clang/test/Sema/riscv-rvv-vector-exp-ops.c
M clang/test/Sema/riscv-rvv-vector-log-ops.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/riscv-sve-vector-pow-ops.c
A clang/test/Sema/shift-bool.c
A clang/test/Sema/shift-bool.cpp
M clang/test/Sema/tentative-decls.c
M clang/test/Sema/types.c
M clang/test/Sema/varargs-x86-64.c
M clang/test/Sema/varargs.c
A clang/test/Sema/vector-ast.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-thread-safety-analysis.c
M clang/test/SemaCUDA/device-var-init.cu
A clang/test/SemaCUDA/dtor.cu
A clang/test/SemaCUDA/spirv-attrs-diag.cu
M clang/test/SemaCUDA/spirv-attrs.cu
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/attr-cxx0x.cpp
M clang/test/SemaCXX/attr-print.cpp
M clang/test/SemaCXX/attr-require-constant-initialization.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/bool-increment-SFINAE.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
A clang/test/SemaCXX/builtin-structured-binding-size.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
A clang/test/SemaCXX/concepts-subsumption.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
A clang/test/SemaCXX/constexpr-if.cpp
A clang/test/SemaCXX/copy-ctor-template.cpp
R clang/test/SemaCXX/coroutine-decltype.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
A clang/test/SemaCXX/coroutine-unevaluate.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx0x-defaulted-functions.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
M clang/test/SemaCXX/cxx11-user-defined-literals.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
M clang/test/SemaCXX/cxx2c-enum-compare.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/decomposed-condition.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/deprecated.cpp
A clang/test/SemaCXX/derived-to-base-propagate-qualifiers.cpp
A clang/test/SemaCXX/embed-init-list.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/for-static-assert.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
M clang/test/SemaCXX/generic-selection.cpp
A clang/test/SemaCXX/gnu-asm-constexpr.cpp
M clang/test/SemaCXX/init-priority-attr.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/member-pointer.cpp
A clang/test/SemaCXX/ms-member-pointer.cpp
M clang/test/SemaCXX/ms-property.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
A clang/test/SemaCXX/offsetof-ucrt.cpp
M clang/test/SemaCXX/offsetof.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/pr25181-crash-on-invalid.cpp
M clang/test/SemaCXX/pr36536.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
A clang/test/SemaCXX/uninit-asm-goto.cpp
A clang/test/SemaCXX/uninit-sometimes.cpp
M clang/test/SemaCXX/uninitialized.cpp
A clang/test/SemaCXX/union-member-destructor.cpp
M clang/test/SemaCXX/unique_object_duplication.cpp
M clang/test/SemaCXX/unique_object_duplication.h
A clang/test/SemaCXX/unnecessary-virtual-specifier.cpp
A clang/test/SemaCXX/unused-bindings.cpp
M clang/test/SemaCXX/unused.cpp
M clang/test/SemaCXX/using-decl-templates.cpp
M clang/test/SemaCXX/vararg-non-pod.cpp
M clang/test/SemaCXX/varargs.cpp
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/AddUint64-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/asint16-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/asuint16-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/clamp-errors-16bit.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/logical-operator-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/max-errors-16bit.hlsl
A clang/test/SemaHLSL/BuiltIns/min-errors-16bit.hlsl
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
A clang/test/SemaHLSL/Language/AssignArray.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
A clang/test/SemaHLSL/Language/NoVirtual.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/BooleanVectorConstantExpr.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
M clang/test/SemaHLSL/cb_error.hlsl
A clang/test/SemaHLSL/use-cxx-alt-operator-names.hlsl
M clang/test/SemaObjCXX/message.mm
M clang/test/SemaObjCXX/propert-dot-error.mm
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
A clang/test/SemaOpenACC/cache-construct-ast.cpp
A clang/test/SemaOpenACC/cache-construct.cpp
M clang/test/SemaOpenACC/combined-construct-ast.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-default-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
A clang/test/SemaOpenACC/declare-construct-ast.cpp
A clang/test/SemaOpenACC/declare-construct.cpp
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-ast.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
A clang/test/SemaOpenACC/routine-construct-ast.cpp
A clang/test/SemaOpenACC/routine-construct-clauses.cpp
A clang/test/SemaOpenACC/routine-construct.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
R clang/test/SemaOpenACC/unimplemented-construct.c
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
R clang/test/SemaOpenCL/builtins-amdgcn-error-gfx940-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M clang/test/SemaOpenCL/invalid-kernel-attrs.cl
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M clang/test/SemaSYCL/float128.cpp
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/constructor-template.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/instantiation-backtrace.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
A clang/test/TableGen/HLSLAttribute-errors.td
A clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
A clang/test/utils/update_cc_test_checks/Inputs/filter_out_after.c
A clang/test/utils/update_cc_test_checks/Inputs/filter_out_after.c.expected
A clang/test/utils/update_cc_test_checks/filter_out_after.test
M clang/tools/CMakeLists.txt
R clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
R clang/tools/amdgpu-arch/CMakeLists.txt
M clang/tools/c-index-test/c-index-test.c
A clang/tools/cir-lsp-server/CMakeLists.txt
A clang/tools/cir-lsp-server/cir-lsp-server.cpp
A clang/tools/cir-opt/CMakeLists.txt
A clang/tools/cir-opt/cir-opt.cpp
A clang/tools/cir-translate/CMakeLists.txt
A clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/clang-format.el
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXString.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/Indexing.cpp
M clang/tools/libclang/libclang.map
R clang/tools/nvptx-arch/CMakeLists.txt
R clang/tools/nvptx-arch/NVPTXArch.cpp
A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
A clang/tools/offload-arch/CMakeLists.txt
A clang/tools/offload-arch/NVPTXArch.cpp
A clang/tools/offload-arch/OffloadArch.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Frontend/FrontendActionTest.cpp
A clang/unittests/Frontend/NoAlterCodeGenActionTest.cpp
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Lex/HeaderSearchTest.cpp
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/AnalyzerOptionsTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/StaticAnalyzer/Reusables.h
M clang/unittests/StaticAnalyzer/StoreTest.cpp
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/TableGen/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
A clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
R clang/utils/creduce-clang-crash.py
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
A clang/utils/reduce-clang-crash.py
M clang/www/OpenProjects.html
M clang/www/analyzer/open_projects.html
M clang/www/analyzer/potential_checkers.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/get_involved.html
M clang/www/get_started.html
M clang/www/make_cxx_dr_status
A cmake/Modules/FindLibcCommonUtils.cmake
M cmake/Modules/FindPrefixFromConfig.cmake
M compiler-rt/CMakeLists.txt
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/cmake/config-ix.cmake
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/include/orc_rt/c_api.h
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_fake_stack.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_shadow_setup.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/arm/negdf2vfp.S
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
R runtimes/cmake/Modules/FindLibcCommonUtils.cmake
Log Message:
-----------
run 'git merge main' and resolve conflicts
Compare: https://github.com/llvm/llvm-project/compare/0c0b21d5207f...6e19de84b302
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