[all-commits] [llvm/llvm-project] fb9329: [ExecutionEngine] Avoid repeated hash lookups (NFC...
Michael Kruse via All-commits
all-commits at lists.llvm.org
Thu Mar 13 06:09:05 PDT 2025
Branch: refs/heads/users/meinersbur/flang_runtime_remove-FLANG_INCLUDE_RUNTIME
Home: https://github.com/llvm/llvm-project
Commit: fb9329ce15a96f568a0b0707cce1177aa5d31aff
https://github.com/llvm/llvm-project/commit/fb9329ce15a96f568a0b0707cce1177aa5d31aff
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#129822)
Commit: 7bd492ffe84b549bc0f3b26e3aab973fa81069a5
https://github.com/llvm/llvm-project/commit/7bd492ffe84b549bc0f3b26e3aab973fa81069a5
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/test/ClangScanDeps/modules-context-hash-cwd.c
M clang/test/ClangScanDeps/modules-debug-dir.c
Log Message:
-----------
[clang dependency scanning] Make Current Working Directory Optimization Off by Default (#129809)
https://github.com/llvm/llvm-project/pull/124786 implemented current
working directory (CWD) optimization and the optimization was on by
default. We have discovered that build system needs to be compatible
with the CWD optimization and default off is a better behavior. The
build system needs to be aware that the current working directory is
ignored. Without a good way of notifying the build system, it is less
risky to default to off. This PR implement the change.
rdar://145860213
Commit: b53e75711c284d08b7377385c6f2a037842c0d5b
https://github.com/llvm/llvm-project/commit/b53e75711c284d08b7377385c6f2a037842c0d5b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb-dap] Replace Get{Signed,Unsigned} with GetInteger<T> (NFC) (#129823)
Replace Get{Signed,Unsigned} with GetInteger<T> and return std::optional
so you can distinguish between the value not being present and it being
explicitly set to the previous fail_value. All existing uses are
replaced by calling value_or(fail_value).
Continuation of #129818
Commit: 39c454af01fd272166e5379ffc4d4d6b32d7bbee
https://github.com/llvm/llvm-project/commit/39c454af01fd272166e5379ffc4d4d6b32d7bbee
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[TTI] getScalingFactorCost should return InstructionCost::getInvalid() instead of -1. (#129802)
Historically this function return an int with negative values meaning
invalid. It was migrated to InstructionCost in 43ace8b5ce07a, but the
code was not updated to return invalid cost instead of -1. In that
commit, the caller in LSR was updated to assert that the cost is valid
instead of positive. We should return invalid instead of a negative
value so LSR will assert if the cost isn't valid.
Commit: 58670aa79a7e4129b89186a5076b08bef4564aa6
https://github.com/llvm/llvm-project/commit/58670aa79a7e4129b89186a5076b08bef4564aa6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[FastISel] Use Register. NFC
This focuses on the common interfaces and tablegen. More changes
are needed to individual targets.
Commit: d4ab3df320f9eebf11cc5fb600a0919f93678abe
https://github.com/llvm/llvm-project/commit/d4ab3df320f9eebf11cc5fb600a0919f93678abe
Author: David Green <david.green at arm.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64] Fix SVE scalar fcopysign lowering without neon. (#129787)
Without this we can try to generate invalid instructions or create
illegal types. This patch generates a SVE fcopysign instead and use its
lowering. BF16 is left out of the moment as it doesn't lower
successfully (but could use the same code as fp16).
Commit: c3c1230e731af9e989c4235e451d3d4b35adc512
https://github.com/llvm/llvm-project/commit/c3c1230e731af9e989c4235e451d3d4b35adc512
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.h
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/OpAsmInterface.td
A mlir/include/mlir/IR/OpAsmSupport.h
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/BuiltinDialect.cpp
Log Message:
-----------
[mlir][NFC] Migrate to OpAsmAttrInterface for some Builtin Attributes for alias (#128191)
After the introduction of `OpAsmAttrInterface` for alias in #124721, the
natural thought to exercise it would be migrating the MLIR existing
alias generation method, i.e. `OpAsmDialectInterface`, to use the new
interface.
There is a `BuiltinOpAsmDialectInterface` that generates aliases for
`AffineMapAttr` and `IntegerSetAttr`, and these attributes could be
migrated to use `OpAsmAttrInterface`.
However, the tricky part is that `OpAsmAttrInterface` lives in
`OpImplementation.h`. If `BuiltinAttributes.h` includes that, it would
become a cyclic inclusion.
Note that only BuiltinAttribute/Type would face such issue as outside
user can just include `OpImplementation.h` (see downstream example
https://github.com/google/heir/pull/1437)
The dependency is introduced by the fact that `OpAsmAttrInterface` uses
`OpAsmDialectInterface::AliasResult`.
The solution to is: Put the `AliasResult` in `OpAsmSupport.h` that all
interfaces can include that header safely. The API wont break as
`mlir::OpAsmDialectInterface::AliasResult` is a typedef of this class.
Commit: 74df2032d467618a9aab085120539e306f21bcc0
https://github.com/llvm/llvm-project/commit/74df2032d467618a9aab085120539e306f21bcc0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M .github/workflows/docs.yml
M .github/workflows/issue-write.yml
Log Message:
-----------
[Github] Bump old action versions (#129833)
These two actions are particularly old, and should be updated to the
latest version. Doing this in a specific commit to easily roll back if
things break and to get as much testing done as possible within the jobs
triggered as a part of these changes.
Commit: 5d8b4ea97b174d6d80dbdeaabf5a3664d99e6a19
https://github.com/llvm/llvm-project/commit/5d8b4ea97b174d6d80dbdeaabf5a3664d99e6a19
Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
Log Message:
-----------
[lldb-dap] Fix: disableASLR launch argument not working. (#129753)
Fixes #94338
Commit: e51331cb9a2d5dcb427d7ba3dea04f611114535b
https://github.com/llvm/llvm-project/commit/e51331cb9a2d5dcb427d7ba3dea04f611114535b
Author: Takuto Ikuta <atetubou at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M libcxx/include/module.modulemap
Log Message:
-----------
[libcxx] Export directory_iterator in module build (#129195)
This is workaround for the link error like https://crbug.com/390537876.
Might be related to https://github.com/llvm/llvm-project/issues/120108
too.
Commit: db70d760829258b9687ecd0d7ea959256e028334
https://github.com/llvm/llvm-project/commit/db70d760829258b9687ecd0d7ea959256e028334
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add more verifiers for the following operators (#127923)
For ConcatOp this commit also enhances the verifier by
checking 4 another conditions:
- The input list is not empty
- The axis value is within range of the input shapes
- All inputs have the same rank
- All non concatenate axis dims have the same value
For MatmulOp:
- Checked input a, bs tensor type, element types
For the following operators, added the verifySameElementTypes check.
- PadOp
- SliceOp
- TileOp
- ReshapeOp
- TransposeOp
- GatherOp
- ScatterOp
- MaxPool2dOp
- ReverseOp
- SelectOp
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 03da079968845e1f1312d09ff4e2ecee1933552e
https://github.com/llvm/llvm-project/commit/03da079968845e1f1312d09ff4e2ecee1933552e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
Log Message:
-----------
[LoopUtils] Saturate at INT_MAX when estimating TC (#129683)
getLoopEstimatedTripCount returns std::nullopt when the trip count would
overflow the return type, but since it is an estimate anyway, we might
as well saturate at UINT_MAX, improving results.
Commit: 878a64f94a264ea4b564d6063614ddb0b5da3f6c
https://github.com/llvm/llvm-project/commit/878a64f94a264ea4b564d6063614ddb0b5da3f6c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectCast.h
M lldb/include/lldb/ValueObject/ValueObjectChild.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/include/lldb/ValueObject/ValueObjectDynamicValue.h
M lldb/include/lldb/ValueObject/ValueObjectMemory.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/include/lldb/ValueObject/ValueObjectVTable.h
M lldb/include/lldb/ValueObject/ValueObjectVariable.h
M lldb/source/API/SBType.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Core/Value.cpp
M lldb/source/DataFormatters/TypeFormat.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/ExpressionVariable.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectCast.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/source/ValueObject/ValueObjectDynamicValue.cpp
M lldb/source/ValueObject/ValueObjectMemory.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
M lldb/source/ValueObject/ValueObjectVariable.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/class-type-nullptr-deref.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-signature-loop.s
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
Log Message:
-----------
[lldb] Upgrade CompilerType::GetBitSize to return llvm::Expected (#129601)
This patch pushes the error handling boundary for the GetBitSize()
methods from Runtime into the Type and CompilerType APIs. This makes it
easier to diagnose problems thanks to more meaningful error messages
being available. GetBitSize() is often the first thing LLDB asks about a
type, so this method is particularly important for a better user
experience.
rdar://145667239
Commit: 9f0a912a4619ebca977f7da36cd2fb7ba56f71ce
https://github.com/llvm/llvm-project/commit/9f0a912a4619ebca977f7da36cd2fb7ba56f71ce
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-unpack-scalable-inner-tile.mlir
Log Message:
-----------
[mlir][test][sve] Add e2e test for linalg.pack + linalg.unpack (#129696)
This patch adds an e2e test for the `linalg.pack` + `linalg.unpack` pair
with a dynamic inner tile size that's tied to SVE's "vscale":
```mlir
%c4 = arith.constant 4 : index
%vs = vector.vscale
%tile_size = arith.muli %c4, %vs : index
```
This means that the actual size of the corresponding inner and outer
tile size will depend on the runtime value of "vscale".
To make the new test deterministic (and to make it easier to
experiment), I have hard-coded the value of "vscale" to 2 via (2 x 128
bits = 256 bits):
```mlir
`func.call @setArmVLBits(%c256) : (i32) -> ()
```
This can be relaxed at a later time or played with when experimenting
locally with e.g. QEMU.
NOTE: Vectorization has not been enabled yet (scalable vectorization of
`linalg.unpack` is still WIP).
Commit: e49180d84c4d8b25fa944e494f4f292479eec1f6
https://github.com/llvm/llvm-project/commit/e49180d84c4d8b25fa944e494f4f292479eec1f6
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
A llvm/test/CodeGen/RISCV/xqccmp-additional-stack.ll
A llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
A llvm/test/CodeGen/RISCV/xqccmp-cm-popretz.mir
A llvm/test/CodeGen/RISCV/xqccmp-cm-push-pop.mir
A llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
A llvm/test/CodeGen/RISCV/xqccmp-with-float.ll
A llvm/test/CodeGen/RISCV/xqccmp_mvas_mvsa.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
Log Message:
-----------
[RISCV] Xqccmp Code Generation (#128815)
This adds support for Xqccmp to the following passes:
- Prolog Epilog Insertion - reusing much of the existing push/pop logic,
but extending it to cope with frame pointers and reorder the CFI
information correctly.
- Move Merger - extending it to support the `qc.` variants of the
double-move instructions.
- Push/Pop Optimizer - extending it to support the `qc.` variants of the
pop instructions.
The testing is based on existing Zcmp tests, but I have put them in
separate files as some of the Zcmp tests were getting quite long.
Commit: 6d4f8b1dbfd21811351bec205154992afddbc5ea
https://github.com/llvm/llvm-project/commit/6d4f8b1dbfd21811351bec205154992afddbc5ea
Author: Steven Perron <stevenperron at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/cbuffer.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/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
Log Message:
-----------
[HLSL] Fix resource wrapper declaration (#129100)
The resource wrapper should have internal linkage because it contains a
handle to the global resource, and it not the actual global.
Makeing this changed exposed that we were zeroinitializing the resouce,
which is a problem. The handle cannot be zeroinitialized. This is
changed to use poison instead.
Fixes https://github.com/llvm/llvm-project/issues/122767.
---------
Co-authored-by: Helena Kotas <hekotas at microsoft.com>
Commit: 35622a93bb034ad5c56e3a490060648b35ba49f1
https://github.com/llvm/llvm-project/commit/35622a93bb034ad5c56e3a490060648b35ba49f1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-result.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
[mlir][ODS] Add a generated builder that takes the Properties struct (#124713)
This commit adds builders of the form
```
static void build(..., [TypeRange resultTypes],
ValueRange operands, const Properties &properties,
ArrayRef<NamedAttribute> discardableAttributes = {},
[unsigned numRegions]);
```
to go alongside the existing
result/operands/[inherent + discardable attribute list] collective
builders.
This change is intended to support a refactor to the declarative rewrite
engine to make it populate the `Properties` struct instead of creating a
`DictionaryAttr`, thus enabling rewrite rules to handle non-`Attribute`
properties.
More generally, this means that generic code that would previously call
`getAttrs()` to blend together inherent and discardable attributes can
now use `getProperties()` and `getDiscardableAttrs()` separately, thus
removing the need to serialize everything into a temporary
`DictionaryAttr`.
Commit: 2bbe30bf358e369b5262aac7608f3704fc66c58b
https://github.com/llvm/llvm-project/commit/2bbe30bf358e369b5262aac7608f3704fc66c58b
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
Log Message:
-----------
[MLIR][LLVMIR] llvm.call_intrinsic: support operand/result attributes (#129640)
Basically catch up with llvm.call and add support for translate and
import to LLVM IR.
This PR is split into two commits in case it's easier to review the
refactoring part, which comes first (happy to split the PR if
necessary).
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 02f024ca97403e8dff55ca4feebe78009d9ea8f3
https://github.com/llvm/llvm-project/commit/02f024ca97403e8dff55ca4feebe78009d9ea8f3
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/bindings/interface/SBProgressDocstrings.i
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
Log Message:
-----------
[LLDB-DAP] SBDebugger don't prefix title on progress updates (#124648)
In my last DAP patch (#123837), we piped the DAP update message into the
update event. However, we had the title embedded into the update
message. This makes sense for progress Start, but makes the update
message look pretty wonky.

Instead, we only use the title when it's the first message, removing the
duplicate title problem.

Commit: ab811e75734a77247dae6df1579fa6f29394f200
https://github.com/llvm/llvm-project/commit/ab811e75734a77247dae6df1579fa6f29394f200
Author: David Green <david.green at arm.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
M llvm/test/CodeGen/AArch64/parity.ll
M llvm/test/CodeGen/AArch64/popcount.ll
Log Message:
-----------
[AArch64] Fix BE popcount casts. (#129879)
A bitcast, being defined as a load and a store, can change the lane
order. We need to use a NVCAST instead to keep the lanes out of the
VADDV the same in big-endian. The extracting from a v2i64 vector is
to keep the types of the nvcast legal, but also allow us to replace a
lane mov with a mov 0.
Fixes #129843
Commit: 44c6a23789b3ddd93b49405a7561ddf5024265e8
https://github.com/llvm/llvm-project/commit/44c6a23789b3ddd93b49405a7561ddf5024265e8
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
A flang/test/Lower/OpenMP/real10.f90
Log Message:
-----------
[flang][OpenMP][AMDGPU] Allow REAL(10) to compile on AMDGPU (#129742)
This will allow the following code to compile
```
program p
real(10) :: x
!$omp target
continue
!$omp end target
end
```
Commit: c017cdf0714afcccca3338529134f3792d9287f6
https://github.com/llvm/llvm-project/commit/c017cdf0714afcccca3338529134f3792d9287f6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Improve matching isDerivedFrom base in case of multi aliases exists (#126793)
Previously in case of multiable aliases exists for the same base we just
accept the first one
https://github.com/llvm/llvm-project/blob/2cf6663d3c86b065edeb693815e6a4b325045cc2/clang/lib/ASTMatchers/ASTMatchFinder.cpp#L1290-L1297
For example
```
struct AnInterface {};
typedef AnInterface UnusedTypedef;
typedef AnInterface Base;
class AClass : public Base {};
```
`cxxRecordDecl(isDerivedFrom(decl().bind("typedef")))` typedef will be
bonded to `UnusedTypedef`
But if we changed the order now it will point to the right one
```
struct AnInterface {};
typedef AnInterface Base;
typedef AnInterface UnusedTypedef;
class AClass : public Base {};
```
`cxxRecordDecl(isDerivedFrom(decl().bind("typedef")))` typedef will be
bonded to `Base`
This PR improve the matcher to prioritise the alias that has same
desugared name as the base, if not then just accept the first one.
Fixes: #126498
Commit: 46236f4c3dbe11e14fe7ac1f4b903637efedfecf
https://github.com/llvm/llvm-project/commit/46236f4c3dbe11e14fe7ac1f4b903637efedfecf
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
Log Message:
-----------
[lldb] Add missing type conversion for Windows
Commit: da61b0ddc5dcc8f1ac64eaddabdbfec5aa23f22b
https://github.com/llvm/llvm-project/commit/da61b0ddc5dcc8f1ac64eaddabdbfec5aa23f22b
Author: Augie Fackler <augie at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/big_int.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdlib/quick_sort.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/string_utils.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/blockstore_test.cpp
M libc/test/src/__support/fixedvector_test.cpp
M libc/test/src/__support/hash_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/math/FModTest.h
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/strings/bcopy_test.cpp
Log Message:
-----------
Revert "[libc] Enable -Wconversion for tests. (#127523)"
This reverts commit 1e6e845d49a336e9da7ca6c576ec45c0b419b5f6 because it
changed the 1st parameter of adjust() to be unsigned, but libc itself
calls adjust() with a negative argument in align_backward() in
op_generic.h.
Commit: 275eab91edba816b5c98828c53b7f21afd97dbd9
https://github.com/llvm/llvm-project/commit/275eab91edba816b5c98828c53b7f21afd97dbd9
Author: Vy Nguyen <vyng at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[LLDB]Fix test crash (#129921)
Use the `SubsystemRAII` to unregister the fake manager at end of tests
(Should fix https://github.com/llvm/llvm-project/issues/129910)
Commit: 77363f7518f7696fe18b9f824b4474aaf299b447
https://github.com/llvm/llvm-project/commit/77363f7518f7696fe18b9f824b4474aaf299b447
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M libc/startup/gpu/CMakeLists.txt
Log Message:
-----------
[libc] Allow building the GPU targets that don't have CRT (#129945)
Summary:
If there's no subdirectory we can't make an alias. This allows it to at
least continue.
Commit: d1abbb4dc5071e379d048f98b096260ed899ae44
https://github.com/llvm/llvm-project/commit/d1abbb4dc5071e379d048f98b096260ed899ae44
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-doconc.cuf
Log Message:
-----------
[flang][cuda] Change induction variable from i32 to index for doconcurrent inside cuf kernel directive (#129924)
Use `index` instead of `i32` for induction variables for doconcurrent
inside cuf kernel directive. Regular do loop inside cuf kernel directive
also uses `index`:
```
cuf.kernel<<<*, *>>> (%arg0 : index) = ...
```
Commit: aea74034ebd9b630e24d82872ef632086907600c
https://github.com/llvm/llvm-project/commit/aea74034ebd9b630e24d82872ef632086907600c
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/AttrKindDetail.h
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
Log Message:
-----------
[MLIR][LLVMIR] Add elementtype attribute (#129918)
These are very common when using intrinsics (e.g. ARM NEON).
For more context: ClangIR has currently been blocked on such intrinsics
emission because of this lacking capability.
Commit: 45759fe5b49148aa724d9d58d03e507938c7d218
https://github.com/llvm/llvm-project/commit/45759fe5b49148aa724d9d58d03e507938c7d218
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
M llvm/test/CodeGen/AMDGPU/vni8-live-reg-opt.ll
Log Message:
-----------
[AMDGPU] Filter candidates of LiveRegOptimizer for profitable cases (#124624)
It is known that for vector whose element fits in i16 will be split and
scalarized in SelectionDag's type legalizer
(see SIISelLowering::getPreferredVectorAction).
LRO attempts to undo the scalarizing of vectors across basic block
boundary and shoehorn Values in VGPRs. LRO is beneficial for operations
that natively work on illegal vector types to prevent flip-flopping
between unpacked and packed. If we know that operations on vector will
be split and scalarized, then we don't want to shoehorn them back to
packed VGPR.
Operations that we know to work natively on illegal vector types usually
come in the form of intrinsics (MFMA, DOT8), buffer store, shuffle, phi
nodes to name a few.
Commit: 5422e2c68107650c33f39e6224d1ff0064467550
https://github.com/llvm/llvm-project/commit/5422e2c68107650c33f39e6224d1ff0064467550
Author: Amara Emerson <amara at apple.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/prefetch-darwin-no-fold-global.ll
Log Message:
-----------
[AArch64][GlobalISel] On Darwin don't fold globals into the offset of prefetches.
ld64 doesn't currently support the PAGEOFF relocations on anything but load/stores
so we need to bail-out here to fix the build failures on greendragon.
rdar://145495288
Commit: f2bebdc6883ffa19d2eb75528e028c1bd04ce6af
https://github.com/llvm/llvm-project/commit/f2bebdc6883ffa19d2eb75528e028c1bd04ce6af
Author: lntue <lntue at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction_double_fma.h
M libc/src/math/generic/range_reduction_double_nofma.h
Log Message:
-----------
[libc][math] Add skip accurate pass option for exp*, log*, and powf functions. (#129831)
Commit: b5e70d06827189cc701b4b02213549cee60c5160
https://github.com/llvm/llvm-project/commit/b5e70d06827189cc701b4b02213549cee60c5160
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb-dap] Use LLDB_INVALID_LINE_NUMBER & LLDB_INVALID_COLUMN_NUMBER (#129948)
Consistently use LLDB_INVALID_LINE_NUMBER & LLDB_INVALID_COLUMN_NUMBER
when parsing line and column numbers respectively.
Commit: 4b454afc45cdd69ad7d8d6bdba785b00bda7808c
https://github.com/llvm/llvm-project/commit/4b454afc45cdd69ad7d8d6bdba785b00bda7808c
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
Convert unreachable return statement into llvm_unreachable (#129627)
Static analysis flags the final return statement in `ReadExtensionBlock`
as unreachable and indeed it is since there is no way to exit the
`while(true)` loop besides a *return statement*.
So I am converting it into a `llvm_unreachable` to explicitly document
this.
Commit: 5b3ba261c49bee35debdd54e23a6a181126f798e
https://github.com/llvm/llvm-project/commit/5b3ba261c49bee35debdd54e23a6a181126f798e
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Sema/for.c
Log Message:
-----------
[Clang] [Sema] Allow non-local/non-variable declarations in for loop (#129737)
Currently, we error on non-variable or non-local variable declarations
in `for` loops such as `for (struct S {}; 0; ) {}`. However, this is
valid in C23, so this patch changes the error to a compatibilty warning
and also allows this as an extension in earlier language modes. This
also matches GCC’s behaviour.
Commit: b4ecebe745ddebf30449435203deeb6463ecf9f0
https://github.com/llvm/llvm-project/commit/b4ecebe745ddebf30449435203deeb6463ecf9f0
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
A clang/test/SemaHLSL/BuiltIns/AddUint64-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
A llvm/test/CodeGen/DirectX/UAddc.ll
A llvm/test/CodeGen/DirectX/UAddc_errors.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/AddUint64.ll
Log Message:
-----------
[HLSL] [DXIL] Implement the AddUint64 HLSL function and the UAddc DXIL op (#127137)
Fixes #99205.
- Implements the HLSL intrinsic `AddUint64` used to perform unsigned
64-bit integer addition by using pairs of unsigned 32-bit integers
instead of native 64-bit types
- The LLVM intrinsic `uadd_with_overflow` is used in the implementation
of `AddUint64` in `CGBuiltin.cpp`
- The DXIL op `UAddc` was defined in `DXIL.td`, and a lowering of the
LLVM intrinsic `uadd_with_overflow` to the `UAddc` DXIL op was
implemented in `DXILOpLowering.cpp`
Notes:
- `__builtin_addc` was not able to be used to implement `AddUint64` in
`hlsl_intrinsics.h` because its `CarryOut` argument is a pointer, and
pointers are not supported in HLSL
- A lowering of the LLVM intrinsic `uadd_with_overflow` to SPIR-V
[already
exists](https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/SPIRV/llvm-intrinsics/uadd.with.overflow.ll)
- When lowering the LLVM intrinsic `uadd_with_overflow` to the `UAddc`
DXIL op, the anonymous struct type `{ i32, i1 }` is replaced with a
named struct type `%dx.types.i32c`. This aspect of the implementation
may be changed when issue #113192 gets addressed
- Fixes issues mentioned in the comments on the original PR #125319
---------
Co-authored-by: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Co-authored-by: Farzon Lotfi <farzonlotfi at microsoft.com>
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 12c5a46c300eedb6cafc68b987abb9c1fa913e96
https://github.com/llvm/llvm-project/commit/12c5a46c300eedb6cafc68b987abb9c1fa913e96
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/nvptxintrin.h
Log Message:
-----------
[Clang] Fix incorrect condition on ballot
Summary:
Somehow these got the `!` dropped and it wasn't tested because the
existing test only used the 32-bit variant.
Commit: c28c5089628a443e0f848c2860f5e59e68efe301
https://github.com/llvm/llvm-project/commit/c28c5089628a443e0f848c2860f5e59e68efe301
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/algorithm
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
Log Message:
-----------
[libc++] Implement part of P2562R1: constexpr `ranges::stable_partition` (#129839)
Commit: 45ca613c135ea7b5fbc63bff003f20bf20f62081
https://github.com/llvm/llvm-project/commit/45ca613c135ea7b5fbc63bff003f20bf20f62081
Author: Prabhuk <prabhukr at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/Mangle.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[clang] Use TargetInfo to decide Mangling for C (#129920)
Instead of hardcoding the decision on what mangling scheme to use based
on targets, use TargetInfo to make the decision.
Commit: 213028556419cb734be5aadcfd9798b40a8ebc31
https://github.com/llvm/llvm-project/commit/213028556419cb734be5aadcfd9798b40a8ebc31
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-pointer.cuf
Log Message:
-----------
[flang][cuda] Make sure allocator id is set for pointer allocate (#129950)
Commit: 560cfd509916cd75bcd79143a91def5f3d8b9ba1
https://github.com/llvm/llvm-project/commit/560cfd509916cd75bcd79143a91def5f3d8b9ba1
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
c-index-test: fix buffer overflow (#129922)
We should not try to overwrite the pointer of struct, also need to add 1
for end of line.
Commit: f4ba2bf236c1f6243420ae4872accc350af98624
https://github.com/llvm/llvm-project/commit/f4ba2bf236c1f6243420ae4872accc350af98624
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-num-agpr.ll
Log Message:
-----------
AMDGPU: Add amdgpu-agpr-alloc attribute to control AGPR allocation (#128034)
This provides a range to decide how to subdivide the vector register
budget on gfx90a+. A single value declares the minimum AGPRs that
should be allocatable. Eventually this should replace amdgpu-no-agpr.
I want this primarily for testing agpr allocation behavior. We should
have a heuristic try to detect a reasonable number of AGPRs to keep
allocatable.
Commit: a216358ce7e8c4b8b4f99f92426a94e558c6ffed
https://github.com/llvm/llvm-project/commit/a216358ce7e8c4b8b4f99f92426a94e558c6ffed
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers-assertion-after-ra-failure.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-num-agpr.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
M llvm/test/CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
M llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx942.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
Log Message:
-----------
AMDGPU: Replace amdgpu-no-agpr with amdgpu-agpr-alloc (#129893)
This performs the minimal replacment of amdgpu-no-agpr to
amdgpu-agpr-alloc=0. Most of the test diffs are due to the new
attribute sorting later alphabetically.
We could do better by trying to perform range merging in the attributor,
and trying to pick non-0 values.
Commit: 27e686c788246d6586e38542cf95a987fde63b2b
https://github.com/llvm/llvm-project/commit/27e686c788246d6586e38542cf95a987fde63b2b
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
A libcxx/test/std/containers/sequences/vector.bool/reference/ctor_no_default.compile.pass.cpp
A libcxx/test/std/utilities/template.bitset/bitset.members/reference.ctor_no_default.compile.pass.cpp
Log Message:
-----------
[libc++] Verify that LWG4140 is implemented (#128624)
According to the commit history, the constructors removed by LWG4140
have never been added to libc++.
Existence of non-public or deleted default constructor is observable,
this patch tests that there's no such default constructor at all.
Commit: c14d3dff97ca5a11be693b265fefc11afb026573
https://github.com/llvm/llvm-project/commit/c14d3dff97ca5a11be693b265fefc11afb026573
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
Log Message:
-----------
[msan][NFCI] Add tests for Arm NEON vector load (#125267)
Forked from llvm/test/CodeGen/AArch64/arm64-ld1.ll
Incorrectly handled by handleUnknownInstruction:
- llvm.aarch64.neon.ld1x2, llvm.aarch64.neon.ld1x3,
llvm.aarch64.neon.ld1x4
- llvm.aarch64.neon.ld2, llvm.aarch64.neon.ld3, llvm.aarch64.neon.ld4
- llvm.aarch64.neon.ld2lane, llvm.aarch64.neon.ld3lane,
llvm.aarch64.neon.ld4lane
- llvm.aarch64.neon.ld2r, llvm.aarch64.neon.ld3r, llvm.aarch64.neon.ld4r
Commit: e4c3d258b7a1f335cfd3a90bcf3d28ea220c999d
https://github.com/llvm/llvm-project/commit/e4c3d258b7a1f335cfd3a90bcf3d28ea220c999d
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[NFC][c-index-test] factor data len out (#129971)
Follow up of #129922
Commit: 463a0964f4b3a0a327e46df82e792d1abe5c91a3
https://github.com/llvm/llvm-project/commit/463a0964f4b3a0a327e46df82e792d1abe5c91a3
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
Log Message:
-----------
[RISCV] Remove the TODO for fmaximum/fminimum from the tests. (NFC) (#129969)
https://reviews.llvm.org/D156069 has supported it.
Commit: 316f68f7f250b0a5de1d7cbe06a97a5901af6057
https://github.com/llvm/llvm-project/commit/316f68f7f250b0a5de1d7cbe06a97a5901af6057
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/bswap-shift.ll
Log Message:
-----------
[RISCV] Remove the TODO for folding bswap and shift from the test. (NFC) (#129972)
https://reviews.llvm.org/D122655 has supported it.
Commit: a22881c9db07daa0e6a02f6be016a74742bc0654
https://github.com/llvm/llvm-project/commit/a22881c9db07daa0e6a02f6be016a74742bc0654
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M compiler-rt/include/orc_rt/c_api.h
Log Message:
-----------
[ORC-RT] Fix type name in comment. NFC.
Commit: f905bf3e1ef860c4d6fe67fb64901b6bbe698a91
https://github.com/llvm/llvm-project/commit/f905bf3e1ef860c4d6fe67fb64901b6bbe698a91
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[ORC] Remove the Triple argument from LLJITBuilder::ObjectLinkingLayerCreator.
ExecutionSession can provide the Triple, so this argument has been redundant
for a while, and no in-tree clients use it.
Commit: c72ebeeb7f1cebb481243cce3a5b18f548a9d930
https://github.com/llvm/llvm-project/commit/c72ebeeb7f1cebb481243cce3a5b18f548a9d930
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
ADT: Switch to a raw pointer for DoubleAPFloat::Floats.
In order for the union APFloat::Storage to permit access to the
semantics field when another union member is stored there, all members
of Storage must be standard layout. This is not necessarily the case
for DoubleAPFloat which may be non-standard layout because there is no
requirement that its std::unique_ptr member is standard layout. Fix this
by converting Floats to a raw pointer.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/129981
Commit: c861c1a046eb8c1e546a8767e0010904a3c8c385
https://github.com/llvm/llvm-project/commit/c861c1a046eb8c1e546a8767e0010904a3c8c385
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/tools/lli/lli.cpp
Log Message:
-----------
Revert "[ORC] Remove the Triple argument from LLJITBuilder::ObjectLinking..."
This reverts commit f905bf3e1ef860c4d6fe67fb64901b6bbe698a91 while I fix
some compile errors reported on the buildbots (see e.g.
https://lab.llvm.org/buildbot/#/builders/53/builds/13369).
Commit: a6ccda28f7569c1a03620d7520de7cfadc11f4a5
https://github.com/llvm/llvm-project/commit/a6ccda28f7569c1a03620d7520de7cfadc11f4a5
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
Log Message:
-----------
[clang-format][NFC] Use better names for a couple of data members
Commit: 75f6fe2ee5eb3e966cd4c335abd018921d6337d3
https://github.com/llvm/llvm-project/commit/75f6fe2ee5eb3e966cd4c335abd018921d6337d3
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
Log Message:
-----------
[MC] Remove unneeded MCSymbolRefExpr::create overload and add comments
The StringRef overload is often error-prone as users might forget to
register the MCSymbol.
Add comments to MCTargetExpr and MCSymbolRefExpr::VariantKind.
In the distant future the VariantKind parameter might be removed.
Commit: 038fff3f249a25ae3f598f3e4951d9f57b30fbce
https://github.com/llvm/llvm-project/commit/038fff3f249a25ae3f598f3e4951d9f57b30fbce
Author: chrisPyr <32153107+chrisPyr at users.noreply.github.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/PLTCall.cpp
M 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/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[NFC][BOLT] Make file-local cl::opt global variables static (#126472)
#125983
Commit: b18e5b6a36399f11ba1152875b6892900c5afdaf
https://github.com/llvm/llvm-project/commit/b18e5b6a36399f11ba1152875b6892900c5afdaf
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/tools/lli/lli.cpp
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
Re-apply "[ORC] Remove the Triple argument from LLJITBuilder::..." with fixes.
This re-applies f905bf3e1ef860c4d6fe67fb64901b6bbe698a91, which was reverted in
c861c1a046eb8c1e546a8767e0010904a3c8c385 due to compiler errors, with a fix for
MLIR.
Commit: 6e7e46cafeccab761d31e6404ceb0cdef4c18bd4
https://github.com/llvm/llvm-project/commit/6e7e46cafeccab761d31e6404ceb0cdef4c18bd4
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/Disassembler/RISCV/xqci-invalid.txt
A llvm/test/MC/RISCV/xqcibm-invalid.s
A llvm/test/MC/RISCV/xqcibm-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcibm (Bit Manipulation) extension (#129504)
This extension adds thirty eight bit manipulation instructions.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.6
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: a28daa7c1a059a164cc6cc344f02b1a92f858c30
https://github.com/llvm/llvm-project/commit/a28daa7c1a059a164cc6cc344f02b1a92f858c30
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
Log Message:
-----------
[BOLT][AArch64] Keep relocations for linker-relaxed instructions. NFCI (#129980)
We used to filter out relocations corresponding to NOP+ADR instruction
pairs that were a result of linker "relaxation" optimization. However,
these relocations will be useful for reversing the linker optimization.
Keep the relocations and ignore them while symbolizing ADR instruction
operands.
Commit: 7e5821bae80db3f3f0fe0d5f8ce62f79e548eed5
https://github.com/llvm/llvm-project/commit/7e5821bae80db3f3f0fe0d5f8ce62f79e548eed5
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
A clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/out-of-bounds-new.cpp
Log Message:
-----------
Reapply "[analyzer] Handle [[assume(cond)]] as __builtin_assume(cond)" (#129234)
This is the second attempt to bring initial support for [[assume()]] in
the Clang Static Analyzer.
The first attempt (#116462) was reverted in
2b9abf0db2d106c7208b4372e662ef5df869e6f1 due to some weird failure in a
libcxx test involving `#pragma clang loop vectorize(enable)
interleave(enable)`.
The failure could be reduced into:
```c++
template <class ExecutionPolicy>
void transform(ExecutionPolicy) {
#pragma clang loop vectorize(enable) interleave(enable)
for (int i = 0; 0;) { // The DeclStmt of "i" would be added twice in the ThreadSafety analysis.
// empty
}
}
void entrypoint() {
transform(1);
}
```
As it turns out, the problem with the initial patch was this:
```c++
for (const auto *Attr : AS->getAttrs()) {
if (const auto *AssumeAttr = dyn_cast<CXXAssumeAttr>(Attr)) {
Expr *AssumeExpr = AssumeAttr->getAssumption();
if (!AssumeExpr->HasSideEffects(Ctx)) {
childrenBuf.push_back(AssumeExpr);
}
}
// Visit the actual children AST nodes.
// For CXXAssumeAttrs, this is always a NullStmt.
llvm::append_range(childrenBuf, AS->children()); // <--- This was not meant to be part of the "for" loop.
children = childrenBuf;
}
return;
```
The solution was simple. Just hoist it from the loop.
I also had a closer look at `CFGBuilder::VisitAttributedStmt`, where I also spotted another bug.
We would have added the CFG blocks twice if the AttributedStmt would have both the `[[fallthrough]]` and the `[[assume()]]` attributes. With my fix, it will only once add the blocks. Added a regression test for this.
Co-authored-by: Vinay Deshmukh <vinay_deshmukh AT outlook DOT com>
Commit: fe56c4c01972edc51c415c4f410739bbec9f7d13
https://github.com/llvm/llvm-project/commit/fe56c4c01972edc51c415c4f410739bbec9f7d13
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-05 (Wed, 05 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
M llvm/lib/Target/CSKY/CSKYMCInstLower.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
Log Message:
-----------
[MC] Remove unneeded VK_None argument from MCSymbolRefExpr::create. NFC
Commit: 87976ca45f4fa983ef92bf8f43a54472ec354e00
https://github.com/llvm/llvm-project/commit/87976ca45f4fa983ef92bf8f43a54472ec354e00
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
Log Message:
-----------
[M68k] Suppress compilation warning `enumerated mismatch in conditional expression`. (NFC)
Commit: a6151f4e237075919c12a120c391a8b6c6a5000c
https://github.com/llvm/llvm-project/commit/a6151f4e237075919c12a120c391a8b6c6a5000c
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M mlir/docs/PatternRewriter.md
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/unittests/IR/PatternMatchTest.cpp
Log Message:
-----------
[mlir][IR] Move `match` and `rewrite` functions into separate class (#129861)
The vast majority of rewrite / conversion patterns uses a combined
`matchAndRewrite` instead of separate `match` and `rewrite` functions.
This PR optimizes the code base for the most common case where users
implement a combined `matchAndRewrite`. There are no longer any `match`
and `rewrite` functions in `RewritePattern`, `ConversionPattern` and
their derived classes. Instead, there is a `SplitMatchAndRewriteImpl`
class that implements `matchAndRewrite` in terms of `match` and
`rewrite`.
Details:
* The `RewritePattern` and `ConversionPattern` classes are simpler
(fewer functions). Especially the `ConversionPattern` class, which now
has 5 fewer functions. (There were various `rewrite` overloads to
account for 1:1 / 1:N patterns.)
* There is a new class `SplitMatchAndRewriteImpl` that derives from
`RewritePattern` / `OpRewritePatern` / ..., along with a type alias
`RewritePattern::SplitMatchAndRewrite` for convenience.
* Fewer `llvm_unreachable` are needed throughout the code base. Instead,
we can use pure virtual functions. (In cases where users previously had
to implement `rewrite` or `matchAndRewrite`, etc.)
* This PR may also improve the number of [`-Woverload-virtual`
warnings](https://discourse.llvm.org/t/matchandrewrite-hiding-virtual-functions/84933)
that are produced by GCC. (To be confirmed...)
Note for LLVM integration: Patterns with separate `match` / `rewrite`
implementations, must derive from `X::SplitMatchAndRewrite` instead of
`X`.
---------
Co-authored-by: River Riddle <riddleriver at gmail.com>
Commit: 687854aea8fdb20525af749069cf19bf612eaf2b
https://github.com/llvm/llvm-project/commit/687854aea8fdb20525af749069cf19bf612eaf2b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
Log Message:
-----------
[MC] Remove unneeded VK_None argument from MCSymbolRefExpr::create. NFC
Commit: bae6644e1227b2555f92b1962dac6c2444eaaaf2
https://github.com/llvm/llvm-project/commit/bae6644e1227b2555f92b1962dac6c2444eaaaf2
Author: Lu Weining <luweining at loongson.cn>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll
Log Message:
-----------
[LoongArch] Relax the restrictions of inlineasm operand modifier 'u' and 'w' (#129864)
- Allow 'u' and 'w' on LASX, LSX or floating point register operands.
- Also add missing description in LangRef.
Fixes #129863.
Commit: c6e2cbe5fd1ee446664c8e7d596c6dcd576052f3
https://github.com/llvm/llvm-project/commit/c6e2cbe5fd1ee446664c8e7d596c6dcd576052f3
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
Log Message:
-----------
[LV] Regenerate select-cmp-predicated.ll with UTC. NFC
The main select-cmp.ll tests seem to be generated with UTC after
it should probably be converted to UTC beforehand.
Commit: 1987d180125f77ca892bc93f108f9e23027725f5
https://github.com/llvm/llvm-project/commit/1987d180125f77ca892bc93f108f9e23027725f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] isFreeToSplitVector - use a SDValue instead of SDNode argument. NFC. (#129906)
Every caller was having to call getNode() - so move that insider the helper.
Commit: 6311e3fcc8539cf0f474b28f82a465e83013a792
https://github.com/llvm/llvm-project/commit/6311e3fcc8539cf0f474b28f82a465e83013a792
Author: Narayan <32898329+vortex73 at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/compute-sign-bits-bitcast.ll
Log Message:
-----------
[ValueTracking] ComputeNumSignBitsImpl - add basic handling of BITCAST nodes (#127218)
When a wider scalar/vector type containing all sign bits is bitcast to a
narrower vector type, we can deduce that the resulting narrow elements
will also be all sign bits. This matches existing behavior in
SelectionDAG and helps optimize cases involving SSE intrinsics where
sign-extended values are bitcast between different vector types.
The current implementation fails to recognize that an arithmetic right
shift is redundant when applied to elements that are already known to be
all sign bits. This PR improves ComputeNumSignBitsImpl to track this
information through bitcasts, enabling the optimization of such cases.
```
%ext = sext <1 x i1> %cmp to <1 x i8>
%sub = bitcast <1 x i8> %ext to <4 x i2>
%sra = ashr <4 x i2> %sub, <i2 1, i2 1, i2 1, i2 1>
; Can be simplified to just:
%sub = bitcast <1 x i8> %ext to <4 x i2>
```
Closes #87624
Commit: 8e0a63ddad26c26501a7d9639b470665afadcf40
https://github.com/llvm/llvm-project/commit/8e0a63ddad26c26501a7d9639b470665afadcf40
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/docs/Canonicalization.md
Log Message:
-----------
[mlir][docs] Add docs on canonicalizers being folders or patterns (#129517)
If a transformation should be a canonicalization is an orthogonal
question to if a transformation should be implemented as a
`RewritePattern` or a `fold` method. The later is an implementation
detail.
This patch adds a suggestion to always implement a canonicalization as a
`fold` pattern if possible, as they are a restricted subset of a
`RewritePattern`.
This has been a common source of confusion, as to when to implement a
canonicalization as a fold method or a RewritePattern.
Commit: a2b05761724e5243056988d9d6bf1a5a94715b74
https://github.com/llvm/llvm-project/commit/a2b05761724e5243056988d9d6bf1a5a94715b74
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/libclc.pc.in
Log Message:
-----------
[libclc] Stop installing CLC headers (#126908)
The libclc headers are an implementation detail and are not intended to
be used by others as OpenCL headers. The only artifacts of libclc we
want to publish are the LLVM bytecode libraries.
As the headers have been incidentally broken by recent changes, this
commit takes the step to stop installing the headers at all. Downstreams
can use clang's own OpenCL headers, and/or its -fdeclare-opencl-builtins
flag.
Fixes #119967.
Commit: d61d2197390161db86b48d044970f48132139ccb
https://github.com/llvm/llvm-project/commit/d61d2197390161db86b48d044970f48132139ccb
Author: lakshayk-nv <lakshayk at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
Adding support in llvm-exegesis for Aarch64 for handling FPR64/128, PPR16 and ZPR128 reg class. (#127564)
Current implementation (for Aarch64) in llvm-exegesis only supports
GRP32 and GPR64 bit register class, thus for opcodes variants which used
FPR64/128, PPR16 and ZPR128, llvm-exegesis throws warning "setReg is not
implemented". This code will handle the above register class and
initialize the registers using appropriate base instruction class.
Commit: 620c38371de46d45e9095936c823e3e40a2c5f64
https://github.com/llvm/llvm-project/commit/620c38371de46d45e9095936c823e3e40a2c5f64
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[mlir][nfc] De-duplicate tests from `Type::isIntOrFloat` (#129710)
This PR makes sure that we always use `Type::isIntOrFloat` rather than
re-implementing this condition inline. Also, it removes `isScalarType`
that effectively re-implemented this method.
Commit: 2c7e7b5627c5848e747904fb29b8ad700170ae59
https://github.com/llvm/llvm-project/commit/2c7e7b5627c5848e747904fb29b8ad700170ae59
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
Log Message:
-----------
[X86] Extend shuf128(concat(x,y),concat(z,w)) -> shuf128(widen(y),widen(w)) folds to peek through bitcasts (#129896)
Peek through bitcasts when looking for freely accessible upper subvectors
Commit: 0cceac6bbdf800b04c3325e1134a8b25b6d1a0bb
https://github.com/llvm/llvm-project/commit/0cceac6bbdf800b04c3325e1134a8b25b6d1a0bb
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libcxx/include/__concepts/class_or_enum.h
M libcxx/include/__concepts/swappable.h
Log Message:
-----------
[libc++] Remove a few unused includes from <__concepts/*> (#129883)
Commit: f01e760c08365426de95f02dc2c2dc670eb47352
https://github.com/llvm/llvm-project/commit/f01e760c08365426de95f02dc2c2dc670eb47352
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
A llvm/test/CodeGen/AArch64/sve-fixed-length-offsets.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
Log Message:
-----------
[AArch64][SVE] Improve fixed-length addressing modes. (#129732)
When compiling VLS SVE, the compiler often replaces VL-based offsets
with immediate-based ones. This leads to a mismatch in the allowed
addressing modes due to SVE loads/stores generally expecting immediate
offsets relative to VL. For example, given:
```c
svfloat64_t foo(const double *x) {
svbool_t pg = svptrue_b64();
return svld1_f64(pg, x+svcntd());
}
```
When compiled with `-msve-vector-bits=128`, we currently generate:
```gas
foo:
ptrue p0.d
mov x8, #2
ld1d { z0.d }, p0/z, [x0, x8, lsl #3]
ret
```
Instead, we could be generating:
```gas
foo:
ldr z0, [x0, #1, mul vl]
ret
```
Likewise for other types, stores, and other VLS lengths.
This patch achieves the above by extending `SelectAddrModeIndexedSVE`
to let constants through when `vscale` is known.
Commit: 979c275097a642e9b96c6b0a12f013c831af3a6e
https://github.com/llvm/llvm-project/commit/979c275097a642e9b96c6b0a12f013c831af3a6e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M flang/lib/Frontend/FrontendActions.cpp
M lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
M lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/LTO/legacy/LTOModule.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
M llvm/lib/ExecutionEngine/TargetSelect.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/EHPersonalities.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/ValueSymbolTable.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/LTO/UpdateCompilerUsed.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/IRObjectFile.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/Internalize.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/tools/bugpoint/BugDriver.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfUtils.cpp
M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
M llvm/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
M llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/IR/LegacyPassManagerTest.cpp
M llvm/unittests/Target/AArch64/InstSizes.cpp
M llvm/unittests/Target/ARM/InstSizes.cpp
M llvm/unittests/Target/LoongArch/InstSizes.cpp
M llvm/unittests/Target/X86/MachineSizeOptsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/PerfMonitor.cpp
Log Message:
-----------
[IR] Store Triple in Module (NFC) (#129868)
The module currently stores the target triple as a string. This means
that any code that wants to actually use the triple first has to
instantiate a Triple, which is somewhat expensive. The change in #121652
caused a moderate compile-time regression due to this. While it would be
easy enough to work around, I think that architecturally, it makes more
sense to store the parsed Triple in the module, so that it can always be
directly queried.
For this change, I've opted not to add any magic conversions between
std::string and Triple for backwards-compatibilty purses, and instead
write out needed Triple()s or str()s explicitly. This is because I think
a decent number of them should be changed to work on Triple as well, to
avoid unnecessary conversions back and forth.
The only interesting part in this patch is that the default triple is
Triple("") instead of Triple() to preserve existing behavior. The former
defaults to using the ELF object format instead of unknown object
format. We should fix that as well.
Commit: b941d90c4de204631509176fea603762eef795d3
https://github.com/llvm/llvm-project/commit/b941d90c4de204631509176fea603762eef795d3
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/win-fp128.c
Log Message:
-----------
[clang] Pass fp128 indirectly and return in xmm0 on Windows (#115052)
Clang currently passes and returns `__float128` in vector registers on
MinGW targets, which is LLVM's default ABI for `fp128`. However, the
Windows x86-64 calling convention [1] states the following:
__m128 types, arrays, and strings are never passed by immediate
value. Instead, a pointer is passed to memory allocated by the
caller. Structs and unions of size 8, 16, 32, or 64 bits, and __m64
types, are passed as if they were integers of the same size. Structs
or unions of other sizes are passed as a pointer to memory allocated
by the caller. For these aggregate types passed as a pointer,
including __m128, the caller-allocated temporary memory must be
16-byte aligned.
Based on the above it sounds like `__float128` should be passed
indirectly. Thus, change `f128` passing to use the stack and make the
return in xmm0 explicit. This is the identical to `i128`, and passing is
the same as GCC.
Regarding return values, the documentation states:
A scalar return value that can fit into 64 bits, including the __m64
type, is returned through RAX. Non-scalar types including floats,
doubles, and vector types such as __m128, __m128i, __m128d are
returned in XMM0.
This makes it sound like it should be acceptable to return `__float128`
in xmm0; however, GCC returns `__float128` on the stack. That above ABI
statement as well as consistency with `i128` (which is returned in xmm0)
mean that it would likely be better for GCC to change its return ABI to
match Clang rather than the other way around, so that portion is left
as-is.
Clang's MSVC targets do not support `__float128` or `_Float128`, but
these changes would also apply there if it is eventually enabled.
With [2] which should land around the same time, LLVM will also
implement this ABI so it is not technically necessary for Clang to make
a change here as well. This is sill done in order to be consistent with
other types, and to allow calling convention-aware optimizations at all
available optimization layers (@rnk mentioned possible reuse of stack
arguments). An added benefit is readibility of the LLVM IR since it more
accurately reflects what the lowered assembly does.
[1]:
https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
[2]: https://github.com/llvm/llvm-project/pull/128848
Commit: 86cf4ed7e9510a6828e95e8b36893eec116c9cf9
https://github.com/llvm/llvm-project/commit/86cf4ed7e9510a6828e95e8b36893eec116c9cf9
Author: David Green <david.green at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Speedups for CombineBaseUpdate. (#129725)
This attempts to put limits onto CombineBaseUpdate for degenerate cases
like #127477. The biggest change is to add a limit to the number of base
updates to check in CombineBaseUpdate. 64 is hopefully plenty high
enough for most runtime unrolled loops to generate postinc where they
are beneficial.
It also moves the check for isValidBaseUpdate later so that it only
happens if we will generate a valid instruction. The 1024 limit to
hasPredecessorHelper comes from the X86 backend, which uses the same
limit.
I haven't added a test case as it would need to be very big and my
attempts at generating a smaller version did not show anything useful.
Fixes #127477.
Commit: edfc89df1aa57f4231078a1ac7fac55fcebab149
https://github.com/llvm/llvm-project/commit/edfc89df1aa57f4231078a1ac7fac55fcebab149
Author: John McIver <john.mciver.iii at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Add select freeze poison store tests [NFC] (#129775)
Commit: 4554b300510be86ccf91754a496bdefea899acd2
https://github.com/llvm/llvm-project/commit/4554b300510be86ccf91754a496bdefea899acd2
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Update ConstOp to use Tosa_Tensor (#129959)
Since we already defined Tosa_Tensor in TosaTypesBase.td, updated
ConstOp to use that.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 4f46b75fb0d7ac100afa3af112135d8b52633236
https://github.com/llvm/llvm-project/commit/4f46b75fb0d7ac100afa3af112135d8b52633236
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constrained_shapes.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add expected output shape check to argmax verifier (#129870)
Fixes some test cases which incorrectly declared the output shape and
added a negative test case.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: c662a9d303a9579c6b71b8abaf0068bee73de5ba
https://github.com/llvm/llvm-project/commit/c662a9d303a9579c6b71b8abaf0068bee73de5ba
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/iX-ext-split.ll
Log Message:
-----------
[InstCombine] recognize missed i128 split optimization (#129363)
This pr fixes #126056, recognising a split i128 extension optimization.
Proof for working optimization:
```llvm
define i128 @src(i32 noundef %x) {
entry:
%coerce.sroa.0.0.extract.trunc = sext i32 %x to i64
%0 = ashr i32 %x, 31
%coerce.sroa.2.0.extract.trunc = sext i32 %0 to i64
%x.sroa.2.0.insert.ext.i = zext i64 %coerce.sroa.2.0.extract.trunc to i128
%x.sroa.2.0.insert.shift.i = shl nuw i128 %x.sroa.2.0.insert.ext.i, 64
%x.sroa.0.0.insert.ext.i = zext i64 %coerce.sroa.0.0.extract.trunc to i128
%x.sroa.0.0.insert.insert.i = or disjoint i128 %x.sroa.2.0.insert.shift.i, %x.sroa.0.0.insert.ext.i
ret i128 %x.sroa.0.0.insert.insert.i
}
define i128 @tgt(i32 noundef %x) {
%x.sroa.0.0.insert.insert.i = sext i32 %x to i128
ret i128 %x.sroa.0.0.insert.insert.i
}
```
Commit: a685045b9fb4218a4a57f765b0642c3074eebdd8
https://github.com/llvm/llvm-project/commit/a685045b9fb4218a4a57f765b0642c3074eebdd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/AsmParser/CMakeLists.txt
Log Message:
-----------
[AsmParser] Add dependency on TargetParser
Try to fix share libs build after #129868.
Commit: cd1d9a8fab05524a27ffdb251f6def37786b5cc1
https://github.com/llvm/llvm-project/commit/cd1d9a8fab05524a27ffdb251f6def37786b5cc1
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
Reland "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#129885)
Reverts llvm/llvm-project#127987
Original description:
This updates the existing modf[f|l] builtin to be lowered via the
llvm.modf.* intrinsic (rather than directly to a library call).
The legalization issues exposed by the original PR (#126750) should have
been fixed in #128055 and #129264.
Commit: 6e57326c61e77fe257d8a16adf9389231ea7c6ac
https://github.com/llvm/llvm-project/commit/6e57326c61e77fe257d8a16adf9389231ea7c6ac
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/lib/Conversion/MeshToMPI/CMakeLists.txt
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
A mlir/test/Conversion/MeshToMPI/convert-shardshape-to-mpi.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Tensor/mesh-spmdization.mlir
Log Message:
-----------
[mlir][mesh, mpi] More on MeshToMPI (#129048)
- do not create MPI operations if no halo exchange is needed
- allow returning sharding information through `!mesh.sharding`
(gets converted into a tuple of tensors)
- lowering `mesh.shard_shape` including fixes to the operation itself
- global symbol `static_mpi_rank` replaced by an DLTI attribute
(now aligned with MPIToLLVM)
- smaller fixes and some minor cleanup
---------
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: 8eec3d77a93aa3111426a2988fc0a3ac927899a0
https://github.com/llvm/llvm-project/commit/8eec3d77a93aa3111426a2988fc0a3ac927899a0
Author: ita-sc <ivan.tetyushkin at syntacore.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/test/API/lit.cfg.py
Log Message:
-----------
[lldb][tests] Add ability to run API tests with qemu-user simulator (#89765)
Commit: f7c0f33d6fd3aebdbfc1ca9408fa13169c31c95c
https://github.com/llvm/llvm-project/commit/f7c0f33d6fd3aebdbfc1ca9408fa13169c31c95c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/tools/lto/CMakeLists.txt
Log Message:
-----------
[lto] Add TargetParser dependency
To fix the shared libs build after #129868.
Commit: 9deed7d2ef3a147c4e8410910967fde601359039
https://github.com/llvm/llvm-project/commit/9deed7d2ef3a147c4e8410910967fde601359039
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN][NFC] Fix some more coding standard violations (#130046)
Commit: 4f469ae046d14fad2411a2afb9dd30620ad729ae
https://github.com/llvm/llvm-project/commit/4f469ae046d14fad2411a2afb9dd30620ad729ae
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M offload/plugins-nextgen/common/src/JIT.cpp
Log Message:
-----------
[offload] Fix build after Module::getTargetTriple() change
Adjust for #129868.
Commit: 2ec16ee28b87511ae7897bd38e5fab37b015661a
https://github.com/llvm/llvm-project/commit/2ec16ee28b87511ae7897bd38e5fab37b015661a
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[mlir][target] Adjust the start position of the moduleToObject timer (#129835)
As title. To avoid `Ungrouped Timers` when the target is `Assembly `.
Commit: 5faa4130b9bad0ba31585d9b4b0e929a40e6326a
https://github.com/llvm/llvm-project/commit/5faa4130b9bad0ba31585d9b4b0e929a40e6326a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AMDGPU/maximum.ll
M llvm/test/Analysis/CostModel/AMDGPU/minimum.ll
Log Message:
-----------
AMDGPU: Add gfx950 cost model tests for minimum and maximum (#130029)
Commit: 5ce4045384d7c2544185b0dbcb6222d06beb47dc
https://github.com/llvm/llvm-project/commit/5ce4045384d7c2544185b0dbcb6222d06beb47dc
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-unpack-scalable-inner-tile.mlir
Log Message:
-----------
[mlir][nfc] Fix typo in LIT RUN line
Failing bot:
* https://lab.llvm.org/buildbot/#/builders/17/builds/6269
The offending test was added in:
* https://github.com/llvm/llvm-project/pull/129696
To fix this, use:
* `%mcr_aarch64_cmd` (which is what we used for ArmSVE e2e tests),
Instead of:
* `mlir-cpu-runner` (which was renamed to `mlir-runner` in #123776).
Committed without review due to being a trivial test update; if this
needs discussion, please ping me or leave a comment on GitHub.
Commit: 556a64507b3ae4ee3b998c47eb5451a60235bcb1
https://github.com/llvm/llvm-project/commit/556a64507b3ae4ee3b998c47eb5451a60235bcb1
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for GPU (#129849)
`let constructor` is legacy (do not use in tree!) since the table gen
backend emits most of the glue logic to build a pass.
Commit: 1a3dc8e9c7b5cc498fe99fd2288c7436510e46ae
https://github.com/llvm/llvm-project/commit/1a3dc8e9c7b5cc498fe99fd2288c7436510e46ae
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Pipelines/BufferizationPipelines.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OptimizeAllocationLiveness.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for Bufferization (#129850)
`let constructor` is legacy (do not use in tree!) since the table gen
backend emits most of the glue logic to build a pass.
Commit: d9af34f499822df41a9dbe85cf8179ff167694dc
https://github.com/llvm/llvm-project/commit/d9af34f499822df41a9dbe85cf8179ff167694dc
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
Log Message:
-----------
[Kaleidoscope] Adjust after Module Triple change
Adjust for #129868.
Commit: dc9d217f0c211297f055c32d7b9005a1adbf2f62
https://github.com/llvm/llvm-project/commit/dc9d217f0c211297f055c32d7b9005a1adbf2f62
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
Log Message:
-----------
[llvm-exegesis] Follow up of #127564: fix test. NFC. (#130072)
We don't need to run llvm-exegesis for the regression tests, just dump
the object code, so this adds option
--benchmark-phase=assemble-measured-code to achieve that.
Commit: 20d955ce2aa23373e58ea203e8f399082d61307b
https://github.com/llvm/llvm-project/commit/20d955ce2aa23373e58ea203e8f399082d61307b
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
Log Message:
-----------
[mlir] Remove extra ';' outside of a function (NFC)
/llvm-project/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp:70:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
1 error generated.
Commit: 156cdcf2ffc9a5f851e1b340891172462938b5ea
https://github.com/llvm/llvm-project/commit/156cdcf2ffc9a5f851e1b340891172462938b5ea
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/test/CodeGen/assignment-tracking/assignment-tracking.cpp
M clang/test/CodeGen/assignment-tracking/memcpy-fragment.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/long-double-x87.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/structured-bindings.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/var-not-alloca-sized.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll
Log Message:
-----------
[Assignment Tracking] Replace `undef` debug info with `poison` (#129755)
`undef` debug info can be replaced with `poison` debug info.
Commit: 9501275a351063a55b6a0e017d3630a26c0d9da9
https://github.com/llvm/llvm-project/commit/9501275a351063a55b6a0e017d3630a26c0d9da9
Author: vigbalu <70995650+vigbalu at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M openmp/libompd/gdb-plugin/ompd/ompd_handles.py
Log Message:
-----------
[OMPD] Remove deprecated/unused module that is causing error (#127434) (#129999)
Fixes https://github.com/llvm/llvm-project/issues/127434
Commit: 5ee1c0b7148571ed9d60e447b66fb0f35de14576
https://github.com/llvm/llvm-project/commit/5ee1c0b7148571ed9d60e447b66fb0f35de14576
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86CallingConv.td
A llvm/test/CodeGen/X86/fp128-abi.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/scalar-fp-to-i32.ll
M llvm/test/CodeGen/X86/scalar-fp-to-i64.ll
Log Message:
-----------
[windows] Always pass fp128 arguments indirectly (#128848)
LLVM currently expects `__float128` to be both passed and returned in
xmm registers on Windows. However, this disagrees with the Windows
x86-64 calling convention [1], which indicates values larger than 64
bits should be passed indirectly.
Update LLVM's default Windows calling convention to pass `fp128`
directly. Returning in xmm0 is unchanged since this seems like a
reasonable extrapolation of the ABI. With this patch, the calling
convention for `i128` and `f128` is the same.
GCC passes `__float128` indirectly, which this also matches. However, it
also returns indirectly, which is not done here. I intend to attempt a
GCC change to also return in `xmm0` rather than making that change here,
given the consistency with `i128`.
This corresponds to the frontend change in [2], see more details there.
[1]:
https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170
[2]: https://github.com/llvm/llvm-project/pull/115052
Commit: e2911aa2c254c071c2ab898a69c69ba8c94586f8
https://github.com/llvm/llvm-project/commit/e2911aa2c254c071c2ab898a69c69ba8c94586f8
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
Log Message:
-----------
[Flang][OpenMP] Fix crash when loop index var is pointer or allocatable (#129717)
Use hlfir dereferencing for pointers and allocatables and use hlfir
assign. Also, change the code updating IV in lastprivate.
Note: This is a small change. Modifications in existing tests are
changes from fir.store to hlfir.assign.
Fixes #121290
Commit: 29ff168363fa9a41f04b19a9afe5930330f35b4c
https://github.com/llvm/llvm-project/commit/29ff168363fa9a41f04b19a9afe5930330f35b4c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/docs/Contributing.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Extend docs on GitHub's "squash and merge" (#129497)
>From what I’ve observed, some contributors are still unaware that in LLVM, the
PR summary - not the commit messages - is used as the final commit message when
merging. This is especially unclear to those without commit access, as only
users with commit access can edit the commit message before merging.
This PR clarifies that policy and consolidates all relevant information into
`GitHub.rst`, ensuring it is no longer split between `GitHub.rst` and
`Contributing.rst`.
Note, a big part of this change is merely moving text between the docs.
Commit: 8c61ef17c3aefd13eaf75f401aa8f3c7dd5d4a12
https://github.com/llvm/llvm-project/commit/8c61ef17c3aefd13eaf75f401aa8f3c7dd5d4a12
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.h
Log Message:
-----------
[clangd] Explicitly block until async task completes (#130077)
We started seeing some use-after-frees starting with
https://github.com/llvm/llvm-project/pull/125433.
This patch ensures we explicitly block for the async task, if there's
one, before destructing `std::future`, independent of the stdlib
implementation.
Commit: 5d1029b4a87f36a394c169b89b26a74d17f7ff01
https://github.com/llvm/llvm-project/commit/5d1029b4a87f36a394c169b89b26a74d17f7ff01
Author: hanbeom <kese111 at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
Log Message:
-----------
[VectorCombine] Handle shuffle of selects (#128032)
(shuffle(select(c1,t1,f1)), (select(c2,t2,f2)), m)
-> (select (shuffle c1,c2,m), (shuffle t1,t2,m), (shuffle f1,f2,m))
The behaviour of SelectInst on vectors is the same as for
`V'select[i] = Condition[i] ? V'True[i] : V'False[i]`.
If a ShuffleVector is performed on two selects, it will be like:
`V'[mask] = (V'select[i] = Condition[i] ? V'True[i] : V'False[i])`
That's why a ShuffleVector with two SelectInst is equivalent to
first ShuffleVector Condition/True/False and then SelectInst that
result.
This patch implements the transforming described above.
Proof: https://alive2.llvm.org/ce/z/97wfHp
Fixes #120775
Commit: 512ef4c7e36d1a61ad6e6c0a5a340de127b67961
https://github.com/llvm/llvm-project/commit/512ef4c7e36d1a61ad6e6c0a5a340de127b67961
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-06 (Thu, 06 Mar 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-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.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-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-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-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
Log Message:
-----------
[X86] Fold VPERMV(MASK,CONCAT(LO,HI)) -> VPERMV3(WIDEN(LO),MASK',WIDEN(HI)) (#129708)
If the VPERMV node is shuffling a source that is concatenated from separate subvectors, attempt to shuffle from the separate subvectors directly using an equivalent VPERMV3 node
Commit: 59e0704a52cfa7f829c7eb25db0f7b1e13e44418
https://github.com/llvm/llvm-project/commit/59e0704a52cfa7f829c7eb25db0f7b1e13e44418
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Remove RegisterEncoding from SIInsertWaitcnts. NFC. (#130056)
The information in this struct seemed useless. VGPR0 and SGPR0 were
always 0. VGPRL and SGPRL were only used in assertions.
Commit: 7358973df1b53785cace2e3431d141078dc53e7c
https://github.com/llvm/llvm-project/commit/7358973df1b53785cace2e3431d141078dc53e7c
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/source_location.cpp
Log Message:
-----------
[CLANG-CL] Remove the 'static' specifier for _FUNCTION_ in MSVC mode. (#128184)
The macro `FUNCTION` is returning the `static` specifier for static
templated functions. It's not the case for MSVC.
See https://godbolt.org/z/KnhWhqs47
Clang-cl is returning:
`__FUNCTION__ static inner::C<class A>::f`
`__FUNCTION__ static inner::C<class A>::f`
for the reproducer.
Commit: 9ea2da5758ee96ae7b8b3f914939ea1224af2cde
https://github.com/llvm/llvm-project/commit/9ea2da5758ee96ae7b8b3f914939ea1224af2cde
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
Log Message:
-----------
[NFC][LLVM] Refactor llvm/test/CodeGen/AArch64/sve{2}-fcopysign.ll
Commit: 4022d78591d3ad417731fae2a16035126ff2ca7e
https://github.com/llvm/llvm-project/commit/4022d78591d3ad417731fae2a16035126ff2ca7e
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
Log Message:
-----------
[lldb] Fix compile error. (#130091)
Followup to
https://github.com/llvm/llvm-project/commit/878a64f94a264ea4b564d6063614ddb0b5da3f6c
Commit: b21663cb5ba9d1ba157a8461c55a35b1a8712a43
https://github.com/llvm/llvm-project/commit/b21663cb5ba9d1ba157a8461c55a35b1a8712a43
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SplitKit.cpp
A llvm/test/CodeGen/ARM/splitkit-remat-regclass-constraint-regression.ll
M llvm/test/CodeGen/ARM/splitkit.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
A llvm/test/CodeGen/X86/splitkit-remat-broken-subreg-constraint.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
Log Message:
-----------
SplitKit: Take register class directly from instruction definition (#129727)
This fixes an expensive chesk failure after 8476a5d480304. The issue
was essentially that getRegClassConstraintEffectForVReg was not doing
anything useful, sometimes. If the register passed to it is not present
in the instruction, it is a no-op and returns the original classe. The
Edit->getReg() register may not be the register as it appears in either
the use or def instruction. It may be some split register, so take
the register directly from the instruction being rematerialized.
Also directly query the constraint from the def instruction, with a
hardcoded operand index. This isn't ideal, but all the other
rematerialize
code makes the same assumption.
So far I've been unable to reproduce this with a standalone MIR test. In
the
original case, stop-before=greedy and running the one pass is not
working.
Commit: 09e010001773d7d7efc0cafe78d3c8899d8bc45d
https://github.com/llvm/llvm-project/commit/09e010001773d7d7efc0cafe78d3c8899d8bc45d
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.pre/p6.cpp
Log Message:
-----------
[Clang] use parameter location for abbreviated function templates (#129139)
Fixes #46386
---
When an abbreviated function template appears in an `extern "C"` block
and all template parameters are invented,
`TemplateParams->getTemplateLoc()` becomes invalid, leading to an
incorrect error location. These changes ensure that the error points to
the parameter's location when the template location is invalid.
Commit: 0aa92d23b206e20fb1e19f4fc0d05d2d293f404f
https://github.com/llvm/llvm-project/commit/0aa92d23b206e20fb1e19f4fc0d05d2d293f404f
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
Log Message:
-----------
[AMDGPU] Run DL builtin tests for new GFX (#130054)
Commit: bbabf4e2b81ff729d549f588ffe9fe8b470178d3
https://github.com/llvm/llvm-project/commit/bbabf4e2b81ff729d549f588ffe9fe8b470178d3
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Update name for BVH Intersect Ray (#130036)
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: 4e6721b70d2ea6ba9231092a92b3a6924ebf0ab9
https://github.com/llvm/llvm-project/commit/4e6721b70d2ea6ba9231092a92b3a6924ebf0ab9
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[llvm] Fix an unused variable warning
Commit: d6c0839c9c823754fb84e47c5bacf1a3b3d0f618
https://github.com/llvm/llvm-project/commit/d6c0839c9c823754fb84e47c5bacf1a3b3d0f618
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Reduce size of SGPR arrays in SIInsertWaitcnts. NFC. (#130097)
Commit: 8eeeddb5ed525bc41ddf96c96c509c32963e3a84
https://github.com/llvm/llvm-project/commit/8eeeddb5ed525bc41ddf96c96c509c32963e3a84
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-06 (Thu, 06 Mar 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/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx-splat.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool.ll
M llvm/test/CodeGen/X86/cast-vsel.ll
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-pavg.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
M llvm/test/CodeGen/X86/insertelement-var-index.ll
M llvm/test/CodeGen/X86/memset-inline.ll
M llvm/test/CodeGen/X86/memset-nonzero.ll
M llvm/test/CodeGen/X86/pr46527.ll
M llvm/test/CodeGen/X86/pr62014.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
M llvm/test/CodeGen/X86/vec_set-H.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
M llvm/test/CodeGen/X86/vector-unsigned-cmp.ll
M llvm/test/CodeGen/X86/vector-zext.ll
M llvm/test/CodeGen/X86/widened-broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] lowerV8I16GeneralSingleInputShuffle - for splat PSHUFW+PSHUFD patterns, widen the splats to encourage combines (#129854)
For vXi16 patterns that lower to splats, ensure that PSHUFW mask splats to the entire LW/HW i64 half and then create a wide PSHUFD mask that splats the whole i64 element - this encourages further combines without depending on any unused elements from undef shuffle mask elements.
Fixes #129276
Commit: 757554ee26aff867290162100b2cc9941a206e17
https://github.com/llvm/llvm-project/commit/757554ee26aff867290162100b2cc9941a206e17
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/rcp-contract-rsq.ll
Log Message:
-----------
Regenerate checks in test/Transforms/InstCombine/AMDGPU/. NFC.
Commit: be5149a3158cbce3051629e450950ccb96926365
https://github.com/llvm/llvm-project/commit/be5149a3158cbce3051629e450950ccb96926365
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
[AMDGPU] InstCombine llvm.amdgcn.ds.bpermute with uniform arguments (#129895)
Commit: 4703f8b6610a13b549c1b8aefe90d0f8975fea1e
https://github.com/llvm/llvm-project/commit/4703f8b6610a13b549c1b8aefe90d0f8975fea1e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
M clang/test/Headers/__clang_hip_math.hip
Log Message:
-----------
clang/HIP: Use generic builtins for f32 exp and log (#129638)
Stop using ocml declarations which are just a shim around the
intrinsics.
Commit: df1e102e2a6b0e0f1ecf28c58a4a51dbcbe74360
https://github.com/llvm/llvm-project/commit/df1e102e2a6b0e0f1ecf28c58a4a51dbcbe74360
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/AST/ast-print-openacc-routine-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
A clang/test/SemaOpenACC/routine-construct-ast.cpp
A clang/test/SemaOpenACC/routine-construct.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] implement AST/Sema for 'routine' construct with argument
The 'routine' construct has two forms, one which takes the name of a
function that it applies to, and another where it implicitly figures it
out based on the next declaration. This patch implements the former with
the required restrictions on the name and the function-static-variables
as specified.
What has not been implemented is any clauses for this, any of the A.3.4
warnings, or the other form.
Commit: 9189d84abbfc643db0053200c1c2e16b1e78e8f9
https://github.com/llvm/llvm-project/commit/9189d84abbfc643db0053200c1c2e16b1e78e8f9
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
[NFC] Change the return type of `getTraversalScope` to `ArrayRef`
This is only used in 2 places, both just to search through the list, so
returning a copy was wasteful. This patch changes it to return an
`ArrayRef` so that a copy isn't made.
Commit: 78281fd12c9f5c46b95d9399ae72ca357812ecee
https://github.com/llvm/llvm-project/commit/78281fd12c9f5c46b95d9399ae72ca357812ecee
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
Revert "[AMDGPU] InstCombine llvm.amdgcn.ds.bpermute with uniform arguments (#129895)"
This reverts commit be5149a3158cbce3051629e450950ccb96926365.
It caused build failures in the openmp-offload-amdgpu-runtime buildbot
and others.
Commit: 5bb112feaeab99018f7ae2c59620d557f2b958ae
https://github.com/llvm/llvm-project/commit/5bb112feaeab99018f7ae2c59620d557f2b958ae
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
[NFC][OpenACC] Fix unused variable warning from df1e102e
Looks like I did a dyn_cast when all I needed was an isa! This patch
fixes that up.
Commit: ff993f9a4c23cfaae54f2a2708bed23954b8d9c0
https://github.com/llvm/llvm-project/commit/ff993f9a4c23cfaae54f2a2708bed23954b8d9c0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libcxx/include/forward_list
M libcxx/include/list
Log Message:
-----------
[libc++] Remove identity casts in <{forward_,}list> (#130049)
Commit: 32f543760c7f44c4c7d18bc00a3a1d8860c42bff
https://github.com/llvm/llvm-project/commit/32f543760c7f44c4c7d18bc00a3a1d8860c42bff
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-result.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
Revert "[mlir][ODS] Add a generated builder that takes the Properties struct" (#130117)
Reverts llvm/llvm-project#124713.
Builders involving sanitizers are failing:
https://lab.llvm.org/buildbot/#/builders/169/builds/9106.
Commit: 1182be503d584c402aba58ea5807bc11feba20ae
https://github.com/llvm/llvm-project/commit/1182be503d584c402aba58ea5807bc11feba20ae
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
Log Message:
-----------
[SLP]Fix a crash for buildvector nodes with parent phi nodes with same incoming blocks
If trying to find matching buildvector node for another nodes, and both
nodes are used by vectorized phi nodes and are coming from the same
parent block, this nodes should be considered matched to avoid a crash.
Commit: 3ccacc4e44afa66f20dd6430bc7ff966cc670708
https://github.com/llvm/llvm-project/commit/3ccacc4e44afa66f20dd6430bc7ff966cc670708
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/LTO/X86/coro.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-lto-defaults.ll
Log Message:
-----------
Revert "[LTO][Pipelines][Coro] De-duplicate Coro passes" (#129977)
Reverts llvm/llvm-project#128654
Breaks FatLTO
https://github.com/llvm/llvm-project/pull/128654#issuecomment-2700053700
Commit: ea59d17a2afc087315e68dca59f608d4ed73c300
https://github.com/llvm/llvm-project/commit/ea59d17a2afc087315e68dca59f608d4ed73c300
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-partial-undef.ll
Log Message:
-----------
[X86] getFauxShuffleMask - always match insert_subvector(insert_subvector(undef,sub,0),sub,c) 'subvector splat' patterns (#130115)
The plan is to remove the vXi64 cross lane shuffle constraint entirely, but this special 'splat' case was easy to handle while I fight the remaining regressions.
Commit: bfea84946d860ac5cae978323597556268c90f7a
https://github.com/llvm/llvm-project/commit/bfea84946d860ac5cae978323597556268c90f7a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
Log Message:
-----------
clang: Hack around opencl enqueue_block using wrong ABI for aggregrate (#130011)
EmitAggExprToLValue started wrapping the temporary alloca in an
addrspacecast
at some point. We take the direct type from this as the pointer argument
for the
runtime function type, but this isn't correct. Technically, we should be
querying
the target's ABI for what IR to produce for this sequence. The
assumption seems to
always have been that this will be indirectly passed with byval (or
byref).
I started working on a patch to go through the ABI handling, but it
seems to
require more time and/or clang expertise than I have at the moment.
Commit: 3c74262604f72914df970a6de7f057f9d24d7668
https://github.com/llvm/llvm-project/commit/3c74262604f72914df970a6de7f057f9d24d7668
Author: Augie Fackler <augie at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] add missing deps in mlir
Commit: 15ba2ce7ac9ba2f827271c8fe93f6f3e8219f734
https://github.com/llvm/llvm-project/commit/15ba2ce7ac9ba2f827271c8fe93f6f3e8219f734
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/pr41619.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/address-space-id-funcs.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/assumed-addrspace.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/debug-info.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/icmp.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/infer-address-space.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/infer-addrspacecast.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/infer-getelementptr.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/insert-pos-assert.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll
M llvm/test/Transforms/InferAddressSpaces/NVPTX/bug31948.ll
M llvm/test/Transforms/InferAddressSpaces/NVPTX/clone_constexpr.ll
Log Message:
-----------
InferAddressSpaces: Replace undef with poison in tests (#130083)
Commit: 35842f354ecc9105de44bc1b5a8d6d90b53b8d49
https://github.com/llvm/llvm-project/commit/35842f354ecc9105de44bc1b5a8d6d90b53b8d49
Author: Augie Fackler <augie at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] add missing another missing dep in mlir
Commit: 5ae19fad3f1a73577cb8446b2b88eea5b3d0c8f0
https://github.com/llvm/llvm-project/commit/5ae19fad3f1a73577cb8446b2b88eea5b3d0c8f0
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/print-attr-type-aliases.mlir
M mlir/test/IR/recursive-type.mlir
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
Log Message:
-----------
[mlir] Allow trailing digit for alias in AsmPrinter (#127993)
When generating aliases from `OpAsm{Dialect,Type,Attr}Interface`, the
result would be sanitized and if the alias provided by the interface has
a trailing digit, AsmPrinter would attach an underscore to it to
presumably prevent confliction.
#### Motivation
There are two reasons to motivate the change from the old behavior to
the proposed behavior
1. If the type/attribute can generate unique alias from its content,
then the extra trailing underscore added by AsmPrinter will be strange
```mlir
func.func @add(%ct: !ct_L0_) -> !ct_L0_
%ct_0 = bgv.add %ct, %ct : (!ct_L0_, !ct_L0_) -> !ct_L0_
%ct_1 = bgv.add %ct_0, %ct_0 : (!ct_L0_, !ct_L0_) -> !ct_L0_
%ct_2 = bgv.add %ct_1, %ct_1 : (!ct_L0_, !ct_L0_) -> !ct_L0_
return %ct_2 : !ct_L0_
}
```
Which aesthetically would be better if we have `(!ct_L0, !ct_L0) ->
!ct_L0`
2. The Value name behavior is that, for the first instance, use no
suffix `_N`, which can be similarly applied to alias name. See the IR
above where the first one is called `%ct` and others are called `%ct_N`.
See `uniqueValueName` for detail.
#### Conflict detection
```mlir
!test.type<a = 3> // suggest !name0
!test.type<a = 4> // suggest !name0
!test.another<b = 3> // suggest !name0_
!test.another<b = 4> // suggest !name0_
```
The conflict detection is based on `nameCounts` in `initializeAliases`,
where
In the original way, the first two will get sanitized to `!name0_` and
`initializeAlias` can assign unique id `0, 1, 2, 3` to them.
In the current way, the `initializeAlias` uses `usedAliases` to track
which name has been used, and use such information to generate a suffix
id that will make the printed alias name unique.
The result for the above example is `!name0, !name0_1, !name0_,
!name0_2` now.
Commit: c8898b09f9cc8b2d8df37c40b1d7c5ab868cd9db
https://github.com/llvm/llvm-project/commit/c8898b09f9cc8b2d8df37c40b1d7c5ab868cd9db
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Runtime/pointer.h
Log Message:
-----------
[flang][rt] Use allocator registry to allocate the pointer payload (#129992)
pointer allocation is done through `AllocateValidatedPointerPayload`.
This function was not updated to use the registered allocators in the
descriptor to perform the allocation. This patch makes use of the
allocator.
The footer word is not set and not checked for allocator other than the
default one. The support will likely come in a follow up patch but this
will necessitate more functions to be registered to be able to set and
get the footer value when the allocation in on the device.
Commit: 0222b5544e44ca8332fbf0e11948502d6abd887f
https://github.com/llvm/llvm-project/commit/0222b5544e44ca8332fbf0e11948502d6abd887f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#129987)
Commit: afe14bb0e4c5694bf92e88112bef9f99d29430a9
https://github.com/llvm/llvm-project/commit/afe14bb0e4c5694bf92e88112bef9f99d29430a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#129990)
Commit: abcab4f7baed5a231b38fba4ef47ae5c69fba7de
https://github.com/llvm/llvm-project/commit/abcab4f7baed5a231b38fba4ef47ae5c69fba7de
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/tools/llvm-dwarfdump/Statistics.cpp
Log Message:
-----------
[llvm-dwarfdump] Avoid repeated hash lookups (NFC) (#129991)
Commit: 92dfc0ffc33414a14b3190e194c142cc99bbd61a
https://github.com/llvm/llvm-project/commit/92dfc0ffc33414a14b3190e194c142cc99bbd61a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
Log Message:
-----------
[llvm-jitlink] Avoid repeated hash lookups (NFC) (#129993)
Commit: 3158525afdc3677457712963ef45c83f4f8f900f
https://github.com/llvm/llvm-project/commit/3158525afdc3677457712963ef45c83f4f8f900f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/buildvectors-with-same-parents.ll
Log Message:
-----------
[SLP]Fix non-determinism in reused elements analysis
Need to use consistent storages for unique elements, when going to
iterate over them to avoid non-determinism in reused elements analysis.
Fixes #130082
Commit: 93b022944c04634eb30689cb72f0fe0ac2cb5f0d
https://github.com/llvm/llvm-project/commit/93b022944c04634eb30689cb72f0fe0ac2cb5f0d
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
Log Message:
-----------
[OpenACC] fix 'loop' restriction of auto/seq/independent
We previously allowed duplicates of auto/seq/independent on a 'loop'
construct. This is disallowed by the restriction (which says exactly one
of...), so this patch ensures they are disallowed.
Commit: 31845cf06c2b1555a0bcf6adc116cc17469978e5
https://github.com/llvm/llvm-project/commit/31845cf06c2b1555a0bcf6adc116cc17469978e5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/buildvectors-with-same-parents.ll
Log Message:
-----------
Revert "[SLP]Fix non-determinism in reused elements analysis"
This reverts commit 3158525afdc3677457712963ef45c83f4f8f900f to fix
a bug revealed in https://lab.llvm.org/buildbot/#/builders/123/builds/14930
Commit: cc98b35d0d7eaedbf003163bb401d6ffbd51d5da
https://github.com/llvm/llvm-project/commit/cc98b35d0d7eaedbf003163bb401d6ffbd51d5da
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/masked-load-vectortypes.ll
Log Message:
-----------
[AMDGPU] Masked load vectortype test (#129703)
Commit: 6d89c042e3f28c1c5b8fd1ac5512df7020c9739b
https://github.com/llvm/llvm-project/commit/6d89c042e3f28c1c5b8fd1ac5512df7020c9739b
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove dead AnyOf reduction case in VPReductionRecipe. NFCI (#130048)
>From what I understand, we only create VPReductionRecipes for in-loop
reductions, and we don't currently support in-loop AnyOf reductions.
We only create VPReductionRecipes in the !PhiR->isInLoop() section of
adjustRecipesForReductions, and this comment from the initial patch
seems to confirm this
https://reviews.llvm.org/D108136#anchor-inline-1038338, so I think we
can remove this check in the condition logic.
I checked compiling SPEC 2017 with -prefer-inloop-predicates and the
added assertion doesn't trigger.
Commit: 68b1fe86283bd8ea7356fa9cbc126fe56178ab2d
https://github.com/llvm/llvm-project/commit/68b1fe86283bd8ea7356fa9cbc126fe56178ab2d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
Log Message:
-----------
[LivePhysRegs] Use MCRegister instead of MCPhysReg in interface. NFC
Commit: d0b8f5d8b3e11b283695558c3bcdea7629e9838b
https://github.com/llvm/llvm-project/commit/d0b8f5d8b3e11b283695558c3bcdea7629e9838b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/lib/CodeGen/RegisterBankInfo.cpp
Log Message:
-----------
[RegisterBankInfo] Use MCRegister instead of Register for getMinimalPhysRegClass. NFC
Commit: bdf50f029232d30e820dfc222bee8eecd3945155
https://github.com/llvm/llvm-project/commit/bdf50f029232d30e820dfc222bee8eecd3945155
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/DetectDeadLanes.h
M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
M llvm/include/llvm/CodeGen/LiveRangeCalc.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/lib/CodeGen/AllocationOrder.cpp
M llvm/lib/CodeGen/AllocationOrder.h
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/ExecutionDomainFix.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/Localizer.cpp
M llvm/lib/CodeGen/LiveInterval.cpp
M llvm/lib/CodeGen/LiveRangeCalc.cpp
M llvm/lib/CodeGen/LiveRangeShrink.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
M llvm/lib/CodeGen/MachineSSAContext.cpp
M llvm/lib/CodeGen/OptimizePHIs.cpp
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
Log Message:
-----------
[CodeGen] Use Register or MCRegister. NFC
Commit: 81089f0fd16e4eaae06f1a4be9611303c4f1cabf
https://github.com/llvm/llvm-project/commit/81089f0fd16e4eaae06f1a4be9611303c4f1cabf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/LiveIntervalUnion.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MachineStableHash.cpp
M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
Log Message:
-----------
[CodeGen] Use Register::id(). NFC
Commit: c628e8e9ea86a225af846875740d0189f7cd3722
https://github.com/llvm/llvm-project/commit/c628e8e9ea86a225af846875740d0189f7cd3722
Author: apple-fcloutier <75502309+apple-fcloutier at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/format-strings.c
Log Message:
-----------
[clang] Fix FP -Wformat in functions with 2+ attribute((format)) (#129954)
When defining functions with two or more format attributes, if the
format strings don't have the same format family, there is a false
positive warning that the incorrect kind of format string is being
passed at forwarded format string call sites.
This happens because we check that the format string family of each
format attribute is compatible before we check that we're using the
associated format parameter. The fix is to move the check down one
scope, after we've established that we are checking the right parameter.
Tests are updated to include a true negative and a true positive of this
situation.
Commit: 6e2fd4b269d0bd971e904aa07fddff19a7ec13bb
https://github.com/llvm/llvm-project/commit/6e2fd4b269d0bd971e904aa07fddff19a7ec13bb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
Log Message:
-----------
[ScheduleDAGInstrs] Use Register. NFC
Commit: ba9aeedf8e4b0ae3a62ee5a2234205b203f1286f
https://github.com/llvm/llvm-project/commit/ba9aeedf8e4b0ae3a62ee5a2234205b203f1286f
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/algorithm
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Implement part of P2562R1: constexpr `ranges::stable_sort` (#128860)
Drive-by: Enables test coverage for `ranges::stable_sort` with proxy
iterators, and changes "constexpr in" to "constexpr since" in comments
in `<algorithm>`.
Commit: 16e051f0b9ad855e356073c32da6aecfcadf03c8
https://github.com/llvm/llvm-project/commit/16e051f0b9ad855e356073c32da6aecfcadf03c8
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/EHContGuardCatchret.cpp
A llvm/lib/CodeGen/EHContGuardTargets.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging-debug.mir
M llvm/test/CodeGen/AArch64/cfi-fixup-multi-block-prologue.mir
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AArch64/sink-and-fold-drop-dbg.mir
M llvm/test/CodeGen/AArch64/sink-and-fold-illegal-shift.mir
M llvm/test/CodeGen/AArch64/sink-and-fold-preserve-debugloc.mir
M llvm/test/CodeGen/AArch64/split-deadloop.mir
M llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
M llvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
M llvm/test/CodeGen/AArch64/wineh9.mir
M llvm/test/CodeGen/ARM/execute-only-save-cpsr.mir
M llvm/test/CodeGen/ARM/inlineasmbr-if-cvt.mir
M llvm/test/CodeGen/ARM/jump-table-dbg-value.mir
M llvm/test/CodeGen/Hexagon/cext-opt-block-addr.mir
M llvm/test/CodeGen/Hexagon/rdf-copy-clobber.mir
M llvm/test/CodeGen/Hexagon/rdf-phi-clobber.mir
M llvm/test/CodeGen/MIR/Hexagon/addrmode-opt-nonreaching.mir
M llvm/test/CodeGen/MIR/X86/exception-function-state.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
M llvm/test/CodeGen/PowerPC/ctrloop-do-not-duplicate-mi.mir
M llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
M llvm/test/CodeGen/RISCV/stack-slot-coloring.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-reduct-livein-arg.mir
M llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir
M llvm/test/CodeGen/Thumb2/pipeliner-preserve-ties.mir
M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
M llvm/test/CodeGen/X86/align-basic-block-sections.mir
M llvm/test/CodeGen/X86/amx_tile_pair_configure_O0.mir
M llvm/test/CodeGen/X86/amx_tile_pair_configure_O2.mir
M llvm/test/CodeGen/X86/amx_tile_pair_copy.mir
M llvm/test/CodeGen/X86/amx_tile_pair_preconfigure_O0.mir
M llvm/test/CodeGen/X86/amx_tile_pair_preconfigure_O2.mir
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
M llvm/test/CodeGen/X86/apx/memfold-nd2rmw.mir
M llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
M llvm/test/CodeGen/X86/break-false-dep-crash.mir
M llvm/test/CodeGen/X86/callbr-asm-outputs-regallocfast.mir
M llvm/test/CodeGen/X86/cse-two-preds.mir
M llvm/test/CodeGen/X86/domain-reassignment.mir
M llvm/test/CodeGen/X86/machine-licm-vs-wineh.mir
M llvm/test/CodeGen/X86/peephole-test-after-add.mir
M llvm/test/CodeGen/X86/zero-call-used-regs-debug-info.mir
M llvm/test/DebugInfo/ARM/move-dbg-values-imm-test.mir
M llvm/test/DebugInfo/MIR/X86/instr-ref-join-def-vphi.mir
M llvm/test/DebugInfo/X86/instr-ref-track-clobbers.mir
M llvm/test/MachineVerifier/verify-inlineasmbr.mir
M llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-MIFlags.mir
M llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-MIFlags.mir.expected
M llvm/test/tools/llvm-reduce/mir/preserve-func-info.mir
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[win] NFC: Rename `EHCatchret` to `EHCont` to allow for EH Continuation targets that aren't `catchret` instructions (#129953)
This change splits out the renaming and comment updates from #129612 as a non-functional change.
Commit: c4c29b95a6e6809017e71e85f33faecfe85d88b2
https://github.com/llvm/llvm-project/commit/c4c29b95a6e6809017e71e85f33faecfe85d88b2
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
Revert "[NFC] Change the return type of `getTraversalScope` to `ArrayRef`"
This reverts commit 9189d84abbfc643db0053200c1c2e16b1e78e8f9.
ASan catches that someone actually DOES modify the collection somewhere
it looks.
Commit: 52552ce53babc1078c2d38587bb77609852bc0a2
https://github.com/llvm/llvm-project/commit/52552ce53babc1078c2d38587bb77609852bc0a2
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/AnnotateHighlightings.cpp
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
Reapply "[NFC] Change the return type of `getTraversalScope` to `ArrayRef`"
vitalybuka identified a fix here that fixes the issue, and lets us make
fewer copies! This applies his patch plus reapplys the original.
This reverts commit c4c29b95a6e6809017e71e85f33faecfe85d88b2.
Commit: 9ecb0f58ebb4faa2410dd8ee1fe4d2187aa3fbfc
https://github.com/llvm/llvm-project/commit/9ecb0f58ebb4faa2410dd8ee1fe4d2187aa3fbfc
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/bool-compare.c
M clang/test/Sema/parentheses.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
Log Message:
-----------
[Clang][diagnostics] Improve the diagnostics for chained comparisons (#129285)
Improve the diagnostics for chained comparisons to report actual
expressions and operators
Fixes #129069
Commit: 37aad2c1196ea3de242d855cfe38bc25a65d6f5e
https://github.com/llvm/llvm-project/commit/37aad2c1196ea3de242d855cfe38bc25a65d6f5e
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/masked-load-vectortypes.ll
Log Message:
-----------
[AMDGPU][NFC] Update premerged test from #129703 to reflect upstream (#130154)
Commit: a24523ac8dc07f3478311a5969184b922b520395
https://github.com/llvm/llvm-project/commit/a24523ac8dc07f3478311a5969184b922b520395
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ByteCode/cxx1z.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx98.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.unqual/p7.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/expr/expr.const/p3-0x.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.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.template/p3-0x.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p8-1y.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
M clang/test/CXX/temp/temp.deduct/p9.cpp
M clang/test/CXX/temp/temp.param/p1.cpp
M clang/test/CXX/temp/temp.param/p12.cpp
M clang/test/CXX/temp/temp.param/p15-cxx0x.cpp
M clang/test/CXX/temp/temp.param/p8-cxx20.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
M clang/test/CXX/temp/temp.spec/cxx1y-variable-template-no-body.cpp
M clang/test/CXX/temp/temp.spec/part.spec.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p20.cpp
M clang/test/Misc/integer-literal-printing.cpp
M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
M clang/test/Modules/missing-body-in-import.cpp
M clang/test/Modules/template-default-args.cpp
M clang/test/Parser/MicrosoftExtensions.cpp
M clang/test/Parser/cxx-template-argument.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/access-base-class.cpp
M clang/test/SemaCXX/alias-template.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/implicit-member-functions.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/make_integer_seq.cpp
M clang/test/SemaCXX/type-trait-common-type.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaObjCXX/parameterized_classes_subst.mm
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/instantiation-default-1.cpp
M clang/test/SemaTemplate/instantiation-default-2.cpp
M clang/test/SemaTemplate/instantiation-dependence.cpp
M clang/test/SemaTemplate/instantiation-depth-defarg.cpp
M clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
M clang/test/SemaTemplate/instantiation-depth.cpp
M clang/test/SemaTemplate/ms-unqualified-base-class.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/stack-exhaustion.cpp
M clang/test/SemaTemplate/temp_arg.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
Log Message:
-----------
[clang] Implement instantiation context note for checking template parameters (#126088)
Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss, this
patch adds a new instantiation context note, so that this can work using
RAII magic.
This fixes a bunch of places where these notes were missing, and is more
future-proof.
Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
which is missing an argument.
- Template Template parameter mismatches now refer to template
parameters as parameters instead of arguments.
It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time and
the decrease in maintenance burden makes up for it.
This bypasses the templight dumper for the new context entry, as the
tests are very hard to update.
This depends on #125453, which is needed to avoid losing the context
note for errors occuring during template argument deduction.
Commit: a907246fb29bd74dc025beb87a2ef1858a8d0dae
https://github.com/llvm/llvm-project/commit/a907246fb29bd74dc025beb87a2ef1858a8d0dae
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
Log Message:
-----------
[Clang][Docs][NFC] Correct documentation for the CPATH environment variable (#129113)
Clang's prior documentation for the `CPATH` environment variable stated that
paths it specifies are added as system header search paths. The actual behavior
is that such paths are treated as though they were passed via `-I` options at
the end of the driver command line and are thus added as non-system (user)
header search paths.
The documentation additionally claimed that empty path entries in the `CPATH`
environment variable are ignored. This was also incorrect; Clang treats empty
entries as nominating the compiler's current working directory; as though `.`
was specified.
Clang's behavior is consistent with gcc as documented at
https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html#index-CPATH.
This change aligns Clang's documentation with the behavior actually observed.
Additional editorial changes are included to clarify that the related
`C_INCLUDE_PATH`, `CPLUS_INCLUDE_PATH`, `OBJC_INCLUDE_PATH`, and
`OBJCPLUS_INCLUDE_PATH` environment variables specify additional paths that
are treated as system header search paths (in contrast to `CPATH`).
Fixes issue #49742.
Commit: 4959025bbc9e64cc58a1dfa0d9fe1c7162b3ade3
https://github.com/llvm/llvm-project/commit/4959025bbc9e64cc58a1dfa0d9fe1c7162b3ade3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/buildvectors-with-same-parents.ll
Log Message:
-----------
[SLP]Fix non-determinism in reused elements analysis
Need to use consistent storages for unique elements, when going to
iterate over them to avoid non-determinism in reused elements analysis.
Fixes #130082
Commit: 0efaad00a9fc595ecd861f027a5908c4484e04be
https://github.com/llvm/llvm-project/commit/0efaad00a9fc595ecd861f027a5908c4484e04be
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lld/COFF/Writer.cpp
R lld/test/COFF/arm64x-guardcf.s
Log Message:
-----------
Revert "[LLD][COFF] Support CF guards on ARM64X (#128440)"
This reverts commit 14bab65cbfb2bf9a410c3ce206a6b7a273441f26.
It causes lld-link to crash, posted repro at https://github.com/llvm/llvm-project/pull/128440#issuecomment-2702493683.
Commit: 710de09f17866c75e1b971059b3cb735fbbee408
https://github.com/llvm/llvm-project/commit/710de09f17866c75e1b971059b3cb735fbbee408
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
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/CMakeLists.txt
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIROpInterfaces.cpp
M clang/lib/CIR/Interfaces/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/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/global.cir
A clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream global variable linkage types (#129072)
This change implements variable linkage types in ClangIR except for
common linkage which requires Comdat support.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Commit: d01a06b844cca2000137b7257025d22d0adcfa80
https://github.com/llvm/llvm-project/commit/d01a06b844cca2000137b7257025d22d0adcfa80
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Testing/CMakeLists.txt
Log Message:
-----------
[clang][test] Fix shared build after Module Triple change. NFC
Commit: 6701669835113ff571f9d3230d7a4857c61d5e12
https://github.com/llvm/llvm-project/commit/6701669835113ff571f9d3230d7a4857c61d5e12
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
Log Message:
-----------
[mlir][vector][nfc] Replace `failure()` with `notifyMatchFailure()` (#129278)
Updates some instances of plain `return failure();` in VectorToSCF.cpp
with `return notifyMatchFailure();` and a description (usually copied
from the nearby comment).
There's many more "plain" `return failure();` left, but ATM I only
have the cycles for the ones updated here.
Commit: d10dca6ba73c057e7c24624cd62ada8d75ecfd46
https://github.com/llvm/llvm-project/commit/d10dca6ba73c057e7c24624cd62ada8d75ecfd46
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/vector-mask-lowering-transforms.mlir
Log Message:
-----------
[mlir][Vector] Move vector.insert canonicalizers for DenseElementsAttr to folders (#128040)
This PR moves vector.insert canonicalizers for DenseElementsAttr (splat
and non splat case) to folders. Folders are local, and it's always
better to implement a folder than a canonicalizer.
This PR is mostly NFC-ish, because the functionality mostly remains
same, but is now run as part of a folder, which is why some tests are
changed, because GreedyPatternRewriter tries to fold by default.
Commit: 1a09adae9ffc1267f79b6c9a656da38812bcbdff
https://github.com/llvm/llvm-project/commit/1a09adae9ffc1267f79b6c9a656da38812bcbdff
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libc/docs/headers/index.rst
M libc/docs/headers/math/index.rst
R libc/docs/headers/math/stdfix.rst
A libc/docs/headers/stdfix.rst
Log Message:
-----------
[libc] Add link to stdfix.h on headers page (#129138)
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: a17a155081fc758b20a44c7f036a970471b08b8a
https://github.com/llvm/llvm-project/commit/a17a155081fc758b20a44c7f036a970471b08b8a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-check-generated-files.yml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
[Github][libc++] Prefer ubuntu-24.04 over ubuntu-latest (#129949)
This patch replaces all instances of ubuntu-latest with ubuntu-24.04
based on the guidelines in the LLVM CI best practices doc
(https://llvm.org/docs/CIBestPractices.html).
Commit: 0ce4b685d2f46b389887aeb8d1d16d5d15f7ecce
https://github.com/llvm/llvm-project/commit/0ce4b685d2f46b389887aeb8d1d16d5d15f7ecce
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M .github/workflows/build-metrics-container.yml
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/libclang-abi-tests.yml
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/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/version-check.yml
Log Message:
-----------
[Github] Prefer ubuntu-24.04 over ubuntu-latest (#129936)
This patch replaces all instances of ubuntu-latest with ubuntu-24.04
(outside of the entries in libc++) based on the guidelines in the LLVM
CI best practices doc (https://llvm.org/docs/CIBestPractices.html).
Commit: 7a44ff13d97475f0de38c8799dec86be0d0de0ac
https://github.com/llvm/llvm-project/commit/7a44ff13d97475f0de38c8799dec86be0d0de0ac
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-barrier.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-empty-md.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store-atomic.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store-struct.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-masked-load-store.ll
Log Message:
-----------
[SPIR-V] Add SPV_INTEL_memory_access_aliasing extension (#129800)
Spec can be found here https://github.com/intel/llvm/pull/15225
TODO for future patches:
- During spec review need to decide whether only FunctionCall or Atomic
instructions can be decorated and if not - move the code around adding
handling for other instructions;
- Handle optional string metadata;
- Handle LLVM atomic instructions;
- Handle SPIR-V friendly atomic calls returning via sret argument.
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: 1df59b381746ecf36d638404092e0aeedddf0a58
https://github.com/llvm/llvm-project/commit/1df59b381746ecf36d638404092e0aeedddf0a58
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add targets for float16 math (#129965)
Add targets for some float16 math functions that were missing them, but
mostly add targets for the smoke tests.
Commit: 5f70ed5bdad826e3842da3ce86e54bef8df95dbe
https://github.com/llvm/llvm-project/commit/5f70ed5bdad826e3842da3ce86e54bef8df95dbe
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
Log Message:
-----------
[nfc] Small fixups (coding style) post- PR #129626 (#129935)
Commit: d58c793673095195c46366fe19f151a68a029820
https://github.com/llvm/llvm-project/commit/d58c793673095195c46366fe19f151a68a029820
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
Pass: Do not use llvm::array_pod_sort to sort OpPassManagers.
OpPassManager contains a field of type std::unique_ptr which
is not guaranteed to be trivially relocatable so we cannot use
llvm::array_pod_sort.
Reviewers: River707, joker-eph
Reviewed By: joker-eph
Pull Request: https://github.com/llvm/llvm-project/pull/129968
Commit: 00f3089c2e394f219e1a78e5cc39f9bfd5a8a8e2
https://github.com/llvm/llvm-project/commit/00f3089c2e394f219e1a78e5cc39f9bfd5a8a8e2
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use PatternMatch in emitTransformedIndex (NFC) (#130081)
Commit: ddffb74afd870d284ba07f1cf6c67117a8ab8b33
https://github.com/llvm/llvm-project/commit/ddffb74afd870d284ba07f1cf6c67117a8ab8b33
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
Log Message:
-----------
[LV] Strip unreachable SCEV-check blocks (#130079)
emitSCEVChecks checks if SCEVCheckCond matches zero, and returns
nullptr. However, it sets SCEVCheckCond as used before it does this,
which prevents it from being removed during cleanup, resulting in
unreachable blocks being emitted. Fix this.
Commit: c9e250af8e4a6b8e83ad4a3b6216f8229e00aff5
https://github.com/llvm/llvm-project/commit/c9e250af8e4a6b8e83ad4a3b6216f8229e00aff5
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
Log Message:
-----------
[LoopUtils] Rename a var in addDiffRuntimeChecks (NFC) (#130128)
Commit: 1b75b9e665ee3c43de85c25f8d5f10d4efb3ca39
https://github.com/llvm/llvm-project/commit/1b75b9e665ee3c43de85c25f8d5f10d4efb3ca39
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/test/AST/ast-print-openacc-routine-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/SemaOpenACC/routine-construct-ast.cpp
A clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/routine-construct.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
Log Message:
-----------
[OpenACC] Handle sema for gang, worker, vector, seq clauses on routine
These 4 clauses are mutually exclusive, AND require at least one of
them. Additionally, gang has some additional restrictions in that only
the 'dim' specifier is permitted. This patch implements all of this, and
ends up refactoring the handling of each of these clauses for
readabililty.
Commit: 72376e19df71bf7232e10896b80e19a29df5bd57
https://github.com/llvm/llvm-project/commit/72376e19df71bf7232e10896b80e19a29df5bd57
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove unused VPWidenIntrinsicRecipe constructor (NFC)
Commit: 1073a23ca089cc63b7cf9ed811cfed451c9631ff
https://github.com/llvm/llvm-project/commit/1073a23ca089cc63b7cf9ed811cfed451c9631ff
Author: Paige Lewis <51000738+pxigelewis at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
Log Message:
-----------
Updating variable names (#130136)
Updating variable names within the SystemZAsmParser to comply with
naming conventions.
Co-authored-by: Paige Lewis <paige.lewis at ibm.com>
Commit: 50219c8af22f9b1b7b3c6e584ded75611f612abf
https://github.com/llvm/llvm-project/commit/50219c8af22f9b1b7b3c6e584ded75611f612abf
Author: Marcus Boay <marcusboay at hotmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/GISel/PPCCallLowering.h
M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.h
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.h
Log Message:
-----------
[PowerPC] [NFC] Refine PowerPC GISel files according to clang-tidy checks (#129780)
Code cleanup for PowerPC GISel files such as renaming header guards and
removing unused includes.
Commit: 5b9e1a57580c2589b84b2c37474795656574b7e1
https://github.com/llvm/llvm-project/commit/5b9e1a57580c2589b84b2c37474795656574b7e1
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/lib/Target/X86/X86InstrOperands.td
M llvm/test/MC/X86/I386-32.s
M llvm/test/MC/X86/I386-64.s
M llvm/test/MC/X86/intel-syntax.s
M llvm/test/MC/X86/validate-inst-intel.s
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[X86][AsmParser] Improve rel8 validation (#126073)
* Check the size of immediate operand of rel8
* Rename AbsMem16 related names to AbsMemMode16 to disambiguate mem size
and mode checks.
Commit: 996092d5a508c02d52cfc2be550f1cf57e9ae648
https://github.com/llvm/llvm-project/commit/996092d5a508c02d52cfc2be550f1cf57e9ae648
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
[flang] probably convert Fortran logical to i1 in expanding hlfir.maxloc/hlfir.minloc opcodes (#129791)
If mask is a scalar, it always converts to !fir.box<!fir.array<1xi1>>.
The wrong value may be picked up when passing to the function
on the big endian platform. This patch is to do the conversion
based on the original type of the mask and convert the value to
i1 after the load.
Commit: 7d8da04c26bffd9da4461eef181df39c46292fa3
https://github.com/llvm/llvm-project/commit/7d8da04c26bffd9da4461eef181df39c46292fa3
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'nohost' construct AST/Sema
'nohost' is only valid on routine, and states that the compiler
shouldn't compile this routine for the host. It has no arguments, so no
checking is required besides putting it in the AST.
Commit: 73b2ad51f46e67d00cbc7394a2c1cf9b3316cf92
https://github.com/llvm/llvm-project/commit/73b2ad51f46e67d00cbc7394a2c1cf9b3316cf92
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[www] Add papers from Graz
These are the papers accepted at the recent WG14 meeting in Graz which
impact the compiler.
Commit: 22eab44aaee11106eccdffa66fef160b4876c845
https://github.com/llvm/llvm-project/commit/22eab44aaee11106eccdffa66fef160b4876c845
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[www] Update for Clang 20 release
Commit: 9a0e652ec7e38b4ae18b744071d4d3906210bc04
https://github.com/llvm/llvm-project/commit/9a0e652ec7e38b4ae18b744071d4d3906210bc04
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
Log Message:
-----------
[www] Update the C++ status pages for Clang 20
Commit: 542d52b1e8a0a7e04538f608487603124c70e1ab
https://github.com/llvm/llvm-project/commit/542d52b1e8a0a7e04538f608487603124c70e1ab
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/include/lldb/Expression/IRExecutionUnit.h
M lldb/include/lldb/Target/Target.h
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
A lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
A lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.h
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
Log Message:
-----------
[lldb][Expression] Allow specifying a preferred ModuleList for lookup during expression evaluation (#129733)
The `TestMemoryHistory.py`/`TestReportData.py` are currently failing on
the x86 macOS CI (started after we upgraded the Xcode SDK on that
machien). The LLDB ASAN utility expression is failing to run with
following error:
```
(lldb) image lookup -n __asan_get_alloc_stack
1 match found in /usr/lib/system/libsystem_sanitizers.dylib:
Address: libsystem_sanitizers.dylib[0x00007ffd11e673f7] (libsystem_sanitizers.dylib.__TEXT.__text + 11287)
Summary: libsystem_sanitizers.dylib`__asan_get_alloc_stack
1 match found in /Users/michaelbuch/Git/lldb-build-main-no-modules/lib/clang/21/lib/darwin/libclang_rt.asan_osx_dynamic.dylib:
Address: libclang_rt.asan_osx_dynamic.dylib[0x0000000000009ec0] (libclang_rt.asan_osx_dynamic.dylib.__TEXT.__text + 34352)
Summary: libclang_rt.asan_osx_dynamic.dylib`::__asan_get_alloc_stack(__sanitizer::uptr, __sanitizer::uptr *, __sanitizer::uptr, __sanitizer::u32 *) at asan_debugging.cpp:132
(lldb) memory history 'pointer'
Assertion failed: ((uintptr_t)addr == report.access.address), function __asan_get_alloc_stack, file debugger_abi.cpp, line 62.
warning: cannot evaluate AddressSanitizer expression:
error: Expression execution was interrupted: signal SIGABRT.
The process has been returned to the state before expression evaluation.
```
The reason for this is that the system sanitizer dylib and the locally
built libclang_rt contain the same symbol `__asan_get_alloc_stack`, and
depending on the order in which they're loaded, we may pick the one from
the wrong dylib (this probably changed during the buildbot upgrade and
is why it only now started failing). Based on discussion with @wrotki we
always want to pick the one that's in the libclang_rt dylib if it was
loaded, and libsystem_sanitizers otherwise.
This patch addresses this by adding a "preferred lookup context list" to
the expression evaluator. Currently this is only exposed in the
`EvaluateExpressionOptions`. We make it a `SymbolContextList` in case we
want the lookup contexts to be contexts other than modules (e.g., source
files, etc.). In `IRExecutionUnit` we make it a `ModuleList` because it
makes the symbol lookup implementation simpler and we only do module
lookups here anyway. If we ever need it to be a `SymbolContext`, that
transformation shouldn't be too difficult.
Commit: a7a65a824ed6cb9dec6b4b858c8479b2da5e9752
https://github.com/llvm/llvm-project/commit/a7a65a824ed6cb9dec6b4b858c8479b2da5e9752
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/descriptor.cpp
Log Message:
-----------
[flang] explicitly cast the pointer to void* in std::memcpy calls (NFC) (#129946)
This patch is to add the explicit cast to the first argument of std::memcpy.
Commit: 1493f420600b4a4284a6bb08f1867ecb7bebdcbb
https://github.com/llvm/llvm-project/commit/1493f420600b4a4284a6bb08f1867ecb7bebdcbb
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
Log Message:
-----------
[OpenACC] Add test changes missed in 7d8da04
Looks like I did a bad job with git and ended up having some failed
tests! This should fix those.
Commit: 5f6b058c6a52bfc6b79b1ed0ece815a63ff75c96
https://github.com/llvm/llvm-project/commit/5f6b058c6a52bfc6b79b1ed0ece815a63ff75c96
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
Log Message:
-----------
[DirectX] Match DXC when storing `RWBuffer<float>` (#129911)
Update the lowering of `llvm.dx.resource.store.typedbuffer` to match DXC
and repeat the first element in cases where we are storing fewer than 4
elements.
Fixes #128110
Commit: f3effc24004a99c6167680a66b1f95bde3c268f4
https://github.com/llvm/llvm-project/commit/f3effc24004a99c6167680a66b1f95bde3c268f4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3347.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to N3347
This paper made it a constraint violation to have a tentative
definition with internal linkage which is not completed by the end of
the translation unit.
This has been diagnosed as an error since at least Clang 3.0, so no
changes are needed.
Commit: 3492245ac07ca68f434035c6577f55c790270354
https://github.com/llvm/llvm-project/commit/3492245ac07ca68f434035c6577f55c790270354
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaRISCV.cpp
A clang/test/Sema/riscv-interrupt-attr-qci.c
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
A llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
A llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
Log Message:
-----------
[RISCV] QCI Interrupt Support (#129957)
This change adds support for `qci-nest` and `qci-nonest` interrupt
attribute values. Both of these are machine-mode interrupts, which use
instructions in Xqciint to push and pop A- and T-registers (and a few
others) from the stack.
In particular:
- `qci-nonest` uses `qc.c.mienter` to save registers at the start of the
function, and uses `qc.c.mileaveret` to restore those registers and
return from the interrupt.
- `qci-nest` uses `qc.c.mienter.nest` to save registers at the start of
the function, and uses `qc.c.mileaveret` to restore those registers and
return from the interrupt.
- `qc.c.mienter` and `qc.c.mienter.nest` both push registers ra, s0
(fp), t0-t6, and a0-a10 onto the stack (as well as some CSRs for the
interrupt context). The difference between these is that
`qc.c.mienter.nest` re-enables M-mode interrupts.
- `qc.c.mileaveret` will restore the registers that were saved by
`qc.c.mienter(.nest)`, and return from the interrupt.
These work for both standard M-mode interrupts and the non-maskable
interrupt CSRs added by Xqciint.
The `qc.c.mienter`, `qc.c.mienter.nest` and `qc.c.mileaveret`
instructions are compatible with push and pop instructions, in as much
as they (mostly) only spill the A- and T-registers, so we can use the
`Zcmp` or `Xqccmp` instructions to spill the S-registers. This
combination (`qci-(no)nest` and `Xqccmp`/`Zcmp`) is not implemented in
this change.
The `qc.c.mienter(.nest)` instructions have a specific register storage
order so they preserve the frame pointer convention linked list past the
current interrupt handler and into the interrupted code and frames if
frame pointers are enabled.
Co-authored-by: Pankaj Gode <quic_pgode at quicinc.com>
Commit: 462eb7e28ef4507b16a4b45efb356bc6a3523615
https://github.com/llvm/llvm-project/commit/462eb7e28ef4507b16a4b45efb356bc6a3523615
Author: DianQK <dianqk at dianqk.net>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/phi-self.ll
Log Message:
-----------
[ValueTracking] Skip incoming values that are the same as the phi in `isGuaranteedNotToBeUndefOrPoison` (#130111)
Fixes (keep it open) #130110.
If the incoming value is PHI itself, we can skip this. If we can
guarantee that the other incoming values are neither undef nor poison,
then we can also guarantee that the value isn't either. If we cannot
guarantee that, it makes no sense in calculating it.
Commit: 27c788de759472316169795fa06d592221ac602e
https://github.com/llvm/llvm-project/commit/27c788de759472316169795fa06d592221ac602e
Author: John Harrison <harjohn at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
Log Message:
-----------
[lldb-dap] Restore the override FD used by the output redirect on stop. (#129964)
While running lldb-dap over stdin/stdout the `stdout` and `stderr` FD's
are replaced with a pipe that is reading the output to forward to the
dap client. During shutdown we were not properly restoring those FDs,
which means if any component attempted to write to stderr it would
trigger a SIGPIPE due to the pipe being closed during the shutdown
process. This can happen if we have an error reported from the
`DAP::Loop` call that would then log to stderr, such as an error parsing
a malformed DAP message or if lldb-dap crashed and it was trying to
write the stack trace to stderr.
There is one place we were not handling an `llvm::Error` if there was no
logging setup that could trigger this condition.
To address this, I updated the OutputRedirector to restore the FD to the
prior state when `Stop` is called.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: eac734aab6b62518a0cd7aa3b20a990fef360b2c
https://github.com/llvm/llvm-project/commit/eac734aab6b62518a0cd7aa3b20a990fef360b2c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libc/docs/headers/stdfix.rst
Log Message:
-----------
[libc][docs] Fix libc docs build post #129138 (#130184)
The docs build action was failing with libc due to checks.rst not
existing in the expected path. This patch adjusts the path to the actual
path which seems to make everything happy. It seems like this did not
show up before as stdfix.rst was not included in a place that actually
caused it to get picked up by sphinx.
Commit: e4157218584bd7f02a3345a4473c9e5937f068e8
https://github.com/llvm/llvm-project/commit/e4157218584bd7f02a3345a4473c9e5937f068e8
Author: John Harrison <harjohn at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/OutputRedirector.cpp
Log Message:
-----------
[lldb-dap] Correct the variable name from a half finished merge. (#130186)
Commit: 472c2e3578e35e157c58d7011edecd3390a3087f
https://github.com/llvm/llvm-project/commit/472c2e3578e35e157c58d7011edecd3390a3087f
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToSCF/tosa-to-scf.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor-invalid.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.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/constant-reciprocal-fold.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Tosa/inlining.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/quant-test.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
Log Message:
-----------
[mlir][tosa] Update value to values for ConstOp and ConstShapeOp (#129943)
Updated the dialect to match TOSA v1.0 specification for ConstOp and
ConstShapeOp (https://www.mlplatform.org/tosa/tosa_spec.html#_const).
Also updated lit tests
---------
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 29d3fc3f11d272a72ac255af9277c740f26c3dfc
https://github.com/llvm/llvm-project/commit/29d3fc3f11d272a72ac255af9277c740f26c3dfc
Author: aankit-ca <quic_aankit at quicinc.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/test/CodeGen/Hexagon/autohvx/fp-to-int.ll
M llvm/test/CodeGen/Hexagon/autohvx/int-to-fp.ll
A llvm/test/CodeGen/Hexagon/isel/extract-subvec.ll
Log Message:
-----------
[HEXAGON] Fix hvx-isel for extract_subvector op (#129672)
Fixes a crash with extract_subvectors in Hexagon backend seen when the
source vector is a vector-pair and result vector is not hvx vector size.
LLVM Issue: https://github.com/llvm/llvm-project/issues/128775
Fixes #128775
---------
Co-authored-by: aankit-quic <aankit at quicinc.com>
Commit: 93f0f3d33be596321730e9194cf24a73a75ce702
https://github.com/llvm/llvm-project/commit/93f0f3d33be596321730e9194cf24a73a75ce702
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/shift-bool.cpp
Log Message:
-----------
[Clang] add -Wshift-bool warning to handle shifting of bool (#127336)
Fixes #28334
---
This PR introduces the `-Wshift-bool` warning to detect and warn against
shifting `bool` values using the `>>` operator. Shifting a `bool`
implicitly converts it to an `int`, which can lead to unintended
behavior.
Commit: 813325e5d44c01f50aaca035629fcba8157fd5c0
https://github.com/llvm/llvm-project/commit/813325e5d44c01f50aaca035629fcba8157fd5c0
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
Log Message:
-----------
[Clang][NFC] Change uses of getAs() to castAs() where the target type is assured. (#130188)
Static analysis identified two uses of `getAs()` for which the result
pointer was unconditionally dereferenced. Source code inspection
confirmed that the target type is assured by prior checks. This change
replaces these uses of `getAs()` with `castAs()`.
The first case, in `clang/lib/CodeGen/Targets/AArch64.cpp`, performs a
cast to `BuiltinType` following a check for `isBuiltinType()`.
The second case, in `clang/lib/Sema/SemaTemplateVariadic.cpp`, performs
a cast to `PackExpansionType` on the result of a call to `getAsType()`
on an object of type `TemplateArgument` following confirmation that
`isPackExpansion()` returned true and that `getKind()` returned
`TemplateArgument::Type`. Inspection of `isPackExpansion()` revealed
that it only returns true when the template argument kind is
`TemplateArgument::Type` if `isa<PackExpansionType>(getAsType())` is
true.
Commit: bf129547153433ae66dd526032c734238ca5168d
https://github.com/llvm/llvm-project/commit/bf129547153433ae66dd526032c734238ca5168d
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
Log Message:
-----------
[AMDGPU] Whitelist all intrinsics (#130150)
For code maintainability -- this may result in cases where we are
applying the optimization where it is not profitable, but those are
likely to be rare.
Commit: 6916438b65ee26ac75684dfceb4bdb7e87841ff7
https://github.com/llvm/llvm-project/commit/6916438b65ee26ac75684dfceb4bdb7e87841ff7
Author: Derek Schuff <dschuff at chromium.org>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/test/CodeGen/WebAssembly/libcalls.ll
Log Message:
-----------
[WebAssembly] Add Libcall signatures for modf and variants (#130201)
Clang now lowers modf/modff/modfl as builtins using the llvm.modf
intrinsic.
Commit: 410a5b151888131b727826d9b030b7df134dacc9
https://github.com/llvm/llvm-project/commit/410a5b151888131b727826d9b030b7df134dacc9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
Log Message:
-----------
Local: Handle noalias.addrspace in copyMetadataForLoad (#130123)
Commit: 9a65dc95133fba5e05eda3bb7b14f061d56dcd0b
https://github.com/llvm/llvm-project/commit/9a65dc95133fba5e05eda3bb7b14f061d56dcd0b
Author: Ajay Raj <127104337+ajayrajsaini at users.noreply.github.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/sysexits-macros.h
A libc/include/sysexits.h.def
A libc/include/sysexits.yaml
Log Message:
-----------
Add sysexits.h header with BSD exit codes (total-18) (#126112)
This pull request adds a new header file, SysExits.h, to the LLVM
project. The header includes 18 BSD exit code.
Commit: f0c2c71d2c4094fe64d6c765330ee72c14deda20
https://github.com/llvm/llvm-project/commit/f0c2c71d2c4094fe64d6c765330ee72c14deda20
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
Log Message:
-----------
PeepholeOpt: Remove dead checks for subregister def mismatch (#130084)
Commit: 397696bb3d26c1298bf265e4907b0b6416ad59c9
https://github.com/llvm/llvm-project/commit/397696bb3d26c1298bf265e4907b0b6416ad59c9
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
A lldb/test/API/macosx/no-nlist-memory-module/Makefile
A lldb/test/API/macosx/no-nlist-memory-module/TestNoNlistsDylib.py
A lldb/test/API/macosx/no-nlist-memory-module/has-nlists.c
A lldb/test/API/macosx/no-nlist-memory-module/main.c
A lldb/test/API/macosx/no-nlist-memory-module/no-nlist-sect.s
A lldb/test/API/macosx/no-nlist-memory-module/no-nlists.c
Log Message:
-----------
[lldb][Mach-O] Don't read symbol table of specially marked binary (#129967)
We have a binary image on Darwin that has no code, only metadata. It has
a large symbol table with many external symbol names that will not be
needed in the debugger. And it is possible to not have this binary on
the debugger system - so lldb must read all of the symbol names out of
memory, one at a time, which can be quite slow.
We're adding a section __TEXT,__lldb_no_nlist, to this binary to
indicate that lldb should not read the nlist symbols for it when we are
reading out of memory. If lldb is run with an on-disk version of the
binary, we will load the symbol table as we normally would, there's no
benefit to handling this binary differently.
I added a test where I create a dylib with this specially named section,
launch the process. The main binary deletes the dylib from the disk so
lldb is forced to read it out of memory. lldb attaches to the binary,
confirms that the dylib is present in the process and is a memory
Module. If the binary is not present, or lldb found the on-disk copy
because it hasn't been deleted yet, we delete the target, flush the
Debugger's module cache, sleep and retry, up to ten times. I create the
specially named section by compiling an assembly file that puts a byte
in the section which makes for a bit of a messy Makefile (the pre-canned
actions to build a dylib don't quite handle this case) but I don't think
it's much of a problem. This is a purely skipUnlessDarwin test case.
rdar://146167816
Commit: 1b284c50818ac034693518655142c6c2056a9597
https://github.com/llvm/llvm-project/commit/1b284c50818ac034693518655142c6c2056a9597
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
Log Message:
-----------
AMDGPU: Fix gfx950 ashr pk i8/u8 patterns (#130040)
The correct version of the pattern got lost in a merge somewhere
Commit: a6e69db52ff7891febf88642179175e3bf91628e
https://github.com/llvm/llvm-project/commit/a6e69db52ff7891febf88642179175e3bf91628e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
Log Message:
-----------
PeepholeOpt: Remove subreg def check for insert_subreg (#130085)
Commit: c22db56d7766fe704298b81b548fa6004a9d312c
https://github.com/llvm/llvm-project/commit/c22db56d7766fe704298b81b548fa6004a9d312c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/X86/pr41619.ll
Log Message:
-----------
PeepholeOpt: Remove subreg def check for bitcast (#130086)
Subregister defs are illegal in SSA. Surprisingly this enables folding
into subregister insert patterns in one test.
Commit: 3304a430f291e31c6b71ff73a1b44f51456dca56
https://github.com/llvm/llvm-project/commit/3304a430f291e31c6b71ff73a1b44f51456dca56
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
M clang/test/Headers/__clang_hip_math.hip
Log Message:
-----------
clang/HIP: Do not call ocml in scalbln implementations (#129639)
I do not understand why this was calling the float version with
an implicit cast from the long. Just clamp to the bounds of int,
and use the generic ldexp (this is also how musl does it, except
scalbnf is the base implementation there).
Somehow INT_MIN was also not defined, so deal with that.
Commit: 00fdc5297e2ac325eeaa08e1bc8ebe3b8b5f7977
https://github.com/llvm/llvm-project/commit/00fdc5297e2ac325eeaa08e1bc8ebe3b8b5f7977
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/test/API/macosx/no-nlist-memory-module/Makefile
Log Message:
-----------
Add LDFLAGS to fix bot failure
a CI bot is failing with my manual $(LD) invocations,
I see another test invoking ld like this which also
passes $LDFLAGS, let's see if that does it.
Commit: ca0850f916a75a16264798fe7b7be08fdb892c97
https://github.com/llvm/llvm-project/commit/ca0850f916a75a16264798fe7b7be08fdb892c97
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Log Message:
-----------
[lldb] Objective-C runtime: Work around a bug in the shared cache builder (#130209)
where it can overflow a 2GB offset by just a little bit by applying a
heuristic.
rdar://145888306
Commit: 4a0212b9fcaab05900628bc58d3ec019d0a570bf
https://github.com/llvm/llvm-project/commit/4a0212b9fcaab05900628bc58d3ec019d0a570bf
Author: Rifet-c <aleksandr.levin at codasip.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
M llvm/test/CodeGen/Thumb2/mve-vld3.ll
Log Message:
-----------
[CodeGen] Combine two loops in SlotIndexes.cpp file (#127631)
Merged two loops that were iterating over the same machine basic block
into one, also did some minor readability improvements (variable
renaming, commenting and absorbing if condition into a variable)
Commit: cec36e279cb871dd011e105e0c9d3edccd0dcad9
https://github.com/llvm/llvm-project/commit/cec36e279cb871dd011e105e0c9d3edccd0dcad9
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/test/API/macosx/no-nlist-memory-module/Makefile
Log Message:
-----------
Revert "Add LDFLAGS to fix bot failure"
This reverts commit 00fdc5297e2ac325eeaa08e1bc8ebe3b8b5f7977.
Commit: 82af9888dbbcd248ec4d41968c53135e12e13454
https://github.com/llvm/llvm-project/commit/82af9888dbbcd248ec4d41968c53135e12e13454
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
R lldb/test/API/macosx/no-nlist-memory-module/Makefile
R lldb/test/API/macosx/no-nlist-memory-module/TestNoNlistsDylib.py
R lldb/test/API/macosx/no-nlist-memory-module/has-nlists.c
R lldb/test/API/macosx/no-nlist-memory-module/main.c
R lldb/test/API/macosx/no-nlist-memory-module/no-nlist-sect.s
R lldb/test/API/macosx/no-nlist-memory-module/no-nlists.c
Log Message:
-----------
Revert "[lldb][Mach-O] Don't read symbol table of specially marked binary (#129967)"
This reverts commit 397696bb3d26c1298bf265e4907b0b6416ad59c9.
This breaks the macOS CI bots, I need to use $LDFLAGS in the $LD
invocation when building the dylib to get the dylibs to build on
the CI bots. But I've added "-lno-nlists -lhas-nlists" to the LDFLAGS
for the main binary in the same directory, so using LDFLAGS will
result in a compile error for the dylibs. I'll need to build the
dylibs in a subdir with a different Makefile, will reland with that
change in a bit.
Commit: 0a63eb882a7d7630357adb6d101e08930e625e1f
https://github.com/llvm/llvm-project/commit/0a63eb882a7d7630357adb6d101e08930e625e1f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
Log Message:
-----------
[TargetRegisterInfo][ARM] Use MCRegister in isInlineAsmReadOnlyReg interface. NFC (#130149)
Commit: 49bb51ed91b8f9a6bfa41d5e408ea5a928983f74
https://github.com/llvm/llvm-project/commit/49bb51ed91b8f9a6bfa41d5e408ea5a928983f74
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
Log Message:
-----------
[RISCV][LibCall] Add libcall for i64 -> bf16 (#130024)
Add support for lowering i64 -> bf16 with libcall.
Commit: 7a7fe6e8ca1c37826d2502a7e55b6008b3f44f77
https://github.com/llvm/llvm-project/commit/7a7fe6e8ca1c37826d2502a7e55b6008b3f44f77
Author: Augie Fackler <augie at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] fix libc deps for 542d52b1e8a0a7e04538f608487603124c70e1ab
Commit: c95dc2d439a0d2384dcd8dd81ea0028262acecff
https://github.com/llvm/llvm-project/commit/c95dc2d439a0d2384dcd8dd81ea0028262acecff
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
Log Message:
-----------
[clang][test] Fix -DBUILD_SHARED_LIBS build by adding depency on Targ… (#130105)
…etParser from clangTesting
Commit 979c275097a642e9b96c6b0a12f013c831af3a6e (#129868) introduced a
dependency on the llvm::Triple::Triple in `lookupTarget`. This is part
of TargetParser, which wasn't listed in
clang/lib/Testing/CMakeLists.txt. This broke the
-DBUILD_SHARED_LIBS=True builds.
Fixes #130112
Commit: ca39a029b66e3f6d8b70fb3fe437d5c024643d6d
https://github.com/llvm/llvm-project/commit/ca39a029b66e3f6d8b70fb3fe437d5c024643d6d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Headers/nvptxintrin.h
Log Message:
-----------
[Clang] Fix 'gpuintrin.h' match when included with no arch set (#129927)
Summary:
These require `+ptx` features to be set even though they're guarded by
the `__nvvm_reflect`. Rather than figure out how to hack around that
with the `target` attribute I'm just going to disable it for 'generic'
builds and use the slow version for now.
Commit: 94c937d32195693bdcac34260d156b4ea55ca9d6
https://github.com/llvm/llvm-project/commit/94c937d32195693bdcac34260d156b4ea55ca9d6
Author: Augie Fackler <augie at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] fix lldb deps some more
Commit: e5c5e621e65b124d6d7231fc5715b1f54016f81e
https://github.com/llvm/llvm-project/commit/e5c5e621e65b124d6d7231fc5715b1f54016f81e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
Log Message:
-----------
[gn] Make sync script sync .mm files too
Motivated by #129332, which added a new .mm file that didn't get
autosynced.
Commit: 2e53856bdaa1e5a9bcde0a5b7b1ff9362265bd37
https://github.com/llvm/llvm-project/commit/2e53856bdaa1e5a9bcde0a5b7b1ff9362265bd37
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/macosx/objcxx/BUILD.gn
Log Message:
-----------
[gn build] Port 6c4febee2992
Commit: 7425af4b7aaa31da10bd1bc7996d3bb212c79d88
https://github.com/llvm/llvm-project/commit/7425af4b7aaa31da10bd1bc7996d3bb212c79d88
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/av_movimm_pseudo_expansion.mir
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
A llvm/test/CodeGen/AMDGPU/inflate-av-remat-imm.mir
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/splitkit-do-not-undo-subclass-split-with-remat.mir
M llvm/test/CodeGen/AMDGPU/vgpr-remat.mir
A llvm/test/MachineVerifier/AMDGPU/verify-av-mov-imm-pseudo.mir
Log Message:
-----------
AMDGPU: Add pseudoinstruction for agpr or vgpr constants (#130042)
Commit: f5eeeec4d3f492a1d879a1b5cd8ae6befe786f77
https://github.com/llvm/llvm-project/commit/f5eeeec4d3f492a1d879a1b5cd8ae6befe786f77
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
Log Message:
-----------
[MachinePipeliner] Use Register. NFC (#130165)
Commit: d5cef39d7411b3c48e5c2160f1e4711edc24dcd3
https://github.com/llvm/llvm-project/commit/d5cef39d7411b3c48e5c2160f1e4711edc24dcd3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/attr-require-constant-initialization.cpp
Log Message:
-----------
[Clang] Make '-Wglobal-constructors` work on the GNU attributes (#129917)
Summary:
The `-Wglobal-constructors` option is useful for restricting the usage
of global constructors / destructors. However, it currently ignores the
attributes that introduce global constructors, meaning that the module
can still have ctors if `-Werror` is set. If this is intentional by the
user, I believe it would be more correct to push the diagnostic.
Commit: 5b1c281fca01373c95d9ddf59bdb59e9ae2ae4ff
https://github.com/llvm/llvm-project/commit/5b1c281fca01373c95d9ddf59bdb59e9ae2ae4ff
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBProgressDocstrings.i
M lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
Log Message:
-----------
[LLDB][Docstrings] Fix some poorly formatted Docstrings (#129605)
I was looking earlier on the public doc website, and noticed the
markdown was very badly mangled for this recent docstring that I added.
So I'm dropping the backticks and just leaving the snippet.

Commit: 2bd9f268b498191e3ce1802b8ce6eb734f8fe856
https://github.com/llvm/llvm-project/commit/2bd9f268b498191e3ce1802b8ce6eb734f8fe856
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-s64-rv32.mir
M llvm/test/CodeGen/RISCV/rvv/vscale-power-of-two.ll
Log Message:
-----------
[RISCV] Fix typo. +Zve64x -> zve64x.
Commit: 93b3cbadc2b624f5daf0ce000684c3c154d0aca4
https://github.com/llvm/llvm-project/commit/93b3cbadc2b624f5daf0ce000684c3c154d0aca4
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32i-rv64i-float-double.ll
Log Message:
-----------
[RISCV] Remove the TODO for lowering f32 libcall on RV64 with lp64 abi. (NFC)
The unnecessary extension doesn't exist anymore after https://reviews.llvm.org/D65497.
Commit: 8839ba418760a8482b356eeaf76bec0a002b10d1
https://github.com/llvm/llvm-project/commit/8839ba418760a8482b356eeaf76bec0a002b10d1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Log Message:
-----------
[Instrumentation] Avoid repeated hash lookups (NFC) (#129988)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 55f86cf02336e0a1bce81403296cce6d4cfbb1e4
https://github.com/llvm/llvm-project/commit/55f86cf02336e0a1bce81403296cce6d4cfbb1e4
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/CodeGen/Targets/RISCV.cpp
A clang/test/CodeGen/RISCV/pr129995.cc
Log Message:
-----------
[RISCV][clang] Fix wrong VLS CC detection (#130107)
RISCVABIInfo::detectVLSCCEligibleStruct should early exit if VLS calling
convention is not used, however the sentinel value was not set to
correctly, it should be zero instead of one.
Commit: 478e5161406a781afc41e15bf942fb5df6672067
https://github.com/llvm/llvm-project/commit/478e5161406a781afc41e15bf942fb5df6672067
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M flang/include/flang/Lower/Cuda.h
M flang/include/flang/Optimizer/Builder/CUFCommon.h
A flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/test/Lower/CUDA/cuda-pointer.cuf
Log Message:
-----------
[flang][cuda] Sync double descriptor after c_f_pointer call (#130194)
After a global device pointer is set through `c_f_pointer`, we need to
sync the double descriptor so the version on the device is also up to
date.
Commit: f984b472c421cbbb7e160965e703c023a86cb6e8
https://github.com/llvm/llvm-project/commit/f984b472c421cbbb7e160965e703c023a86cb6e8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M .github/workflows/issue-write.yml
Log Message:
-----------
[Github] Revert bumping actions-script version in issue-write
This patch reverts that upgrade which was performed in
74df2032d467618a9aab085120539e306f21bcc0. This broke the workflow, presumably
due to the breaking changes introduced in v5 of this action.
This is a stop-gap for #130211.
Commit: 2c8b2dc3f4fa6f1cdccbed2b194fa6c62f6267cb
https://github.com/llvm/llvm-project/commit/2c8b2dc3f4fa6f1cdccbed2b194fa6c62f6267cb
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M compiler-rt/include/orc_rt/c_api.h
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/common.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/tests/unit/c_api_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
Log Message:
-----------
[ORC-RT] Rename 'orc_rt_*CWrapper*' types and functions to 'orc_rt_*Wrapper*'.
The orc_rt_ prefix implies C API anyway (the C++ API should use the orc_rc::
namespace), so the 'C' is redundant here.
Commit: 267403442264959f6b06e227ff450c385f4b3ef2
https://github.com/llvm/llvm-project/commit/267403442264959f6b06e227ff450c385f4b3ef2
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-cuid-hash.hip
Log Message:
-----------
Reland "[HIP] Use original file path for CUID" (#111885)
This patch fixes the buildbots failure of lit tests on MacOS. Since
clang driver options depend on toolchain, we cannot hardcode CUID hash.
On MacOS there is an extra -mlinker-version= option.
Commit: f3dc358953a13caf7521fc615a08f6317930351c
https://github.com/llvm/llvm-project/commit/f3dc358953a13caf7521fc615a08f6317930351c
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
A llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
M llvm/test/CodeGen/XCore/dwarf_debug.ll
M llvm/test/DebugInfo/X86/inline-seldag-test.ll
Log Message:
-----------
[MC] output inlined-at debug info (#106230)
Currently MC print source location of instructions in comments in
assembly when debug info is available, however, it does not include
inlined-at locations when a function is inlined.
For example, function foo is defined in header file a.h and is called
multiple times in b.cpp. If foo is inlined, current assembly will only
show its instructions with their line numbers in a.h. With inlined-at
locations, the assembly will also show where foo is called in b.cpp.
This patch adds inlined-at locations to the comments by using
DebugLoc::print. It makes the printed source location info consistent
with those printed by machine passes.
Commit: e15545cad8297ec7555f26e5ae74a9f0511203e7
https://github.com/llvm/llvm-project/commit/e15545cad8297ec7555f26e5ae74a9f0511203e7
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/single03.f90
A flang/test/Semantics/OpenMP/single04.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Allow copyprivate and nowait on the directive clauses (#127769)
Issue:
- Single construct used to throw a semantic error for copyprivate and
nowait clause when used in the single directive.
- Also, the copyprivate with nowait restriction has been removed from
OpenMP 6.0
Fix:
- Allow copyprivate and nowait on both single and end single directive
- Allow at most one nowait clause
- Throw a warning when the same list item is used in the copyprivate clause
on the end single directive
>From Reference guide (OpenMP 5.2, 2.10.2):
```
!$omp single [clause[ [,]clause] ... ]
loosely-structured-block
!$omp end single [end-clause[ [,]end-clause] ...]
clause:
copyprivate (list)
nowait
[...]
end-clause:
copyprivate (list)
nowait
```
Towards: https://github.com/llvm/llvm-project/issues/110008
Commit: 9543e9e9270e01f2c7311b571246c6ea105bcdb0
https://github.com/llvm/llvm-project/commit/9543e9e9270e01f2c7311b571246c6ea105bcdb0
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A flang/lib/Lower/OpenMP/ClauseFinder.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
Log Message:
-----------
[flang][OpenMP] Handle pre-detemined `lastprivate` for `simd` (#129507)
This PR tries to fix `lastprivate` update issues in composite
constructs. In particular, pre-determined `lastprivate` symbols are
attached to the wrong leaf of the composite construct (the outermost
one). When using delayed privatization (should be the default mode in
the future), this results in trying to update the `lastprivate` symbol
in the wrong construct (outside the `omp.loop_nest` op).
For example, given the following input:
```fortran
!$omp target teams distribute parallel do simd collapse(2) private(y_max)
do i=x_min,x_max
do j=y_min,y_max
enddo
enddo
```
Without the fixes introduced in this PR, the `DataSharingProcessor`
tries to generate the `lastprivate` update ops in the `parallel` op
since this is the op for which the DSP instance is created.
The fix consists of 2 main parts:
1. Instead of creating a single DSP instance, one instance is created
for the leaf constructs that might need privatization (whether for
explicit, implicit, or pre-determined symbols).
2. When generating the `lastprivate` comparison ops, we don't directly
use the SSA values of the UBs and steps. Instead, we regenerated these
SSA values from the original loop bounds' expressions. We have to do
this to avoid using `host_eval` values in the `lastprivate` comparison
logic which is illegal.
Commit: 95767a9903208e545badd920a1a16e5476ae09f9
https://github.com/llvm/llvm-project/commit/95767a9903208e545badd920a1a16e5476ae09f9
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h
A mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
A mlir/include/mlir/Dialect/NVGPU/IR/NVGPUTypes.td
M mlir/lib/Dialect/NVGPU/IR/CMakeLists.txt
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/python/mlir/dialects/NVGPUOps.td
Log Message:
-----------
[mlir][nvgpu] separate ops, types, attribute definitions in NVGPU dialect. (#129846)
It is hoped that the Ops, Types, and Attribute of the NVGPU dialect can
be defined in separate files.If downstream projects extend NVGPU and
define other Ops, the types and attributes will be used.This PR was
raised to avoid including the definition of NVGPU Ops.
Commit: 3664b4e2d5800eca5c8253a3915b87fa12ea7ebc
https://github.com/llvm/llvm-project/commit/3664b4e2d5800eca5c8253a3915b87fa12ea7ebc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Remove special handling of C++ access specifiers in C (#129983)
This effectively reverts d1aed486efc6d35a81ca4acbabb4203c4b91cda9
because of
#129426.
Commit: c8fd7a8a3aa1c13a71e0b90d0c60743d4901bcf4
https://github.com/llvm/llvm-project/commit/c8fd7a8a3aa1c13a71e0b90d0c60743d4901bcf4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
A llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-flat.yaml
A llvm/test/tools/llvm-ctxprof-util/Inputs/valid-ctx-only.yaml
A llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-first.yaml
A llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-only.yaml
M llvm/test/tools/llvm-ctxprof-util/Inputs/valid.yaml
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
Log Message:
-----------
[ctxprof] Profile section for flat profiles (#129932)
A section for flat profiles (i.e. non-contextual). This is useful for debugging or for intentional cases where a root isn't identified.
This patch adds the reader/writer support. `compiler-rt` changes follow in a subsequent change.
Commit: 21b261102504c97fc0b81c101898c0f1c1a7e79c
https://github.com/llvm/llvm-project/commit/21b261102504c97fc0b81c101898c0f1c1a7e79c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
Log Message:
-----------
AMDGPU Add baseline tests for shufflevector of physreg copy combine
Commit: 1a31bb38a4bb2bc94fbbb43fe04d878cb4a5a05b
https://github.com/llvm/llvm-project/commit/1a31bb38a4bb2bc94fbbb43fe04d878cb4a5a05b
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
A lldb/test/API/macosx/no-nlist-memory-module/Makefile
A lldb/test/API/macosx/no-nlist-memory-module/NoNlists.mk
A lldb/test/API/macosx/no-nlist-memory-module/TestNoNlistsDylib.py
A lldb/test/API/macosx/no-nlist-memory-module/has-nlists.c
A lldb/test/API/macosx/no-nlist-memory-module/main.c
A lldb/test/API/macosx/no-nlist-memory-module/no-nlist-sect.s
A lldb/test/API/macosx/no-nlist-memory-module/no-nlists.c
Log Message:
-----------
[lldb][Mach-O] Don't read symbol table of specially marked binary (#129967)
We have a binary image on Darwin that has no code, only metadata. It has
a large symbol table with many external symbol names that will not be
needed in the debugger. And it is possible to not have this binary on
the debugger system - so lldb must read all of the symbol names out of
memory, one at a time, which can be quite slow.
We're adding a section __TEXT,__lldb_no_nlist, to this binary to
indicate that lldb should not read the nlist symbols for it when we are
reading out of memory. If lldb is run with an on-disk version of the
binary, we will load the symbol table as we normally would, there's no
benefit to handling this binary differently.
I added a test where I create a dylib with this specially named section,
launch the process. The main binary deletes the dylib from the disk so
lldb is forced to read it out of memory. lldb attaches to the binary,
confirms that the dylib is present in the process and is a memory
Module. If the binary is not present, or lldb found the on-disk copy
because it hasn't been deleted yet, we delete the target, flush the
Debugger's module cache, sleep and retry, up to ten times. I create the
specially named section by compiling an assembly file that puts a byte
in the section which makes for a bit of a messy Makefile (the pre-canned
actions to build a dylib don't quite handle this case) but I don't think
it's much of a problem. This is a purely skipUnlessDarwin test case.
Relanding this change with a restructured Makefiles for the test case
that should pass on the CI bots.
rdar://146167816
Commit: ed6bde93f050b9314e54ecbc69c08ab78f4251af
https://github.com/llvm/llvm-project/commit/ed6bde93f050b9314e54ecbc69c08ab78f4251af
Author: Valentin Churavy <v.churavy at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/atomic-idempotent-syncscope.ll
M llvm/test/CodeGen/X86/atomic-idempotent.ll
Log Message:
-----------
[X86] Use fence(seq_cst) in IdempotentRMWIntoFencedLoad (#126521)
This extends this optimization for scenarios where the subtarget
has `!hasMFence` or we have SyncScope SingleThread, by avoiding
the direct usage of `llvm.x64.sse2.mfence`.
Commit: 289471931480bf17ee8c2b2c62dd3c6218137b4e
https://github.com/llvm/llvm-project/commit/289471931480bf17ee8c2b2c62dd3c6218137b4e
Author: John Harrison <harjohn at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
Log Message:
-----------
[lldb-dap] Updating naming and documentation to follow style guide. (#130202)
Updating the naming and adding documentation to better follow the style
guide.
Commit: c02019141cfe4e2bacdfa67262e84eee838f2e38
https://github.com/llvm/llvm-project/commit/c02019141cfe4e2bacdfa67262e84eee838f2e38
Author: Kiran Kumar T P <50909805+kiranktp at users.noreply.github.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A flang/test/Lower/OpenMP/Todo/taskloop-cancel.f90
Log Message:
-----------
[LLVM-FLANG] [OpenMP] [Taskloop] - Add test case with cancel construct inside taskloop (#129862)
Added a test case with cancel construct inside taskloop. Currently
taskloop lowering is not supported so below error is issued: "not yet
implemented: Taskloop construct"
Once the lowering patch is merged, todo error should be issued for
cancel construct. "not yet implemented: OpenMPCancelConstruct"
Commit: bedb9077c38cf01a3f9303d68599ea95677be5b7
https://github.com/llvm/llvm-project/commit/bedb9077c38cf01a3f9303d68599ea95677be5b7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
Log Message:
-----------
[RISCV] Simplify how we find combinable cm.pop+ret. (#130204)
Instead of scanning the whole basic block for a POP, find the RET and
then look backwards for the POP. Using getFirstTerminator, we can do
this with less code and it's probably faster.
Commit: 733ad3fdebf782be5afffdb8310a0ce15675086c
https://github.com/llvm/llvm-project/commit/733ad3fdebf782be5afffdb8310a0ce15675086c
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTOBackend.cpp
A llvm/test/LTO/RISCV/lit.local.cfg
A llvm/test/LTO/RISCV/riscv-ilp32e.ll
Log Message:
-----------
[LTO] Override TargetABI from module flags if present when creating TargetMachine (#126497)
…argetMachine
RISC-V's data layout is determined by the ABI, not just the target
triple. However, the TargetMachine is created using the data layout from
the target triple, which is not always correct. This patch uses the
target ABI from the module and passes it to the TargetMachine, ensuring
that the data layout is set correctly according to the ABI.
The same problem will happen with other targets like MIPS, but
unfortunately, MIPS didn't emit the target-abi into the module flags, so
this patch only fixes the issue for RISC-V.
NOTE: MIPS with -mabi=n32 can trigger the same issue.
Another possible solution is add new parameter to the TargetMachine
constructor, but that would require changes in all the targets.
Commit: d933882ed369a68d118ca661488bb2c89028a2de
https://github.com/llvm/llvm-project/commit/d933882ed369a68d118ca661488bb2c89028a2de
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Add test for CWG2285 "Issues with structured bindings" (#126421)
The resolution of [CWG2285](https://wg21.link/cwg2285) adds the point of
declaration of a structured binding, and was implemented in
https://github.com/llvm/llvm-project/commit/bdb84f374cde7736ca68d5db2c2ecf5468346710
.
Drive-by changes: modify comment and diagnostic messages mentioned in
CWG2285.
Commit: 5997cdb4bcace6d24e7c2fa04dd4f726c48cc561
https://github.com/llvm/llvm-project/commit/5997cdb4bcace6d24e7c2fa04dd4f726c48cc561
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/copy-to-reg-frameindex.ll
Log Message:
-----------
AMDGPU: Switch an undef in a test for poison
Commit: e4cbbd323c98c9d67c393f00d5a255c60a06025e
https://github.com/llvm/llvm-project/commit/e4cbbd323c98c9d67c393f00d5a255c60a06025e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/copy-to-reg.ll
Log Message:
-----------
AMDGPU: Switch a test to generated checks
Commit: f611c22cb5b6b45d98591e8952e565c738a20ea3
https://github.com/llvm/llvm-project/commit/f611c22cb5b6b45d98591e8952e565c738a20ea3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
Log Message:
-----------
[ImplicitNullChecks] Use Register. NFC
Commit: 1873f5567ad460995fb3f3cdd51058a03a8044e2
https://github.com/llvm/llvm-project/commit/1873f5567ad460995fb3f3cdd51058a03a8044e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MIRVRegNamerUtils.h
Log Message:
-----------
[MIRVRegNamerUtils] Use Register. NFC
Commit: 39a4da20d88d797824f0e7be0f732ccaf0c7eee4
https://github.com/llvm/llvm-project/commit/39a4da20d88d797824f0e7be0f732ccaf0c7eee4
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
[lldb][asan] Add temporary logging to ReportRetriever
`TestReportData.py` is failing on the macOS CI with:
```
Traceback (most recent call last):
File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1784, in test_method
return attrvalue(self)
File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 148, in wrapper
return func(*args, **kwargs)
File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/API/functionalities/asan/TestReportData.py", line 28, in test_libsanitizers_asan
self.asan_tests(libsanitizers=True)
File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/API/functionalities/asan/TestReportData.py", line 60, in asan_tests
self.expect(
File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2490, in expect
self.fail(log_msg)
AssertionError: Ran command:
"thread list"
Got output:
Process 3474 stopped
* thread #1: tid = 0x38b5e9, 0x00007ff80f563b52 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
Expecting sub string: "stopped" (was found)
Expecting sub string: "stop reason = Use of deallocated memory" (was not found)
Process should be stopped due to ASan report
```
There isn't much to go off of in the log, so adding more to help us debug this.
Commit: f83eeacc9d344eaac117fe55c4d084954216d5ba
https://github.com/llvm/llvm-project/commit/f83eeacc9d344eaac117fe55c4d084954216d5ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix a warning
This patch fixes:
llvm/lib/Target/X86/X86ISelLowering.cpp:31886:11: error: unused
variable 'M' [-Werror,-Wunused-variable]
Commit: 59245b4d228867a0fade4e51335bd4a62528ca73
https://github.com/llvm/llvm-project/commit/59245b4d228867a0fade4e51335bd4a62528ca73
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
Log Message:
-----------
[ImplicitNullChecks] Use Register. NFC
Commit: fc4bce3289e54208dcdbd007a1b05ef2eca78b1d
https://github.com/llvm/llvm-project/commit/fc4bce3289e54208dcdbd007a1b05ef2eca78b1d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
Log Message:
-----------
[MachineTraceMetrics] Use Register::id(). NFC
Commit: 6b094020c29d27296b5c80103bdeb0db8ccc6d21
https://github.com/llvm/llvm-project/commit/6b094020c29d27296b5c80103bdeb0db8ccc6d21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
M llvm/lib/CodeGen/CriticalAntiDepBreaker.h
Log Message:
-----------
[CriticalAntiDepBreaker] Use Register and MCRegister. NFC
Commit: a21cfca320bddeef120618ceff9563778b5cbd94
https://github.com/llvm/llvm-project/commit/a21cfca320bddeef120618ceff9563778b5cbd94
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/docs/PatternRewriter.md
M mlir/docs/Tutorials/QuickstartRewrites.md
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
Log Message:
-----------
[mlir][IR] Deprecate `match` and `rewrite` functions (#130031)
Deprecate the `match` and `rewrite` functions. They mainly exist for
historic reasons. This PR also updates all remaining uses of in the MLIR
codebase.
This is addressing a
[comment](https://github.com/llvm/llvm-project/pull/129861#pullrequestreview-2662696084)
on an earlier PR.
Note for LLVM integration: `SplitMatchAndRewrite` will be deleted soon,
update your patterns to use `matchAndRewrite` instead of separate
`match` / `rewrite`.
---------
Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>
Commit: 170c0dac4488f9cfbc67e9593ebe6ad01cfa8f32
https://github.com/llvm/llvm-project/commit/170c0dac4488f9cfbc67e9593ebe6ad01cfa8f32
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/unaligned-buffer.ll
M llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/unaligned-buffer.ll
Log Message:
-----------
[AMDGPU] Fix edge case of buffer OOB handling (#115479)
Strengthen out-of-bounds guarantees for buffer accesses by disallowing
buffer accesses with alignment lower than natural alignment.
This is needed to specifically address the edge case where an access
starts out-of-bounds and then enters in-bounds, as the hardware would
treat the entire access as being out-of-bounds. This is normally not
needed for most users, but at least one graphics device extension
(VK_EXT_robustness2) has very strict requirements - in-bounds accesses
must return correct value, and out-of-bounds accesses must return zero.
The direct consequence of the patch is that a buffer access at negative
address is not merged by load-store-vectorizer with one at a positive
address, which fixes a CTS test.
Targets that do not care about the new behavior are advised to use the
new target feature relaxed-buffer-oob-mode that maintains the state from
before the patch.
Commit: fc1450c5976461ce30f662731c4c381bf80bf5e2
https://github.com/llvm/llvm-project/commit/fc1450c5976461ce30f662731c4c381bf80bf5e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
Log Message:
-----------
[CriticalAntiDepBreaker] Attempt to fix MSVC build error. NFC
Commit: 6cb2f6de9b3cf0e72b7d45c9fc149457b3462ca3
https://github.com/llvm/llvm-project/commit/6cb2f6de9b3cf0e72b7d45c9fc149457b3462ca3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#130235)
Commit: 3a67c7c6f7f6d41adf4487d099c1225c31caf8c3
https://github.com/llvm/llvm-project/commit/3a67c7c6f7f6d41adf4487d099c1225c31caf8c3
Author: zhaohui <1178824043 at qq.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/uninitialized.cpp
Log Message:
-----------
[Clang] Check for uninitialized use in lambda within CXXOperatorCallExpr (#129198)
Track whether a LambdaExpr is an immediate operand of a
CXXOperatorCallExpr using a new flag, isInCXXOperatorCall. This enables
special handling of capture initializations to detect uninitialized
variable uses, such as in `S s = [&]() { return s; }();`.
Fix #128058
Commit: 94714fb3032fb4707c70f12a5f246bbaadaa73b2
https://github.com/llvm/llvm-project/commit/94714fb3032fb4707c70f12a5f246bbaadaa73b2
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/type_traits
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
Log Message:
-----------
[libc++] Deprecate `is_pod(_v)` since C++20 (#129471)
Previously, commit 042f07eed8c1acba19ea04310137bee12b18045a claimed that
P0767R1 was implemented in LLVM 7.0, but no deprecation warning was
implemented. This patch adds the missing warnings.
Commit: 749d68bdfe97c6dd29fb9f7e4a7f63854ecef295
https://github.com/llvm/llvm-project/commit/749d68bdfe97c6dd29fb9f7e4a7f63854ecef295
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
Log Message:
-----------
[CriticalAntiDepBreaker] Fix another MSVC build error. NFC
Commit: 5048a0858beb15bdd203dee89dd4df9b2a72ba5f
https://github.com/llvm/llvm-project/commit/5048a0858beb15bdd203dee89dd4df9b2a72ba5f
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
A llvm/test/CodeGen/RISCV/load-store-pair.ll
Log Message:
-----------
[RISCV] Generate MIPS load/store pair instructions (#124717)
Introduce RISCVLoadStoreOptimizer MIR Pass that will do the
optimization. The load/store pairing pass identifies adjacent load/store
instructions operating on consecutive memory locations and merges them
into a single paired instruction.
This is part of MIPS extensions for the p8700 CPU.
Production of ldp/sdp instructions is OFF by default, since it is
beneficial for -Os only in the case of p8700 CPU.
Commit: 951353de62c33645d8eabd35df091fdacb649b61
https://github.com/llvm/llvm-project/commit/951353de62c33645d8eabd35df091fdacb649b61
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 5048a0858beb
Commit: bd5f29c0081ffe03e6a9cf43bca471e7f82fe71d
https://github.com/llvm/llvm-project/commit/bd5f29c0081ffe03e6a9cf43bca471e7f82fe71d
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
A llvm/test/tools/llvm-objcopy/strip-error-handling.test
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
Log Message:
-----------
[llvm-strip] Let llvm-strip continue on encountering an error (#129531)
This change means that llvm-strip no longer exits immediately upon
encountering an error when modifying a file and will instead continue
modifying the other inputs. Fixes #129412
Commit: d7f409d39ae0525ea3474f7a8e01d7510a36e44f
https://github.com/llvm/llvm-project/commit/d7f409d39ae0525ea3474f7a8e01d7510a36e44f
Author: Zentrik <llvm.zentrik at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/tools/llvm-jitlistener/llvm-jitlistener.cpp
Log Message:
-----------
[JITListener] Fix build after Module::getTargetTriple() change (#130152)
Adjust for #129868.
Commit: aa1d2cc5d7a18318f5014eecde1ac88ba762e70a
https://github.com/llvm/llvm-project/commit/aa1d2cc5d7a18318f5014eecde1ac88ba762e70a
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
R llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
M llvm/test/CodeGen/XCore/dwarf_debug.ll
M llvm/test/DebugInfo/X86/inline-seldag-test.ll
Log Message:
-----------
Revert "[MC] output inlined-at debug info (#106230)"
This reverts commit f3dc358953a13caf7521fc615a08f6317930351c.
This causes a large compile-time regression:
https://llvm-compile-time-tracker.com/compare.php?from=267403442264959f6b06e227ff450c385f4b3ef2&to=f3dc358953a13caf7521fc615a08f6317930351c&stat=instructions:u
Commit: b32cf76d8fa073b95fbb2ad5c45be117332006d3
https://github.com/llvm/llvm-project/commit/b32cf76d8fa073b95fbb2ad5c45be117332006d3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#129989)
Commit: 17aac7ccf92e606fcf8c69ee11cdcf16ca2724b8
https://github.com/llvm/llvm-project/commit/17aac7ccf92e606fcf8c69ee11cdcf16ca2724b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#130236)
Commit: 616f277640129ff37d4005737a62acbd60d06ca1
https://github.com/llvm/llvm-project/commit/616f277640129ff37d4005737a62acbd60d06ca1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/ModuloSchedule.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#130237)
Commit: bcec6c5325a401c3af507b2de649097bba4815d7
https://github.com/llvm/llvm-project/commit/bcec6c5325a401c3af507b2de649097bba4815d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#130238)
Commit: 8bf13afd4a97ba2eefca0a7f44edea97ffee97fc
https://github.com/llvm/llvm-project/commit/8bf13afd4a97ba2eefca0a7f44edea97ffee97fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#130239)
Commit: 8a855d63bae5467163f261ffcb8018698332eed5
https://github.com/llvm/llvm-project/commit/8a855d63bae5467163f261ffcb8018698332eed5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#130241)
Commit: eb4a7052f64ef22c87a402a198f21f30da379af8
https://github.com/llvm/llvm-project/commit/eb4a7052f64ef22c87a402a198f21f30da379af8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/Driver/hip-partial-link.hip
Log Message:
-----------
clang/HIP: Remove requires system-linux from some driver tests (#112842)
Commit: 9c08e650cd83e3e891dd2972ae1852ae1763c7ff
https://github.com/llvm/llvm-project/commit/9c08e650cd83e3e891dd2972ae1852ae1763c7ff
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/main.cpp
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
Log Message:
-----------
[lldb] Adapt llgs tests for RISC-V (#130034)
Some lldb tests from llgs category fail on RISC-V target due to lack of
necessary condition checks. This patch adapts these tests by taking into
account the peculiarities of the RISC-V architecture
Commit: 40e245a9aac02e0bbb6b44287bc13c80a68d37b3
https://github.com/llvm/llvm-project/commit/40e245a9aac02e0bbb6b44287bc13c80a68d37b3
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/TemporaryStorage.h
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-codegen.fir
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-scheduling-character.f90
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-scheduling.f90
Log Message:
-----------
[flang] add support for procedure pointer assignment inside FORALL (#130114)
Very similar to object pointer assignment, the difference is the SSA
types of the LHS (!fir.ref<!fir.boxproc<()->()>> and RHS
(!fir.boxproc<()->()).
The RHS must be saved as simple address, not descriptors (it is not
possible to make CFI descriptor out of procedure entity).
Commit: c687d78b3a7121e4c4ec6ee4992f2d72e3ce9279
https://github.com/llvm/llvm-project/commit/c687d78b3a7121e4c4ec6ee4992f2d72e3ce9279
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/Driver/linker-wrapper.c
Log Message:
-----------
clang: Switch linker-wrapper test to unsupported windows (#130247)
Works fine on macos, so expand the tested hosts. This should work
on windows too, but it's been a pain debugging the error on the bot.
Commit: 52bc812a10d14c6c9d704d8a0d52b9a91a9f19bd
https://github.com/llvm/llvm-project/commit/52bc812a10d14c6c9d704d8a0d52b9a91a9f19bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat(shuffle(x,y,m1),shuffle(x,y,m2)) -> shuffle(concat(x,x),concat(y,y),m3) on VBMI targets (#130134)
With VBMI we are guaranteed to support cross-lane 256-bit shuffles, so subvector splats should always be cheap.
Fixes #116931
Commit: 21610e3ecc8bc727f99047e544186b35b1291bcd
https://github.com/llvm/llvm-project/commit/21610e3ecc8bc727f99047e544186b35b1291bcd
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
R llvm/test/CodeGen/AArch64/sve-fixed-length-offsets.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
Log Message:
-----------
Revert "[AArch64][SVE] Improve fixed-length addressing modes." (#130263)
This reverts commit f01e760c08365426de95f02dc2c2dc670eb47352.
Commit: 180f8032f0f67faf2a73791ee37a87cb8560135c
https://github.com/llvm/llvm-project/commit/180f8032f0f67faf2a73791ee37a87cb8560135c
Author: Michael Jabbour <117195239+michael-jabbour-sonarsource at users.noreply.github.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/modules-merge-enum.m
Log Message:
-----------
[clang] Fix ASTWriter crash after merging named enums (#114240)
Clang already removes parsed enumerators when merging typedefs to
anonymous enums. This is why the following example decl used to be
handled correctly while merging, and ASTWriter behaves as expected:
```c
typedef enum { Val } AnonEnum;
```
However, the mentioned mechanism didn't handle named enums. This leads
to stale declarations in `IdResolver`, causing an assertion violation in
ASTWriter ``Assertion `DeclIDs.contains(D) && "Declaration not
emitted!"' failed`` when a module is being serialized with the following
example merged enums:
```c
typedef enum Enum1 { Val_A } Enum1;
enum Enum2 { Val_B };
```
The PR applies the same mechanism in the named enums case.
Additionally, I dropped the call to
`getLexicalDeclContext()->removeDecl` as it was causing a wrong
odr-violation diagnostic with anonymous enums.
Might be easier to to review commit by commit. Any feedback is
appreciated.
### Context
This fixes frontend crashes that were encountered when certain
Objective-C modules are included on Xcode 16. For example, by running
`CC=/path/to/clang-19 xcodebuild clean build` on a project that contains
the following Objective-C file:
```c
#include <os/atomic.h>
int main() {
return memory_order_relaxed;
}
```
This crashes the parser in release, when ASTReader tries to load the
enumerator declaration.
Commit: e9de91e989de2b61ded7f471b48453eddf77ca29
https://github.com/llvm/llvm-project/commit/e9de91e989de2b61ded7f471b48453eddf77ca29
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
Log Message:
-----------
[AMDGPU] Add safe-smem-prefetch SubtargetFeature off by default (#130050)
S_PREFETCH_* instructions may cause host to terminate process in case of
the invalid address.
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: bd3bde8900a05d2418f680bb19fced189a564efd
https://github.com/llvm/llvm-project/commit/bd3bde8900a05d2418f680bb19fced189a564efd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/mfence.ll
Log Message:
-----------
[X86] mfence.ll - add COMMON prefix + replace X32 with X86 prefix
We try to only use X32 for gnux32 triple
Noticed while reviewing #106555
Commit: 5239f6777a485b30b77e7ec775c7022028659d9f
https://github.com/llvm/llvm-project/commit/5239f6777a485b30b77e7ec775c7022028659d9f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Analysis/CostModel.cpp
M llvm/test/Analysis/CostModel/AArch64/sincos.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/cmp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
[CostModel][Test] Replace multiple flags with `-intrinsic-cost-strategy` (#128885)
This replaces the `-prefer-intrinsic-cost` and
`type-based-intrinsic-cost` flags with a single
`-intrinsic-cost-strategy=<strategy>` flag.
The possible strategies are:
* `instruction-cost`
- Use TargetTransformInfo::getInstructionCost()
* `intrinsic-cost`
- Use TargetTransformInfo::getIntrinsicInstrCost()
* `type-based-intrinsic-cost`
- Calculate the intrinsic cost based only on argument types
Commit: dc69eae1c47a0545ae8c3129e44a8fa662612d7c
https://github.com/llvm/llvm-project/commit/dc69eae1c47a0545ae8c3129e44a8fa662612d7c
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-ar/extract.test
M llvm/test/tools/llvm-ar/print.test
Log Message:
-----------
[llvm-ar] Fix darwin-related tests' XFAIL annotation (#130144)
The tests updated by this commit are expected to fail when targetting a
darwin platform. As they rely on target detection based on the host,
this is currently checked by using the `XFAIL: system-darwin`
annotation.
This approach becomes a problem when trying to run such tests on a
cross-compiling build of clang on a darwin platform. When no darwin
targets are included in the build, the XFAIL will still apply even
though the target used is not related to the darwin platform, and the
tests will unexpectedly pass.
To fix this issue, this patch updates the condition used by the tests'
XFAIL annotation to `target={{.*}}-darwin{{.*}}`, ensuring they only are
xfailed when the relevant target is used.
Commit: af755af2003464f1cb9268de86b34d373cc6ac2d
https://github.com/llvm/llvm-project/commit/af755af2003464f1cb9268de86b34d373cc6ac2d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/simplify-demanded-vector-elts-lane-intrinsics.ll
Log Message:
-----------
AMDGPU: Handle demanded subvectors for readfirstlane (#128648)
Commit: 68578b38cf22eb4a3c46ccd6d6a31e536b0b8cc9
https://github.com/llvm/llvm-project/commit/68578b38cf22eb4a3c46ccd6d6a31e536b0b8cc9
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M offload/cmake/caches/AMDGPUBot.cmake
Log Message:
-----------
[Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-* (#129692)
Enable the LLVM_ENABLE_RUNTIMES=flang-rt build of the Fortran runtime
for the amdgpu-offload-* buildbots. This pre-population cmake cache
files is referred to by the llvm-zorg annotated builder factory
[script](https://github.com/llvm/llvm-zorg/blob/872f477610d83821c9f1368c969006789b21011b/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py#L26).
The corresponding change in llvm-zorg is
https://github.com/llvm/llvm-zorg/pull/402
Commit: de9cee1c97882dc69a20ac688d20a84f831b62c6
https://github.com/llvm/llvm-project/commit/de9cee1c97882dc69a20ac688d20a84f831b62c6
Author: Vy Nguyen <vyng at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[LLDB][Telemetry]Define telemetry::CommandInfo (#129354)
and collect telemetry about a command's execution.
*NOTE: Please consider this PR a DRAFT ( Waiting on PR/127696 to be
submitted. )
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f7daa9d302a82f35c3b9ed4cede23ab808462b4f
https://github.com/llvm/llvm-project/commit/f7daa9d302a82f35c3b9ed4cede23ab808462b4f
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/OpenMP/cancel_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/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/taskgroup_codegen.cpp
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-outline-infinite-loop.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
Log Message:
-----------
[mlir][OpenMP] fix crash outlining infinite loop (#129872)
Previously an extra block was created by splitting the previous exit
block. This produced incorrect results when the outlined region
statically never terminated because then there wouldn't be a valid exit
block for the outlined region, this caused this newly added block to
have an incoming edge from outside of the outlining region, which caused
outlining to fail.
So far as I can tell this extra block no longer serves any purpose. The
comment says it is supposed to collate multiple control flow edges into
one place, but the code as it is now does not achieve this. In fact, as
can be seen from the changes to lit tests, this block was not actually
outlined in the end. This is because there are actually two code
extractors: one in the callback for creating a parallel op which is used
to find what the input/output variables are (which does have this block
added to it), and another one which actually does the outlining (which
this block was not added to).
Tested with the gfortran and fujitsu test suites.
Fixes #112884
Commit: 08a89bb02ec4a4de8ad9bd94e28701d635b1f876
https://github.com/llvm/llvm-project/commit/08a89bb02ec4a4de8ad9bd94e28701d635b1f876
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
Log Message:
-----------
[AArch64] Codegen for 16/32/64-bit floating-point atomicrmw ops (#125686)
Codegen for AArch64 16/32/64-bit floating-point atomic read-modify-write
operations (`atomicrmw {fadd,fmin,fmax}`) using LD{B}FADD, LD{B}FMAX and
LD{B}FMIN atomic instructions.
Commit: e296fb8ff6255b97db9ff6cd941acc730164b38f
https://github.com/llvm/llvm-project/commit/e296fb8ff6255b97db9ff6cd941acc730164b38f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M offload/cmake/caches/AMDGPUBot.cmake
Log Message:
-----------
Revert "[Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-*" (#130274)
Reverts llvm/llvm-project#129692
The builder amdgpu-offload-rhel-8-cmake-build-only fails because its
version of Ninja is too old. At least Ninja 1.10 is required for its
support for dependencies between Fortran modules.
https://lab.llvm.org/buildbot/#/builders/204/builds/2696
Commit: f8cf007b4cdc975e44c94c2a3276023b7816cd74
https://github.com/llvm/llvm-project/commit/f8cf007b4cdc975e44c94c2a3276023b7816cd74
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/matrix-multiply.ll
Log Message:
-----------
[X86] matrix-multiply.ll - add common AVX1+2 check prefix
Commit: 4136395ddc66e05ffe1a7630060e88c586a44f6d
https://github.com/llvm/llvm-project/commit/4136395ddc66e05ffe1a7630060e88c586a44f6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/simplify-demanded-vector-elts-lane-intrinsics.ll
Log Message:
-----------
AMDGPU: Regenerate test checks in instcombine test
Passed precheck before 844a1d52a8f5dff032cbf58288675ad1e678d609
started deleting the dead instructions
Commit: 90e421516ee29ed475a052d0f5e96c2447e700d7
https://github.com/llvm/llvm-project/commit/90e421516ee29ed475a052d0f5e96c2447e700d7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Offload] Always consider `flto` on for AMDGPU (#129118)
Summary:
Previously we turned this off, but that led to a regression in some of
the option handling. I would argue that handling LTO by default was
incorrect bheavior, but for AMDGPU people were used to this default, so
we pass it by default. `-fno-lto` overrides.
Commit: 995c0f7bb7cac218cc0f7ca1cacb077d202c4d02
https://github.com/llvm/llvm-project/commit/995c0f7bb7cac218cc0f7ca1cacb077d202c4d02
Author: Augie Fackler <augie at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bazel] update mlir python deps for 95767a9903208e545badd920a1a16e5476ae09f9
Commit: 9d191f11825875cb21363b1e1a9303e06fa1316c
https://github.com/llvm/llvm-project/commit/9d191f11825875cb21363b1e1a9303e06fa1316c
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Fix RFFT2D verifier for width=1 (#130279)
Current formula assumes width is a multiple of 2 but TOSA only requires
a power of 2, which 1 is.
Commit: 81168e2dc1c2069178b1acd5e302be99d7fb0e45
https://github.com/llvm/llvm-project/commit/81168e2dc1c2069178b1acd5e302be99d7fb0e45
Author: Jan Voung <jvoung at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Add test for crash repro and clean up const accessor handling (#129930)
Add test for https://github.com/llvm/llvm-project/issues/125589
The crash is actually incidentally fixed by
https://github.com/llvm/llvm-project/pull/128437 since it added a branch
for the reference case and would no longer fall through when the return
type is a reference to a pointer.
Clean up a bit as well:
- make the fallback for early returns more consistent (check if
returning optional and call transfer function for that case)
- check RecordLoc == nullptr in one place
- clean up extra spaces in test
- clean up parameterization in test of `std::` vs `$ns::$`
Commit: e22579a6752801a5d3ced59c7a2e2499d547c657
https://github.com/llvm/llvm-project/commit/e22579a6752801a5d3ced59c7a2e2499d547c657
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][TOSA] Fix linalg lowering of depthwise conv2d (#130282)
Current lowering for tosa.depthwise_conv2d assumes if both zero points
are zero then it's a floating-point operation by hardcoding the use of a
arith.addf in the lowered code. Fix code to check for the element type
to decide what add operation to use.
Commit: 2c8b824ff562d4d0a6cd38310991425d03bc6f70
https://github.com/llvm/llvm-project/commit/2c8b824ff562d4d0a6cd38310991425d03bc6f70
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3478.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3478
This paper made it a constraint violation for a TU to end with an
unterminated multiline comment. This is something Clang has always
diagnosed as an error.
Commit: 9fc3310798be5afd265ff6ad7274c0d02487f5df
https://github.com/llvm/llvm-project/commit/9fc3310798be5afd265ff6ad7274c0d02487f5df
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/Lexer.cpp
A clang/test/C/C2y/n3411.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Implement WG14 N3411 (#130180)
This paper (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3411.pdf)
allows a source file to end without a newline. Clang has supported this
as a conforming extension for a long time, so this suppresses the
diagnotic in C2y mode but continues to diagnose as an extension in
earlier language modes. It also continues to diagnose if the user passes
-Wnewline-eof explicitly.
Commit: 308f933f75bcf92881c14e00e81d2d41a2893d7c
https://github.com/llvm/llvm-project/commit/308f933f75bcf92881c14e00e81d2d41a2893d7c
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel build after 95767a9903208e545badd920a1a16e5476ae09f9. (#130283)
Commit: 90f45a15abbde1435c800c588c78c5a01b5db388
https://github.com/llvm/llvm-project/commit/90f45a15abbde1435c800c588c78c5a01b5db388
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-v50.f90
M flang/test/Parser/OpenMP/metadirective.f90
Log Message:
-----------
[flang][OpenMP] Implement OmpDirectiveName, use in OmpDirectiveSpecif… (#130121)
…ication
The `OmpDirectiveName` class has a source in addition to wrapping the
llvm::omp::Directive.
Commit: 5b3f50ead1473ae7f8695e02f26635a7ea89a6aa
https://github.com/llvm/llvm-project/commit/5b3f50ead1473ae7f8695e02f26635a7ea89a6aa
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim nonconformance to WG14 N3418
This paper makes it a constraint violation to form a UCN via token
concatenation. Clang does not conform to it and the paper goes in the
opposite direction of where C++ went with P2621R3 which was adopted for
C++26.
Commit: d31a7dde485461f564a6ae995a3fd58b2aa1bfa5
https://github.com/llvm/llvm-project/commit/d31a7dde485461f564a6ae995a3fd58b2aa1bfa5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/pointer-default-init.f90
Log Message:
-----------
Revert " [flang] Rely on global initialization for simpler derived types" (#130278)
Reverts llvm/llvm-project#114002
This causes a regression building cam4_r from spec2017
Commit: 659cca78a1f849e6ba2279946cc8434612200305
https://github.com/llvm/llvm-project/commit/659cca78a1f849e6ba2279946cc8434612200305
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
Revert "[mlir][TOSA] Fix linalg lowering of depthwise conv2d (#130282)"
This reverts commit e22579a6752801a5d3ced59c7a2e2499d547c657.
Commit: 50a0931ccd82a7e4541650744363c87d9e0e5496
https://github.com/llvm/llvm-project/commit/50a0931ccd82a7e4541650744363c87d9e0e5496
Author: Augie Fackler <augie at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] update lldb deps for 39a4da20d88d797824f0e7be0f732ccaf0c7eee4
Commit: 8da48b4003ca9d458493714b8a7b5ac2d6af9089
https://github.com/llvm/llvm-project/commit/8da48b4003ca9d458493714b8a7b5ac2d6af9089
Author: Augie Fackler <augie at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] update lldb deps for de9cee1c97882dc69a20ac688d20a84f831b62c6
Commit: 40ee5a0bcc333f2df5427bfaba73f2dc83c0ae19
https://github.com/llvm/llvm-project/commit/40ee5a0bcc333f2df5427bfaba73f2dc83c0ae19
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3481.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3481
This paper made it a constraint violation to have an incomplete type
during lvalue conversion. Previously, this was undefined behavior.
Clang has always diagnosed this for non-void incomplete types. However,
Clang does allow derefencing a void pointer (with a diagnostic, so we
still meet the conformance requirements), but not for a value
computation.
Commit: b47dac609bbd7697db5287f628b431dac661dc23
https://github.com/llvm/llvm-project/commit/b47dac609bbd7697db5287f628b431dac661dc23
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/lib/Parser/parse-tree.cpp
Log Message:
-----------
[flang][OpenMP] Remove pessimizing move introduced in 90f45a15ab
This unbreaks the builders that diagnose this situation:
error: moving a temporary object prevents copy elision [-Werror,-Wpess
imizing-move]
341 | static OmpClauseList empty{std::move(decltype(OmpClauseList:
:v){})};
| ^
Commit: d19218e507b5613b9708ce0cd38aceb282a9d812
https://github.com/llvm/llvm-project/commit/d19218e507b5613b9708ce0cd38aceb282a9d812
Author: John Brawn <john.brawn at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
A llvm/test/CodeGen/AArch64/fp16_fast_math.ll
A llvm/test/CodeGen/ARM/fp16_fast_math.ll
M llvm/test/CodeGen/ARM/vecreduce-fmax-legalization-soft-float.ll
M llvm/test/CodeGen/ARM/vecreduce-fmin-legalization-soft-float.ll
Log Message:
-----------
[SelectionDAG] Preserve fast math flags when legalizing/promoting (#130124)
When we have a floating-point operation that a target doesn't support
for a given type, but does support for a wider type, then there are two
ways this can be handled:
* If the target doesn't have any registers at all of this type then
LegalizeTypes will convert the operation.
* If we do have registers but no operation for this type, then the
operation action will be Promote and it's handled in PromoteNode.
In both cases the operation at the wider type, and the conversion
operations to and from that type, should have the same fast math flags
as the original operation.
This is being done in preparation for a DAGCombine patch which makes use
of these fast math flags.
Commit: 1c1140c4cf7d4fde5de4b20c6b993bab9060d9fc
https://github.com/llvm/llvm-project/commit/1c1140c4cf7d4fde5de4b20c6b993bab9060d9fc
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
Log Message:
-----------
[OpenACC] Enable 'device_type' for 'routine'
There is a slightly different list for routine on which clauses are
permitted after it (like the rest of the constructs), but this
implements and tests them to make sure we get them right.
Commit: d1bd1c7e825d190fc47cd06956c381cc0f70fba8
https://github.com/llvm/llvm-project/commit/d1bd1c7e825d190fc47cd06956c381cc0f70fba8
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3496.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3496
This was a clarification for C23's N2412, primarily about the
BOOL_WIDTH macro. It should expand to the number of bits in the value
representation, not the object representation. Clang 20 implements the
correct value.
Commit: 5685def507ed7c95bf93572e5cf8c30efbc7d99b
https://github.com/llvm/llvm-project/commit/5685def507ed7c95bf93572e5cf8c30efbc7d99b
Author: Peng Sun <peng.sun at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Utils/QuantUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
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/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
Log Message:
-----------
[mlir][tosa] Convert RESCALE op multiplier and shift from attributes to inputs (#129720)
Commit: 67960e5c08629bb78c147bd0a86764967448b33c
https://github.com/llvm/llvm-project/commit/67960e5c08629bb78c147bd0a86764967448b33c
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/test/CodeGen/openacc-noop-decl.c
Log Message:
-----------
[OpenACC] Ensure decl OpenACC constructs don't crash
I initially implemented codegen to be a 'no-op' for these declarations,
which I thought was properly implemented. However, when they are a
top-level decl, we have a separate switch. This patch makes sure they
are properly emitted at top-level as a no-op, and adds a test for both
top-level and not top-level.
Commit: 0a41fb71f12624f470b8489f997cbe43b188e0a1
https://github.com/llvm/llvm-project/commit/0a41fb71f12624f470b8489f997cbe43b188e0a1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGen/vector.c
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/Sema/types.c
A clang/test/Sema/vector-ast.cpp
Log Message:
-----------
[Clang] Treat `ext_vector_type` as a regular type attribute (#130177)
Summary:
This attribute is mostly borrowed from OpenCL, but is useful in general
for accessing the LLVM vector types. Previously the only way to use it
was through typedefs. This patch changes that to allow use as a regular
type attribute, similar to address spaces.
Commit: 494bf26736f49db3a1932ef6067b2fc1737d78be
https://github.com/llvm/llvm-project/commit/494bf26736f49db3a1932ef6067b2fc1737d78be
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Add a link to the paper to a release note; NFC
Commit: dd9a2f0677312beb6785c2790b54836959046e96
https://github.com/llvm/llvm-project/commit/dd9a2f0677312beb6785c2790b54836959046e96
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M libc/src/__support/big_int.h
M libc/src/__support/math_extras.h
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
Log Message:
-----------
[libc] `first_trailing_one(0)` should be `0`. (#130155)
Fix this minor bug. See more context at #129892.
Commit: db5e4016c0332e7e5c0950414bb0b252975663ed
https://github.com/llvm/llvm-project/commit/db5e4016c0332e7e5c0950414bb0b252975663ed
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[CostModel] Add type-based cost model for get.active.lane.mask intrinsic (#130132)
I recently realised that we return an invalid cost when requesting
the type-based cost for the get.active.lane.mask intrinsic. I've
fixed that in this patch by reusing the existing code for the
non-type-based model.
Commit: d6a4828c8a37ff9eee5da745a8a012657fe2af98
https://github.com/llvm/llvm-project/commit/d6a4828c8a37ff9eee5da745a8a012657fe2af98
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Special-case ConstantExpr in if conditions (#130294)
This happens a lot with `if constexpr` with a condition based on a
template param. In those cases, the condition is a ConstantExpr with a
value already set, so we can use that and ignore the other branch.
Commit: c6b9d5ce76a155b682b1562122f43166aaa6391d
https://github.com/llvm/llvm-project/commit/c6b9d5ce76a155b682b1562122f43166aaa6391d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/Driver/hip-partial-link.hip
Log Message:
-----------
clang/HIP: Use regex for final path separator in hip-partial-link.hip (#130291)
Somehow this passed the precheck test on the windows bot, but is
failing in precheck of unrelated PRs
Commit: 3ed4daf9a749fe8590ad291f63fabce48fb4135f
https://github.com/llvm/llvm-project/commit/3ed4daf9a749fe8590ad291f63fabce48fb4135f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
[Clang] Add missing printer for vector type attribute
Commit: 0ee8f699780569d7a6b94d61cd833285bb67eca1
https://github.com/llvm/llvm-project/commit/0ee8f699780569d7a6b94d61cd833285bb67eca1
Author: hanbeom <kese111 at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
Log Message:
-----------
[VectorCombine] Fix invalid shuffle cost argument of foldShuffleOfSelects (#130281)
In the previous code (#128032), it specified the destination vector as the
getShuffleCost argument. Because the shuffle mask specifies the indices
of the two vectors specified as elements, the maximum value is twice the
size of the source vector. This causes a problem if the destination
vector is smaller than the source vector and specify an index in the
mask that exceeds the size of the destination vector.
Fix the problem by correcting the previous code, which was using wrong
argument in the Cost calculation.
Fixes #130250
Commit: 718c4ed8a0d69948ab4b53e3c8666fd72613b7f7
https://github.com/llvm/llvm-project/commit/718c4ed8a0d69948ab4b53e3c8666fd72613b7f7
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/source-kind.fir
Log Message:
-----------
[flang] [NFCI] Using getSource instead of getOriginalDef (#128984)
As discussed in past MRs, this change removes the use of getOriginalDef
to use getSource instead to gather data from an indirection.
Commit: 99c6342b5e71098197f12066fd628865793e6300
https://github.com/llvm/llvm-project/commit/99c6342b5e71098197f12066fd628865793e6300
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/arm64ec-eh.ll
M llvm/test/CodeGen/AArch64/landingpad-ifcvt.ll
M llvm/test/CodeGen/X86/seh-except-restore.ll
M llvm/test/CodeGen/X86/win32-seh-catchpad.ll
Log Message:
-----------
[win] Fix EH Cont Guard targets when SEH personality is used (#129612)
There were two issues when `/guard:ehcont` is enabled with the SEH
personality on Windows:
1. As @namazso correctly identified, we bail out of
`WinException::endFunction` early for `MSVC_TableSEH` with funclets,
expecting the exception data to be emitted in `endFunclet`, but
`endFunclet` didn't copy the EHCont metadata from the function to the
module.
2. The SEH personality requires that the basic block containing the
`catchpad` is the target, not the `catchret`.
Fixes #64585
Commit: 5c9d0a26d9462487e7db5e58f2307371154d6117
https://github.com/llvm/llvm-project/commit/5c9d0a26d9462487e7db5e58f2307371154d6117
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Try to fix testing on Windows (#130285)
Summary:
Thanks to @Meinersbur for finding this. The `:` character used in AMD's
target-id's is invalid on windows. This patch replaces them with `-`.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 259624bf6d47b1dccebb3948aadf849d55f96404
https://github.com/llvm/llvm-project/commit/259624bf6d47b1dccebb3948aadf849d55f96404
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivClasses] Introduce members iterator-helper (#130139)
Commit: c53e527bf8d79c6f05325d9246f66e765d784f9c
https://github.com/llvm/llvm-project/commit/c53e527bf8d79c6f05325d9246f66e765d784f9c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lld/COFF/Chunks.h
M lld/test/COFF/build-id-sym.s
Log Message:
-----------
[LLD][COFF] Implement ECExportThunkChunk::classof (NFC) (#130106)
Allows using `dyn_cast_or_null` in `maybeAddAddressTakenFunction` in #128440.
Commit: 86dfd90193da027b34162f1bdb3ed61620aae10e
https://github.com/llvm/llvm-project/commit/86dfd90193da027b34162f1bdb3ed61620aae10e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
Revert "[EquivClasses] Introduce members iterator-helper" (#130313)
This reverts commit 259624bf6d, as it causes a build failure.
Commit: afbbca5c9d0b9063287a22b52e2be5ab6690c4ce
https://github.com/llvm/llvm-project/commit/afbbca5c9d0b9063287a22b52e2be5ab6690c4ce
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
Log Message:
-----------
[z/OS] Add call to shmctl() to release shared memory on z/OS (#130163)
This PR will solve the issue with leaking shared memory we have after running llvm lit test on z/OS.
In particular llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp was causing the leak.
Commit: 445c43d71206cd7dca237657c62cfa3b46787cac
https://github.com/llvm/llvm-project/commit/445c43d71206cd7dca237657c62cfa3b46787cac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/iX-ext-split.ll
Log Message:
-----------
[InstCombine] Add test for missing (or (zext x), (shl (ashr x, bw-1))) -> (sext x) case
#129363 handled all the cases where there was a sext for the original source value, but not for cases where the source is already half the size of the destination type
Another regression noticed in #76524
Commit: d4754db15d44b3000918952dae9a09aac496de80
https://github.com/llvm/llvm-project/commit/d4754db15d44b3000918952dae9a09aac496de80
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/test/Analysis/AliasAnalysis/source-kind.fir
Log Message:
-----------
Test fix: Adding REQUIRES: asserts (#130314)
Commit: fb0891387ae8a1593f6835eeaa44dc4891fcf6ee
https://github.com/llvm/llvm-project/commit/fb0891387ae8a1593f6835eeaa44dc4891fcf6ee
Author: John Brawn <john.brawn at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[SelectionDAG] Clean up some redundant setting of node flags (NFC) (#130307)
PR #130124 added a use of FlagInserter to the start of
SelectionDAGLegalize::PromoteNode, making some of the places where we
set flags be redundant, so remove them. The places where the setting of
flags remains are in non-floating-point operations.
Commit: ce9e1d3c15ed6290f1cb07b482939976fa8115cd
https://github.com/llvm/llvm-project/commit/ce9e1d3c15ed6290f1cb07b482939976fa8115cd
Author: anjenner <161845516+anjenner at users.noreply.github.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/source/Core/DataFileCache.cpp
M llvm/include/llvm/Support/Caching.h
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Support/Caching.cpp
M llvm/tools/gold/gold-plugin.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/Caching.cpp
Log Message:
-----------
Modify the localCache API to require an explicit commit on CachedFile… (#115331)
…Stream.
CachedFileStream has previously performed the commit step in its
destructor, but this means its only recourse for error handling is
report_fatal_error. Modify this to add an explicit commit() method, and
call this in the appropriate places with appropriate error handling for
the location.
Currently the destructor of CacheStream gives an assert failure in Debug
builds if commit() was not called. This will help track down any
remaining uses of the API that assume the old destructior behaviour. In
Release builds we fall back to the previous behaviour and call
report_fatal_error if the commit fails.
Commit: a2b3dafcdfbf3cdeea8a722fe47402df69c20221
https://github.com/llvm/llvm-project/commit/a2b3dafcdfbf3cdeea8a722fe47402df69c20221
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
M llvm/test/CodeGen/X86/finite-libcalls.ll
Log Message:
-----------
[X86][NFC] Updated POW/EXP*/LOG* functions testcases (#129677)
- Added GlobalISel runs as precommit testcase for G_POW/G_EXP*/G_LOG*.
- Removed unused tag MISSED.
Commit: 6fa1bfad65edefe3f4c17740f05297d34e833b47
https://github.com/llvm/llvm-project/commit/6fa1bfad65edefe3f4c17740f05297d34e833b47
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
Log Message:
-----------
Fix amdgpu-arch for dll name on Windows (#101350)
Recently HIP runtime changed dll name to amdhip64_n.dll on Windows,
where n is ROCm major version number.
Fix amdgpu-arch to search for amdhip64_n.dll on Windows.
Commit: 5668c7bb9085fafba4e2925113464f6227ef7be4
https://github.com/llvm/llvm-project/commit/5668c7bb9085fafba4e2925113464f6227ef7be4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Add more interfaces for __ldca, __ldcs, __ldlu and __ldcv (#130218)
Commit: 8eb9b947af267f38ad53cfc67a41c5c3d978aa27
https://github.com/llvm/llvm-project/commit/8eb9b947af267f38ad53cfc67a41c5c3d978aa27
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/Lowering/basic.cpp
A clang/test/CIR/Lowering/local-vars.cpp
Log Message:
-----------
[CIR] Emit init of local variables (#130164)
Local variable initialization was previously being ignored. This change
adds support for initialization of scalar variables with constant values
and introduces the constant emitter framework.
Commit: c59713c2d83dddfb08f23c210e054ae54beb856e
https://github.com/llvm/llvm-project/commit/c59713c2d83dddfb08f23c210e054ae54beb856e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port ce9e1d3c15ed
Commit: ca1833b91e45595a3728e90b3714566588c8abae
https://github.com/llvm/llvm-project/commit/ca1833b91e45595a3728e90b3714566588c8abae
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-private-llvm.mlir
Log Message:
-----------
[mlir][OpenMP] cast address space of private variables (#130301)
Fixes #130159
The problem is that the alloca created for the private variable uses the
default alloca address space in that module, but the function the
pointer is being passed to expects a different address space, leading to
a type missmatch in the function argument.
I know nothing about how AMDGPU is supposed to work. I based this
solution on code from createDeviceArgumentAccessor(). Please could
somebody from AMD confirm this solution is appropriate.
Commit: ca582b1684c5f719b202b01d8727e9f8f4f1c3ec
https://github.com/llvm/llvm-project/commit/ca582b1684c5f719b202b01d8727e9f8f4f1c3ec
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Add FP8 lit tests (#127730)
Add FP8 lit tests to the following operators:
ARGMAX
AVGPOOL
CONV2D
CONV3D
DEPTHWISE_CONV2D
MATMUL
MAX_POOL2D
TRANSPOSE_CONV2D
CONST
CAST
CONCAT
PAD
RESHAPE
REVERSE
SLICE
TILE
TRANSPOSE
GATHER
SCATTER
Signed-off-by: Tai Ly <tai.ly at arm.com>
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: 96f369791d6c146ccadb03e7f9d6b1be37990425
https://github.com/llvm/llvm-project/commit/96f369791d6c146ccadb03e7f9d6b1be37990425
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Update the description section for CastOp to align with TOSA v1.0 spec (#129958)
Updated the description section to include all data types and match the
ordering with the spec.
https://www.mlplatform.org/tosa/tosa_spec.html#_cast
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: df79000896101acc9b8d7435e59f767b36c00ac8
https://github.com/llvm/llvm-project/commit/df79000896101acc9b8d7435e59f767b36c00ac8
Author: Augie Fackler <augie at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Debuginfod/Debuginfod.cpp
Log Message:
-----------
[clangd] fix warning by adding missing parens
Commit: 106c96462f2411ae8e84764feeb11246b997a169
https://github.com/llvm/llvm-project/commit/106c96462f2411ae8e84764feeb11246b997a169
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.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
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Change MatMul zero-point to inputs (#129785)
* Change zero-point attributes to inputs
* Fix relevant mlir tests
* Enhance ShardingInterface in MatMul
Signed-off-by: Udaya Ranga <udaya.ranga at arm.com>
Co-authored-by: Udaya Ranga <udaya.ranga at arm.com>
Commit: 8a43bc2c0989864f2635b4f79bb2d453a15cfd9a
https://github.com/llvm/llvm-project/commit/8a43bc2c0989864f2635b4f79bb2d453a15cfd9a
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/call-argument-attributes.ll
Log Message:
-----------
[MLIR][LLVMIR] Import: fix llvm.call attribute inheritance (#130221)
`inst->getFnAttr(Kind)` fallbacks to check if the parent has an
attribute, which breaks roundtriping the LLVM IR. This change actually
checks only in the call attribute list (no fallback to parent queries).
It's possible to argue that this small optimization isn't harmful, but
seems too early if it's breaking roundtrip behavior.
Commit: 50cfdf545e83ad92b614e98350d44ecdaeb755ae
https://github.com/llvm/llvm-project/commit/50cfdf545e83ad92b614e98350d44ecdaeb755ae
Author: Corbin Robeck <corbin.robeck at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Add Scale Convert Packed (B)FP8 <-> (B)F16 Support for GFX950 (#130300)
Add Rocdl support for the following GFX950 instructions:
CVT_SCALE_PK_FP8_F16
CVT_SCALE_PK_BF8_F16
CVT_SCALE_PK_FP8_BF16
CVT_SCALE_PK_BF8_BF16
CVT_SCALE_SR_FP8_F16
CVT_SCALE_SR_BF8_F16
CVT_SCALE_SR_FP8_BF16
CVT_SCALE_SR_BF8_BF16
CVT_SCALE_PK_F16_FP8
CVT_SCALE_PK_F16_BF8
CVT_SCALE_F16_FP8
CVT_SCALE_F16_BF8
Commit: 2619c2ed584cdf3b38e6743ed3c785223f06e3f7
https://github.com/llvm/llvm-project/commit/2619c2ed584cdf3b38e6743ed3c785223f06e3f7
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.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
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
Revert "[mlir][tosa] Change MatMul zero-point to inputs" (#130330)
Reverts llvm/llvm-project#129785. Need rebase.
Commit: 813bbe055df2357efd42eaf1f3e7f5926a071941
https://github.com/llvm/llvm-project/commit/813bbe055df2357efd42eaf1f3e7f5926a071941
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
Log Message:
-----------
[mlir][linalg] Allow fusing reshapes with non-parallel operands (#130148)
Removes the condition that checks that operand is not indexed by
reduction iterators which allows for more fine-grained control via the
reshape fusion control function. For example, users could allow fusing
reshapes expand the M/N dims of a matmul but not the K dims (or preserve
the current behavior by not fusing at all).
---------
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 6a42dc694cffb4658ef72db308cfae7bfbba16b5
https://github.com/llvm/llvm-project/commit/6a42dc694cffb4658ef72db308cfae7bfbba16b5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Simplify emitULEB128 in DecoderEmitter.cpp. NFC (#130214)
Instead of returning the number of bytes emitted, just take the iterator
by reference so the increments in emitULEB128 will update the copy in
the caller.
Also pass the iterator by reference to emitNumToSkip so we don't need a
separate I += 3 in the caller.
Commit: 4bc3592bd2cb5fae6dfb5b3958727bae4115a800
https://github.com/llvm/llvm-project/commit/4bc3592bd2cb5fae6dfb5b3958727bae4115a800
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/ModuloSchedule.cpp
Log Message:
-----------
[MachinePipeliner] Fix use-after-free coping values of the same DenseMap (#130311)
After #130165.
In the code: `VRMap[CurStageNum][Def] = VRMap[CurStageNum][LoopVal]`
`VRMap[CurStageNum][LoopVal]` calculates a reference before
`VRMap[CurStageNum][Def]` which may rehash the DenseMap.
Then the reference can be dead.
Commit: 78631ac51b6b590d89031b1af0e14adc5f6d96f7
https://github.com/llvm/llvm-project/commit/78631ac51b6b590d89031b1af0e14adc5f6d96f7
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
Log Message:
-----------
[Flang] explicitly link the pthread library when building shared flang-rt. (#129956)
This patch is to explicitly link the pthread library when building
shared flang-rt.
On AIX, for example, it needs to link in `libpthread.a` explicitly in
order to resolve the references to those `pthread_*` functions in
`include/flang-rt/runtime/lock.h`
Commit: 3a228a33c4cb55b56ecc45bee1ae02efba341b56
https://github.com/llvm/llvm-project/commit/3a228a33c4cb55b56ecc45bee1ae02efba341b56
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel] Main f16 test targets, new f16 funcs (#130208)
This patch adds acosf16 and asinf16 which I missed last patch, and also
the primary math tests for the float16 functions.
Commit: b19ed9c0435c5f7c89cba40285df3a1395a782fd
https://github.com/llvm/llvm-project/commit/b19ed9c0435c5f7c89cba40285df3a1395a782fd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/C/C2y/n3409.c
M clang/test/Sema/generic-selection-type-extension.c
M clang/test/Sema/generic-selection.c
M clang/test/SemaCXX/generic-selection.cpp
Log Message:
-----------
[C2y] Implement WG14 N3409 (#130299)
This paper removes UB around use of void expressions. Previously, code
like this had undefined behavior:
```
void foo(void) {
(void)(void)1;
extern void x;
x;
}
```
and this is now well-defined in C2y. Functionally, this now means that
it is valid to use `void` as a `_Generic` association.
Commit: fefb6858da42053268b53c07aff8e1cf84dc1ada
https://github.com/llvm/llvm-project/commit/fefb6858da42053268b53c07aff8e1cf84dc1ada
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[Clang][Docs] Fix ``ext_vector_type`` code block documentation
Commit: 868c409d38fe01cc403bb2b93b716b119d2dde10
https://github.com/llvm/llvm-project/commit/868c409d38fe01cc403bb2b93b716b119d2dde10
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-guardcf.s
Log Message:
-----------
Reapply "[LLD][COFF] Support CF guards on ARM64X (#128440)"
Both native and EC views share table chunks. Ensure relevant symbols are
set in both symbol tables.
Commit: b0baa1d8bd68a2ce2f7c5f2b62333e410e9122a1
https://github.com/llvm/llvm-project/commit/b0baa1d8bd68a2ce2f7c5f2b62333e410e9122a1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/tools/gold/gold-plugin.cpp
Log Message:
-----------
[gold] Fix compilation (#130334)
After #115331.
Commit: 0ea02e77218d8aee37bc1a7c776caeeff468dc39
https://github.com/llvm/llvm-project/commit/0ea02e77218d8aee37bc1a7c776caeeff468dc39
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3410.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim nonconformance to WG14 N3410
This paper made it a constraint violation for the same identifier
within a TU to have both internal and external linkage. It was
previously UB.
Clang does not correctly diagnose the constraint in some cases,
documented in the added test case.
Commit: 11b1f154be2e4641ae588097f92d3a89e855e03a
https://github.com/llvm/llvm-project/commit/11b1f154be2e4641ae588097f92d3a89e855e03a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/Other/print-prof-data.ll
Log Message:
-----------
Optionally print `!prof` metadata inline (#130303)
Inspired by PR #127944, this patch adds an option to print profile metadata inline with respect to the instruction (or function) it annotates - this saves one time from having to search up and down large textual modules to find this info.
Commit: 8c130b11cb27364f96e36740b3a62832b192cb62
https://github.com/llvm/llvm-project/commit/8c130b11cb27364f96e36740b3a62832b192cb62
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
Update the C status page for N3409
This was implemented in b19ed9c0435c5f7c89cba40285df3a1395a782fd but I
forgot to update the website at the same time.
Commit: 1b01f058f4d013f5cdea7b926b7aa4bcfc81cfac
https://github.com/llvm/llvm-project/commit/1b01f058f4d013f5cdea7b926b7aa4bcfc81cfac
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
Log Message:
-----------
[NVPTX] Make GlobalUniqueCallSite a member of NVPTXISelLowering (#130212)
This change moves GlobalUniqueCallSite into NVPTXISelLowering. In
processes where multiple compilations occur, this makes call site
enumeration local to individual compilation, which ensures that call
site numbers are consistently sequential within each compilation and is
independent of other compilations happening in parallel.
Commit: cb3ce30ca813b4158b93756e465fa0afe71bfc49
https://github.com/llvm/llvm-project/commit/cb3ce30ca813b4158b93756e465fa0afe71bfc49
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Fold NOT into predicate of wide compares. (#129430)
Add simplification to fold negation into a compare, if the negation is
the only user of the compare. This removes a number of redundant
negations.
Alive2 Proofs for FPCMP test changes: https://alive2.llvm.org/ce/z/WGDz9U
PR: https://github.com/llvm/llvm-project/pull/129430
Commit: dfbadfc5e5bc9d18f2c9fef0462715f24409dc79
https://github.com/llvm/llvm-project/commit/dfbadfc5e5bc9d18f2c9fef0462715f24409dc79
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.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
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Change MatMul zero-point to inputs (#130332)
* Change zero-point attributes to inputs
* Fix relevant mlir tests
* Enhance ShardingInterface in MatMul
Signed-off-by: Udaya Ranga <udaya.ranga at arm.com>
Co-authored-by: Udaya Ranga <udaya.ranga at arm.com>
Commit: 5ff43550fa2aa3b93aa7310b8e435ba9e1338486
https://github.com/llvm/llvm-project/commit/5ff43550fa2aa3b93aa7310b8e435ba9e1338486
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
Log Message:
-----------
Revert "Fix amdgpu-arch for dll name on Windows (#101350)"
This reverts commit 6fa1bfad65edefe3f4c17740f05297d34e833b47.
Revert it due to breaking buildbot:
Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\tools\amdgpu-arch\AMDGPUArchByHIP.cpp(104):
error C2039: 'parse': is not a member of 'llvm::VersionTuple'
https://lab.llvm.org/buildbot/#/builders/46/builds/13184
Commit: 6cc8b0bef07f4270303bec0fc203f251a2fde262
https://github.com/llvm/llvm-project/commit/6cc8b0bef07f4270303bec0fc203f251a2fde262
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
[lldb][test] Skip libsanitizers tests for now (#130305)
These are macOS tests only and are currently failing on the x86_64 CI
and on arm64 on recent versions of macOS/Xcode.
The tests are failing because we're stopping in:
```
Process 17458 stopped
* thread #1: tid = 0xbda69a, 0x00000002735bd000
libsystem_malloc.dylib`purgeable_print_self.cold.1, stop reason = EXC_BREAKPOINT (code=1, subcode=0x2735bd000)
```
instead of the libsanitizers library. This seems to be related to
`-fsanitize-trivial-abi` support
Skip these for now until we figure out the root cause.
Commit: dcda314b6c04a5f5558054df5ea7c02fb6fd9cbb
https://github.com/llvm/llvm-project/commit/dcda314b6c04a5f5558054df5ea7c02fb6fd9cbb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 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] Fix atmoicxor lowering to accept arrays (#130331)
The first agrument can be an address of a scalare, an array element or
even just the address of the first element of an array. Update lowering
to not trigger elemental lowering.
Commit: 21d973dbb335547848b77c01b106734942893693
https://github.com/llvm/llvm-project/commit/21d973dbb335547848b77c01b106734942893693
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
Reland [EquivClasses] Introduce members iterator-helper (#130319)
Changes: Fix the expectations in EquivalenceClassesTest.MemberIterator,
also fixing a build failure.
Commit: 8dd160f4767f971572eac065c8650d9202ff5bf9
https://github.com/llvm/llvm-project/commit/8dd160f4767f971572eac065c8650d9202ff5bf9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
Revert "[VPlan] Fold NOT into predicate of wide compares." (#130347)
Reverts llvm/llvm-project#129430
this seems to have introduced a divergence between legacy and
VPlan-based cost model
https://lab.llvm.org/buildbot/#/builders/30/builds/17159
Commit: f1178815d2435fdbe9eb5491ff52663e78c8ef7a
https://github.com/llvm/llvm-project/commit/f1178815d2435fdbe9eb5491ff52663e78c8ef7a
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
R flang/test/Lower/OpenMP/Todo/from-expectation-modifier.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-close.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-ompxhold.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-present.f90
R flang/test/Lower/OpenMP/Todo/to-expectation-modifier.f90
A flang/test/Lower/OpenMP/map-modifiers.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M offload/test/Inputs/target-use-dev-ptr.c
M offload/test/offloading/fortran/target-use-dev-ptr.f90
A offload/test/offloading/fortran/target_map_ompx_hold.f90
A offload/test/offloading/fortran/target_map_present_fail.f90
A offload/test/offloading/fortran/target_map_present_success.f90
A offload/test/offloading/fortran/usm_map_close.f90
Log Message:
-----------
[Flang][OpenMP][MLIR] Implement close, present and ompx_hold modifiers for Flang maps (#129586)
This PR adds an initial implementation for the map modifiers close,
present and ompx_hold, primarily just required adding the appropriate
map type flags to the map type bits. In the case of ompx_hold it
required adding the map type to the OpenMP dialect. Close has a bit of a
problem when utilised with the ALWAYS map type on descriptors, so it is
likely we'll have to make sure close and always are not applied to the
descriptor simultaneously in the future when we apply always to the
descriptors to facilitate movement of descriptor information to device
for consistency, however, we may find an alternative to this with
further investigation. For the moment, it is a TODO/Note to keep track
of it.
Commit: d90423e310482bdbc731242fa25dcb3dd44e69de
https://github.com/llvm/llvm-project/commit/d90423e310482bdbc731242fa25dcb3dd44e69de
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M libc/test/src/stdlib/SortingTest.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc][bazel] Minor cleanup to remove unused dependencies. (#130348)
* strcpy doesn't need to depend on memcpy
* qsort_test_helper has been generalized and doesn't need to depend on
qsort.
This is a small cleanup to unblock the work outlined in #130327.
Commit: 993cbead9e5c2385b93b7931b74c5d83dbadeb34
https://github.com/llvm/llvm-project/commit/993cbead9e5c2385b93b7931b74c5d83dbadeb34
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
A llvm/test/DebugInfo/Generic/subrange_type.ll
Log Message:
-----------
Two fixes for DISubrangeType (#130345)
My previous patch to add DISubrangeType (#126772) had a couple of minor
errors. This patch corrects them.
1. When using a DISubrangeType as an array index type, the wrong tag was
written into the DIE.
2. I'd intended for subranges to use bit strides, not byte strides --
but neglected to actually implement this. Ada needs bit strides.
This patch adds a new test that checks both these things.
Finally, this patch adds some documentation for DISubrangeType.
Commit: c419acdf82d3b33cf151f78865469cf155ddf372
https://github.com/llvm/llvm-project/commit/c419acdf82d3b33cf151f78865469cf155ddf372
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Recognize CXXUnresolvedConstructExpr as a safe origin. (#130258)
Handle CXXUnresolvedConstructExpr in tryToFindPtrOrigin so that
constructing Ref, RefPtr, CheckedRef, CheckedPtr, ... constructed in
such a way that its type is unresolved at AST level will be still
treated as a safe pointer origin.
Also fix a bug in isPtrOfType that it was not recognizing
DeducedTemplateSpecializationType.
Commit: 356bbb0b2527ba929ac239596b361d257a411d2a
https://github.com/llvm/llvm-project/commit/356bbb0b2527ba929ac239596b361d257a411d2a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[NFC][IR] Use auto instead of explicit type (#130351)
Preparation for CFI Index refactoring,
which will fix O(N^2) in ThinLTO indexing.
Commit: e4a6e2eb7176e677eb9a9c45913a284d374d60c5
https://github.com/llvm/llvm-project/commit/e4a6e2eb7176e677eb9a9c45913a284d374d60c5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[NFC][IR] Remove redundant .empty() check (#130352)
Preparation for CFI Index refactoring,
which will fix O(N^2) in ThinLTO indexing.
Commit: d8e8892ddfe4ba1e3b7f859134766ef942bc0ba2
https://github.com/llvm/llvm-project/commit/d8e8892ddfe4ba1e3b7f859134766ef942bc0ba2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
[NFC][ThinLTO] Avoid temporary std::string (#130353)
Preparation for CFI Index refactoring,
which will fix O(N^2) in ThinLTO indexing.
Commit: e3076c6f3df8e5611406426f6c93b38c8a721a4b
https://github.com/llvm/llvm-project/commit/e3076c6f3df8e5611406426f6c93b38c8a721a4b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[NFC][IR] Use emplace instead of insert (#130360)
Preparation for for CFI Index refactoring,
which will fix O(N^2) in ThinLTO indexing.
Commit: b2563028cf8285f1e77f6bdba9268cd92cd9355e
https://github.com/llvm/llvm-project/commit/b2563028cf8285f1e77f6bdba9268cd92cd9355e
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Add alloc_size knowledge to the 2-param span constructor warning (#114894)
We can take advantage of the attribute `alloc_size`. For example,
```
void * malloc(size_t size) __attribute__((alloc_size(1)));
std::span<char>{(char *)malloc(x), x}; // this is safe
```
rdar://136634730
Commit: 76e9b2a6142af1a6560bfaca261c200fbb7014d0
https://github.com/llvm/llvm-project/commit/76e9b2a6142af1a6560bfaca261c200fbb7014d0
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc][bazel] Introduce libc_test_library macros. (#130355)
Use it instead of libc_support_library macros for all helper libraries
that are used for unit tests. See #130327 for the rationale why we want
to do this. With this change, we can additionally ensure that no
testonly library will end up being a dependency of production libraries.
Commit: 23a44b925a7599301c5ae92e03dc7e1067385961
https://github.com/llvm/llvm-project/commit/23a44b925a7599301c5ae92e03dc7e1067385961
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-p9vector.c
Log Message:
-----------
[NFC] Add additional checks to test for vec_pack_to_short_fp32 (#130324)
Update test in prep for IR changes that will be introduced in
https://github.com/llvm/llvm-project/pull/129923
Commit: 0ea52234fc3510463df2d8718404cede874e9b5e
https://github.com/llvm/llvm-project/commit/0ea52234fc3510463df2d8718404cede874e9b5e
Author: Chris B <chris.bieneman at me.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/HLSL.h
A clang/test/Driver/HLSL/metal-converter.hlsl
Log Message:
-----------
[DXC] Add `-metal` flag to DXC driver (#130173)
This adds a flag to the DXC driver to enable calling the metal shader
converter if it is available to convert the final shader output for
metal.
Commit: 8ac359ba0d7ec1f1e7334a50405f0f20983b997a
https://github.com/llvm/llvm-project/commit/8ac359ba0d7ec1f1e7334a50405f0f20983b997a
Author: Greg Clayton <gclayton at fb.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/docs/use/symbolfilejson.rst
M lldb/include/lldb/Core/Section.h
M lldb/source/Core/Section.cpp
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
M lldb/test/API/functionalities/json/object-file/TestObjectFileJSON.py
Log Message:
-----------
Add complete ObjectFileJSON support for sections. (#129916)
Sections now support specifying:
- user IDs
- file offset/size
- alignment
- flags
- bool values for fake, encrypted and thread specific sections
Commit: 829e8993e5998f69fe04d23a815aeab51de9a4c5
https://github.com/llvm/llvm-project/commit/829e8993e5998f69fe04d23a815aeab51de9a4c5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 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] Lower __LDCA, __LDCS, __LDLU, __LDCV, __LDCG with arrays (#130357)
Commit: ae42f071032b29821beef6a33771258086bbbb1c
https://github.com/llvm/llvm-project/commit/ae42f071032b29821beef6a33771258086bbbb1c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 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] Allow array pointer for atomicexch and atomiccas (#130363)
Commit: 0db702ac8e06911478615ac537f75ac778817c04
https://github.com/llvm/llvm-project/commit/0db702ac8e06911478615ac537f75ac778817c04
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[NFC][IR] Wrap std::set into CfiFunctionIndex (#130361)
Preparation for CFI Index refactoring,
which will fix O(N^2) in ThinLTO indexing.
We need a data structure to lookup by GUID.
Wrapping allow us to change implementation
with minimal changes to users.
Commit: ecec7d15a7024dbeb81cb7e7be814750d6615d20
https://github.com/llvm/llvm-project/commit/ecec7d15a7024dbeb81cb7e7be814750d6615d20
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AMDGPU/copy-to-reg-frameindex.ll
Log Message:
-----------
DAG: Use phi in alloca constant case to create virtual registers (#130254)
This is a follow up from 39bf765bb671fa7df3fe6c164cc9532fcb8653bd,
for the other case handled here. We would create CopyToReg marked
as uniform, even though the end phi would need to use VGPRs due
to another divergent input. There's no directly observable change in
the final output of the new test, but it does hit this case.
Commit: 8ce612ff702bf78137e3cea0544351d4826f9f69
https://github.com/llvm/llvm-project/commit/8ce612ff702bf78137e3cea0544351d4826f9f69
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis.ll
M llvm/test/CodeGen/AMDGPU/amdpal_scratch_mergedshader.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/bug-deadlanes.ll
M llvm/test/CodeGen/AMDGPU/coalescer_distribute.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/cse-phi-incoming-val.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-crash.ll
M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
M llvm/test/CodeGen/AMDGPU/fold-fabs.ll
M llvm/test/CodeGen/AMDGPU/i1-copy-phi.ll
M llvm/test/CodeGen/AMDGPU/implicit-def-muse.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
M llvm/test/CodeGen/AMDGPU/madmk.ll
M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-worklist.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/rewrite-undef-for-phi.ll
M llvm/test/CodeGen/AMDGPU/schedule-vs-if-nested-loop-failure.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
M llvm/test/CodeGen/AMDGPU/simplifydemandedbits-recursion.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-crash.ll
M llvm/test/CodeGen/AMDGPU/switch-default-block-unreachable.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/uniform-phi-with-undef.ll
M llvm/test/CodeGen/AMDGPU/unigine-liveness-crash.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
AMDGPU: Replace undef phi inputs with poison in tests (#130267)
I think the chance of this changing the tests in meaningful ways
is very low. This was perl with a few minor adjustments to a few
tests that produce new undefs. Only one test had a minor codegen
change with the switch, which I dropped from the change.
Commit: ab87206c4b95aa0b5047facffb5f78f7fe6ac269
https://github.com/llvm/llvm-project/commit/ab87206c4b95aa0b5047facffb5f78f7fe6ac269
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
M llvm/test/CodeGen/X86/finite-libcalls.ll
Log Message:
-----------
[X86][GlobalISel] Enable POW/EXP*/LOG* functions with libcall mapping (#130328)
Commit: 76393d3863bf7394edb69fb6a371b9a1c2c09ff6
https://github.com/llvm/llvm-project/commit/76393d3863bf7394edb69fb6a371b9a1c2c09ff6
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M clang/test/CodeGenCXX/wasm-eh.cpp
Log Message:
-----------
[WebAssembly] Rename functions in wasm-eh.cpp (#130220)
I think it is generally better for tests have some descriptive function
names so that we can insert new tests in the middle and don't have to
renumber all tests.
Also recently I added a (named) test to this file in #129020 so I think
it's consistent for other tests to be named.
Commit: 15869a861b598b06f3888dcc12882b8bb2325671
https://github.com/llvm/llvm-project/commit/15869a861b598b06f3888dcc12882b8bb2325671
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
Log Message:
-----------
[AMDGPU][MC] Don't crash on decoding invalid SOP1 ssrc0 operands. (#130302)
These are encoded as 8-bit fields.
Commit: a5588b6d20590a10db0f1a2046fba4d9f205ed68
https://github.com/llvm/llvm-project/commit/a5588b6d20590a10db0f1a2046fba4d9f205ed68
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/strings.yaml
M libc/src/strings/CMakeLists.txt
A libc/src/strings/ffs.cpp
A libc/src/strings/ffs.h
A libc/src/strings/ffsl.cpp
A libc/src/strings/ffsl.h
A libc/src/strings/ffsll.cpp
A libc/src/strings/ffsll.h
M libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/ffs_test.cpp
A libc/test/src/strings/ffsl_test.cpp
A libc/test/src/strings/ffsll_test.cpp
Log Message:
-----------
[libc] implement `strings/ffs` (#129892)
This patch adds the `strings/ffs` function.
ref: https://pubs.opengroup.org/onlinepubs/9799919799/functions/ffs.html
Closes: #122054.
Commit: 5bc166728abe3c80a271d3883d12805161b96335
https://github.com/llvm/llvm-project/commit/5bc166728abe3c80a271d3883d12805161b96335
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
Revert "Reland [EquivClasses] Introduce members iterator-helper" (#130380)
Reverts llvm/llvm-project#130319
Multiple bot failures.
Commit: cf1964af5a461196904b663ede04c26555fcff69
https://github.com/llvm/llvm-project/commit/cf1964af5a461196904b663ede04c26555fcff69
Author: R <rqou at berkeley.edu>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
A flang/test/Fir/alloc-32.fir
M flang/test/Fir/alloc.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/forall/character-1.f90
Log Message:
-----------
[flang] In AllocMemOp lowering, convert types for calling malloc on 32-bit (#129308)
Although 32-bit targets are currently not officially supported, add a type conversion in the AllocMemOp lowering when calling the `malloc` function on 32-bit targets. This fixes a type mismatch, and this fix makes it easier to potentially support such targets in the future.
This involves making sure the `LLVMTypeConverter` has the necessary information to know the target bit width.
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: d8747eac36fb4f965de3cef252227be775a59959
https://github.com/llvm/llvm-project/commit/d8747eac36fb4f965de3cef252227be775a59959
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVMIR] Translation: honor frame-pointer fn attribute (#130335)
Commit: 3121da52aa788199185585aa11f3d55b03adc93d
https://github.com/llvm/llvm-project/commit/3121da52aa788199185585aa11f3d55b03adc93d
Author: R <rqou at berkeley.edu>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
R flang/test/Fir/alloc-32.fir
M flang/test/Fir/alloc.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/forall/character-1.f90
Log Message:
-----------
Revert "[flang] In AllocMemOp lowering, convert types for calling malloc on 32-bit (#129308)"
This reverts commit cf1964af5a461196904b663ede04c26555fcff69.
This causes breakage on all the non-x86 buildbots as they don't have the i686
target enabled. This was missed in pre-commit CI.
Commit: 7dd5f2327955458f0aaf1c8cf27dbd684c0a3453
https://github.com/llvm/llvm-project/commit/7dd5f2327955458f0aaf1c8cf27dbd684c0a3453
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[NFC][LTO] Move GUID calculation into CfiFunctionIndex (#130370)
Preparation for CFI Index refactoring,
which will fix O(N^2) in ThinLTO indexing.
Commit: ff033d1f28c6ea9ccced2a2c979395d3bef8aeec
https://github.com/llvm/llvm-project/commit/ff033d1f28c6ea9ccced2a2c979395d3bef8aeec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use reference instead of pointer for FilterChooser in Filter. NFC
Commit: 942fb038910036965ffe56cc53fd882eddbc6cba
https://github.com/llvm/llvm-project/commit/942fb038910036965ffe56cc53fd882eddbc6cba
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVMIR] Translation: honor target-features fn attribute (#130343)
Commit: 7602d781b03427052c44537fa4b9c2a6da15697c
https://github.com/llvm/llvm-project/commit/7602d781b03427052c44537fa4b9c2a6da15697c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang/test/Driver/hip-partial-link.hip
Log Message:
-----------
clang/HIP: Use regex for final path separator in hip-partial-link, again (#130371)
Commit: d08cf7900d2aaff9e7483ea74a58871edbdc45f2
https://github.com/llvm/llvm-project/commit/d08cf7900d2aaff9e7483ea74a58871edbdc45f2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
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/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.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/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/CodeGen/builtin-constant-p.c
M clang/test/CodeGenCXX/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_constant_p (#130143)
Use the regular code paths for interpreting.
Add new instructions: `StartSpeculation` will reset the diagnostics
pointers to `nullptr`, which will keep us from reporting any diagnostics
during speculation. `EndSpeculation` will undo this.
The rest depends on what `Emitter` we use.
For `EvalEmitter`, we have no bytecode, so we implement `speculate()` by
simply visiting the first argument of `__builtin_constant_p`. If the
evaluation fails, we push a `0` on the stack, otherwise a `1`.
For `ByteCodeEmitter`, add another instrucion called `BCP`, that
interprets all the instructions following it until the next
`EndSpeculation` instruction. If any of those instructions fails, we
jump to the `EndLabel`, which brings us right before the
`EndSpeculation`. We then push the result on the stack.
Commit: 6f7570c200aa1ee9af9d1eb7a378d56264ee297e
https://github.com/llvm/llvm-project/commit/6f7570c200aa1ee9af9d1eb7a378d56264ee297e
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp
Log Message:
-----------
[clang-tidy][misc-use-internal-linkage] fix false positives for function or variable in header file which contains macro expansion (#129594)
When check whether in main file, spelling loc will lead to `<scratch
space>`. instead, expansion loc is close to loc after preprocess. It is
suitable to analyze linkage.
Commit: f5789824900d61a8fbabe17c4449ff2e31d24ad4
https://github.com/llvm/llvm-project/commit/f5789824900d61a8fbabe17c4449ff2e31d24ad4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Remove unnecessary const_cast. NFC
Commit: 61efe360f9ba70736ca27ad289277c5c8268ffc0
https://github.com/llvm/llvm-project/commit/61efe360f9ba70736ca27ad289277c5c8268ffc0
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
[lldb] Avoid unnecessary regex check in dwim-print (#114608)
An (unmeasured) improvement to performance of `dwim-print` when used as `po`.
This change lifts the check for `note_shown` to the top of the lambda, to avoid all subsequent work when the hint has already been shown. The main effect is to avoid performing a regex match when the hint is not going to be shown.
This change also constructs the `std::regex` only once, by making it static.
Commit: 8370ac88af288f5afa1028267a85a3456a38e810
https://github.com/llvm/llvm-project/commit/8370ac88af288f5afa1028267a85a3456a38e810
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Remove push_back from loop. NFC
We can initialize the vector to the right size and then assign
over some entries in the loop.
Commit: d65719fab3a624022f1fdd647c11f0a1553f6d46
https://github.com/llvm/llvm-project/commit/d65719fab3a624022f1fdd647c11f0a1553f6d46
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use isUInt to simplify some asserts. NFC
Commit: f2607df291b4a9e6b1a72b3ee0d4e87066421db3
https://github.com/llvm/llvm-project/commit/f2607df291b4a9e6b1a72b3ee0d4e87066421db3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use uint8_t for bit_value_t enum. NFC
This reduces the amount of space needed for vectors of bit_value_t
and allows the user of memset.
Also reorder the enum values so BIT_FALSE is 0 and BIT_TRUE is 1.
Commit: de1d351c64cb8f061d734e5d74de494b12ed2352
https://github.com/llvm/llvm-project/commit/de1d351c64cb8f061d734e5d74de494b12ed2352
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/test/Dialect/Affine/loop-fusion-2.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Fix fusion private memref creation for multiple producer stores (#130365)
Fix private memref creation in affine fusion for the multiple producer
store
case. This scenario was not supported but not properly checked.
Fixes: https://github.com/llvm/llvm-project/issues/120227
Commit: d4d4fc3df1e72b5a451a65af33eb3cd231aeb224
https://github.com/llvm/llvm-project/commit/d4d4fc3df1e72b5a451a65af33eb3cd231aeb224
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[MLIR][Affine] Fix scalrep and underlying analysis utility (#130251)
Fixes: https://github.com/llvm/llvm-project/issues/53034
Properly check the scopes of affine operations across which we are
performing affine analysis. Fixes transforms and analyses in the
presence of non-affine regions.
Commit: e85e44ca9cca70990a0b6a96a11014f2ac56aca5
https://github.com/llvm/llvm-project/commit/e85e44ca9cca70990a0b6a96a11014f2ac56aca5
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[MLIR][Affine] Fix crash in affine.for empty loop folder (#130372)
A yield value can be the loop IV itself.
Fixes: https://github.com/llvm/llvm-project/issues/74301
Commit: 474238bbfa194ef8f46ee8b3e8d91258885ceb63
https://github.com/llvm/llvm-project/commit/474238bbfa194ef8f46ee8b3e8d91258885ceb63
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterBankInfo.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#130388)
Commit: 9f83914880ad786196fb0a9658ef2c467fb23074
https://github.com/llvm/llvm-project/commit/9f83914880ad786196fb0a9658ef2c467fb23074
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#130389)
Commit: eef0ddaeb8e13d975ffbc97b1733a0cf19e0b572
https://github.com/llvm/llvm-project/commit/eef0ddaeb8e13d975ffbc97b1733a0cf19e0b572
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#130390)
Commit: 3e0c503e3e259ce63b08e5d780a82fe7385dfbc8
https://github.com/llvm/llvm-project/commit/3e0c503e3e259ce63b08e5d780a82fe7385dfbc8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#130391)
Commit: 49cf69a46b0527eaa7ac2eb1f4be898dd99727ba
https://github.com/llvm/llvm-project/commit/49cf69a46b0527eaa7ac2eb1f4be898dd99727ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
Log Message:
-----------
[SystemZ] Avoid repeated hash lookups (NFC) (#130392)
Commit: 0cffcd3932c5ff6a681026b9d2c482b28be85eba
https://github.com/llvm/llvm-project/commit/0cffcd3932c5ff6a681026b9d2c482b28be85eba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#130393)
Commit: 318bd451583ea695cc74a22f37351399e42aeb99
https://github.com/llvm/llvm-project/commit/318bd451583ea695cc74a22f37351399e42aeb99
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M .github/workflows/libclang-python-tests.yml
Log Message:
-----------
[libclang/python] Update maximum Python version for CI to 3.13 (#130385)
Commit: f3390fca034d2762f87ac8057078d6e9661305ce
https://github.com/llvm/llvm-project/commit/f3390fca034d2762f87ac8057078d6e9661305ce
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivClasses] Fix signature of copy-assignment operator (#130140)
The current signature is unusual, and deviates from the C++ operator
overloading spec.
https://en.cppreference.com/w/cpp/language/copy_assignment
Commit: 73e14de207a3aa0fa071fa56756e8e316edf5227
https://github.com/llvm/llvm-project/commit/73e14de207a3aa0fa071fa56756e8e316edf5227
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/matrix-multiply.ll
Log Message:
-----------
[X86] combineConcatVectorOps - recursively call combineConcatVectorOps instead of predicting when ops will freely concat (#130275)
The IsConcatFree helper is limited to estimates on where concatenating the subvector operands is beneficial, this patch replaces FADD/FSUB/FMUL concatenation checks with a recursive call to combineConcatVectorOps to see if it will profitably concatenate further up the chain.
Other opcodes can be moved to using the CombineSubOperand helper in future patches.
Commit: 3b8f9a228c5f12f282778b18117b9a88c07e87cb
https://github.com/llvm/llvm-project/commit/3b8f9a228c5f12f282778b18117b9a88c07e87cb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Loosen assertion This() for array elements (#130399)
getRecord() returns null on array elements, even for composite arrays.
The assertion here was overly restrictive and having an array element as
instance pointer should be fine otherwise.
Commit: 6d9dfd75e4df9fdff9ea34f1c0bd741bf5b53b89
https://github.com/llvm/llvm-project/commit/6d9dfd75e4df9fdff9ea34f1c0bd741bf5b53b89
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__type_traits/reference_constructs_from_temporary.h
A libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/module.modulemap
M libcxx/include/type_traits
M libcxx/modules/std/type_traits.inc
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/common.h
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
Log Message:
-----------
[libc++][type_traits] Implements "A type trait to detect reference binding to temporary" (#128649)
Implements partially: [P2255R2: A type trait to detect reference binding
to temporary](https://wg21.link/P2255R2)
Issue: https://github.com/llvm/llvm-project/issues/105180
https://eel.is/c++draft/meta.type.synop
https://eel.is/c++draft/meta.unary.prop
Implented type traits:
- [x] `reference_constructs_from_temporary`
- [x] `reference_converts_from_temporary`
Closes #129049
Minor drive-by tweak to `std::is_implicit_lifetime` tests.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: e86c5a7b9dbff5383cf9c81aa9eff38a92ce73aa
https://github.com/llvm/llvm-project/commit/e86c5a7b9dbff5383cf9c81aa9eff38a92ce73aa
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 6d9dfd75e4df
Commit: a779af3f882e1500ee6b9cb973e60c10ea0819b4
https://github.com/llvm/llvm-project/commit/a779af3f882e1500ee6b9cb973e60c10ea0819b4
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill-xfail.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/issue48473.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/unallocatable-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
M llvm/test/CodeGen/AMDGPU/vgpr-large-tuple-alloc-error.ll
M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs.mir
Log Message:
-----------
[AMDGPU] Change SGPR layout to striped caller/callee saved (#127353)
This PR updates the SGPR layout to a striped caller/callee-saved design,
similar
to the VGPR layout.
To ensure that s30-s31 (return address), s32 (stack pointer), s33 (frame
pointer), and s34 (base pointer) remain callee-saved, the striped layout
starts
from s40, with a stripe width of 8. The last stripe is 10 wide instead
of 8 to
avoid ending with a 2-wide stripe.
Fixes #113782.
Commit: b01c71bbd4f7f7565313c38ac7a3b7377eada798
https://github.com/llvm/llvm-project/commit/b01c71bbd4f7f7565313c38ac7a3b7377eada798
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Dialect/Affine/loop-unswitch.mlir
Log Message:
-----------
[MLIR][Affine] Fix crash in loop unswitching/hoistAffineIfOp (#130401)
Fix obvious crash as a result of missing affine.parallel handling. Also,
fix bug exposed in a helper method used by hoistAffineIfOp.
Fixes: https://github.com/llvm/llvm-project/issues/62323
Commit: 46d218d1af5d285a646a1e5d3be6a43940fb4a9d
https://github.com/llvm/llvm-project/commit/46d218d1af5d285a646a1e5d3be6a43940fb4a9d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_{memchr,strchr,char_memchr} (#130420)
llvm has recently started to use `__builitn_memchr` at compile time, so
implement this. Still needs some work but the basics are done.
Commit: 037756242f6eb3cdd6e73ab6597651f87aa7b933
https://github.com/llvm/llvm-project/commit/037756242f6eb3cdd6e73ab6597651f87aa7b933
Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
Log Message:
-----------
[mlir]Add a check to ensure bailing out when reducing to a scalar (#129694)
Fixes issue #64075
Referencing this comment for more detailed view ->
https://github.com/llvm/llvm-project/issues/64075#issuecomment-2694112594
**Minimal example crashing :**
```
func.func @multi_reduction(%0: vector<4x2xf32>, %acc1: f32) -> f32 {
%2 = vector.multi_reduction <add>, %0, %acc1 [0, 1] : vector<4x2xf32> to f32
return %2 : f32
}
```
Commit: b15e7f3c23bfffe3b4a0180b5433bf5a876b87ae
https://github.com/llvm/llvm-project/commit/b15e7f3c23bfffe3b4a0180b5433bf5a876b87ae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-08 (Sat, 08 Mar 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/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - attempt to recursively shuffle combine if both base/sub-vectors are already shuffles (#130304)
Commit: a1b14dbc4740fe49dfb2af44907a195597474556
https://github.com/llvm/llvm-project/commit/a1b14dbc4740fe49dfb2af44907a195597474556
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Progress.h
R lldb/include/lldb/Host/Alarm.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Host/CMakeLists.txt
R lldb/source/Host/common/Alarm.cpp
M lldb/test/API/python_api/sbprogress/TestSBProgress.py
M lldb/unittests/Callback/TestBreakpointSetCallback.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
R lldb/unittests/Host/AlarmTest.cpp
M lldb/unittests/Host/CMakeLists.txt
Log Message:
-----------
[lldb] Remove progress report coalescing (#130329)
Remove support for coalescing progress reports in LLDB. This
functionality was motivated by Xcode, which wanted to listen for less
frequent, aggregated progress events at the cost of losing some detail.
See the original RFC [1] for more details. Since then, they've
reevaluated this trade-off and opted to listen for the regular, full
fidelity progress events and do any post processing on their end.
rdar://146425487
Commit: a22a646eaa33492cc3318aa44b433992741b1996
https://github.com/llvm/llvm-project/commit/a22a646eaa33492cc3318aa44b433992741b1996
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port a1b14dbc4740
Commit: e4fe22a8bd1853331d4811546ac038252baee79d
https://github.com/llvm/llvm-project/commit/e4fe22a8bd1853331d4811546ac038252baee79d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Check conditional op condition for ConstantExprs (#130425)
Same thing we now do in if statements. Check the condition of a
conditional operator for a statically known true/false value.
Commit: ed93e6b0e6bb83a356ad3a34f9e6c989db7b59f3
https://github.com/llvm/llvm-project/commit/ed93e6b0e6bb83a356ad3a34f9e6c989db7b59f3
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Added test for dag spill fix
Commit: bac490b0bc9e870d479564334db14303043e6c83
https://github.com/llvm/llvm-project/commit/bac490b0bc9e870d479564334db14303043e6c83
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[TableGen] Use Register in FastISel output. NFC
Commit: aff6ab9d90d23c46bc5f4b909d54bfa9c95c9f03
https://github.com/llvm/llvm-project/commit/aff6ab9d90d23c46bc5f4b909d54bfa9c95c9f03
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Surround bcp condition with Start/EndSpeculation (#130427)
This is similar to what the current interpreter is doing - the
FoldConstant RAII object surrounds the entire HandleConditionalOperator
call, which means the condition and both TrueExpr or FalseExpr.
Commit: 6f77f534d05dc3069ea4d0d7a847d77d45b798f4
https://github.com/llvm/llvm-project/commit/6f77f534d05dc3069ea4d0d7a847d77d45b798f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
M llvm/test/CodeGen/X86/masked_store_trunc_usat.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.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-rotate-256.ll
M llvm/test/CodeGen/X86/vector-trunc-packus.ll
M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
M llvm/test/CodeGen/X86/vector-trunc-usat.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert (V)SHUFPS concatenation to use combineConcatVectorOps recursion (#130426)
Only concatenate X86ISD::SHUFP nodes if at least one operand is
beneficial to concatenate - helps prevent lot of unnecessary AVX1
concatenations
Commit: 2fb1f032240373e8050808f4acefe461e8e10737
https://github.com/llvm/llvm-project/commit/2fb1f032240373e8050808f4acefe461e8e10737
Author: vporpo <vporpodas at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Region.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
A llvm/test/Transforms/SandboxVectorizer/regions-from-bbs.ll
Log Message:
-----------
[SandboxVec] Add region-from-bbs helper pass (#130153)
RegionFromBBs is a helper Sandbox IR function pass that builds a region
for each BB. This helps test region passes in isolation without relying
on other parts of the vectorizer, which is especially useful for
stress-testing.
Commit: 3ac24236aac596e81641a5e551cefe5227de2bd3
https://github.com/llvm/llvm-project/commit/3ac24236aac596e81641a5e551cefe5227de2bd3
Author: Peter Jung <admin at ptr1337.dev>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[llvm-profdata] Fix typo in llvm-profdata (#114675)
Signed-off-by: Peter Jung <admin at ptr1337.dev>
Commit: 90b1e5bc8aa03099c84cba6898ba26e40df398fa
https://github.com/llvm/llvm-project/commit/90b1e5bc8aa03099c84cba6898ba26e40df398fa
Author: Jade <spacey-sooty at proton.me>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/include/llvm/Support/MathExtras.h
Log Message:
-----------
[llvm][NFC]Fix a few typos (#110844)
Commit: c182e9db1e46fc4fcc9664e89b55f3c1dc493250
https://github.com/llvm/llvm-project/commit/c182e9db1e46fc4fcc9664e89b55f3c1dc493250
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 2fb1f0322403
Commit: 379405afc074d251330dd0fa104d1735d4ce175b
https://github.com/llvm/llvm-project/commit/379405afc074d251330dd0fa104d1735d4ce175b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix typo in X86ISD::SHUFP concatenation
Commit: c4ed0ad1f52a7bec7377bbaf75f812527ec739bd
https://github.com/llvm/llvm-project/commit/c4ed0ad1f52a7bec7377bbaf75f812527ec739bd
Author: Liberty <gigacms at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[Clang] Fix typo 'dereferencable' to 'dereferenceable' (#116761)
This patch corrects the typo 'dereferencable' to 'dereferenceable' in
CGCall.cpp.
The typo is located within a comment inside the `void
CodeGenModule::ConstructAttributeList` function.
Commit: 4d5955215eb74a3bfa2394333a0a412df7d5a036
https://github.com/llvm/llvm-project/commit/4d5955215eb74a3bfa2394333a0a412df7d5a036
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
Log Message:
-----------
[NFC][YAML][IR] Output CfiFunction sorted (#130379)
As-is it's NFC, as internally `CfiFunction*` are std::set<>.
We are changing internals of `CfiFunctionDefs` and
`CfiFunctionDecls` so they will be ordered by GUID.
Sorting by name is unnecessary but good for
readability and tests.
Commit: 262a7755822c5eec96aea41f7f010b15c040f480
https://github.com/llvm/llvm-project/commit/262a7755822c5eec96aea41f7f010b15c040f480
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
Log Message:
-----------
[libc++][NFC] Fixed bad link in 21.rst (#130428)
Commit: 1b2c23acbbc1658567de0e08a89d84acfd7ee268
https://github.com/llvm/llvm-project/commit/1b2c23acbbc1658567de0e08a89d84acfd7ee268
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-result.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
Re-land "[mlir][ODS] Add a generated builder that takes the Properties struct" (#130117) (#130373)
This reverts commit 32f543760c7f44c4c7d18bc00a3a1d8860c42bff.
Investigations showed that the unit test utilities were calling erase(),
causing a use-after-free. Fixed by rearranging checks in the test
Commit: 49e585f4c44e379193453a9c344807f44a97664f
https://github.com/llvm/llvm-project/commit/49e585f4c44e379193453a9c344807f44a97664f
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/tools/gold/gold-plugin.cpp
Log Message:
-----------
Revert "[gold] Fix compilation (#130334)"
This reverts commit b0baa1d8bd68a2ce2f7c5f2b62333e410e9122a1.
Reverting follow-up commit to ce9e1d3c15ed6290f1cb07b482939976fa8115cd since the original commit test is flaky.
Commit: 0d209c6d905e3da7eae28e5f27c7f0ad33f60c91
https://github.com/llvm/llvm-project/commit/0d209c6d905e3da7eae28e5f27c7f0ad33f60c91
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Debuginfod/Debuginfod.cpp
Log Message:
-----------
Revert "[clangd] fix warning by adding missing parens"
This reverts commit df79000896101acc9b8d7435e59f767b36c00ac8.
Reverting follow-up commit to ce9e1d3c15ed6290f1cb07b482939976fa8115cd since the original commit test is flaky.
Commit: 1d763f383380ec629ee6d5053fd41322efcbc6bd
https://github.com/llvm/llvm-project/commit/1d763f383380ec629ee6d5053fd41322efcbc6bd
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M lldb/source/Core/DataFileCache.cpp
M llvm/include/llvm/Support/Caching.h
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Support/Caching.cpp
M llvm/tools/gold/gold-plugin.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/Caching.cpp
Log Message:
-----------
Revert "Modify the localCache API to require an explicit commit on CachedFile… (#115331)"
This reverts commit ce9e1d3c15ed6290f1cb07b482939976fa8115cd.
The unittest added in this commit seems to be flaky causing random failure on buildbots:
- https://lab.llvm.org/buildbot/#/builders/46/builds/13235
- https://lab.llvm.org/buildbot/#/builders/46/builds/13232
- https://lab.llvm.org/buildbot/#/builders/46/builds/13228
- https://lab.llvm.org/buildbot/#/builders/46/builds/13224
- https://lab.llvm.org/buildbot/#/builders/46/builds/13220
- https://lab.llvm.org/buildbot/#/builders/46/builds/13210
- https://lab.llvm.org/buildbot/#/builders/46/builds/13208
- https://lab.llvm.org/buildbot/#/builders/46/builds/13207
- https://lab.llvm.org/buildbot/#/builders/46/builds/13202
- https://lab.llvm.org/buildbot/#/builders/46/builds/13196
and
- https://lab.llvm.org/buildbot/#/builders/180/builds/14266
- https://lab.llvm.org/buildbot/#/builders/180/builds/14254
- https://lab.llvm.org/buildbot/#/builders/180/builds/14250
- https://lab.llvm.org/buildbot/#/builders/180/builds/14245
- https://lab.llvm.org/buildbot/#/builders/180/builds/14244
- https://lab.llvm.org/buildbot/#/builders/180/builds/14226
Commit: 3a0d0c6b1edfa4a71e494938e8c6e8ee8cfe83b7
https://github.com/llvm/llvm-project/commit/3a0d0c6b1edfa4a71e494938e8c6e8ee8cfe83b7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
Log Message:
-----------
[NFC][YAML] Switch `std::sort` to `llvm::sort` (#130448)
Follow up to #130379.
Commit: a892a5dc5ee83dc8894fb6b7db00106f10865758
https://github.com/llvm/llvm-project/commit/a892a5dc5ee83dc8894fb6b7db00106f10865758
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 1d763f383380
Commit: 85d60a441ab810e25605fb4555971b1d0a996e5c
https://github.com/llvm/llvm-project/commit/85d60a441ab810e25605fb4555971b1d0a996e5c
Author: Khalil Estell <kammcecorp at gmail.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
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/SystemIncludeExtractor.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clangd] Add `BuiltinHeaders` config option (#129459)
This option, under `CompileFlags`, governs whether clangd uses its own
built-in headers (`Clangd` option value) or the built-in headers of the driver
in the file's compile command (`QueryDriver` option value, applicable to
cases where `--query-driver` is used to instruct clangd to ask the driver
for its system include paths).
The default value is `Clangd`, preserving clangd's current defaut behaviour.
Fixes clangd/clangd#2074
Commit: 1649ca5af07a40948ea409ca055330bec1419e72
https://github.com/llvm/llvm-project/commit/1649ca5af07a40948ea409ca055330bec1419e72
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
Log Message:
-----------
[AArch64] Use Register in AArch64FastISel.cpp. NFC
Commit: 0715c6cc6d11814b8a31bc0368ca080b72810177
https://github.com/llvm/llvm-project/commit/0715c6cc6d11814b8a31bc0368ca080b72810177
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[NFC][IR] De-duplicate CFI related code (#130450)
Commit: 3a0c33afd1b3085d958e89c1c0c8a8b8c0f34739
https://github.com/llvm/llvm-project/commit/3a0c33afd1b3085d958e89c1c0c8a8b8c0f34739
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmax.ll
Log Message:
-----------
[msan] Handle Arm NEON pairwise min/max instructions (#129824)
Change the handling of:
- llvm.aarch64.neon.fmaxp
- llvm.aarch64.neon.fminp
- llvm.aarch64.neon.fmaxnmp
- llvm.aarch64.neon.fminnmp
- llvm.aarch64.neon.smaxp
- llvm.aarch64.neon.sminp
- llvm.aarch64.neon.umaxp
- llvm.aarch64.neon.uminp
from the incorrect heuristic handler (maybeHandleSimpleNomemIntrinsic)
to handlePairwiseShadowOrIntrinsic.
Updates the tests from https://github.com/llvm/llvm-project/pull/129760
Adds a note that maybeHandleSimpleNomemIntrinsic may incorrectly match
horizontal/pairwise intrinsics.
Commit: 58ace30ebcd2cf2a34272fafe556a99473492b39
https://github.com/llvm/llvm-project/commit/58ace30ebcd2cf2a34272fafe556a99473492b39
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
Log Message:
-----------
[NFC][YAML] Replace iterators with simple getter (#130449)
To simplify #130382.
Commit: 9e87caff98cefcabfc13288229a4422e7f9edde4
https://github.com/llvm/llvm-project/commit/9e87caff98cefcabfc13288229a4422e7f9edde4
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M libcxx/include/type_traits
Log Message:
-----------
[libc++][NFC] Comment cleanup for `<type_traits>` (#130422)
- Aligns all version comments to line 65.
- Consistently uses `// since C++` instead of `// C++`, in lowercase as
used in most version comments.
- Consistently uses `class` to introduce type template parameters.
- Consistently uses `inline constexpr` for variable templates.
- Corrects the comment for `bool_constant` to `// since C++17` as it's a
C++17 feature.
- Changes the class-key of `result_of` to `struct`, which follows N4659
[depr.meta.types] and the actual usage in libc++.
- Adds missed `// since C++17` for `is_(nothrow_)invocable(_r)`.
- Moves the comments for `is_nothrow_convertible_v` to the part for
variable templates.
- Removes duplicated comments for `true_type` and `false_type`.
Commit: 667bbd2ecce09ed135064ae200bc6388b36c43c5
https://github.com/llvm/llvm-project/commit/667bbd2ecce09ed135064ae200bc6388b36c43c5
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-smaxv.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-sminv.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-umaxv.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-uminv.ll
M llvm/test/Instrumentation/MemorySanitizer/expand-experimental-reductions.ll
Log Message:
-----------
[msan] Apply handleVectorReduceIntrinsic to max/min vector instructions (#129819)
Changes the handling of:
- llvm.aarch64.neon.smaxv
- llvm.aarch64.neon.sminv
- llvm.aarch64.neon.umaxv
- llvm.aarch64.neon.uminv
- llvm.vector.reduce.smax
- llvm.vector.reduce.smin
- llvm.vector.reduce.umax
- llvm.vector.reduce.umin
- llvm.vector.reduce.fmax
- llvm.vector.reduce.fmin
from the default strict handling (visitInstruction) to
handleVectorReduceIntrinsic.
Also adds a parameter to handleVectorReduceIntrinsic to specify whether
the return type must match the elements of the vector.
Updates the tests from https://github.com/llvm/llvm-project/pull/129741,
https://github.com/llvm/llvm-project/pull/129810,
https://github.com/llvm/llvm-project/pull/129768
Commit: 735afc8cebc452b097f284058a03e96a4706efce
https://github.com/llvm/llvm-project/commit/735afc8cebc452b097f284058a03e96a4706efce
Author: Ishaan Verma <ishaan56verma at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M libc/include/llvm-libc-macros/stdfix-macros.h
M libc/include/stdfix.yaml
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/macros_test.cpp
Log Message:
-----------
[libc] Added type-generic macros for fixed-point functions (#129371)
Adds macros `absfx`, `countlsfx` and `roundfx` .
ref: #129111
Commit: 227f9544a4d4bf9ab4da8a78cc801de697d4bc6d
https://github.com/llvm/llvm-project/commit/227f9544a4d4bf9ab4da8a78cc801de697d4bc6d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Bail out on non constant evaluated builtins (#130431)
If the ASTContext says so, don't bother trying to constant evaluate the
given builtin.
Commit: 275d7175aceffcc7d5c0827118a1dea6ebf85798
https://github.com/llvm/llvm-project/commit/275d7175aceffcc7d5c0827118a1dea6ebf85798
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
Log Message:
-----------
[ARM] Use Register in FastISel. NFC
Commit: ae1479c79ed123bbe5865b0d91dff80efe74f32f
https://github.com/llvm/llvm-project/commit/ae1479c79ed123bbe5865b0d91dff80efe74f32f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
Log Message:
-----------
[ARM] Remove unused argument. NFC
Commit: 0f646fc84883d6044691d2d60404de3cc4e60d5b
https://github.com/llvm/llvm-project/commit/0f646fc84883d6044691d2d60404de3cc4e60d5b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove unused DenseMap variable. NFC
Commit: d47bc6fd93f9f439a54fd7cf55cdcb2e2ca0cfcb
https://github.com/llvm/llvm-project/commit/d47bc6fd93f9f439a54fd7cf55cdcb2e2ca0cfcb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-08 (Sat, 08 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
Log Message:
-----------
[ARM] Change FastISel Address from a struct to a class. NFC
This allows us to use Register in the interface, but store an
unsigned internally in a union.
Commit: 2172a5edcf9357d24006a3c1032f2d52e199915d
https://github.com/llvm/llvm-project/commit/2172a5edcf9357d24006a3c1032f2d52e199915d
Author: Ben Shi <2283975856 at qq.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.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/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
Log Message:
-----------
[clang][analyzer][NFC] Fix typos in comments (#130456)
Commit: 2d1634fab716f3200990e3e5d7a102466509f202
https://github.com/llvm/llvm-project/commit/2d1634fab716f3200990e3e5d7a102466509f202
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated map lookups (NFC) (#130461)
Commit: 7cd304725263a6f58d61aede6c0b6c08c042d200
https://github.com/llvm/llvm-project/commit/7cd304725263a6f58d61aede6c0b6c08c042d200
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#130462)
Commit: 7c7cebf49de18fa3445d9e8fc68b0d049f2d67c1
https://github.com/llvm/llvm-project/commit/7c7cebf49de18fa3445d9e8fc68b0d049f2d67c1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#130463)
Commit: cf3aa06c1627a6e6606b729fac344fefaeb0ba85
https://github.com/llvm/llvm-project/commit/cf3aa06c1627a6e6606b729fac344fefaeb0ba85
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#130464)
Commit: 573df34ea053a82de2d8fb28dd430bca94ddcaaa
https://github.com/llvm/llvm-project/commit/573df34ea053a82de2d8fb28dd430bca94ddcaaa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
Log Message:
-----------
[llvm-jitlink] Avoid repeated hash lookups (NFC) (#130465)
Commit: 99d2b3b0aa138470822fa82d8659bbb0e6364784
https://github.com/llvm/llvm-project/commit/99d2b3b0aa138470822fa82d8659bbb0e6364784
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp
Log Message:
-----------
[llvm-profgen] Avoid repeated hash lookups (NFC) (#130466)
Commit: 6fbe491e1776f6598790a844bf4e743de956b42d
https://github.com/llvm/llvm-project/commit/6fbe491e1776f6598790a844bf4e743de956b42d
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-relax-call36-2.s
A lld/test/ELF/loongarch-relax-call36.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
Log Message:
-----------
[lld][LoongArch] Relax call36/tail36: R_LARCH_CALL36 (#123576)
Instructions with relocation `R_LARCH_CALL36` may be relax as follows:
```
From:
pcaddu18i $dest, %call36(foo)
R_LARCH_CALL36, R_LARCH_RELAX
jirl $r, $dest, 0
To:
b/bl foo # bl if r=$ra, b if r=$zero
R_LARCH_B26
```
Commit: d84dc8ff93e94f6f0b5a5222afc26e0ee3a4b4f9
https://github.com/llvm/llvm-project/commit/d84dc8ff93e94f6f0b5a5222afc26e0ee3a4b4f9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/iX-ext-split.ll
Log Message:
-----------
[InstCombine] Add handling for (or (zext x), (shl (zext (ashr x, bw/2-1))), bw/2) -> (sext x) fold (#130316)
Minor tweak to #129363 which handled all the cases where there was a sext for the original source value, but not for cases where the source is already half the size of the destination type
Another regression noticed in #76524
Commit: 0f732481acccb3ac22b70e326feae854cf972126
https://github.com/llvm/llvm-project/commit/0f732481acccb3ac22b70e326feae854cf972126
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix getting pointer element type in __builtin_memcmp (#130485)
When such a pointer is heap allocated, the type we get is a pointer
type. Take the pointee type in that case.
Commit: 22a45c43db2e6267d0b85a175da0129e865cffec
https://github.com/llvm/llvm-project/commit/22a45c43db2e6267d0b85a175da0129e865cffec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - use all_of to check for matching PSHUFD/PSHUFLW/PSHUFHW shuffle mask.
Prep work before adding 512-bit support.
Commit: 2a3e782f4053d8ecb98dc110ebb6bacdb7bb17c7
https://github.com/llvm/llvm-project/commit/2a3e782f4053d8ecb98dc110ebb6bacdb7bb17c7
Author: Andrewyuan34 <yiboy at uvic.ca>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
Log Message:
-----------
[clang-tidy] Fix invalid fixit from modernize-use-ranges for nullptr used with std::unique_ptr (#127162)
This PR fixes issue #124815 by correcting the handling of `nullptr` with
`std::unique_ptr` in the `modernize-use-ranges` check.
Updated the logic to suppress warnings for `nullptr` in `std::find`.
Commit: 107aa6a3d3ab96b7eec55e1ec5c3eabfa6ab2f9f
https://github.com/llvm/llvm-project/commit/107aa6a3d3ab96b7eec55e1ec5c3eabfa6ab2f9f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86] Combine bitcast(v1Ty insert_vector_elt(X, Y, 0)) to Y (#130475)
Though it only happens in v1i1 when we generate llvm.masked.load/store
intrinsics for APX cload/cstore.
https://godbolt.org/z/vjsrofsqx
Commit: 029e10289a02b438f1a22f401c94ed60ab4bb704
https://github.com/llvm/llvm-project/commit/029e10289a02b438f1a22f401c94ed60ab4bb704
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/fcmp.ll
Log Message:
-----------
[ValueTracking] Bail out on x86_fp80 when computing fpclass with knownbits (#130477)
In https://github.com/llvm/llvm-project/pull/97762, we assume the
minimum possible value of X is NaN implies X is NaN. But it doesn't hold
for x86_fp80 format. If the knownbits of X are
`?'011111111111110'????????????????????????????????????????????????????????????????`,
the minimum possible value of X is NaN/unnormal. However, it can be a
normal value.
Closes https://github.com/llvm/llvm-project/issues/130408.
Commit: f3dd9c99d1a10f31ac6ed1e946e0ea2b982abad7
https://github.com/llvm/llvm-project/commit/f3dd9c99d1a10f31ac6ed1e946e0ea2b982abad7
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
R lld/test/ELF/loongarch-relax-call36-2.s
R lld/test/ELF/loongarch-relax-call36.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
Log Message:
-----------
Revert "[lld][LoongArch] Relax call36/tail36: R_LARCH_CALL36 (#123576)"
This reverts commit 6fbe491e1776f6598790a844bf4e743de956b42d.
Broke check-lld, see the many bot comments on
https://github.com/llvm/llvm-project/pull/123576
Commit: fd267082ee6df24aa5d5b4d7790c08a9d50a26b7
https://github.com/llvm/llvm-project/commit/fd267082ee6df24aa5d5b4d7790c08a9d50a26b7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Refactor VPlan creation, add transform introducing region (NFC). (#128419)
Create an empty VPlan first, then let the HCFG builder create a plain
CFG for the top-level loop (w/o a top-level region). The top-level
region is introduced by a separate VPlan-transform. This is instead of
creating the vector loop region before building the VPlan CFG for the
input loop.
This simplifies the HCFG builder (which should probably be renamed) and
moves along the roadmap ('buildLoop') outlined in [1].
As follow-up, I plan to also preserve the exit branches in the initial
VPlan out of the CFG builder, including connections to the exit blocks.
The conversion from plain CFG with potentially multiple exits to a
single entry/exit region will be done as VPlan transform in a follow-up.
This is needed to enable VPlan-based predication. Currently early exit
support relies on building the block-in masks on the original CFG,
because exiting branches and conditions aren't preserved in the VPlan.
So in order to switch to VPlan-based predication, we will have to
preserve them in the initial plain CFG, so the exit conditions are
available explicitly when we convert to single entry/exit regions.
Another follow-up is updating the outer loop handling to also introduce
VPRegionBlocks for nested loops as transform. Currently the existing
logic in the builder will take care of creating VPRegionBlocks for
nested loops, but not the top-level loop.
[1]
https://llvm.org/devmtg/2023-10/slides/techtalks/Hahn-VPlan-StatusUpdateAndRoadmap.pdf
PR: https://github.com/llvm/llvm-project/pull/128419
Commit: 3a727549ef963d13efc3d1466318bfcf838377e7
https://github.com/llvm/llvm-project/commit/3a727549ef963d13efc3d1466318bfcf838377e7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port fd267082ee6d
Commit: 7c4ef498e1e41ed80f8553a955145b6580918f7c
https://github.com/llvm/llvm-project/commit/7c4ef498e1e41ed80f8553a955145b6580918f7c
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Make ClonedModule case more obvious in CollectDebugInfoForCloning (#129143)
Summary:
The code's behavior is unchanged, but it's more obvious right now.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: fd973d251213c8272074bdd2b12bea8484a4231a
https://github.com/llvm/llvm-project/commit/fd973d251213c8272074bdd2b12bea8484a4231a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M libcxx/include/__memory/allocator_traits.h
Log Message:
-----------
[libc++] Protect more code against -Wdeprecated. (#130419)
This seems needed when updating the CI Docker image.
Commit: b6bb9dc5abd7c6452c13a53fa8949cb259db459b
https://github.com/llvm/llvm-project/commit/b6bb9dc5abd7c6452c13a53fa8949cb259db459b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][CI] Update action runner base image. (#130433)
Updates to the latest release. The side effect of this change is
updating all compilers to the latest upstream version.
Commit: a7d5b3f711b7c852aa1337e329661dd36025865a
https://github.com/llvm/llvm-project/commit/a7d5b3f711b7c852aa1337e329661dd36025865a
Author: Chris B <chris.bieneman at me.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/SemaHLSL/Language/NoVirtual.hlsl
Log Message:
-----------
[HLSL] Disallow virtual inheritance and functions (#127346)
This PR disallows virtual inheritance and virtual functions in HLSL.
Commit: df570dadcb93a32c308d31c2ab54d2f46c8ae0c0
https://github.com/llvm/llvm-project/commit/df570dadcb93a32c308d31c2ab54d2f46c8ae0c0
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Simplify the flow in FindDebugInfoToIdentityMap (#129144)
Summary:
The new flow should make it more clear what is happening in cases of
Different of Cloned modules.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 62a6d63d634d816a7d73ab7735176ad05b118c79
https://github.com/llvm/llvm-project/commit/62a6d63d634d816a7d73ab7735176ad05b118c79
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
Log Message:
-----------
[Sanitizers][Darwin] Correct iterating of MachO load commands (#130161)
The condition to stop iterating so far was to look for load command cmd
field == 0. The iteration would continue past the commands area, and
would finally find lc->cmd ==0, if lucky. Or crash with bus error, if
out of luck.
Correcting this by limiting the number of iterations to the count
specified in mach_header(_64) ncmds field.
rdar://143903403
---------
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: e44e24dfe6ef4a9fff6e1ee6617d89de5b616fd3
https://github.com/llvm/llvm-project/commit/e44e24dfe6ef4a9fff6e1ee6617d89de5b616fd3
Author: David Green <david.green at arm.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
Log Message:
-----------
[AArch64] Improve vector funnel shift by constant costs. (#130044)
We now have better codegen, and can have better costs to match. The
generated code should now produce a shl+usra and can be seen in
testcases such as:
https://github.com/llvm/llvm-project/blob/7e5821bae80db3f3f0fe0d5f8ce62f79e548eed5/llvm/test/CodeGen/AArch64/fsh.ll#L3941.
Commit: 437d587e48002929552d982c9e2dc73428a37dd9
https://github.com/llvm/llvm-project/commit/437d587e48002929552d982c9e2dc73428a37dd9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
Log Message:
-----------
[LV] Add outer loop test with different successor orders in inner latch.
Commit: 29129be6322375a296a3540a5ed64d87ee0aac9a
https://github.com/llvm/llvm-project/commit/29129be6322375a296a3540a5ed64d87ee0aac9a
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Add a helper to collect debug info from instructions (#129145)
Summary:
Just moving around. This helper will be used for further refactoring.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: bc028026757ed7580e2ec76a04b89dcfaa0ca8e9
https://github.com/llvm/llvm-project/commit/bc028026757ed7580e2ec76a04b89dcfaa0ca8e9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
Log Message:
-----------
Revert "[ARM] Change FastISel Address from a struct to a class. NFC"
This reverts commit d47bc6fd93f9f439a54fd7cf55cdcb2e2ca0cfcb.
I forgot to commit clang-format cleanup before I pushed this.
Commit: bd64f313a55b66503808f57e2dfe23ba01db0f88
https://github.com/llvm/llvm-project/commit/bd64f313a55b66503808f57e2dfe23ba01db0f88
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
Log Message:
-----------
Recommit "[ARM] Change FastISel Address from a struct to a class. NFC"
With clang-format this time.
Original message:
This allows us to use Register in the interface, but store an
unsigned internally in a union.
Commit: 2317a72489145f582ac1f01bc8c4f3b6bb5abb44
https://github.com/llvm/llvm-project/commit/2317a72489145f582ac1f01bc8c4f3b6bb5abb44
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M lldb/source/ValueObject/ValueObjectChild.cpp
Log Message:
-----------
[lldb] Add missing converstion to optional
Commit: 74ca5799caea342ac1e8d34ab5be7f45875131b2
https://github.com/llvm/llvm-project/commit/74ca5799caea342ac1e8d34ab5be7f45875131b2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
Log Message:
-----------
[X86] Use Register in FastISel. NFC
Replace 'Reg == 0' with '!Reg'
Commit: e85e29c2992b3b86f9ac7db18c0c2b9dde95a2b2
https://github.com/llvm/llvm-project/commit/e85e29c2992b3b86f9ac7db18c0c2b9dde95a2b2
Author: Chris B <chris.bieneman at me.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.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/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/select.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
Log Message:
-----------
[HLSL] select scalar overloads for vector conditions (#129396)
This PR adds scalar/vector overloads for vector conditions to the
`select` builtin, and updates the sema checking and codegen to allow
scalars to extend to vectors.
Fixes #126570
Commit: 9764659fb4ae8b3ecaa8e462dde94b742d113b93
https://github.com/llvm/llvm-project/commit/9764659fb4ae8b3ecaa8e462dde94b742d113b93
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use `adl_being`/`end` in `hasSingleElement` (#130506)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures. Now
that I have a threadripper system, I'm landing this piece-by-piece.
Commit: 2e7a5092375d9db3bc2d700f3f0e9d7e43b516bf
https://github.com/llvm/llvm-project/commit/2e7a5092375d9db3bc2d700f3f0e9d7e43b516bf
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port e85e29c2992b
Commit: 5c3b05996fa5a076bc086f2eeca56f080f255754
https://github.com/llvm/llvm-project/commit/5c3b05996fa5a076bc086f2eeca56f080f255754
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[alpha.webkit.UnretainedLambdaCapturesChecker] Add a WebKit checker for lambda capturing NS or CF types. (#128651)
Add a new WebKit checker for checking that lambda captures of CF types
use RetainPtr either when ARC is disabled or enabled, and those of NS
types use RetainPtr when ARC is disabled.
Commit: bfdeb5873073ed94b63b1ef1f7e91845c1be88a1
https://github.com/llvm/llvm-project/commit/bfdeb5873073ed94b63b1ef1f7e91845c1be88a1
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseExprCXX.cpp
A clang/test/SemaCXX/constexpr-if.cpp
Log Message:
-----------
[Clang] use constant evaluation context for constexpr if conditions (#123667)
Fixes #123524
---
This PR addresses the issue of immediate function expressions not
properly evaluated in `constexpr` if conditions. Adding the
`ConstantEvaluated` context for expressions in `constexpr` if statements
ensures that these expressions are treated as manifestly
constant-evaluated and parsed correctly.
Commit: 69527b0013a090081118996cfd61a330c7f2ffce
https://github.com/llvm/llvm-project/commit/69527b0013a090081118996cfd61a330c7f2ffce
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
A llvm/lib/Target/Xtensa/XtensaDSPInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Xtensa/xtensa-mac16.s
Log Message:
-----------
[Xtensa] Implement Xtensa MAC16 Option. (#130004)
Commit: f62ab334c6bc1f907e092c65a420abbbcf04fa9a
https://github.com/llvm/llvm-project/commit/f62ab334c6bc1f907e092c65a420abbbcf04fa9a
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
Log Message:
-----------
[RISCV] Fix incorrect mask of shuffle vector in the test. (NFC) (#130244)
The mask of shuffle vector should be <u, u, 4, 6, 8, 10, 12, 14>, not
<u, u, 4, 6, *6, 10, 12, 14> for steps of 2.
And the mask of suffle vector with an undef initial element has been
supported by https://github.com/llvm/llvm-project/pull/118509.
Commit: d111e6481afa71fedc0a1877d20943e43954edce
https://github.com/llvm/llvm-project/commit/d111e6481afa71fedc0a1877d20943e43954edce
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang] Fix typos in options text. (#130129)
Commit: 42d49a77241df73a17cb442973702fc460e7fb90
https://github.com/llvm/llvm-project/commit/42d49a77241df73a17cb442973702fc460e7fb90
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGenCXX/cxx23-p2280r4.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang] Reject constexpr-unknown values as constant expressions more consistently (#129952)
Perform the check for constexpr-unknown values in the same place we
perform checks for other values which don't count as constant
expressions.
While I'm here, also fix a rejects-valid with a reference that doesn't
have an initializer. This diagnostic was also covering up some of the
bugs here.
The existing behavior with -fexperimental-new-constant-interpreter seems
to be correct, but the diagnostics are slightly different; it would be
helpful if someone could check on that as a followup.
Followup to #128409.
Fixes #129844. Fixes #129845.
Commit: 82f2b661101d1133b72872141009035f01a42595
https://github.com/llvm/llvm-project/commit/82f2b661101d1133b72872141009035f01a42595
Author: Ruoyu Qiu <cabbaken at outlook.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/dynamic-section.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump][ELF]Fix crash when reading strings from .dynstr (#125679)
This change introduces a check for the strtab offset to prevent
llvm-objdump from crashing when processing malformed ELF files.
It provide a minimal reproduce test for
https://github.com/llvm/llvm-project/issues/86612#issuecomment-2035694455.
Additionally, it modifies how llvm-objdump handles and outputs malformed
ELF files with invalid string offsets.(More info:
https://discourse.llvm.org/t/should-llvm-objdump-objdump-display-actual-corrupted-values-in-malformed-elf-files/84391)
Fixes: #86612
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 8b9c91ec7da0ca3daab8ff6711126443e500bb66
https://github.com/llvm/llvm-project/commit/8b9c91ec7da0ca3daab8ff6711126443e500bb66
Author: beetrees <b at beetr.ee>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Fix `IEEEFloat::addOrSubtractSignificand` and `IEEEFloat::normalize` (#98721)
Fixes #63895
Fixes #104984
Before this PR, `addOrSubtractSignificand` presumed that the loss came
from the side being subtracted, and didn't handle the case where lhs ==
rhs and there was loss. This can occur during FMA. This PR fixes the
situation by correctly determining where the loss came from and handling
it appropriately.
Additionally, `normalize` failed to adjust the exponent when the
significand is zero but `lost_fraction != lfExactlyZero`. This meant
that the test case from #63895 was rounded incorrectly as the loss
wasn't adjusted to account for the exponent being below the minimum
exponent. This PR fixes this by only skipping the exponent adjustment if
the significand is zero and there was no lost fraction.
(Note to reviewer: I don't have commit access)
Commit: de132b2a0c344729703358a1c3ac90fb28fdb130
https://github.com/llvm/llvm-project/commit/de132b2a0c344729703358a1c3ac90fb28fdb130
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[Clang][CodeGen] Fix demangler invariant comment assertion (#130522)
This patch makes the assertion (that is currently in a comment) that
validates that names mangled by clang can be demangled by LLVM actually
compile/work. There were some minor issues that needed to be fixed (like
starts_with not being available on std::string and needing to call
getDecl() on GD), and a logic issue that should be fixed in this patch.
This enables just uncommenting the assertion to enable it within the
compiler (minus needing to add the header file).
Commit: 64c73d5c7184d1287e4982684d0fe8ad5f2341c0
https://github.com/llvm/llvm-project/commit/64c73d5c7184d1287e4982684d0fe8ad5f2341c0
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-relax-call36-2.s
A lld/test/ELF/loongarch-relax-call36.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
Log Message:
-----------
Reland [lld][LoongArch] Relax call36/tail36: R_LARCH_CALL36
Instructions with relocation `R_LARCH_CALL36` may be relax as follows:
```
From:
pcaddu18i $dest, %call36(foo)
R_LARCH_CALL36, R_LARCH_RELAX
jirl $r, $dest, 0
To:
b/bl foo # bl if r=$ra, b if r=$zero
R_LARCH_B26
```
This patch fixes the buildbots failuer of lld tests.
Changes: Modify test files: from `sym at plt` to `%plt(sym)`.
Commit: fa45bf430081ed5a37c50719dfd3a8ca32271126
https://github.com/llvm/llvm-project/commit/fa45bf430081ed5a37c50719dfd3a8ca32271126
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/phi-with-incoming-from-load.ll
Log Message:
-----------
InstCombine: Fix a crash in `PointerReplacer` when constructing a new PHI (#130256)
When constructing a PHI node in `PointerReplacer::replace`, the incoming
operands are expected to have already been replaced and in the
replacement map. However, when one of the incoming operands is a load,
the search of the map is unsuccessful, and a nullptr is returned from
`getReplacement`. The reason is that, when a load is replaced, all the
uses of the load has been actually replaced by the new load. It is
useless to insert the original load into the map. Instead, we should
place the new load into the map to meet the expectation of the later map
search.
Fixes: SWDEV-516420
Commit: 3e94eae746888ee63b38d347b068eaf0d5b72772
https://github.com/llvm/llvm-project/commit/3e94eae746888ee63b38d347b068eaf0d5b72772
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_unsupported.s
M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
Log Message:
-----------
[AMDGPU] Add GFX12 S_ALLOC_VGPR instruction (#130018)
This patch only adds the instruction for disassembly support.
We neither have an instrinsic nor codegen support, and it is unclear
whether we actually want to ever have an intrinsic, given the fragile
semantics.
For now, it will be generated only by the backend in very specific
circumstances.
---------
Co-authored-by: Jannik Silvanus <jannik.silvanus at amd.com>
Commit: 58fc4b13cb5ff7e877c52c11f71328ed12e6a89c
https://github.com/llvm/llvm-project/commit/58fc4b13cb5ff7e877c52c11f71328ed12e6a89c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Remove Predicates from classes in RISCVInstrInfoXTHead.td. NFC
All of instantiations of these classes also specify Predicates
making the base class redundant or unnecessary. The Predicates on the
instantiations aren't always the same as the base class so those
are needed.
Also move the DecoderNamespace to the instantiations for consistency
with the Predicates.
Commit: c4808741e89df29dcd06c7be2784824c82f34e46
https://github.com/llvm/llvm-project/commit/c4808741e89df29dcd06c7be2784824c82f34e46
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/div_cte.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
Log Message:
-----------
[AArch64][CostModel] Alter sdiv/srem cost where the divisor is constant (#123552)
This patch revises the cost model for sdiv/srem and draws its inspiration from the udiv/urem patch #122236
The typical codegen for the different scenarios has been mentioned as notes/comments in the code itself( this is done owing to lot of scenarios such that it would be difficult to mention them here in the patch description).
Commit: 5addbf0c60bf941b081726c4a6a9641ec9bf425f
https://github.com/llvm/llvm-project/commit/5addbf0c60bf941b081726c4a6a9641ec9bf425f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
Log Message:
-----------
[AArch64] Avoid repeated hash lookups (NFC) (#130542)
Commit: b2b267ea7a3b85f83977cc74ba79332e453aed82
https://github.com/llvm/llvm-project/commit/b2b267ea7a3b85f83977cc74ba79332e453aed82
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#130543)
Commit: c8ec8073aa5d8e87a15d101ded149de399518bc1
https://github.com/llvm/llvm-project/commit/c8ec8073aa5d8e87a15d101ded149de399518bc1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-09 (Sun, 09 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
A clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.NoUnretainedMemberChecker] Add a new WebKit checker for unretained member variables and ivars. (#128641)
Add a new WebKit checker for member variables and instance variables of
NS and CF types. A member variable or instance variable to a CF type
should be RetainPtr regardless of whether ARC is enabled or disabled,
and that of a NS type should be RetainPtr when ARC is disabled.
Commit: 6e8d7e2e7fda1ec6f9517346f269cb0c377fb34b
https://github.com/llvm/llvm-project/commit/6e8d7e2e7fda1ec6f9517346f269cb0c377fb34b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
Log Message:
-----------
[mlir] Apply ClangTidy finding (NFC)
loop variable is copied but only used as const reference; consider making it a const reference
Commit: 35f273ab07d9f1e65a662fb25a1aeebaba4552c2
https://github.com/llvm/llvm-project/commit/35f273ab07d9f1e65a662fb25a1aeebaba4552c2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][NFC] Clean up Expr::EvaluateAsConstantExpr (#130498)
The Info.EnableNewConstInterp case is already handled above.
Commit: e0442bdfa5a5cd02431955cb18b67194d2b82faf
https://github.com/llvm/llvm-project/commit/e0442bdfa5a5cd02431955cb18b67194d2b82faf
Author: Boaz Brickner <brickner at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/VarBypassDetector.cpp
M clang/lib/CodeGen/VarBypassDetector.h
Log Message:
-----------
[Clang] Fix segmentation fault caused by `VarBypassDetector` stack overflow on deeply nested expressions (#124128)
This happens when using `-O2`.
Similarly to #111701
([test](https://github.com/bricknerb/llvm-project/blob/93e4a7386ec897e53d7330c6206d38759a858be2/clang/test/CodeGen/deeply-nested-expressions.cpp)),
not adding a test that reproduces since this test is slow and likely to
be hard to maintained as discussed here and in [previous
discussion](https://github.com/llvm/llvm-project/pull/111701/files/1a63281b6c240352653fd2e4299755c1f32a76f4#r1795518779).
Test that was reverted here:
https://github.com/llvm/llvm-project/pull/124128/commits/d6b5576940d38aadb3293acbff680d1f5d22486c
Commit: 0264d42dc750666e0f57a85d57f563bc8ea43536
https://github.com/llvm/llvm-project/commit/0264d42dc750666e0f57a85d57f563bc8ea43536
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/test/python/ir/location.py
Log Message:
-----------
[mlir][CAPI][python] bind CallSiteLoc, FileLineColRange, FusedLoc, NameLoc (#129351)
This PR extends the python bindings for CallSiteLoc, FileLineColRange,
FusedLoc, NameLoc with field accessors. It also adds the missing
`value.location` accessor.
I also did some "spring cleaning" here (`cast` -> `dyn_cast`) after
running into some of my own illegal casts.
Commit: 3acfef56b1c5f74edd6ea2111a440677ea2c6763
https://github.com/llvm/llvm-project/commit/3acfef56b1c5f74edd6ea2111a440677ea2c6763
Author: Gergely Futo <gergely.futo at hightec-rt.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libunwind/src/Registers.hpp
Log Message:
-----------
[libunwind][RISCV] Make asm statement volatile (#130286)
Compiling with `O3`, the `early-machinelicm` pass hoisted the asm
statement to a path that has been executed unconditionally during stack
unwinding. On hardware without vector extension support, this resulted
in reading a nonexistent register.
Commit: 564b75621d4a2e30a1769cc719a3a2b2029b8656
https://github.com/llvm/llvm-project/commit/564b75621d4a2e30a1769cc719a3a2b2029b8656
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Support/ErrorOr.h
Log Message:
-----------
[ADT/Support] Add includes to fix module build
Current Clang complains that 'size_t' / 'reference_wrapper' "must be
declared before it is used."
Commit: c579ec66c77461122d93deadebc318fbb846b830
https://github.com/llvm/llvm-project/commit/c579ec66c77461122d93deadebc318fbb846b830
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
A clang/test/CodeGen/aarch64-execute-only.c
A clang/test/Driver/aarch64-execute-only.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[Clang][AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (2/3) (#125688)
Add support for the new SHF_AARCH64_PURECODE ELF section flag:
https://github.com/ARM-software/abi-aa/pull/304
The general implementation follows the existing one for ARM targets.
Simlarly to ARM targets, generating object files with the
`SHF_AARCH64_PURECODE` flag set is enabled by the
`-mexecute-only`/`-mpure-code` driver flag.
Related PRs:
* LLVM: https://github.com/llvm/llvm-project/pull/125687
* LLD: https://github.com/llvm/llvm-project/pull/125689
Commit: 07f3388fff0c73c1119d06ca1c2353fd012361c0
https://github.com/llvm/llvm-project/commit/07f3388fff0c73c1119d06ca1c2353fd012361c0
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ByteCode/cxx1z.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx98.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.unqual/p7.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/expr/expr.const/p3-0x.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.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.template/p3-0x.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p8-1y.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
M clang/test/CXX/temp/temp.deduct/p9.cpp
M clang/test/CXX/temp/temp.param/p1.cpp
M clang/test/CXX/temp/temp.param/p12.cpp
M clang/test/CXX/temp/temp.param/p15-cxx0x.cpp
M clang/test/CXX/temp/temp.param/p8-cxx20.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
M clang/test/CXX/temp/temp.spec/cxx1y-variable-template-no-body.cpp
M clang/test/CXX/temp/temp.spec/part.spec.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p20.cpp
M clang/test/Misc/integer-literal-printing.cpp
M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
M clang/test/Modules/missing-body-in-import.cpp
M clang/test/Modules/template-default-args.cpp
M clang/test/Parser/MicrosoftExtensions.cpp
M clang/test/Parser/cxx-template-argument.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/access-base-class.cpp
M clang/test/SemaCXX/alias-template.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/implicit-member-functions.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/make_integer_seq.cpp
M clang/test/SemaCXX/type-trait-common-type.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaObjCXX/parameterized_classes_subst.mm
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/instantiation-default-1.cpp
M clang/test/SemaTemplate/instantiation-default-2.cpp
M clang/test/SemaTemplate/instantiation-dependence.cpp
M clang/test/SemaTemplate/instantiation-depth-defarg.cpp
M clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
M clang/test/SemaTemplate/instantiation-depth.cpp
M clang/test/SemaTemplate/ms-unqualified-base-class.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/stack-exhaustion.cpp
M clang/test/SemaTemplate/temp_arg.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
Log Message:
-----------
Revert "[clang] Implement instantiation context note for checking template parameters (#126088)"
This reverts commit a24523ac8dc07f3478311a5969184b922b520395.
This is causing significant compile-time regressions for C++ code, see:
https://github.com/llvm/llvm-project/pull/126088#issuecomment-2704874202
Commit: 4a59d0c3c84eb01e4551b5c922397a3b89fbc127
https://github.com/llvm/llvm-project/commit/4a59d0c3c84eb01e4551b5c922397a3b89fbc127
Author: haonan <haonan.yang at intel.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] checkBitcastSrcVectorSize - early return when reach to MaxRecursionDepth. (#130226)
Commit: b1ebfac1859c4fd1db3620098f6af4fd98e6174d
https://github.com/llvm/llvm-project/commit/b1ebfac1859c4fd1db3620098f6af4fd98e6174d
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
A llvm/include/llvm/Support/AArch64AttributeParser.h
M llvm/include/llvm/Support/AArch64BuildAttributes.h
M llvm/include/llvm/Support/ARMAttributeParser.h
M llvm/include/llvm/Support/CSKYAttributeParser.h
A llvm/include/llvm/Support/ELFAttrParserCompact.h
A llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/include/llvm/Support/ELFAttributeParser.h
M llvm/include/llvm/Support/ELFAttributes.h
M llvm/include/llvm/Support/HexagonAttributeParser.h
M llvm/include/llvm/Support/MSP430AttributeParser.h
M llvm/include/llvm/Support/RISCVAttributeParser.h
A llvm/lib/Support/AArch64AttributeParser.cpp
M llvm/lib/Support/AArch64BuildAttributes.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CSKYAttributeParser.cpp
A llvm/lib/Support/ELFAttrParserCompact.cpp
A llvm/lib/Support/ELFAttrParserExtended.cpp
R llvm/lib/Support/ELFAttributeParser.cpp
M llvm/lib/Support/HexagonAttributeParser.cpp
M llvm/lib/Support/RISCVAttributeParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-comprehensive.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/Support/ARMAttributeParser.cpp
M llvm/unittests/Support/CSKYAttributeParserTest.cpp
M llvm/unittests/Support/ELFAttributeParserTest.cpp
M llvm/unittests/Support/RISCVAttributeParserTest.cpp
Log Message:
-----------
[readobj][Arm][AArch64] Refactor Build Attributes parsing under ELFAtributeParser and add support for AArch64 Build Attributes (#128727)
Refactor readobj to integrate AArch64 Build Attributes under
ELFAttributeParser. ELFAttributeParser now serves as a base class for:
- ELFCompactAttrParser, handling Arm-style attributes with a single
build attribute subsection.
- ELFExtendedAttrParser, handling AArch64-style attributes with multiple
build attribute subsections. This improves code organization and better
aligns with the attribute parsing model.
Add support for parsing AArch64 Build Attributes.
Commit: 24f0901f7ef5f4f8e8ae6a2138b18e434b1b941f
https://github.com/llvm/llvm-project/commit/24f0901f7ef5f4f8e8ae6a2138b18e434b1b941f
Author: Julien Villette <julien.villette at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
Log Message:
-----------
[MCA] Adding missing instructions in AArch64 Neoverse V1 tests (#128892)
Added missing instructions for LLVM Opcodes coverage. It will help to
maintain TableGen scheduling information of AArch64 Neoverse V1.
Follow up of MR ##126703
This is a dispatch of new instructions of the big test:
V1-scheduling-info.s
I have created a new test for special instructions without scheduling
info in Software Optimization Guide: V1-misc-instructions.s
No more asm instruction comments to maintain.
Commit: fe93a2879c31ee5d8f966cae36481f6f2b6243dd
https://github.com/llvm/llvm-project/commit/fe93a2879c31ee5d8f966cae36481f6f2b6243dd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port b1ebfac1859c
Commit: 2aca7c231a573191fbba83ba202bcc245cab6501
https://github.com/llvm/llvm-project/commit/2aca7c231a573191fbba83ba202bcc245cab6501
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add test case showing its not always beneficial to fold concat(palignr(),palignr()) -> palignr(concat(),concat())
Commit: fe544d404d841ef44aebf4fc36948fd1e1d89685
https://github.com/llvm/llvm-project/commit/fe544d404d841ef44aebf4fc36948fd1e1d89685
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb] Add more ARM checks in TestLldbGdbServer.py (#130277)
When https://github.com/llvm/llvm-project/pull/130034 enabled RISC-V
here I noticed that these should run for ARM as well.
ARM only has 4 argument registers, which matches Arm's ABI for it:
https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#core-registers
The ABI defines a link register LR, and I assume that's what becomes
'ra' in LLDB.
Tested on ARM and AArch64 Linux.
Commit: 78060a7df7adcae8674f189699fa97cd1eb7bafa
https://github.com/llvm/llvm-project/commit/78060a7df7adcae8674f189699fa97cd1eb7bafa
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
Log Message:
-----------
[lldb] Clean up UnwindAssemblyInstEmulation (#129030)
My main motivation was trying to understand how the function and whether
the rows need to be (shared) pointers. I noticed that the function
essentially constructs two copies unwind plans in parallel (the second
being the saved_unwind_states).
If we delay the construction of the unwind plan to the end of the
function, then we never need two copies of a single row (we can just
move it into the final result), so we can just use them as value types.
This makes the overall logic of the function stand out better as it
avoids the laborious deep copies of the Row shared pointer.
I've also noticed that a large portion of the function is devoted to
recomputing certain properties of the unwind state (e.g. the
`m_fp_is_cfa` field). Instead of doing that, this patch just
saves/restores them together with the rest of the state.
Commit: ab18cc246c2490564043161db5d9646cf1163de4
https://github.com/llvm/llvm-project/commit/ab18cc246c2490564043161db5d9646cf1163de4
Author: vfdev <vfdev.5 at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/test/python/ir/context_lifecycle.py
Log Message:
-----------
[MLIR][py] Add PyThreadPool as wrapper around MlirLlvmThreadPool in MLIR python bindings (#130109)
In some projects like JAX ir.Context are used with disabled multi-threading to avoid
caching multiple threading pools:
https://github.com/jax-ml/jax/blob/623865fe9538100d877ba9d36f788d0f95a11ed2/jax/_src/interpreters/mlir.py#L606-L611
However, when context has enabled multithreading it also uses locks on
the StorageUniquers and this can be helpful to avoid data races in the
multi-threaded execution (for example with free-threaded cpython,
https://github.com/jax-ml/jax/issues/26272).
With this PR user can enable the multi-threading: 1) enables additional
locking and 2) set a shared threading pool such that cached contexts can
have one global pool.
Commit: 8c8eff2b35e789969c5fb0e490ec18dedd4a5ebc
https://github.com/llvm/llvm-project/commit/8c8eff2b35e789969c5fb0e490ec18dedd4a5ebc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add test case showing its not always beneficial to fold concat(pack(),pack()) -> pack(concat(),concat())
Commit: f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
https://github.com/llvm/llvm-project/commit/f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
A mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
Log Message:
-----------
[mlir] Refactor ConvertVectorToLLVMPass options (#128219)
The `VectorTransformsOptions` on the `ConvertVectorToLLVMPass` is
currently represented as a struct, which makes it not serialisable. This
means a pass pipeline that contains this pass cannot be represented as
textual form, which breaks reproducer generation and options such as
`--dump-pass-pipeline`.
This PR expands the `VectorTransformsOptions` struct into the two
options that are actually used by the Pass' patterns:
`vector-contract-lowering` and `vector-transpose-lowering` . The other
options present in VectorTransformOptions are not used by any patterns
in this pass.
Additionally, I have changed some interfaces to only take these specific
options over the full options struct as, again, the vector contract and
transpose lowering patterns only need one of their respective options.
Finally, I have added a simple lit test that just prints the pass
pipeline using `--dump-pass-pipeline` to ensure the options on this pass
remain serialisable.
Fixes #129046
Commit: 8d38906d08f0189a7a7f865b267f47cab0a3790f
https://github.com/llvm/llvm-project/commit/8d38906d08f0189a7a7f865b267f47cab0a3790f
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/IR/User.cpp
Log Message:
-----------
[IR] Fix assertion error in User new/delete edge case (#129914)
Fixes #129900
If `operator delete` was called after an unsuccessful constructor call
after `operator new`, we ran into undefined behaviour.
This was discovered by our malfunction tests while preparing an upgrade
to LLVM 20, that explicitly check for such kind of bugs.
Commit: dd86ece554a42c6a7663a18b779442e8380e4ef8
https://github.com/llvm/llvm-project/commit/dd86ece554a42c6a7663a18b779442e8380e4ef8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/Transforms/MergeFunc/comdat.ll
Log Message:
-----------
[MergeFunc] Check full IR and comdat keys in comdat.ll.
Commit: 0ede277b62d12954342c4a1bd8a0c201d60a3cd9
https://github.com/llvm/llvm-project/commit/0ede277b62d12954342c4a1bd8a0c201d60a3cd9
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M compiler-rt/test/tysan/lit.cfg.py
Log Message:
-----------
Spelling in lit.cfg.py
Commit: 99fdb5dfd8ffc3d872f868aec8ef7fd380c0413a
https://github.com/llvm/llvm-project/commit/99fdb5dfd8ffc3d872f868aec8ef7fd380c0413a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert X86ISD::PALIGNR concatenation to use combineConcatVectorOps recursion (#130572)
Only concatenate X86ISD::PALIGNR nodes if at least one operand is beneficial to concatenate
Commit: 0c7e895de3a9df6ff702fbebd1cdd580cb65e3d1
https://github.com/llvm/llvm-project/commit/0c7e895de3a9df6ff702fbebd1cdd580cb65e3d1
Author: Kajetan Puchalski <kajetan.puchalski at tuta.io>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendActions.h
A flang/include/flang/Frontend/ParserActions.h
A flang/include/flang/Parser/options.h
M flang/include/flang/Parser/parsing.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/lib/Frontend/ParserActions.cpp
Log Message:
-----------
[flang] Move parser invocations into ParserActions (#130309)
FrontendActions.cpp is currently one of the biggest compilation units in
all of flang. Measuring its compilation gives the following metrics:
User time (seconds): 139.21
System time (seconds): 4.65
Maximum resident set size (kbytes): 5891440 (5.61 GB)
This commit separates out explicit invocations of the parser into a
separate compilation unit - ParserActions.cpp - through helper functions
in order to decrease the maximum compilation time and memory usage of a
single unit.
After the split, the measurements of FrontendActions.cpp are as follows:
User time (seconds): 70.08
System time (seconds): 3.16
Maximum resident set size (kbytes): 3961492 (3.7 GB)
While the ones for the newly created ParserActions.cpp as follows:
User time (seconds): 104.33
System time (seconds): 3.37
Maximum resident set size (kbytes): 4185600 (3.99 GB)
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: dd21aacd76e36d4db157a5d7a7b5370d456426e6
https://github.com/llvm/llvm-project/commit/dd21aacd76e36d4db157a5d7a7b5370d456426e6
Author: DianQK <dianqk at dianqk.net>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/TailDuplicator.cpp
A llvm/test/CodeGen/X86/tail-dup-computed-goto.mir
Log Message:
-----------
[TailDuplicator] Do not restrict the computed gotos (#114990)
Fixes #106846.
This is what I learned from GCC. I found that GCC does not duplicate the
BB that has indirect jumps with the jump table. I believe GCC has
provided a clear explanation here:
> Duplicate the blocks containing computed gotos. This basically
unfactors computed gotos that were factored early on in the compilation
process to speed up edge based data flow. We used to not unfactor them
again, which can seriously pessimize code with many computed jumps in
the source code, such as interpreters.
Commit: 6a9df5b4dd2ac1b00cdc3880c210cc0d2e917f04
https://github.com/llvm/llvm-project/commit/6a9df5b4dd2ac1b00cdc3880c210cc0d2e917f04
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
Revert "[lldb][asan] Add temporary logging to ReportRetriever"
This reverts commit 39a4da20d88d797824f0e7be0f732ccaf0c7eee4.
We skipped the failing tests in `6cc8b0bef07f4270303bec0fc203f251a2fde262`.
Commit: 502385c2412aa04867dc7386296a2f9bc4745d36
https://github.com/llvm/llvm-project/commit/502385c2412aa04867dc7386296a2f9bc4745d36
Author: John Harrison <harjohn at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/source/Host/macosx/objcxx/MemoryMonitorMacOSX.mm
Log Message:
-----------
[lldb] Remove an extraneous `printf` statement. (#130453)
This was missed in review but is showing up in lldb-dap output.
Commit: fdc8e5ab62318ff39832cbca2056044a9d45bfe0
https://github.com/llvm/llvm-project/commit/fdc8e5ab62318ff39832cbca2056044a9d45bfe0
Author: Robert Dazi <14996868+v01dXYZ at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaARM.cpp
M clang/test/Sema/aarch64-special-register.c
Log Message:
-----------
[Clang][AArch64] Fix typo with colon-separated syntax for system registers (#105608)
The range for Op0 was set to 1 instead of 3.
The description of e493f177eeee84a9c6000ca7c92499233490f1d1 visually
explains the encoding of implementation-defined system registers.
https://github.com/llvm/llvm-project/blob/796787d07c30cb9448e1f9ff3f3da06c2fc96ccd/llvm/lib/Target/AArch64/AArch64SystemOperands.td#L658-L674
Gobolt: https://godbolt.org/z/WK9PqPvGE
Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Commit: 52225d2702592b220f87aa82fb434bf776d4f745
https://github.com/llvm/llvm-project/commit/52225d2702592b220f87aa82fb434bf776d4f745
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
A llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[AMDGPU][NewPM] Port AMDGPUReserveWWMRegs to NPM (#123722)
Commit: 94a62b3085e35e1a7781c46bccee236255e1ca28
https://github.com/llvm/llvm-project/commit/94a62b3085e35e1a7781c46bccee236255e1ca28
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add test case showing its not always beneficial to fold concat(pshufb(),pshufb()) -> pshufb(concat(),concat())
Commit: 88f010a2ebe828a1a3a1faa25b36716e9b45549a
https://github.com/llvm/llvm-project/commit/88f010a2ebe828a1a3a1faa25b36716e9b45549a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/combine-pmadd.ll
Log Message:
-----------
[X86] Improve test coverage for concat(pmaddubsw(),pmaddubsw()) -> pmaddubsw(concat(),concat())
Ensure we have tests for both beneficial/non-beneficial concatenation cases
Commit: 4508d6aa72b0f31056ae01aff0e8009a252e4683
https://github.com/llvm/llvm-project/commit/4508d6aa72b0f31056ae01aff0e8009a252e4683
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Support/ELFAttrParserExtended.cpp
Log Message:
-----------
[AArch64][ELF Parser] Fix out-of-scope variable usage (#130576)
Return a reference to a persistent variable instead of a temporary copy.
Commit: 4fee3981a8f07a5c197a5a9fb559bcc0e52eff78
https://github.com/llvm/llvm-project/commit/4fee3981a8f07a5c197a5a9fb559bcc0e52eff78
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
Log Message:
-----------
[LLVM][SVE] Add isel for scalable vector bfloat copysign operations. (#130098)
Commit: dbd82f33b57814125932dbb84e9449ac05404a6e
https://github.com/llvm/llvm-project/commit/dbd82f33b57814125932dbb84e9449ac05404a6e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.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/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.decl/dcl.meaning/p1-0x.cpp
M clang/test/CXX/drs/cwg14xx.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/cwg28xx.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
M clang/test/CXX/special/class.inhctor/elsewhere.cpp
M clang/test/CXX/temp/temp.res/temp.dep/p3.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx2c-variadic-friends.cpp
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaCXX/cxx0x-defaulted-functions.cpp
M clang/test/SemaCXX/cxx11-user-defined-literals.cpp
M clang/test/SemaCXX/pr25181-crash-on-invalid.cpp
M clang/test/SemaCXX/pr36536.cpp
M clang/test/SemaCXX/using-decl-templates.cpp
M clang/test/SemaObjCXX/propert-dot-error.mm
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
Log Message:
-----------
[clang] NNS: don't print trailing scope resolution operator in diagnostics (#130529)
This clears up the printing of a NestedNameSpecifier so a trailing '::'
is not printed, unless it refers into the global scope.
This fixes a bunch of diagnostics where the trailing :: was awkward.
This also prints the NNS quoted consistenty.
There is a drive-by improvement to error recovery, where now we print
the actual type instead of `<dependent type>`.
This will clear up further uses of NNS printing in further patches.
Commit: 0d2c55cb9682dc589949fb6767e50c4efb538f2d
https://github.com/llvm/llvm-project/commit/0d2c55cb9682dc589949fb6767e50c4efb538f2d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CMakeLists.txt
A clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPU.h
A llvm/lib/Target/AMDGPU/AMDGPUExportKernelRuntimeHandles.cpp
A llvm/lib/Target/AMDGPU/AMDGPUExportKernelRuntimeHandles.h
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
R llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
R llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/test/CodeGen/AMDGPU/amdgpu-export-kernel-runtime-handles.ll
R llvm/test/CodeGen/AMDGPU/enqueue-kernel.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
AMDGPU: Move enqueued block handling into clang (#128519)
The previous implementation wasn't maintaining a faithful IR
representation of how this really works. The value returned by
createEnqueuedBlockKernel wasn't actually used as a function, and
hacked up later to be a pointer to the runtime handle global
variable. In reality, the enqueued block is a struct where the first
field is a pointer to the kernel descriptor, not the kernel itself. We
were also relying on passing around a reference to a global using a
string attribute containing its name. It's better to base this on a
proper IR symbol reference during final emission.
This now avoids using a function attribute on kernels and avoids using
the additional "runtime-handle" attribute to populate the final
metadata. Instead, associate the runtime handle reference to the
kernel with the !associated global metadata. We can then get a final,
correctly mangled name at the end.
I couldn't figure out how to get rename-with-external-symbol behavior
using a combination of comdats and aliases, so leaves an IR pass to
externalize the runtime handles for codegen. If anything breaks, it's
most likely this, so leave avoiding this for a later step. Use a
special section name to enable this behavior. This also means it's
possible to declare enqueuable kernels in source without going through
the dedicated block syntax or other dedicated compiler support.
We could move towards initializing the runtime handle in the
compiler/linker. I have a working patch where the linker sets up the
first field of the handle, avoiding the need to export the block
kernel symbol for the runtime. We would need new relocations to get
the private and group sizes, but that would avoid the runtime's
special case handling that requires the device_enqueue_symbol metadata
field.
https://reviews.llvm.org/D141700
Commit: 7fb71d151127a30d7299336511cbcc06601047b9
https://github.com/llvm/llvm-project/commit/7fb71d151127a30d7299336511cbcc06601047b9
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/machine-copyprop-noop-removal.mir
Log Message:
-----------
[RISCV][test] Add test case showing case where machine copy propagation leaves behind a no-op reg move
Pre-commit for #129889.
Commit: a5c33e634b912586fe6bfbb2f63cb27d74adc13d
https://github.com/llvm/llvm-project/commit/a5c33e634b912586fe6bfbb2f63cb27d74adc13d
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Support/ELFAttrParserExtended.cpp
Log Message:
-----------
[AArch64][ELF Parser] Fix out-of-scope variable usage (#130594)
Return a reference to a persistent variable instead of a temporary copy.
Commit: 848ba3854c3ae7518fd9e436a11ffd0308f121df
https://github.com/llvm/llvm-project/commit/848ba3854c3ae7518fd9e436a11ffd0308f121df
Author: sommersun <50041042+sommersun at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
Log Message:
-----------
[DAG] fold AVGFLOORS to AVGFLOORU for non-negative operand (#84746) (#129678)
Fold ISD::AVGFLOORS to ISD::AVGFLOORU for non-negative operand. Cover test is modified for uhadd with zero extension.
Fixes #84746
Commit: 28fa1fcf55b973e13018ac115fcbb357b4c0baad
https://github.com/llvm/llvm-project/commit/28fa1fcf55b973e13018ac115fcbb357b4c0baad
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
Log Message:
-----------
Revert "[clang] Fix missing diagnostic of declaration use when accessing TypeDecls through typename access (#129681)"
This caused incorrect -Wunguarded-availability warnings. See comment on
the pull request.
> We were missing a call to DiagnoseUseOfDecl when performing typename
> access.
>
> This refactors the code so that TypeDecl lookups funnel through a helper
> which performs all the necessary checks, removing some related
> duplication on the way.
>
> Fixes #58547
>
> Differential Revision: https://reviews.llvm.org/D136533
This reverts commit 4c4fd6b03149348cf11af245ad2603d24144a9d5.
Commit: 5d921710c0d6984950f74ba57192aed9c67a84f3
https://github.com/llvm/llvm-project/commit/5d921710c0d6984950f74ba57192aed9c67a84f3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/haddsub-undef.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert X86ISD::HADD/SUB concatenation to use combineConcatVectorOps recursion (#130579)
Only concatenate X86ISD::HADD/SUB nodes if at least one operand is beneficial to concatenate
Commit: 507e0c3b6757bbdd95726c6be7b93297685e65ab
https://github.com/llvm/llvm-project/commit/507e0c3b6757bbdd95726c6be7b93297685e65ab
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86][APX] Try to replace non-NF with NF instructions when optimizeCompareInstr (#130488)
https://godbolt.org/z/rWYdqnjjx
Commit: a1a6a839763079b54d8910599549b9e6d4dd5fe6
https://github.com/llvm/llvm-project/commit/a1a6a839763079b54d8910599549b9e6d4dd5fe6
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
Log Message:
-----------
[clang] fix matching of nested template template parameters (#130447)
When checking the template template parameters of template template
parameters, the PartialOrdering context was not correctly propagated.
This also has a few drive-by fixes, such as checking the template
parameter lists of template template parameters, which was previously
missing and would have been it's own bug, but we need to fix it in order
to prevent crashes in error recovery in a simple way.
Fixes #130362
Commit: 773e88f9d61399c566fed45bf7858922f09b8063
https://github.com/llvm/llvm-project/commit/773e88f9d61399c566fed45bf7858922f09b8063
Author: Yutong Zhu <115899167+YutongZhuu at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/compare.c
Log Message:
-----------
[Clang] Force expressions with UO_Not to not be non-negative (#126846)
This PR addresses the bug of not throwing warnings for the following
code:
```c++
int test13(unsigned a, int *b) {
return a > ~(95 != *b); // expected-warning {{comparison of integers of different signs}}
}
```
However, in the original issue, a comment mentioned that negation,
pre-increment, and pre-decrement operators are also incorrect in this
case.
Fixes #18878
Commit: d67947162f4b06172fac91fefa6a9ad25eb6dd56
https://github.com/llvm/llvm-project/commit/d67947162f4b06172fac91fefa6a9ad25eb6dd56
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/include/flang/Support/OpenMP-utils.h
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/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Support/OpenMP-utils.cpp
A flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
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/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-target-has-device-addr.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A offload/test/offloading/fortran/target-has-device-addr1.f90
A offload/test/offloading/fortran/target-has-device-addr2.f90
A offload/test/offloading/fortran/target-has-device-addr3.f90
Log Message:
-----------
[flang][OpenMP] Implement HAS_DEVICE_ADDR clause (#128568)
The HAS_DEVICE_ADDR indicates that the object(s) listed exists at an
address that is a valid device address. Specifically,
`has_device_addr(x)` means that (in C/C++ terms) `&x` is a device
address.
When entering a target region, `x` does not need to be allocated on the
device, or have its contents copied over (in the absence of additional
mapping clauses). Passing its address verbatim to the region for use is
sufficient, and is the intended goal of the clause.
Some Fortran objects use descriptors in their in-memory representation.
If `x` had a descriptor, both the descriptor and the contents of `x`
would be located in the device memory. However, the descriptors are
managed by the compiler, and can be regenerated at various points as
needed. The address of the effective descriptor may change, hence it's
not safe to pass the address of the descriptor to the target region.
Instead, the descriptor itself is always copied, but for objects like
`x`, no further mapping takes place (as this keeps the storage pointer
in the descriptor unchanged).
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: 4e453d52920b1808321ec9bca28f5161165d12ee
https://github.com/llvm/llvm-project/commit/4e453d52920b1808321ec9bca28f5161165d12ee
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
A flang/test/Parser/OpenMP/metadirective-flush.f90
Log Message:
-----------
[flang][OpenMP] Accept old FLUSH syntax in METADIRECTIVE (#130122)
Accommodate it in OmpDirectiveSpecification, which may become the
primary component of the actual FLUSH construct in the future.
Commit: dffbc030e75b758e7512518abd499a0f680addbf
https://github.com/llvm/llvm-project/commit/dffbc030e75b758e7512518abd499a0f680addbf
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
M llvm/test/CodeGen/RISCV/machine-copyprop-noop-removal.mir
M llvm/test/CodeGen/RISCV/sextw-removal.ll
Log Message:
-----------
[MachineCopyPropagation] Recognise and delete no-op moves produced after forwarded uses (#129889)
This change removes 189 static instances of no-op reg-reg moves (i.e.
where src == dest) across llvm-test-suite when compiled for RISC-V
rv64gc and with SPEC included.
Commit: 754eeeaef1c9980c31e4e654d568d88a19802475
https://github.com/llvm/llvm-project/commit/754eeeaef1c9980c31e4e654d568d88a19802475
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 0d2c55cb9682
Commit: 6b3bb44227fc4d66d1a304b32566ea9263799921
https://github.com/llvm/llvm-project/commit/6b3bb44227fc4d66d1a304b32566ea9263799921
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-pmadd.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert PSHUFB/PSADBW/VPMADDUBSW/VPMADDUBSW concatenation to use combineConcatVectorOps recursion (#130592)
Only concatenate nodes if at least one operand is beneficial to concatenate
Commit: cac6d431d00b054a2f1ed4d7638c1857c269c1d5
https://github.com/llvm/llvm-project/commit/cac6d431d00b054a2f1ed4d7638c1857c269c1d5
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/test/CodeGenCXX/cxx23-p2280r4.cpp
Log Message:
-----------
[clang][test] Don't require specific alignment in test case (#130589)
https://github.com/llvm/llvm-project/pull/129952 /
42d49a77241df73a17cb442973702fc460e7fb90 added this test which is
failing on 32-bit ARM because the alignment chosen is 4 not 8. Which
would make sense if this is a 32/64 bit difference
https://lab.llvm.org/buildbot/#/builders/154/builds/13059
```
<stdin>:34:30: note: scanning from here
define dso_local void @_Z1fv(ptr dead_on_unwind noalias writable sret(%struct.B) align 4 %agg.result) #0 {
^
<stdin>:38:2: note: possible intended match here
%0 = load ptr, ptr @x, align 4
^
```
The other test does not check alignment, so I'm assuming that it is not
important here.
Commit: 9d37e61fc77d3d6de891c30630f1c0227522031d
https://github.com/llvm/llvm-project/commit/9d37e61fc77d3d6de891c30630f1c0227522031d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-10 (Mon, 10 Mar 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/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
[SLP]Reduce number of alternate instruction, where possible
Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
It is mostly the same, adjusted after graph-to-tree transformation
Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32
transformes to
%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.
Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.
-O3+LTO, AVX512
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test 2788.00 2820.00 1.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 278168.00 280904.00 1.0%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 82682.00 83258.00 0.7%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 139344.00 139712.00 0.3%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 27149.00 27197.00 0.2%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1008188.00 1009948.00 0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39226.00 39290.00 0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39229.00 39293.00 0.2%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074533.00 2076549.00 0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074533.00 2076549.00 0.1%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 798440.00 798952.00 0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 44123.00 44139.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 318942.00 319038.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1159880.00 1160152.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test 73595.00 73611.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1146124.00 1146348.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test 203831.00 203847.00 0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 207662.00 207678.00 0.0%
test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test 589851.00 589883.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1398543.00 1398559.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1398543.00 1398559.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2050990.00 2051006.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12559687.00 12559591.00 -0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 3074157.00 3074125.00 -0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1092252.00 1092188.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 779763.00 779715.00 -0.0%
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 253517.00 253485.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 848259.00 848035.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 93064.00 93016.00 -0.1%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 383747.00 383475.00 -0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 673051.00 662907.00 -1.5%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 673051.00 662907.00 -1.5%
Olden/tsp - small variations
Prolangs-C/TimberWolfMC - small variations, some code not inlined
FreeBench/pifft - extra store <8 x double> vectorized, some other extra
vectorizations
CFP2006/433.milc - better vector code
FreeBench/fourinarow - better vector code
Benchmarks/tramp3d-v4 - extra vector code, small variations
mediabench/gsm/toast - small variations
MiBench/telecomm-gsm - small variations
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - better vector code, small variations
CINT2006/464.h264ref - some smaller code + changes similar to x264
DOE-ProxyApps-C/miniGMG - small variations
Benchmarks/Bullet - small variations
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/miniAMR - small variations
CFP2006/453.povray - small variations
DOE-ProxyApps-C++/CLAMR - small variations
MiBench/consumer-lame - small variations
CFP2006/447.dealII - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations
CFP2017rate/510.parest_r - better vector code, small variations
CFP2017rate/526.blender_r - small variations
CINT2006/403.gcc - small variations
CINT2006/400.perlbench - small variations
CFP2017rate/508.namd_r - small variations
ASCI_Purple/SMG2000 - small variations
JM/lencod - extra store <16 x i32>, small variations
DOE-ProxyApps-C++/miniFE - small variations
JM/ldecod - extra vector code, small variations, less shuffles
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.
-O3+LTO, mcpu=sifive-p470
Metric: size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 580768.00 581118.00 0.1%
test-suite :: MultiSource/Applications/d/make_dparser.test 78854.00 78894.00 0.1%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 633448.00 633750.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 277002.00 277080.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 931938.00 931960.00 0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2512806.00 2512822.00 0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7659880.00 7659876.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7659880.00 7659876.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1602448.00 1602434.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9496664.00 9496542.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147424.00 147422.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1764608.00 1764578.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1764608.00 1764578.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 841656.00 841632.00 -0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 949026.00 948962.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 946348.00 946284.00 -0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 279794.00 279764.00 -0.0%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 4776.00 4772.00 -0.1%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 25074.00 25028.00 -0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 25074.00 25028.00 -0.2%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 29336.00 29184.00 -0.5%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 535390.00 510124.00 -4.7%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 535390.00 510124.00 -4.7%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/ieee/GCC-C-execute-ieee-pr50310.test 886.00 608.00 -31.4%
CINT2006/464.h264ref - extra v16i32 reduction
d/make_dparser - better vector code
JM/lencod - extra v16i32 reduction
Benchmarks/Bullet - smaller vector code
CINT2006/400.perlbench - better vector code
CINT2006/403.gcc - small variations
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - small variations
CFP2017rate/510.parest_r - small variations
CFP2017rate/526.blender_r - small variations
MiBench/consumer-lame - small variations
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - small variations
Benchmarks/7zip - small variations
CFP2017rate/511.povray_r - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - extra vector code
mediabench/gsm - extra vector code
MiBench/telecomm-gsm - extra vector code
DOE-ProxyApps-C/miniGMG - extra vector code
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized
ieee/GCC-C-execute-ieee-pr50310 - extra code vectorized
CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations
Reviewers: hiraditya
Reviewed By: hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/128907
Commit: f059e58702161bb22b457476f2e5c9faa2386226
https://github.com/llvm/llvm-project/commit/f059e58702161bb22b457476f2e5c9faa2386226
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libcxx/include/future
R libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
Log Message:
-----------
Revert "[libc++] Don't try to wait on a thread that hasn't started in std::async (#125433)"
This reverts commit 11766a40972f5cc853e296231e5d90ca3c886cc1.
Commit: c35092c7f1b3f190e88c3dd70056a1596a3a8fc6
https://github.com/llvm/llvm-project/commit/c35092c7f1b3f190e88c3dd70056a1596a3a8fc6
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-thread-pointer.c
Log Message:
-----------
[ARM] Fix HW thread pointer functionality (#130027)
- Separate check for hardware support of TLS register from check for support of Thumb2 encoding
- Base decision to auto enable TLS on both hardware support and Thumb2 encoding support
- Fix HW support check to correctly exclude M-Profile and include ARMV6K variants
reference:https://reviews.llvm.org/D114116
Commit: a619f3111eb4492a8e074cf7a714f66431d643c0
https://github.com/llvm/llvm-project/commit/a619f3111eb4492a8e074cf7a714f66431d643c0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - add missing VT/Subtarget checks for MOV*DUP concatenation folds.
Commit: 919d293176fb841dcae4a850b70a09c1307f7d59
https://github.com/llvm/llvm-project/commit/919d293176fb841dcae4a850b70a09c1307f7d59
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/UsersManual.rst
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/spirv-toolchain.cl
Log Message:
-----------
[clang][SPIR-V] Use the SPIR-V backend by default (#129545)
The SPIR-V backend is now a supported backend, and we believe it is
ready to be used by default in Clang over the SPIR-V translator.
Some IR generated by Clang today, such as those requiring SPIR-V target
address spaces, cannot be compiled by the translator for reasons in this
[RFC](https://discourse.llvm.org/t/rfc-the-spir-v-backend-should-change-its-address-space-mappings/82640),
so we expect even more programs to work as well.
Enable it by default, but keep some of the code as it is still called by
the HIP toolchain directly.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 3a41c7b483c69256d3cf64dabdaf2353187593b1
https://github.com/llvm/llvm-project/commit/3a41c7b483c69256d3cf64dabdaf2353187593b1
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/runtime/test/transform/interchange/iterfor.cpp
M openmp/runtime/test/transform/tile/iterfor.cpp
M openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLess.c
M openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLessEqual.c
M openmp/runtime/test/worksharing/for/omp_for_collapse_UpperTriangular.c
Log Message:
-----------
[OpenMP] Mark Failing OpenMP Tests as XFAIL on Windows (#129040)
This patch marks specific OpenMP runtime tests as XFAIL on Windows due
to failures reported in #129023
Commit: aaa1adc39886cc21c9dc637a9a6667baa5aff94f
https://github.com/llvm/llvm-project/commit/aaa1adc39886cc21c9dc637a9a6667baa5aff94f
Author: A2uria <a2uria at qq.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lld/COFF/Options.td
Log Message:
-----------
[LLD][COFF] Add /noexp for link.exe compatibility (#128814)
See #107346
Commit: 8885b5c0626065274cb8f8a634d45779a0f6ff2b
https://github.com/llvm/llvm-project/commit/8885b5c0626065274cb8f8a634d45779a0f6ff2b
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel build after f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
Commit: 967ab7e08e62a35cc65f34e21fbeb00abf3eb83f
https://github.com/llvm/llvm-project/commit/967ab7e08e62a35cc65f34e21fbeb00abf3eb83f
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][TOSA] Fix linalg lowering of depthwise conv2d (#130293)
Current lowering for tosa.depthwise_conv2d assumes if both zero points
are zero then it's a floating-point operation by hardcoding the use of a
arith.addf in the lowered code. Fix code to check for the element type
to decide what add operation to use.
Commit: 8a8f1359ee1d47d85c5fb4d23587845baecd59c9
https://github.com/llvm/llvm-project/commit/8a8f1359ee1d47d85c5fb4d23587845baecd59c9
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'bind' ast/sema for 'routine' directive
The 'bind' clause allows the renaming of a function during code
generation. There are a few rules about when this can/cannot happen,
and it takes either a string or identifier (previously mis-implemetned
as ID-expression) argument.
Note there are additional rules to this in the implicit-function routine
case, but that isn't implemented in this patch, as implicit-function
routine is not yet implemented either.
Commit: cf6a520a7a48aa82274084f0d4487381f9013fd3
https://github.com/llvm/llvm-project/commit/cf6a520a7a48aa82274084f0d4487381f9013fd3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/test/AST/ByteCode/libcxx/memcmp-pointer.cpp
Log Message:
-----------
[clang][bytecode] Fix builtin_memcmp buffer sizes for pointers (#130570)
Don't use the pointer size, but the number of elements multiplied by the
element size.
Commit: 83936f543766a74d7725df6661808d75b3f36554
https://github.com/llvm/llvm-project/commit/83936f543766a74d7725df6661808d75b3f36554
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++][docs] Remove mis-added entry for P2513R4 (#130581)
P2513R4 neither touched library wording nor required library
implementation to change. So it was probably a mistake to list it in
libc++'s implementation status table.
Commit: 1f05703176d43a339b41a474f51c0e8b1a83c9bb
https://github.com/llvm/llvm-project/commit/1f05703176d43a339b41a474f51c0e8b1a83c9bb
Author: Benson Chu <bensonchu457 at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/arm-interrupt-save-fp-attr-status-regs.c
A clang/test/CodeGen/arm-interrupt-save-fp-attr.c
M clang/test/Sema/arm-interrupt-attr.c
A clang/test/Sema/arm-interrupt-save-fp-attr.c
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMCallingConv.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.h
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
M llvm/lib/Target/ARM/ARMRegisterInfo.td
A llvm/test/CodeGen/ARM/interrupt-save-fp-attr-status-regs.mir
A llvm/test/CodeGen/ARM/interrupt-save-fp-attr.ll
Log Message:
-----------
[ARM][Thumb] Save FPSCR + FPEXC for save-vfp attribute
FPSCR and FPEXC will be stored in FPStatusRegs, after GPRCS2 has been
saved.
- GPRCS1
- GPRCS2
- FPStatusRegs (new)
- DPRCS
- GPRCS3
- DPRCS2
FPSCR is present on all targets with a VFP, but the FPEXC register is
not present on Cortex-M devices, so different amounts of bytes are
being pushed onto the stack depending on our target, which would
affect alignment for subsequent saves.
DPRCS1 will sum up all previous bytes that were saved, and will emit
extra instructions to ensure that its alignment is correct. My
assumption is that if DPRCS1 is able to correct its alignment to be
correct, then all subsequent saves will also have correct alignment.
Avoid annotating the saving of FPSCR and FPEXC for functions marked
with the interrupt_save_fp attribute, even though this is done as part
of frame setup. Since these are status registers, there really is no
viable way of annotating this. Since these aren't GPRs or DPRs, they
can't be used with .save or .vsave directives. Instead, just record
that the intermediate registers r4 and r5 are saved to the stack
again.
Co-authored-by: Jake Vossen <jake at vossen.dev>
Co-authored-by: Alan Phipps <a-phipps at ti.com>
Commit: 3b3356043cb42e2365dcfa6a6e52b00ce7fbde61
https://github.com/llvm/llvm-project/commit/3b3356043cb42e2365dcfa6a6e52b00ce7fbde61
Author: Benson Chu <bensonchu457 at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
R clang/test/CodeGen/arm-interrupt-save-fp-attr-status-regs.c
R clang/test/CodeGen/arm-interrupt-save-fp-attr.c
M clang/test/Sema/arm-interrupt-attr.c
R clang/test/Sema/arm-interrupt-save-fp-attr.c
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMCallingConv.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.h
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
M llvm/lib/Target/ARM/ARMRegisterInfo.td
R llvm/test/CodeGen/ARM/interrupt-save-fp-attr-status-regs.mir
R llvm/test/CodeGen/ARM/interrupt-save-fp-attr.ll
Log Message:
-----------
Revert "[ARM][Thumb] Save FPSCR + FPEXC for save-vfp attribute"
This reverts commit 1f05703176d43a339b41a474f51c0e8b1a83c9bb.
Commit: 39cf545756b358d02d9b828e5c51ebcb8ed6d19e
https://github.com/llvm/llvm-project/commit/39cf545756b358d02d9b828e5c51ebcb8ed6d19e
Author: Chris B <chris.bieneman at me.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/dxc_dxv_path.hlsl
Log Message:
-----------
[HLSL][Driver] Use temporary files correctly (#130436)
This updates the DXV and Metal Converter actions to properly use
temporary files created by the driver. I've abstracted away a check to
determine if an action is the last in the sequence because we may have
between 1 and 3 actions depending on the arguments and environment.
Commit: 81ca350b295c874d77c33c612da7979843b68a3e
https://github.com/llvm/llvm-project/commit/81ca350b295c874d77c33c612da7979843b68a3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
Log Message:
-----------
AMDGPU: Rename variable from undef to poison (#130460)
Commit: 2bada417c1f06361f4b7a992224bfb8e32d55ca6
https://github.com/llvm/llvm-project/commit/2bada417c1f06361f4b7a992224bfb8e32d55ca6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/AMDGPU/scheduler-rp-calc-one-successor-two-predecessors-bug.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/Transforms/StructurizeCFG/AMDGPU/loop-subregion-misordered.ll
M llvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
M llvm/test/Transforms/StructurizeCFG/interleaved-loop-order.ll
M llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll
M llvm/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll
M llvm/test/Transforms/StructurizeCFG/structurizer-keep-perf-md.ll
M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fix-reducible.ll
M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll
M llvm/test/Transforms/StructurizeCFG/workarounds/needs-unified-loop-exits.ll
Log Message:
-----------
StructurizeCFG: Use poison instead of undef (#130459)
There are a surprising number of codegen changes from this.
Commit: c40f0fe4348bb9304b95bd317665bf1cb2bdcc85
https://github.com/llvm/llvm-project/commit/c40f0fe4348bb9304b95bd317665bf1cb2bdcc85
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
Revert "Reland "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#129885)"
This broke modff calls on 32-bit x86 Windows. See comment on the PR.
> This updates the existing modf[f|l] builtin to be lowered via the
> llvm.modf.* intrinsic (rather than directly to a library call).
>
> The legalization issues exposed by the original PR (#126750) should have
> been fixed in #128055 and #129264.
This reverts commit cd1d9a8fab05524a27ffdb251f6def37786b5cc1.
Commit: 257e48371546f75623482071fc39eef4b64fbd88
https://github.com/llvm/llvm-project/commit/257e48371546f75623482071fc39eef4b64fbd88
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/big_int.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdlib/quick_sort.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/string_utils.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/blockstore_test.cpp
M libc/test/src/__support/fixedvector_test.cpp
M libc/test/src/__support/hash_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/math/FModTest.h
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/strings/bcopy_test.cpp
Log Message:
-----------
[libc] Add `-Wno-sign-conversion` & re-attempt `-Wconversion` (#129811)
Relates to
https://github.com/llvm/llvm-project/issues/119281#issuecomment-2699470459
Commit: 0cc8a63d0c7acd1903aab3e9c802785b07199b4c
https://github.com/llvm/llvm-project/commit/0cc8a63d0c7acd1903aab3e9c802785b07199b4c
Author: NewSigma <46043910+NewSigma at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCoroutine.cpp
R clang/test/SemaCXX/coroutine-decltype.cpp
A clang/test/SemaCXX/coroutine-unevaluate.cpp
Log Message:
-----------
Forbid co_await and co_yield in invalid expr contexts (#130455)
Fix #78426
C++26 introduced braced initializer lists as template arguments.
However, such contexts should be considered invalid for co_await and
co_yield. This commit explicitly rules out the possibility of using
these exprs in template arguments.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 21ff15fa1a4b9abf1c8182a1a465923bdae517a5
https://github.com/llvm/llvm-project/commit/21ff15fa1a4b9abf1c8182a1a465923bdae517a5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add test cases showing its not always beneficial to fold concat(add/mul(),add/mul()) -> add/mul(concat(),concat())
Commit: e9b2eddd5be753e72010da8a4333df8195e1641c
https://github.com/llvm/llvm-project/commit/e9b2eddd5be753e72010da8a4333df8195e1641c
Author: Ebuka Ezike <57949090+da-viper at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/source/API/SBLineEntry.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBLineEntryTest.cpp
Log Message:
-----------
[lldb] fix set SBLineEntryColumn (#130435)
Calling the public API `SBLineEntry::SetColumn()` sets the row instead
of the column.
This probably should be backported as it has been since version 3.4.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 7770d8f2256ba051296fe659b62145ef53027c5a
https://github.com/llvm/llvm-project/commit/7770d8f2256ba051296fe659b62145ef53027c5a
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/IteratorTest.cpp
Log Message:
-----------
[ADT] Use `adl_begin`/`adl_end` in `make_filter_range` (#130512)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of https://github.com/llvm/llvm-project/pull/87936 but
reverted due to buildbot failures.
Also fix potential issue with double-move on the input range.
Commit: ef407df695a28c21b412e4f703b250891df92821
https://github.com/llvm/llvm-project/commit/ef407df695a28c21b412e4f703b250891df92821
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
Log Message:
-----------
[Libc] Turn implicit to explicit conversion (#130615)
This fixes a build issue on the AMDGPU libc bot after
https://github.com/llvm/llvm-project/pull/126846 landed that introduced
a warning.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 338211929ce8626aa31b542e79cb5eb7722d0aa4
https://github.com/llvm/llvm-project/commit/338211929ce8626aa31b542e79cb5eb7722d0aa4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert ADD/SUB/MUL concatenation to use combineConcatVectorOps recursion
Only concatenate ADD/SUB/MUL nodes if at least one operand is beneficial to concatenate
Commit: 497a3df6bbcdec204783b212bb590e4b5d29690a
https://github.com/llvm/llvm-project/commit/497a3df6bbcdec204783b212bb590e4b5d29690a
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel build after f3dcc0f TD files
Commit: 3db668e0bb53958a0b6dacc11751788e3d523a86
https://github.com/llvm/llvm-project/commit/3db668e0bb53958a0b6dacc11751788e3d523a86
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir][SparseTensor][NFC] Migrate to OpAsmAttrInterface for ASM alias generation (#130483)
After the introduction of `OpAsmAttrInterface`, it is favorable to
migrate code using `OpAsmDialectInterface` for ASM alias generation,
which lives in `Dialect.cpp`, to use `OpAsmAttrInterface`, which lives
in `Attrs.td`. In this way, attribute behavior is placed near its
tablegen definition and people won't need to go through other files to
know what other (unexpected) hooks comes into play.
Commit: 7e292772ad810ffe14ea685e0b8f66d4f6eb1556
https://github.com/llvm/llvm-project/commit/7e292772ad810ffe14ea685e0b8f66d4f6eb1556
Author: lntue <lntue at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libc/src/__support/CPP/bit.h
M libc/src/__support/float_to_string.h
Log Message:
-----------
[libc] Fix implicit conversion warnings. (#130635)
Commit: 5ba7a3bd4c0eb736e4f1939c3a46317ef21247f2
https://github.com/llvm/llvm-project/commit/5ba7a3bd4c0eb736e4f1939c3a46317ef21247f2
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/cancel.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Parse cancel-directive-name as clause (#130146)
The cancellable construct names on CANCEL or CANCELLATION POINT
directives are actually clauses (with the same names as the
corresponding constructs).
Instead of parsing them into a custom structure, parse them as a clause,
which will make CANCEL/CANCELLATION POINT follow the same uniform scheme
as other constructs (<directive> [(<arguments>)] [clauses]).
Commit: 414e5c58cb5ca48e86e30150790bdcdaa2cc306e
https://github.com/llvm/llvm-project/commit/414e5c58cb5ca48e86e30150790bdcdaa2cc306e
Author: John Harrison <harjohn at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Migrating terminated statistics to the event body. (#130454)
Per the DAP spec, the event 'body' field should contain any additional
data related to the event. I updated the lldb-dap 'statistics' extension
into the terminated event's body like:
```
{
"type": "event",
"seq": 0,
"event": "terminated",
"body": {
"$__lldb_statistics": {...}
}
}
```
This allows us to more uniformly handle event messages.
Commit: d72f6204fdbeb5655ddefd840fe6d7311279ab52
https://github.com/llvm/llvm-project/commit/d72f6204fdbeb5655ddefd840fe6d7311279ab52
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Merge DecoderNamespace for T-Head extensions. NFC (#130555)
Consistent with what has been done for Rivos, SiFive, and Qualcomm
extensions.
Commit: b4caea84661400cc4c93b1e67151b70b0c88f875
https://github.com/llvm/llvm-project/commit/b4caea84661400cc4c93b1e67151b70b0c88f875
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#130544)
Commit: 15762ea2fa687910609fd55cc3eca82c3a04b271
https://github.com/llvm/llvm-project/commit/15762ea2fa687910609fd55cc3eca82c3a04b271
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#130545)
Commit: 0b99a2a9af031ca394cf4493798389318758918b
https://github.com/llvm/llvm-project/commit/0b99a2a9af031ca394cf4493798389318758918b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#130546)
Commit: 70477d979fa52910f46db0425eac04f34074e5c3
https://github.com/llvm/llvm-project/commit/70477d979fa52910f46db0425eac04f34074e5c3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#130547)
Commit: e1bd39c1733a40d4d46d1233566d8372125676bd
https://github.com/llvm/llvm-project/commit/e1bd39c1733a40d4d46d1233566d8372125676bd
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/CIR/CMakeLists.txt
M clang/tools/cir-opt/CMakeLists.txt
Log Message:
-----------
[CIR] Disable gcc partially overloaded virtual warning (#130322)
GCC, unlike clang, issues a warning when one virtual function is
overridden in a derived class but one or more other virtual functions
with the same name and different signature from a base class are not
overridden. This leads to many warnings in the MLIR and ClangIR code
when using the OpenConversionPattern<>::matchAndRewrite() function in
the ordinary way. The "hiding" behavior is what we want, so we're just
disabling the warning here.
Commit: a5763048b63b18f2c660ba14d4c3d4434689889d
https://github.com/llvm/llvm-project/commit/a5763048b63b18f2c660ba14d4c3d4434689889d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/paddus.ll
Log Message:
-----------
[x86] paddus.ll - regenerate VPTERNLOG comments
Commit: cf5aa559a8b69bc39ba134148ace4172fd6de0a8
https://github.com/llvm/llvm-project/commit/cf5aa559a8b69bc39ba134148ace4172fd6de0a8
Author: مهدي شينون (Mehdi Chinoune) <mehdi.chinoune at hotmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/command.cpp
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Runtime/command.h
Log Message:
-----------
[flang] Don't redefine pid_t on MinGW-w64. (#130288)
Commit: 74868cf0d14e59c553518d516e19937de46e23bb
https://github.com/llvm/llvm-project/commit/74868cf0d14e59c553518d516e19937de46e23bb
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
Log Message:
-----------
Reland Fix amdgpu-arch for dll name on Windows (#130624)
Reload aba3005a after fixing build failure.
Recently HIP runtime changed dll name to amdhip64_n.dll on Windows,
where n is ROCm major version number.
Fix amdgpu-arch to search for amdhip64_n.dll on Windows.
Commit: 1d1b20a19ecf51741f2946976ec5f44a0ed53710
https://github.com/llvm/llvm-project/commit/1d1b20a19ecf51741f2946976ec5f44a0ed53710
Author: David Peixotto <peix at meta.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Core/Module.cpp
M lldb/source/Target/Statistics.cpp
A lldb/test/Shell/Commands/command-statistics-dump.test
M lldb/unittests/Symbol/SymtabTest.cpp
Log Message:
-----------
[lldb] Avoid force loading symbol files in statistics collection (#129593)
This commit modifies the `DebuggerStats::ReportStatistics`
implementation to avoid loading symbol files for unloaded symbols. We
collect stats on debugger shutdown and without this change it can cause
the debugger to hang for a long while on shutdown if they symbols were
not previously loaded (e.g. `settings set target.preload-symbols
false`).
The implementation is done by adding an optional parameter to
`Module::GetSymtab` to control if the corresponding symbol file will be
loaded in the same way that can control it for `Module::GetSymbolFile`.
Commit: 7220ab821dd8c91dbc8e74afcdf3871605062ea0
https://github.com/llvm/llvm-project/commit/7220ab821dd8c91dbc8e74afcdf3871605062ea0
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Mark getMaxVScale static (NFC) (#130598)
Commit: 809a33d7ab56f846387fc105a653d1c22c1f7a8d
https://github.com/llvm/llvm-project/commit/809a33d7ab56f846387fc105a653d1c22c1f7a8d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Clean up unused header (NFC) (#130599)
We use VPlanPatternMatch, and not PatternMatch: clean up the
PatternMatch include to avoid confusion.
Commit: 35c030208642ddae96ed7a03b73c7d08c6997052
https://github.com/llvm/llvm-project/commit/35c030208642ddae96ed7a03b73c7d08c6997052
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Clean up unused 'using' definition (NFC) (#130597)
Commit: aa3875411746de0a24a8de0d40def711cd70153d
https://github.com/llvm/llvm-project/commit/aa3875411746de0a24a8de0d40def711cd70153d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
A flang/docs/ArrayRepacking.md
M flang/docs/index.md
Log Message:
-----------
[RFC][flang] Add support for assumed-shape dummy arrays repacking. (#127147)
This is a document describing why and how to add support for repacking
of assumed-shape dummy arrrays to provide more efficient data cache.
It proposes adding new FIR operations and outlines the compiler flow
handling these operations.
I would like to hear feedback on all of it, but especially on:
* The possibility of detecting safeness of the repacking
in the context of OpenACC/OpenMP. If it is not possible
to do the runtime checks to determine safety, then
there is not need to add the `TempCopyIsSafe` attributes
to the instruction.
* Whether it is possible to preserve the debug information
in cases where `fir.pack_array` is sunk after `[hl]fir.declare`,
so that before the `fir.pack_array` a debugger will refer
to the values in the original array, and after `fir.pack_array`
it will refer to the copy.
Commit: 22f7897374a1d0964e36c6fefccc3e3630a89465
https://github.com/llvm/llvm-project/commit/22f7897374a1d0964e36c6fefccc3e3630a89465
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
Log Message:
-----------
[RISCV] Use vmv.v.x for any rv32 e64 splat with equal halves (#130530)
The prior logic was reasoning in terms of vsetivli immediates, but using
the vmv.v.x is strongly profitable for high LMUL cases. The key
difference is that the vmv.v.x form is rematerializeable during
register allocation, and the vsle form is not.
This change uses the vlmax form of the vsetvli for all cases where the
2 x size can't be encoded as a vsetivli. This has the effect of increasing
VL more than necessary across the vmv.v.x, which could in theory be
problematic performance-wise on some hardware. We can revisit (or
add a tune flag) if this turns out to be noteworthy.
Commit: c7f7ac759110cdcf0d9180515a414c494154d213
https://github.com/llvm/llvm-project/commit/c7f7ac759110cdcf0d9180515a414c494154d213
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/comdat.ll
Log Message:
-----------
[MergeFunc] Keep comdat on new function, not thunk. (#130583)
MergeFunc uses the original function F as Thunk and creates a new function NewF for the original function F. Preserve F's comdat info on NewF instead of the thunk.
This fixes a crash when trying to lower comdat on the thunk during codegen.
Commit: 933221e55aa1e1c1ebc16bde30c8e4a0e12836bd
https://github.com/llvm/llvm-project/commit/933221e55aa1e1c1ebc16bde30c8e4a0e12836bd
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir][tosa] Rename RFFT2D `input` to `input_real` (#130614)
This is to align to the input name as defined in the specification.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 934d9162e1f2712d1fcb2c9eea00959ee10546eb
https://github.com/llvm/llvm-project/commit/934d9162e1f2712d1fcb2c9eea00959ee10546eb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Use ADDR operand for atomic instructions (#130438)
Commit: 431eaa8deb4ea1cbe079a29126f9559e4716f00d
https://github.com/llvm/llvm-project/commit/431eaa8deb4ea1cbe079a29126f9559e4716f00d
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/Basic/Attributes.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
A clang/test/TableGen/HLSLAttribute-errors.td
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[HLSL] make semantic matching case insensitive (#129773)
Make semantic matching case insensitive
update tests to reflect semantic printed as all lower case in error
messages
add new tests to show case insensitivity
Closes #128063
Commit: deb4b206622c735450819e9cff36518997fed5c1
https://github.com/llvm/llvm-project/commit/deb4b206622c735450819e9cff36518997fed5c1
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
Log Message:
-----------
[NFC][libcxx][test] clang-format: search.pass.cpp (#130551)
Commit: 7016f2d6e9f84159747e7e8e01e1b49c5547bdec
https://github.com/llvm/llvm-project/commit/7016f2d6e9f84159747e7e8e01e1b49c5547bdec
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
Log Message:
-----------
[RISCV] Add coverage for vsub.vi emulation via vadd.vi
Note that we already perform the emulation for intrinsics, but not for plain IR.
Commit: 483c23f6e860c079ae2b9cceb37ebe2129ada13d
https://github.com/llvm/llvm-project/commit/483c23f6e860c079ae2b9cceb37ebe2129ada13d
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/quant-test.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Switch zero point of negate to input variable type (#129758)
This commit changes the zero point attribute to an input to align with
the 1.0 spec.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: a7f1dc0ff5a6e76699fbb398e888a59cc929d578
https://github.com/llvm/llvm-project/commit/a7f1dc0ff5a6e76699fbb398e888a59cc929d578
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use `adl_being`/`end` in `concat` (#130520)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures.
Commit: b9cb931713ed3f05568e8a091bd47a3e865f059f
https://github.com/llvm/llvm-project/commit/b9cb931713ed3f05568e8a091bd47a3e865f059f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert X86ISD::VPERMV3 concatenation to use combineConcatVectorOps recursion
Only concatenate X86ISD::VPERMV3 nodes if at least one operand is beneficial to concatenate
Also add missing useAVX512Regs check
Commit: 4476f7237ee000ce3c36e359297d4ac76b2dfb5f
https://github.com/llvm/llvm-project/commit/4476f7237ee000ce3c36e359297d4ac76b2dfb5f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-check-generated-files.yml
Log Message:
-----------
[Github][libc++] Hash Pin Actions in Workflows (#129488)
This patch has pins actions in the libc Github workflows. Hash pinning
is a best practice as it ensures we are getting an exact action version,
which can help with reproducibility/reliability. It additionally
alleviates security concerns as an attacker can modify release assets,
potentially giving them access to tokens in privileged workflows.
Commit: 3c71f716a9a06f14212cc69df841c57ff7d47b82
https://github.com/llvm/llvm-project/commit/3c71f716a9a06f14212cc69df841c57ff7d47b82
Author: Eli Black <eliblack3 at hotmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/www/get_started.html
Log Message:
-----------
[docs] Remove Visual Studio 2017 references and bump VS 2019 to VS 2022 (#70759)
The docs say that Visual Studio 2019 16.7 or later is required to build
clang but reference VS 2017.
* Remove references to VS 2017
* Update instructions to use VS 2022, since that's the current version
available for download from MS' website
* The path to VS 2022 executables is `Program Files` instead of `Program
Files (x86)`, as VS 2022 is 64-bit
Commit: 8f0293695f783ec9dd0bd7532e1556edbbf6cfea
https://github.com/llvm/llvm-project/commit/8f0293695f783ec9dd0bd7532e1556edbbf6cfea
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Eliminate use of `ConstRecIter` from SubtargetEmitter (#130162)
- Eliminate use of `ConstRecIter` from `expandProcResources` by using `all_of()` to simplify the code.
Commit: 51850db4bf1532ed53a632454bc024b5a4352d6a
https://github.com/llvm/llvm-project/commit/51850db4bf1532ed53a632454bc024b5a4352d6a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3451.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3451
This paper allows initialization of anonymous structures and unions via
braced initializers, which is something Clang has supported since
forever.
Commit: 3fb8cb6740682b0f6f73637c603658a98006baf1
https://github.com/llvm/llvm-project/commit/3fb8cb6740682b0f6f73637c603658a98006baf1
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
A mlir/test/Conversion/TosaToArith/tosa-to-arith-invalid.mlir
M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
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/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.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
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
Log Message:
-----------
[mlir][tosa] Add support for EXT-DOUBLEROUND and EXT-INEXACTROUND (#130337)
Commit: 0a1f7f0e661b48dc4470d31d95e22e95a7959adc
https://github.com/llvm/llvm-project/commit/0a1f7f0e661b48dc4470d31d95e22e95a7959adc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
Log Message:
-----------
[ctxprof][nfc] Drop `Section` in `writeFlatSection` (#130654)
It matches `writeContextual`, and also, it's not the whole section that's being written there, just a profile, piecemeal.
Commit: 9f170e6abed4a7b393bb8abbf07ac8d6930aa3b0
https://github.com/llvm/llvm-project/commit/9f170e6abed4a7b393bb8abbf07ac8d6930aa3b0
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc][bazel] Convert "errno" to libc_support_library. (#130368)
This shouldn't really be a "libc_function" since it can be used as a
dependency of various other support libraries and functions, and doesn't
correspond to a well-defined endpoint that the users may want to
explicitly depend on (if they depend on it implicitly through a
libc_function whose implementation relies on errno, the dependency will
be pulled in normally). Remove special handling for "errno" in the Bazel
test rules.
This is one more cleanup step unlocking the plan outlined in #130327
Commit: 68e3c02285d79253beab92ca50e5992a59db6eb6
https://github.com/llvm/llvm-project/commit/68e3c02285d79253beab92ca50e5992a59db6eb6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Move CV_INSERTR into the XCVbitmanip DecoderNamespace instead of the default.
This uses RVInstR, while other XCVbitmanip instructions use classes
that set the DecoderNamespace.
Commit: e2733c82bd5cacfdcb97dfea44f42b70e8b0182c
https://github.com/llvm/llvm-project/commit/e2733c82bd5cacfdcb97dfea44f42b70e8b0182c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Parser/program-parsers.cpp
A flang/test/Parser/func-label.f
Log Message:
-----------
[flang] Accept useless label on top-level FUNCTION (#129603)
The look-ahead parser for function program units didn't allow for a
useless label on the statement.
Fixes https://github.com/llvm/llvm-project/issues/129456.
Commit: 53c3a2c69aeaaf65ceedc1117648461607f0c165
https://github.com/llvm/llvm-project/commit/53c3a2c69aeaaf65ceedc1117648461607f0c165
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/allocate12.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/expr-errors06.f90
Log Message:
-----------
[flang] Static checking for empty coarrays (#129610)
A coarray must not have a zero extent on a codimension; that would yield
an empty coarray. When cobounds are constants, verify them.
Commit: 706e7d83cfd92c9da5125c43a28832336e9bd45b
https://github.com/llvm/llvm-project/commit/706e7d83cfd92c9da5125c43a28832336e9bd45b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/pointer-assignment.cpp
M flang/test/Semantics/assign02.f90
Log Message:
-----------
[flang] Enforce C1027 (F'2023) (#129617)
The LHS of a pointer assignment statement may not be coindexed.
Commit: 6b5b0821e3d879390a262679d05ad268b62c0a19
https://github.com/llvm/llvm-project/commit/6b5b0821e3d879390a262679d05ad268b62c0a19
Author: Boaz Brickner <brickner at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/include/clang/AST/Mangle.h
M clang/lib/AST/Mangle.cpp
Log Message:
-----------
[Clang] Make `MangleContext::mangleMSGuidDecl()`, `MangleContext::mangleObjCMethodName()` and `MangleContext::mangleObjCMethodNameAsSourceName()` const methods (#130613)
Unfortunately, making `MangleContext::mangleName()` would require a lot
of const escapes due to lazy initialization and id creations:
`Mangle.h`:
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/include/clang/AST/Mangle.h#L82-L85
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/include/clang/AST/Mangle.h#L97-L99
`ItaniumMangle.cpp`:
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/lib/AST/ItaniumMangle.cpp#L158-L161
*
https://github.com/llvm/llvm-project/blob/4508d6aa72b0f31056ae01aff0e8009a252e4683/clang/lib/AST/ItaniumMangle.cpp#L641
`MicrosoftMangle.cpp`:
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/lib/AST/MicrosoftMangle.cpp#L243-L245
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/lib/AST/MicrosoftMangle.cpp#L284
Commit: 33b061f8ea8ba1d7fa0ff29bfbf499375df9c4e7
https://github.com/llvm/llvm-project/commit/33b061f8ea8ba1d7fa0ff29bfbf499375df9c4e7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-deallocate.cpp
M flang/test/Semantics/deallocate05.f90
Log Message:
-----------
[flang] Enforce C955 on DEALLOCATE (#129788)
Constraint C955 in F'2023 prohibits an allocate-object from being
coindexed. We catch this on ALLOCATE statements but missed it on
DEALLOCATE.
Commit: 8c535669a3717a4c3f58154b672748f82f137c11
https://github.com/llvm/llvm-project/commit/8c535669a3717a4c3f58154b672748f82f137c11
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-coarray.h
M flang/test/Semantics/lockstmt03.f90
Log Message:
-----------
[flang] Semantic checking of LOCK statement (#129806)
Add checks for the LOCK statement, and complete and enable their tests.
Commit: b7557ab34dbc79390c706812e23626747b7fe40a
https://github.com/llvm/llvm-project/commit/b7557ab34dbc79390c706812e23626747b7fe40a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/io11.f90
Log Message:
-----------
[flang] Catch disallowed usage of coarrays in defined I/O (#129907)
Defined input/output subroutines must conform to documented interfaces
that do not allow for coarray dummy arguments.
Commit: d53079055ed6e9afbb8d944dadb3298e76949711
https://github.com/llvm/llvm-project/commit/d53079055ed6e9afbb8d944dadb3298e76949711
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/bindings01.f90
Log Message:
-----------
[flang] Catch coindexed procedure pointer/binding references (#129931)
A procedure designator cannot be coindexed, except for cases in which
the coindexing doesn't matter (i.e. a binding that can't be overridden).
Commit: f6fc29d3319c8cc4004235984b9b43e08881c53d
https://github.com/llvm/llvm-project/commit/f6fc29d3319c8cc4004235984b9b43e08881c53d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/move_alloc.f90
Log Message:
-----------
[flang] Check coranks on MOVE_ALLOC (#129944)
The FROM= and TO= arguments in a reference to the MOVE_ALLOC intrinsic
subroutine must have the same corank.
Commit: bbc27fbb1cb3ac6a92d9ce15f647b29114a75c91
https://github.com/llvm/llvm-project/commit/bbc27fbb1cb3ac6a92d9ce15f647b29114a75c91
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/assign11.f90
Log Message:
-----------
[flang] Refine checks on assignments to coarrays (#129966)
F'2023 10.2.1.2 paragraph 2 imposes some requirements on the left-hand
sides of assignments when they have coindices, and one was not checked
while another was inaccurately checked. In short, intrinsic assignment
to a coindexed object can't change its type, and neither can it affect
allocatable components.
Commit: fd8de7524d4f32c167aa2a75b0cd61e64b756760
https://github.com/llvm/llvm-project/commit/fd8de7524d4f32c167aa2a75b0cd61e64b756760
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call06.f90
Log Message:
-----------
[flang] Check actual/dummy coranks in more cases (#130167)
The check for equality of actual and dummy argument coranks was taking
place only for ALLOCATABLE coarrays; perform the check for all cases,
and refine the ALLOCATABLE check to apply only to cases that don't fail
the new more general check.
Commit: 73b96cff012b27195d2f5e09395899b0421f1347
https://github.com/llvm/llvm-project/commit/73b96cff012b27195d2f5e09395899b0421f1347
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Evaluate/variable.cpp
M flang/test/Semantics/coarrays02.f90
Log Message:
-----------
[flang] Refine coarray subobjects (#130183)
A subobject of a coarray is not also a coarray if it involves an
allocatable component, pointer component, or vector-valued subscript.
Commit: 40d9096fda65dc94fc1b10c091802dcb8f3ab3a5
https://github.com/llvm/llvm-project/commit/40d9096fda65dc94fc1b10c091802dcb8f3ab3a5
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/assignment.cpp
M flang/test/Semantics/call12.f90
Log Message:
-----------
[flang] Enforce C15104(5) for coindexed values (#130203)
A object's value can't be copied from another image by means of an
intrinsic assignment statement if it has a derived type that contains a
pointer subobject ultimate component.
Commit: 8227f2a35aef0abebf0e2914795b668845a90169
https://github.com/llvm/llvm-project/commit/8227f2a35aef0abebf0e2914795b668845a90169
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile74.f90
Log Message:
-----------
[flang] Fix Cray pointers in module file output (#130315)
The relationship between a Cray pointee and its pointer is not in the
symbol table entry, but instead in a per-scope map. Use this information
to ensure that if a pointee/pointer is needed in the module file, so is
its pointer/pointee.
Fixes https://github.com/llvm/llvm-project/issues/130270.
Commit: c1898522180f76376167aaab8c0f07afe9e3fef5
https://github.com/llvm/llvm-project/commit/c1898522180f76376167aaab8c0f07afe9e3fef5
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/bug126459.F90
Log Message:
-----------
[flang] Ignore empty keyword macros before directives (#130333)
Ignore any keyword macros with empty directives that might appear before
a compiler directive.
Fixes https://github.com/llvm/llvm-project/issues/126459.
Commit: f9146ccbe940d8b8eb15e7686a511a28eb0abc6b
https://github.com/llvm/llvm-project/commit/f9146ccbe940d8b8eb15e7686a511a28eb0abc6b
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[libc][bazel] explicitly use system-provided errno in Bazel builds. (#130663)
Addressing the comments from PR #130368 review. Since Bazel builds are
effectively overlay mode, switch to explicitly setting
-DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_SYSTEM configuration option, so that
unit tests and release builds are consistent. Verified that all the unit
tests pass with this flag specified.
Commit: f84f4e1e05f65ef9669b9dd0b1fce519240e9c60
https://github.com/llvm/llvm-project/commit/f84f4e1e05f65ef9669b9dd0b1fce519240e9c60
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
Log Message:
-----------
[LV] Don't crash on inner loops with RT checks in VPlan-native path.
Assert that we only generate runtime checks for inner loops in
emitMemRuntimeChecks, instead of returning nullptr in the VPlan-native
path, which is causing crashes and incorrect code.
Commit: e235432867e922613d86b6ee8e94234817cddce0
https://github.com/llvm/llvm-project/commit/e235432867e922613d86b6ee8e94234817cddce0
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_strong.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_weak.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/load.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/store.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/wait.verify.cpp
Log Message:
-----------
[libc++] Add `-Watomic-memory-ordering` diagnostic tests for `atomic_ref` (#130206)
Fix #130053
Commit: 3f30207a230f9332b5c02a8d00ad3e9dc44e9bd3
https://github.com/llvm/llvm-project/commit/3f30207a230f9332b5c02a8d00ad3e9dc44e9bd3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix __ldXX function signatures (#130628)
Function are taking array reference and not array directly.
Commit: df7927626bc2e6473691ce59067797c60acc2627
https://github.com/llvm/llvm-project/commit/df7927626bc2e6473691ce59067797c60acc2627
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M .github/workflows/release-asset-audit.py
Log Message:
-----------
[Github] Add stefanp-synopsys to release uploaders
It seems stefanp-ibm got renamed to sefanp-synopsys. Renaming in the file so
that the release asset audit does not keep flagging this binary. All signs
point to this being the same account. The release is dated to June of 2024,
the name is close enough, and the new account is already in the LLVM org/
has a history of contributions.
This is a stop gap for #130650.
Commit: aeae3667bd092925795976a85a4ab1246fa3c8c8
https://github.com/llvm/llvm-project/commit/aeae3667bd092925795976a85a4ab1246fa3c8c8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Make start operand non-optional for VPHeaderPHIRecipe (NFC).
The start value is always available, require it unconditionally.
Commit: 92c8dd6fc940318d03c0689fdd008914e105f055
https://github.com/llvm/llvm-project/commit/92c8dd6fc940318d03c0689fdd008914e105f055
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
A llvm/include/llvm/Support/Mustache.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Mustache.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/MustacheTest.cpp
Log Message:
-----------
[llvm] add support for mustache templating language (#105893)
Adds Support for the Mustache Templating Language. See specs here:
https://mustache.github.io/mustache.5.html
This patch implements support+tests for majority of the features of the
language including:
- Variables
- Comments
- Lambdas
- Sections
This meant as a library to support places where we have to generate
HTML, such as in clang-doc.
Commit: c88352d2e92fb28abc39f9a393bdb2f1d6729a4e
https://github.com/llvm/llvm-project/commit/c88352d2e92fb28abc39f9a393bdb2f1d6729a4e
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use `adl_begin`/`end` in `replace`. (#130523)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures.
Also clean up the implementation to adhere to the llvm coding standards.
Commit: 9bac1b63ac14ca7cbd98ef63cbc0d8b643d31403
https://github.com/llvm/llvm-project/commit/9bac1b63ac14ca7cbd98ef63cbc0d8b643d31403
Author: David Green <david.green at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[GlobalISel] Add and use a m_GAddLike pattern matcher. NFC (#125435)
This adds a Flags parameter to the BinaryOp_match, allowing it to detect
different flags like Disjoint. A m_GDisjointOr is added to detect Or's
with disjoint flags, and G_AddLike is then either a m_GADD or
m_GDisjointOr.
The rest is trying to allow matching `const MachineInstr&`, as opposed
to non-const references.
Commit: 5c055cc4eb2ef610ad44e6c8202bd3dc9bce07e7
https://github.com/llvm/llvm-project/commit/5c055cc4eb2ef610ad44e6c8202bd3dc9bce07e7
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
R llvm/include/llvm/Support/Mustache.h
M llvm/lib/Support/CMakeLists.txt
R llvm/lib/Support/Mustache.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/MustacheTest.cpp
Log Message:
-----------
Revert "[llvm] add support for mustache templating language (#105893)" (#130676)
This broke some build bot warnings
https://lab.llvm.org/buildbot/#/builders/160/builds/14381/steps/5/logs/stdio
reverts: https://github.com/llvm/llvm-project/pull/105893
Commit: 5757da1480691eb6e452c0aaa6036d03c1660817
https://github.com/llvm/llvm-project/commit/5757da1480691eb6e452c0aaa6036d03c1660817
Author: Julius Alexandre <juliuswoosebert at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[lldb][docs] Added LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS for macOS configuration (#130381)
Referenced here:
https://github.com/llvm/llvm-project/issues/130171#issuecomment-2707058235
I think this will allow for issues relating towards missing modules for
test suites to be more manageable.
cc @adrian-prantl
---------
Co-authored-by: medievalghoul <61852278+medievalghoul at users.noreply.github.com>
Commit: 6657769199ad625ea0cb7f7c054d4f6a27806080
https://github.com/llvm/llvm-project/commit/6657769199ad625ea0cb7f7c054d4f6a27806080
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hexagon-toolchain-linux.c
Log Message:
-----------
[hexagon] Enable --eh-frame-hdr (#130225)
The missing `PT_GNU_EH_FRAME` was causing C++ exception handling test
failures in llvm-test-suite. We should unconditionally add this argument
like the other drivers do.
Discovered-by: Alexey Karyakin <akaryaki at quicinc.com>
Fixes: #129745
Commit: 0230d63b4a8b9f420b0aaac373891df1199715a8
https://github.com/llvm/llvm-project/commit/0230d63b4a8b9f420b0aaac373891df1199715a8
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[MLIR][OneShotBufferize] Fix opFilter init (#130633)
OneShotBufferizePass's opFilter definition in runOnOperation() fails to
allow operations for all dialect when the dialectFilter has an empty
array value (as opposed to no value). This happens when constructing
OneShotBufferizePass from a OneShotBufferizePassOptions parameter with
an empty dialectFilter. This commit only does filtering if filterDialect
option has a value and it is not an empty array.
Commit: 9b066f0b57fdf341e55f754fa35d49e1b35b1af3
https://github.com/llvm/llvm-project/commit/9b066f0b57fdf341e55f754fa35d49e1b35b1af3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Merge DecoderNamespace for CORE-V extensions. NFC
Similar to Qualcomm, Sifive, T-Head, and Rivos extensions.
Commit: b15ccd436aef320802635984f336fcfe5b69ff0b
https://github.com/llvm/llvm-project/commit/b15ccd436aef320802635984f336fcfe5b69ff0b
Author: Nikhil Kalra <nkalra at apple.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/Diagnostics.h
M mlir/test/python/ir/diagnostic_handler.py
M mlir/test/python/lib/PythonTestCAPI.cpp
M mlir/test/python/lib/PythonTestCAPI.h
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
Log Message:
-----------
[mlir] Better Python diagnostics (#128581)
Updated the Python diagnostics handler to emit notes (in addition to
errors) into the output stream so that users have more context as to
where in the IR the error is occurring.
Commit: fa315eceb7ab6106729c6b52495891c3f0f58478
https://github.com/llvm/llvm-project/commit/fa315eceb7ab6106729c6b52495891c3f0f58478
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binop-into-select.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
Log Message:
-----------
[RISCV] Convert vsub.vx to vadd.vi if possible (#130669)
We'd already had this transform for the intrinsics, but hadn't added it
for either fixed length or scalable vectors coming from normal IR.
For the record, the fact we have three different sets of patterns here
really is quite ugly.
Commit: ae23dd5d9983c07dbd32919e9fba19176a9cefb9
https://github.com/llvm/llvm-project/commit/ae23dd5d9983c07dbd32919e9fba19176a9cefb9
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
M clang/test/Sema/attr-availability-macosx.cpp
Log Message:
-----------
Reland: [clang] Fix missing diagnostic of declaration use when accessing TypeDecls through typename access (#130673)
Commit: af62a6f59aeed78e6f3eb88152397f2006b96dfd
https://github.com/llvm/llvm-project/commit/af62a6f59aeed78e6f3eb88152397f2006b96dfd
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/coarrays02.f90
Log Message:
-----------
[flang] Enforce F'2023 constraints C917 & C918 (#129962)
These are constraints that preclude the need to obtain type information
from descriptors on other images, essentially. When designating a
polymorphic component, its base may not be coindexed; nor shall a
coindexed designator have a type with a polymorphic potential subobject
component.
Commit: 016557fab24ae4d99ab6aa98433cce23f2d03ac2
https://github.com/llvm/llvm-project/commit/016557fab24ae4d99ab6aa98433cce23f2d03ac2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Semantics/type.cpp
A flang/test/Semantics/pdt04.f90
M flang/test/Semantics/resolve105.f90
Log Message:
-----------
[flang] Better error handling for PDT constant expression (#130637)
We currently don't consider an integer division to be a constant
expression unless its divisor is known and nonzero. This produces a
weird result in the linked test; do better.
Fixes https://github.com/llvm/llvm-project/issues/130534.
Commit: 4a76c20bab1505851d54cd30d4bf7a1b161db9fd
https://github.com/llvm/llvm-project/commit/4a76c20bab1505851d54cd30d4bf7a1b161db9fd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Reduce arguments for CVStore_rr_inc and CVStore_rr clases in RISCVInstrInfoXCV.td. NFC
The ins, outs, and argstr for all instantiations of the classes
are the same so just make them part of the class.
Commit: a5a33d82931def5a2f6f4dcfca834574190b4b50
https://github.com/llvm/llvm-project/commit/a5a33d82931def5a2f6f4dcfca834574190b4b50
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Move let Constraints closer to where outs/ins are declared in RISCVInstrInfoXCV.td. NFC
The Constraint refers to the ins/outs register names so should be
as close as they can be.
Commit: 426caf1182caa40a1af8eaa6cf2d88dededa671a
https://github.com/llvm/llvm-project/commit/426caf1182caa40a1af8eaa6cf2d88dededa671a
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/locale_macros.h
M libc/test/src/locale/CMakeLists.txt
M libc/test/src/locale/locale_test.cpp
M libc/test/src/locale/localeconv_test.cpp
Log Message:
-----------
[libc] add locale proxy header (#130621)
Address review comments in #130407.
This patch is already covered by existing locale test cases.
Commit: 9d7ca6cdf038dab24fbc5c22a91be36604decb67
https://github.com/llvm/llvm-project/commit/9d7ca6cdf038dab24fbc5c22a91be36604decb67
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M libcxx/include/regex
M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
Log Message:
-----------
[regex] fix uncaught exception when string is like "\\_" (#129348)
`\_ `is a valid identity escape in regular expressions, but previously
libc++ incorrectly treated it as invalid. So I deleted this judgment
fixes #129062
Commit: 3226617f023d46708414f867c726695a1a2dd562
https://github.com/llvm/llvm-project/commit/3226617f023d46708414f867c726695a1a2dd562
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Remove a duplicate setOperationAction, NFC (#130664)
Commit: 1dffe8f364a4d5ed0b1efc981a1d9a30166aae05
https://github.com/llvm/llvm-project/commit/1dffe8f364a4d5ed0b1efc981a1d9a30166aae05
Author: R <rqou at berkeley.edu>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
A flang/test/Fir/alloc-32.fir
M flang/test/Fir/alloc.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/forall/character-1.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
Reland [flang] In AllocMemOp lowering, convert types for calling malloc on 32-bit (#130386)
Previous PR: https://github.com/llvm/llvm-project/pull/129308
Changes:
* The alloc-32.fir test is now marked as requiring the X86 target.
* Drive-by fixes uncovered when fixing tests involving malloc
Commit: 666540cb65331970e4953891cb8525a32e7da6b8
https://github.com/llvm/llvm-project/commit/666540cb65331970e4953891cb8525a32e7da6b8
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
M llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
Log Message:
-----------
[ORC] Swap handleAsync handler and send-result arguments.
Placing the handler argument last improves readability when passing a lambda
value (the common case for this API).
Commit: 8338fbe455883ce6395b98401fd17ee40852c3a7
https://github.com/llvm/llvm-project/commit/8338fbe455883ce6395b98401fd17ee40852c3a7
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use `adl_begin`/`end` in `hasNItems`* (#130524)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures.
Commit: 7d4d8509cbec7eecd8aaf2510015b54bc5c173e1
https://github.com/llvm/llvm-project/commit/7d4d8509cbec7eecd8aaf2510015b54bc5c173e1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't remove parentheses separated from ellipsis by comma (#130471)
Also clean up `case tok::r_paren` in
`UnwrappedLineParser::parseParens()`.
Fix #130359
Commit: 256bde4fe426947698259c5c46bb841467e9d7ab
https://github.com/llvm/llvm-project/commit/256bde4fe426947698259c5c46bb841467e9d7ab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrBuilder.h
Log Message:
-----------
[X86] Use Register in X86InstrBuilder.h. NFC (#130514)
I had to give the X86AddressMode Base union a name and a constructor so
it would default to Register. This means the Base.Reg = 0 in the
X86AddressMode constructor is no longer needed.
Commit: 5bf048659972964912e0de88b5fcaef338b15dfc
https://github.com/llvm/llvm-project/commit/5bf048659972964912e0de88b5fcaef338b15dfc
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc][bazel] Remove unneeded deps. (#130696)
The MPFRWrapper BUILD targets don't depend directly on gmp. MPFR itself
does depend on gmp, but not the wrapper.
Commit: 205c5325b3c771d94feb0ec07e8ad89d27c2b29e
https://github.com/llvm/llvm-project/commit/205c5325b3c771d94feb0ec07e8ad89d27c2b29e
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
A mlir/test/Transforms/move-operation-deps.mlir
M mlir/test/lib/Transforms/CMakeLists.txt
A mlir/test/lib/Transforms/TestTransformsOps.cpp
A mlir/test/lib/Transforms/TestTransformsOps.td
M mlir/test/lib/Transforms/lit.local.cfg
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] Add a utility method to move operation dependencies. (#129975)
The added utility method moves all SSA values that an operation depends
upon before an insertion point. This is useful during transformations
where such movements might make transformations (like fusion) more
powerful.
To test the operation add a transform dialect op that calls the move
operation. To be able to capture the `notifyMatchFailure` messages from
the transformation and to report/check these in the test modify the
`ErrorCheckingTrackingListener` to capture the last match failure
notification.
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: ab6f470675ed31e5ed1494f6521c3d477c537392
https://github.com/llvm/llvm-project/commit/ab6f470675ed31e5ed1494f6521c3d477c537392
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/Host.cpp
Log Message:
-----------
[lldb][AIX] Host.cpp for AIX (#130582)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added base file - aix/Host.cpp for Process info
Commit: 612e4e9d6daff61eb480b9b3d9ca47f33168772e
https://github.com/llvm/llvm-project/commit/612e4e9d6daff61eb480b9b3d9ca47f33168772e
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/lib/Sema/Sema.cpp
A clang/test/Modules/pr125999.cppm
Log Message:
-----------
[C++20] [Modules] Instantiate pending instantiations when GMF ends (#126842)
Close https://github.com/llvm/llvm-project/issues/125999
The cause of the problem is, when we instantiate the pending
instantiation, the owning module of the TU gets into 'foo' instead of
the GMF.
The concern of the patch is, I am not sure the point of 'pending'
instantiations. I mean, if there is a reason we **must** pending the
intantiations to the end of the TU.
Commit: 95e38baf24ed7509decf1b9ee362cf3e23e68e54
https://github.com/llvm/llvm-project/commit/95e38baf24ed7509decf1b9ee362cf3e23e68e54
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/Transforms/LoopDataPrefetch/RISCV/basic.ll
Log Message:
-----------
[RISCV] Enable prefetching writes (#130561)
We should prefetch writes since `Zicbop` has `prefetch.w`.
Commit: 494fe0b4145810d4e4e7b6003cabd194f76cb5d4
https://github.com/llvm/llvm-project/commit/494fe0b4145810d4e4e7b6003cabd194f76cb5d4
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Remove wasm-specific findWasmUnwindDestinations (#130374)
Unlike in Itanium EH IR, WinEH IR's unwinding instructions (e.g.
`invoke`s) can have multiple possible unwind destinations.
For example:
```ll
entry:
invoke void @foo()
to label %cont unwind label %catch.dispatch
catch.dispatch: ; preds = %entry
%0 = catchswitch within none [label %catch.start] unwind label %terminate
catch.start: ; preds = %catch.dispatch
%1 = catchpad within %0 [ptr null]
...
terminate: ; preds = %catch.dispatch
%2 = catchpad within none []
...
...
```
In this case, if an exception is not caught by `catch.dispatch` (and
thus `catch.start`), it should next unwind to `terminate`.
`findUnwindDestination` in ISel gathers the list of this unwind
destinations traversing the unwind edges:
https://github.com/llvm/llvm-project/blob/ae42f071032b29821beef6a33771258086bbbb1c/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L2089-L2150
But we don't use that, and instead use our custom
`findWasmUnwindDestinations` that only adds the first unwind
destination, `catch.start`, to the successor list of `entry`, and not
`terminate`:
https://github.com/llvm/llvm-project/blob/ae42f071032b29821beef6a33771258086bbbb1c/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L2037-L2087
The reason behind it was, as described in the comment block in the code,
it was assumed that there always would be an `invoke` that connects
`catch.start` and `terminate`. In case of `catch (type)`, there will be
`call void @llvm.wasm.rethrow()` in `catch.start`'s predecessor that
unwinds to the next destination. For example:
https://github.com/llvm/llvm-project/blob/0db702ac8e06911478615ac537f75ac778817c04/llvm/test/CodeGen/WebAssembly/exception.ll#L429-L430
In case of `catch (...)`, `__cxa_end_catch` can throw, so it becomes an
`invoke` that unwinds to the next destination. For example:
https://github.com/llvm/llvm-project/blob/0db702ac8e06911478615ac537f75ac778817c04/llvm/test/CodeGen/WebAssembly/exception.ll#L537-L538
So the unwind ordering relationship between `catch.start` and
`terminate` here would be preserved.
But turns out this assumption does not always hold. For example:
```ll
entry:
invoke void @foo()
to label %cont unwind label %catch.dispatch
catch.dispatch: ; preds = %entry
%0 = catchswitch within none [label %catch.start] unwind label %terminate
catch.start: ; preds = %catch.dispatch
%1 = catchpad within %0 [ptr null]
...
call void @_ZSt9terminatev()
unreachable
terminate: ; preds = %catch.dispatch
%2 = catchpad within none []
call void @_ZSt9terminatev()
unreachable
...
```
In this case there is no `invoke` that connects `catch.start` to
`terminate`. So after `catch.dispatch` BB is removed in ISel,
`terminate` is considered unreachable and incorrectly removed in DCE.
This makes Wasm just use the general `findUnwindDestination`. In that
case `entry`'s successor is going to be [`catch.start`, `terminate`]. We
can get the first unwind destination by just traversing the list from
the front.
---
This required another change in WinEHPrepare. WinEHPrepare demotes all
PHIs in EH pads because they are funclets in Windows and funclets can't
have PHIs. When used in Wasm they are not funclets so we don't need to
do that wholesale but we still need to demote PHIs in `catchswitch` BBs
because they are deleted during ISel. (So we created
[`-demote-catchswitch-only`](https://github.com/llvm/llvm-project/blob/a5588b6d20590a10db0f1a2046fba4d9f205ed68/llvm/lib/CodeGen/WinEHPrepare.cpp#L57-L59)
option for that)
But turns out we need to remove PHIs that have a `catchswitch` BB as an
incoming block too:
```ll
...
catch.dispatch:
%0 = catchswitch within none [label %catch.start] unwind label %terminate
catch.start:
...
somebb:
...
ehcleanup ; preds = %catch.dispatch, %somebb
%1 = phi i32 [ 10, %catch.dispatch ], [ 20, %somebb ]
...
```
In this case the `phi` in `ehcleanup` BB should be demoted too because
`catch.dispatch` BB will be removed in ISel so one if its incoming block
will be gone. This pattern didn't manifest before presumably due to how
`findWasmUnwindDestinations` worked. (In this example, in our
`findWasmUnwindDestinations`, `catch.dispatch` would have had only one
successor, `catch.start`. But now `catch.dispatch` has both
`catch.start` and `ehcleanup` as successors, revealing this bug. This
case is
[represented](https://github.com/llvm/llvm-project/blob/ab87206c4b95aa0b5047facffb5f78f7fe6ac269/llvm/test/CodeGen/WebAssembly/exception.ll#L445)
by `rethrow_terminator` function in `exception.ll` (or
`exception-legacy.ll`) and without the WinEHPrepare fix it will crash.
---
Discovered by the reproducer provided in #126916, even though the bug
reported there was not this one.
Commit: 9a5a8c9a8072d9af9cea087e506ea213bd89c0f5
https://github.com/llvm/llvm-project/commit/9a5a8c9a8072d9af9cea087e506ea213bd89c0f5
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/st_bulk.ll
Log Message:
-----------
[NVPTX] Add intrinsics for st.bulk instruction (#128856)
Adds NVVM intrinsics and NVPTX codegen for the `st.bulk` instruction
introduced in ptx8.6 for sm_100. Tests added in
`CodeGen/NVPTX/st_bulk.ll` and verified through ptxas 12.8.0.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-st-bulk
Commit: 3ce43c8b16a6aefe79ce976b1340ccd493cf533a
https://github.com/llvm/llvm-project/commit/3ce43c8b16a6aefe79ce976b1340ccd493cf533a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.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
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit checkers] Don't treat virtual functions as safe. (#129632)
Prior to this PR, WebKit checkers erroneously treated functions to be
safe if it has a trivial body even if it was marked as virtual. In the
case of a virtual function, it can have an override which does not pass
the triviality check so we must not make such an assumption.
This PR also restricts the allowed operator overloading while finding
the pointer origin to just operators on smart pointer types: Ref,
RefPtr, CheckedRef, CheckedPtr, RetainPtr, WeakPtr, WeakRef, unique_ptr,
and UniqueRef.
Commit: fd21d35178c50207cdc03f53ee16f83d22613ab0
https://github.com/llvm/llvm-project/commit/fd21d35178c50207cdc03f53ee16f83d22613ab0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Reduce the number of vectors passed to getIslands. NFC (#130402)
Combine the StartBits, EndBits, and FieldVals vectors into a single
vector of a struct that contains all 3 pieces of information.
Instead of storing EndBits, we store NumBits since that's what the users
want.
I've removed the BitNo variable as it was easy to construct calculate
from StartBit. I've also removed Num in favor of Islands.size().
Commit: 72bb0a9a9c6fdde43e1e191f2dc0d5d2d46aff4e
https://github.com/llvm/llvm-project/commit/72bb0a9a9c6fdde43e1e191f2dc0d5d2d46aff4e
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll
Log Message:
-----------
[AMDGPU] Fix test failures when expensive checks are enabled (#130644)
This PR fixes test failures introduced in #127353 when expensive checks
are enabled.
For `llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll` and
`llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll`, `s59`
is no longer in live-ins because it is caller saved. Switch to `s55` in
this PR.
Commit: 1e83d975d72037567afd9d3b22bb063b442ec045
https://github.com/llvm/llvm-project/commit/1e83d975d72037567afd9d3b22bb063b442ec045
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-10 (Mon, 10 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Use inheritance to reduce duplicated code in RISCVInstrInfoXCV.td. NFC (#130703)
CVSIMDRU and CVSIMDRI were the same except for immediate type. Make it a
default argument of CVSIMDRI so that CVSIMDRU can inherit from it and
override the argument.
Similar for CVSIMDRUWb.
Commit: bb2e85f12f6a17afdb36b2ffd2dcd17bbc4dd866
https://github.com/llvm/llvm-project/commit/bb2e85f12f6a17afdb36b2ffd2dcd17bbc4dd866
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[AMDGPU] Improve StructurizeCFG pass performance: avoid redundant DebugLoc map initialization. NFC. (#130568)
Previously, the TermDL (BB terminator → DebugLoc) map was initialized at
the start of processing each function's region, creating entries for the
entire function. This could be inefficient for large functions.
This patch improves performance by creating map entries only when
needed—when a terminator is being killed or when a flow block is
created. Additionally, entries are removed immediately after use,
preventing unnecessary map growth and ensuring DebugLocs are not
"retracked."
A mapless variant was also explored, but due to limited familiarity with
the structurizer, it was not pursued further.
In my cases, this change improves performance by 2-3×.
Commit: 75f76d482cc24162d5e3fdae0f0acd4c8f9cec6b
https://github.com/llvm/llvm-project/commit/75f76d482cc24162d5e3fdae0f0acd4c8f9cec6b
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
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/ReadabilityTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
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
Log Message:
-----------
[clang-tidy] Add bugprone-smartptr-reset-ambiguous-call check (#121291)
Add new clang-tidy check that finds potentially erroneous calls to
``reset()`` method on smart pointers when
the pointee type also has a ``reset()`` method.
It's easy to make typo and delete object because the difference between
``.`` and ``->`` is really small.
Sometimes IDE's autocomplete will change ``->`` to ``.`` automatically.
For example, developer wrote ``ptr->res`` but after pressing _Tab_ it
became ``ptr.reset()``.
Fixes #120908
Commit: 1fe702fdecf79121346fe5374b418bc1dbf9362c
https://github.com/llvm/llvm-project/commit/1fe702fdecf79121346fe5374b418bc1dbf9362c
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-tls-le.s
M lld/test/ELF/loongarch-tls-gd.s
M lld/test/ELF/loongarch-tls-ld.s
M lld/test/ELF/loongarch-tls-le.s
Log Message:
-----------
[lld][LoongArch] Relax TLS LE/GD/LD (#123600)
In local-exec form, the code sequence is converted as follows:
```
From:
lu12i.w $rd, %le_hi20_r(sym)
R_LARCH_TLS_LE_HI20_R, R_LARCH_RELAX
add.w/d $rd, $rd, $tp, %le_add_r(sym)
R_LARCH_TLS_LE_ADD_R, R_LARCH_RELAX
addi/ld/st.w/d $rd, $rd, %le_lo12_r(sym)
R_LARCH_TLS_LE_LO12_R, R_LARCH_RELAX
To:
addi/ld/st.w/d $rd, $tp, %le_lo12_r(sym)
R_LARCH_TLS_LE_LO12_R
```
In global-dynamic or local-dynamic, the code sequence is converted as
follows:
```
From:
pcalau12i $a0, %ld_pc_hi20(sym) | %gd_pc_hi20(sym)
R_LARCH_TLS_GD_PC_HI20 | R_LARCH_TLS_LD_PC_HI20, R_LARCH_RELAX
addi.w/d $a0, $a0, %got_pc_lo12(sym) | %got_pc_lo12(sym)
R_LARCH_GOT_PC_LO12, R_LARCH_RELAX
To:
pcaddi $a0, %got_pc_lo12(sym) | %got_pc_lo12(sym)
R_LARCH_TLS_GD_PCREL20_S2 | R_LARCH_TLS_LD_PCREL20_S2
```
Note: For initial-exec form, since it involves the conversion from IE to
LE, we will implement it in a future patch.
Commit: 318bef91eafb7e01be707b9919c36ef424840041
https://github.com/llvm/llvm-project/commit/318bef91eafb7e01be707b9919c36ef424840041
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC]refactor matcher for bugprone-optional-value-conversion (#130415)
The old `constructFrom` has hidden requirement which TypeMatcher must be used before ArgumentMatcher because there are bind inside.
Inlining this function to make it more intuitive.
Commit: 5cfc37b3458b89927e76950c9498152ab729803e
https://github.com/llvm/llvm-project/commit/5cfc37b3458b89927e76950c9498152ab729803e
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
Log Message:
-----------
[clang-tidy][NFC]clean ConstCorrectnessCheck (#130493)
Commit: 23d5123a08ad376d9a3cb2700fe2da1f8c1cb006
https://github.com/llvm/llvm-project/commit/23d5123a08ad376d9a3cb2700fe2da1f8c1cb006
Author: Petr Hosek <phosek at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
Log Message:
-----------
Revert "[llvm] add support for mustache templating language" (#130720)
Reverts llvm/llvm-project#105893 since it broke all builders that use
GCC as the compiler.
Commit: f120b0d6d2629e226e6fa75974fbd17f46206bca
https://github.com/llvm/llvm-project/commit/f120b0d6d2629e226e6fa75974fbd17f46206bca
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[MC] Remove MCSymbolRefExpr::VK_Invalid in favor of getVaraintKindForName returning std::optional
so that when the enum members are moved to XXXTargetExpr::VariantKind,,
they do not need to implement an invalid value.
Commit: f4218753ad93dd44b019e38bae61dceb93514aee
https://github.com/llvm/llvm-project/commit/f4218753ad93dd44b019e38bae61dceb93514aee
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/AST/ByteCode/if.cpp
A clang/test/CodeGen/p0963r3.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/decomposed-condition.cpp
M clang/test/SemaCXX/decomposed-condition.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P0963R3 "Structured binding declaration as a condition" (#130228)
This implements the R2 semantics of P0963.
The R1 semantics, as outlined in the paper, were introduced in Clang 6.
In addition to that, the paper proposes swapping the evaluation order of
condition expressions and the initialization of binding declarations
(i.e. std::tuple-like decompositions).
Commit: 4a4444c0b2f68bec1db8e2cc8d133982d5a339e3
https://github.com/llvm/llvm-project/commit/4a4444c0b2f68bec1db8e2cc8d133982d5a339e3
Author: David Green <david.green at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Analysis/CostModel.cpp
Log Message:
-----------
[CodeModel] Factor getCost out of CostModelPrinter loop. NFC
This helps in a follow-up so that it can be called multiple times with
different cost types.
Commit: 8758e5fe47b5cf2d39d94ee6dc8834755c7687d9
https://github.com/llvm/llvm-project/commit/8758e5fe47b5cf2d39d94ee6dc8834755c7687d9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-index-width.ll
Log Message:
-----------
[ConstantFolding] Fix handling of index width != pointer width (#130608)
Per LangRef:
> The offsets are then added to the low bits of the base address up to
the index type width, with silently-wrapping two’s complement
arithmetic. If the pointer size is larger than the index size, this
means that the bits outside the index type width will not be affected.
The transform as implemented was doubly wrong, because it just truncated
the original base pointer to the index width, losing the top bits
entirely. Make sure we preserve the bits and use wrapping arithmetic
within the low bits.
Commit: 7ecb0d03a4d78357adc35137a3109ee305ac4fff
https://github.com/llvm/llvm-project/commit/7ecb0d03a4d78357adc35137a3109ee305ac4fff
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lldb/source/Core/Mangled.cpp
Log Message:
-----------
[lldb][Mangled] Use early-return style in GetDemangledName (#130622)
This patch refactors `Mangled::GetDemangledName` to use LLVM's preferred
early-return style. I'm planning on introducing a way to force
re-demangling of names in a future patch, and this stylisitc cleanup
makes that easier to reason about.
Also performed small cleanups where I could:
* we can handle `eManglingSchemeNone` inside the switch instead of a
separate if-block
* removed some redundant explicit StringRef<->C-string conversions
Commit: cdd560eead457bcc6dbb28ef88d868bc68cfd7e6
https://github.com/llvm/llvm-project/commit/cdd560eead457bcc6dbb28ef88d868bc68cfd7e6
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Utility/XcodeSDK.cpp
M lldb/unittests/Utility/XcodeSDKTest.cpp
Log Message:
-----------
[lldb][XcodeSDK] Simplify logic that adjusts sysroot during XcodeSDK merging (#130640)
The `DW_AT_APPLE_sdk` should always be equal to the filename of the
`DW_AT_LLVM_sysroot`. We can use this property to simplify
`XcodeSDK::Merge` to no longer manually adjust the sysroot filename.
Instead we simply update the sysroot filename with merged SDK name.
This should be an NFC change.
Commit: cb7298f66d62a3548fcf3bd230304067ecf30d17
https://github.com/llvm/llvm-project/commit/cb7298f66d62a3548fcf3bd230304067ecf30d17
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/tools/dump_ast_matchers.py
M clang/include/clang/ASTMatchers/ASTMatchers.h
Log Message:
-----------
[AstMatcher][NFC]fix doc gen for ast matchers (#130726)
1. dump-ast-matchers.py does not depend on pwd
2. fix some warning in python3
Commit: 1ddf18057a5aa1ee7010ec262ccfc80c39b99bf6
https://github.com/llvm/llvm-project/commit/1ddf18057a5aa1ee7010ec262ccfc80c39b99bf6
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/copy-codegen.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang] introduce fir.copy to avoid load store of aggregates (#130289)
Introduce a FIR operation to do memcopy/memmove of compile time constant size types.
This is to avoid requiring derived type copies to done with load/store
which is badly supported in LLVM when the aggregate type is "big" (no
threshold can easily be defined here, better to always avoid them for
fir.type).
This was the root cause of the regressions caused by #114002 which introduced a
load/store of fir.type<> which caused hand/asserts to fire in LLVM on
several benchmarks.
See https://llvm.org/docs/Frontend/PerformanceTips.html#avoid-creating-values-of-aggregate-type
Commit: 976e41302411e511ab0e99922288185b5939bf54
https://github.com/llvm/llvm-project/commit/976e41302411e511ab0e99922288185b5939bf54
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
Log Message:
-----------
[lldb][Mangled][NFC] Clean up member variable doxygen comments
Commit: 148a7ae328b431f07c0d1fca9e0e9e232c054967
https://github.com/llvm/llvm-project/commit/148a7ae328b431f07c0d1fca9e0e9e232c054967
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx-shift.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/known-bits-vector.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.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-idiv-udiv-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.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-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-rotate-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add support for AVX1 and/or/xor/andnp concatenation (#130645)
Limit AVX1-only targets to cases where at least one operand is
beneficial to concatenate, but avoid unnecessary 256-bit NOT patterns
unless it allows further folds.
There are still a large number of regressions when limiting AVX2+
targets to beneficial concatenation - so added a TODO for now.
Commit: 1ff10fa82fff83bb2f0a5c1ffde6203b52bc9619
https://github.com/llvm/llvm-project/commit/1ff10fa82fff83bb2f0a5c1ffde6203b52bc9619
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Limits the splat operations be hoisted must not be defined by a recipe. (#117138)
Issue https://github.com/llvm/llvm-project/issues/117139
Commit: 055db3ec334221408f5187ce507c45925ceeb143
https://github.com/llvm/llvm-project/commit/055db3ec334221408f5187ce507c45925ceeb143
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[LV] Optimise latch exit induction users for some early exit loops (#128880)
This is the first of two PRs that attempts to improve the IR
generated in the exit blocks of vectorised loops with uncountable
early exits. In this PR I am improving the generated code for
users of induction variables in early exit loops that have a
unique exit block, when exiting via the latch.
I have moved some of the code for calculating the exit values in
latch exit blocks from `optimizeInductionExitUsers` into a new
function `optimizeLatchExitInductionUser`.
I intend to follow this up very soon with another patch to
optimise the code for induction users in the vector.early.exit
block.
Commit: a542a083093e7013aabe921cc92f623861a7467d
https://github.com/llvm/llvm-project/commit/a542a083093e7013aabe921cc92f623861a7467d
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/test/Lower/OpenMP/reduction-equivalence.f90
Log Message:
-----------
[flang][OpenMP] Support reduction of variables in EQUIVALENCE (#130607)
These previously crashed the compiler because !fir.ptr (not wrapped
inside of a box) was not supported.
Real POINTER variables are supported as !fir.box<!fir.ptr<>>. The
version for EQUIVALENCE doesn't need to do anything different to
!fir.ref<>.
Commit: f590843616d22338ca4bfd1c8623a5dc7c76b6ec
https://github.com/llvm/llvm-project/commit/f590843616d22338ca4bfd1c8623a5dc7c76b6ec
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel build after 205c532
Commit: cdf18331eb51ba5953182a2fb9248640f43a7d13
https://github.com/llvm/llvm-project/commit/cdf18331eb51ba5953182a2fb9248640f43a7d13
Author: David Green <david.green at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Analysis/CostModel.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[CostModel] Add -cost-kind=all costmodel output (#130490)
In order to make the different cost model kinds easier to test, and to
manage the complexity of all the different variants, this patch
introduces a -cost-kind=all option that will print the output of all
cost model kinds. It feel especially helpful for tests that already have
multiple run lines (with / without +fullfp16 for example).
It currently produces the output:
```
Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F16 = fadd half undef, undef
```
The output is collapsed into a single value if all costs are the same.
Invalid costs print "Invalid" via the normal InstructionCost printing.
Two test files are updated to show some examples with
-intrinsic-cost-strategy=type-based-intrinsic-cost and Invalid costs.
Once we have something we are happy with I will try to use this to
update more tests, as in b021bdbb3997ef6dd13980dc44f24754f15f3652 but
for more variants.
Commit: 4d17ae7776ef6ffe2dd04c146632282ac173cae6
https://github.com/llvm/llvm-project/commit/4d17ae7776ef6ffe2dd04c146632282ac173cae6
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
M mlir/test/Dialect/Affine/loop-tiling.mlir
Log Message:
-----------
[MLIR][Affine] Fix affine-loop-tile zero cache size corner case crash (#130526)
Fixes: https://github.com/llvm/llvm-project/issues/64979
Commit: 63635c174610344a47c686a9a8e5cc266f39a320
https://github.com/llvm/llvm-project/commit/63635c174610344a47c686a9a8e5cc266f39a320
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_messages.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/tools/libclang/CIndex.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[clang] [OpenMP] New OpenMP 6.0 self_maps clause (#129888)
Initial parsing/sema support for self maps in map and requirement clause
[Sections 7.9.6 and 10.5.1.6 in OpenMP 6.0 spec]
Commit: 26ecf978951b79138b76afbba6a4adc926d28507
https://github.com/llvm/llvm-project/commit/26ecf978951b79138b76afbba6a4adc926d28507
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
Log Message:
-----------
[LoopVectorize] Further improve cost model for early exit loops (#126235)
Following on from #125058, this patch takes into account the
work done in the vector early exit block when assessing the
profitability of vectorising the loop. I have renamed
areRuntimeChecksProfitable to isOutsideLoopWorkProfitable and
we now pass in the early exit costs. As part of this, I have
added the ExtractFirstActive opcode to VPInstruction::computeCost.
It's worth pointing out that when we assess profitability of the
loop we calculate a minimum trip count and compare that against
the *maximum* trip count. However, since the loop has an early
exit the runtime trip count can still end up being less than the
minimum. Alternatively, we may never take the early exit at all
at runtime and so we have the opposite problem of over-estimating
the cost of the loop. The loop vectoriser cannot simultaneously
take two contradictory positions and so I feel the only sensible
thing to do is be conservative and assume the loop will be more
expensive than loops without early exits.
We may find in future that we need to adjust the cost according to
the probability of taking the early exit. This will become even
more important once we support multiple early exits. However, we
have to start somewhere and we can always revisit this later.
Commit: dbbadfd770b76d3917b47572af74f590c82eb632
https://github.com/llvm/llvm-project/commit/dbbadfd770b76d3917b47572af74f590c82eb632
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/llvm.modf-win32.ll
Log Message:
-----------
[SDAG][X86] Promote float FMODF to double on 32-bit Windows (#130636)
On 32-bit MSVC `modff` is not a defined symbol -- only `modf` (`modff`
is an inline function). Promoting FMODF to double in this case ensures
we end up calling `modf` -- matching the behaviour of the CRT headers.
Commit: 1b455df780ed1d578b63f969c636fe78b2eb6014
https://github.com/llvm/llvm-project/commit/1b455df780ed1d578b63f969c636fe78b2eb6014
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
A mlir/test/Integration/Dialect/MemRef/copy-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Add runtime verification for `memref.copy` (#130437)
Implement runtime op verification for `memref.copy`. Only ranked memrefs
are verified at the moment.
Commit: 29f5d5bea92f937d4e2fea7fdd16036fff528adf
https://github.com/llvm/llvm-project/commit/29f5d5bea92f937d4e2fea7fdd16036fff528adf
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Lower/OpenMP/privatization-proc-ptr.f90
Log Message:
-----------
[flang][OpenMP] Fix privatization of procedure pointers (#130336)
Fixes #121720
Commit: 849abd8c05cf9899cd943a7b56bae57f93ea80cb
https://github.com/llvm/llvm-project/commit/849abd8c05cf9899cd943a7b56bae57f93ea80cb
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
Log Message:
-----------
[mlir][linalg] Add transpose support for reshape as consumer fusion (#130344)
During https://github.com/llvm/llvm-project/pull/129128 adding reshape
as consumer fusion handling of linalg.transpose was missed. This PR adds
that.
Also transpose reshape as producer fusion test is updated to static
sizes as that is more likely to catch any issues with the permutation
vector in the verifier if the shapes dont match up.
---------
Signed-off-by: Nirvedh Meshram <nirvedh at gmail.com>
Commit: 5c8760b1abb677d5eb65ed9a18521d0a6d5121cc
https://github.com/llvm/llvm-project/commit/5c8760b1abb677d5eb65ed9a18521d0a6d5121cc
Author: David Green <david.green at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
Log Message:
-----------
[AArch64] Update arith-fp.ll codegen test. NFC
A run line with and without +fullfp16 is added to check the differences between
the two, and the fp16 tests are separated out to keep the other check lines
simpler. FP128 tests are added for all operations, and fmuladd tests are added
similar to fma.
Commit: 405c28bb10928a59c5647ec0768387e27a64f5d0
https://github.com/llvm/llvm-project/commit/405c28bb10928a59c5647ec0768387e27a64f5d0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
A clang/test/Analysis/builtin_assume.cpp
M clang/test/Analysis/out-of-bounds-new.cpp
Log Message:
-----------
[NFC][analyzer] Split [[assume]] tests to a separate file (#130763)
Recently commit 7e5821bae80db3f3f0fe0d5f8ce62f79e548eed5 (which is a
re-application of 89da344e5879e5347b5057520d5230e40ae24831) added some
tests to `out-of-bounds-new.cpp`, which use a very simple out of bounds
report to reveal the internal state of the analyzer, but are otherwise
completely unrelated to the checker `security.ArrayBound`, which is
tested in `out-of-bounds-new.cpp`.
(Instead, they test handling of `__builtin_assume` and `[[assume()]]`
annotations.)
This commit reverts `out-of-bounds-new.cpp` to its previous state and
moves the new tests to a separate test file.
Commit: a7d7db71db2f4b1bca2484f2039ac57b01566a0e
https://github.com/llvm/llvm-project/commit/a7d7db71db2f4b1bca2484f2039ac57b01566a0e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
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
R clang/test/Analysis/out-of-bounds-constraint-check.c
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
Log Message:
-----------
[NFC][analyzer] OOB test consolidation IV: rename files (#129697)
This commit finishes the reorganization of the tests for the checker
`security.ArrayBound`.
Previously these tests were all named `out-of-bounds-*` which was only
weakly connected to the checker name; this commit moves them to a
directory named after the checker (`ArrayBound`). I decided to use a
directory instead of the more common filename prefix ("poor man's
directory") system because it seems to be a more natural use of the
filesystem and there are already a few precedents for it.
I also added (or edited) comments at the beginning of each test file to
describe their purpose; and I added a single new testcase to highlight
that the assumption note tags can be added to reports by any checker.
(Previously all tests in the file triggered out-of-bounds reports to
reveal the note tags; but that was just for convenience.)
Commit: 3df8be3ee906374b992268683b59c9dd4780aaef
https://github.com/llvm/llvm-project/commit/3df8be3ee906374b992268683b59c9dd4780aaef
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Extend metrics container to log BuildKite metrics (#129699)
The current container focuses on Github metrics. Before deprecating
BuildKite, we want to make sure the new infra quality is better, or at
least the same.
Being able to compare buildkite metrics with github metrics on grafana
will allow us to easily present the comparison.
This PR requires https://github.com/llvm/llvm-zorg/pull/400 to be merged
first.
Commit: 5d50af3f0368847ab9ce1d86cb6e46ffaf317b59
https://github.com/llvm/llvm-project/commit/5d50af3f0368847ab9ce1d86cb6e46ffaf317b59
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
Revert "[CI] Extend metrics container to log BuildKite metrics" (#130770)
Reverts llvm/llvm-project#129699
Commit: 389a705b8e7cb0d9ef460e1dc61e5fbf287ed0dc
https://github.com/llvm/llvm-project/commit/389a705b8e7cb0d9ef460e1dc61e5fbf287ed0dc
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Rework github workflow processing (#130317)
Before this patch, the job/workflow name impacted the metric name,
meaning a change in the workflow definition could break monitoring. This
patch adds a map to get a stable name on metrics from a workflow name.
In addition, it reworks a bit how we track the last processed workflow:
the github queries are broken if filtering is applied, meaning we have a
list of workflow, ordered by 'created_at', which mixes completed &
running workflows.
We have no guarantees over the order of completion, meaning we cannot
stop at the first completed job we found (even per-workflow).
This PR processed the last 1000 workflows, but allows an early stop if
the created_at time is older than 8 hours. This means we could miss
long-running workflows (>8 hours), and if the number of workflows
started before another one completes becomes high (>1000), we'll miss
it.
To detect this kind of behavior, a new metric is added "oldest workflow
processed", which should at least indicate if the depth is too small.
An alternative without arbitrary cut would be to initially parse all
workflows, and then record the last non-completed one we find and always
start from the last (moving the lower bound as they complete). But LLVM
has forever-queued workflows runs (>1 years), hence this would cause us
to iterate over a very large number of jobs.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 7341753a2e23360c84d4ae195c3778b735193253
https://github.com/llvm/llvm-project/commit/7341753a2e23360c84d4ae195c3778b735193253
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
A flang-rt/cmake/clang_gcc_root.cpp
A flang-rt/cmake/quadmath_wrapper.h.in
M flang-rt/lib/quadmath/CMakeLists.txt
M flang-rt/lib/quadmath/complex-math.h
M flang-rt/lib/quadmath/math-entries.h
Log Message:
-----------
[Flang-RT] Environment introspection for quadmath.h (#130411)
When compiling Flang-RT with Clang, query Clang for the GCC installation
it uses. If found, create `quadmath_wrapper.h` that points to the
`quadmath.h` of that GCC installation.
`quadmath.h` is only available when compiling with gcc, and Clang has no
equivalent even though gcc's version compiles fine with Clang (at least
up to and including gcc 13). It is still available into gcc's
installation resource dir (in constrast to a system-wide indirectory
such as `/usr/include` or `/usr/local/include`) and therefore not
available to any compiler other than the gcc of that installation.
quadmath may also be a different OS package than gcc itself, so it is
not necessarily presesent.
Clang actually already appropriates a GCC installation for its libraries
such that `libquadmath.a` is already found, but it does not do so for
the include paths. Because adding that directory to the header search
path may have wide-reaching consquences, we create only a wrapper header
that points to the real `quadmath.h` in the same GCC installation that
Clang uses.
Commit: 913d077f29c2870cc47a428a9a3c67e47033fe86
https://github.com/llvm/llvm-project/commit/913d077f29c2870cc47a428a9a3c67e47033fe86
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
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/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
Log Message:
-----------
[mlir][tosa] Change Rescale zero points to be inputs (#130340)
*Update RescaleOp to use zero-point as operands instead of attributes.
*Check input_zp data type against the input and output_zp data type
against the output.
Signed-off-by: Peng Sun <peng.sun at arm.com>
Co-authored-by: Peng Sun <peng.sun at arm.com>
Commit: fcce3084cb43a12f2e6e19b8e5b655f3df8739d6
https://github.com/llvm/llvm-project/commit/fcce3084cb43a12f2e6e19b8e5b655f3df8739d6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll
Log Message:
-----------
[X86][AVX10.2] Fix unexpected larger scope (#130767)
https://godbolt.org/z/oM6bcqEnr
Commit: bfeea10460d155d9b3484bed25b5dc60a9755c90
https://github.com/llvm/llvm-project/commit/bfeea10460d155d9b3484bed25b5dc60a9755c90
Author: Maksim Sabianin <maksim.sabianin at intel.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/SYCLSplitModule.h
A llvm/include/llvm/Transforms/Utils/SYCLUtils.h
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/SYCLSplitModule.cpp
A llvm/lib/Transforms/Utils/SYCLUtils.cpp
A llvm/test/tools/llvm-split/SYCL/device-code-split/amd-kernel-split.ll
A llvm/test/tools/llvm-split/SYCL/device-code-split/complex-indirect-call-chain.ll
A llvm/test/tools/llvm-split/SYCL/device-code-split/module-split-func-ptr.ll
A llvm/test/tools/llvm-split/SYCL/device-code-split/one-kernel-per-module.ll
A llvm/test/tools/llvm-split/SYCL/device-code-split/split-by-source.ll
A llvm/test/tools/llvm-split/SYCL/device-code-split/split-with-kernel-declarations.ll
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[offload][SYCL] Add SYCL Module splitting (#119713)
This patch adds SYCL Module splitting - the necessary step in the SYCL
compilation pipeline. Only 2 splitting modes are being added in this
patch: by kernel and by source.
Commit: e3bef37971ae117f49a503e6a9f4dffd3a9a4d80
https://github.com/llvm/llvm-project/commit/e3bef37971ae117f49a503e6a9f4dffd3a9a4d80
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
R llvm/include/llvm/Transforms/Utils/SYCLSplitModule.h
R llvm/include/llvm/Transforms/Utils/SYCLUtils.h
M llvm/lib/Transforms/Utils/CMakeLists.txt
R llvm/lib/Transforms/Utils/SYCLSplitModule.cpp
R llvm/lib/Transforms/Utils/SYCLUtils.cpp
R llvm/test/tools/llvm-split/SYCL/device-code-split/amd-kernel-split.ll
R llvm/test/tools/llvm-split/SYCL/device-code-split/complex-indirect-call-chain.ll
R llvm/test/tools/llvm-split/SYCL/device-code-split/module-split-func-ptr.ll
R llvm/test/tools/llvm-split/SYCL/device-code-split/one-kernel-per-module.ll
R llvm/test/tools/llvm-split/SYCL/device-code-split/split-by-source.ll
R llvm/test/tools/llvm-split/SYCL/device-code-split/split-with-kernel-declarations.ll
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
Revert "[offload][SYCL] Add SYCL Module splitting (#119713)"
This reverts commit bfeea10460d155d9b3484bed25b5dc60a9755c90.
Commit: da0f9e75d8588bf0adb54060ee77656edfdc1207
https://github.com/llvm/llvm-project/commit/da0f9e75d8588bf0adb54060ee77656edfdc1207
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
A llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
M llvm/test/CodeGen/XCore/dwarf_debug.ll
M llvm/test/DebugInfo/X86/inline-seldag-test.ll
Log Message:
-----------
Reland: [MC] output inlined-at debug info (#106230) (#130306)
Reland https://github.com/llvm/llvm-project/pull/106230
The original PR was reverted due to compilation time regression.
This PR fixed that by adding a condition OutStreamer->isVerboseAsm() to
the generation of extra inlined-at debug info, so that it does not
affect normal compilation time.
Currently MC print source location of instructions in comments in
assembly when debug info is available, however, it does not include
inlined-at locations when a function is inlined.
For example, function foo is defined in header file a.h and is called
multiple times in b.cpp. If foo is inlined, current assembly will only
show its instructions with their line numbers in a.h. With inlined-at
locations, the assembly will also show where foo is called in b.cpp.
This patch adds inlined-at locations to the comments by using
DebugLoc::print. It makes the printed source location info consistent
with those printed by machine passes.
Commit: 9cc477be6ea1a4f7dd55e3dfa66a59c2dc59da25
https://github.com/llvm/llvm-project/commit/9cc477be6ea1a4f7dd55e3dfa66a59c2dc59da25
Author: lakshayk-nv <lakshayk at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Handle register classes FPR8/16/32 and FPCR (#130595)
Current implementation (for AArch64) only supports the GRP32, GPR64,
FPR64/128, PPR16 and ZPR128 register classes. This adds support for
the other floating point register classes to initialize registers and avoid
the "setReg is not implemented" warning for these cases.
Commit: 9f30815b1c3ee0a20954ea596ea2aa5612bf5ec3
https://github.com/llvm/llvm-project/commit/9f30815b1c3ee0a20954ea596ea2aa5612bf5ec3
Author: Nikolay Panchenko <npanchen at modular.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/JSON.h
M llvm/lib/Support/JSON.cpp
Log Message:
-----------
[JSON][NFC] Support `print` and `dump` methods in `json::Value` (#129302)
Commit: b9d6b62721036c5cf4e019dcad8314d4efe54035
https://github.com/llvm/llvm-project/commit/b9d6b62721036c5cf4e019dcad8314d4efe54035
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix [mlir] Fix bazel build after 205c532 round 2. (#130765)
Commit: e858b10917046b83234bf1931485df414fcded3c
https://github.com/llvm/llvm-project/commit/e858b10917046b83234bf1931485df414fcded3c
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-11 (Tue, 11 Mar 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/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
Revert "[SLP]Reduce number of alternate instruction, where possible"
This caused failures such as:
Instruction does not dominate all uses!
%29 = insertelement <8 x i64> %28, i64 %xor6.i.5, i64 6
%17 = shufflevector <8 x i64> %29, <8 x i64> poison, <6 x i32> <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6>
see comment on https://github.com/llvm/llvm-project/pull/123360
> Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
> It is mostly the same, adjusted after graph-to-tree transformation
>
> Patch tries to remove wide alternate operations.
> Currently SLP vectorizer emits something like this:
> ```
> %0 = add i32
> %1 = sub i32
> %2 = add i32
> %3 = sub i32
> %4 = add i32
> %5 = sub i32
> %6 = add i32
> %7 = sub i32
>
> transformes to
>
> %v1 = add <8 x i32>
> %v2 = sub <8 x i32>
> %res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
> ```
> i.e. half of the results are just unused. This leads to increased
> register pressure and potentially doubles number of operations.
>
> Patch introduces SplitVectorize mode, where it splits the operations by
> opcodes and produces instead something like this:
> ```
> %v1 = add <4 x i32>
> %v2 = sub <4 x i32>
> %res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
> ```
> It allows to improve the performance by reducing number of ops. Also, it
> turns on some other improvements, like improved graph reordering.
>
> [...]
This reverts commit 9d37e61fc77d3d6de891c30630f1c0227522031d as well as
the follow-up commit 72bb0a9a9c6fdde43e1e191f2dc0d5d2d46aff4e.
Commit: f1e36759d2e6c26d2d5825f955c51fd595909b52
https://github.com/llvm/llvm-project/commit/f1e36759d2e6c26d2d5825f955c51fd595909b52
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenCXX/x86_64-arguments.cpp
A clang/test/SemaHLSL/Language/VectorOutOfRange-errors.hlsl
Log Message:
-----------
[HLSL] error on out of bounds vector accesses (#128952)
Add Sema checking and diagnostics to error on out of bounds vector
accesses
Add tests
Closes #91640
---------
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 5038e2f81445c46b94a1f219a0f4e10606f04cd2
https://github.com/llvm/llvm-project/commit/5038e2f81445c46b94a1f219a0f4e10606f04cd2
Author: lntue <lntue at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/exp10f16.cpp
M libc/src/math/generic/exp10m1f16.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2m1f16.cpp
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/expm1f16.cpp
M libc/src/math/generic/fmul.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/logf16.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
Log Message:
-----------
[libc] Provide more fine-grained control of FMA instruction for ARM targets. (#130700)
Commit: 356bf3fa2dddb3cb8c4e72a3978d1179e5aaa3c2
https://github.com/llvm/llvm-project/commit/356bf3fa2dddb3cb8c4e72a3978d1179e5aaa3c2
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/pointer-default-init.f90
Log Message:
-----------
Reland " [flang] Rely on global initialization for simpler derived types" (#130290)
Currently, all derived types are initialized through `_FortranAInitialize`, which is functionally correct, but bears poor runtime performance. This patch falls back on global initialization for "simpler" derived types to speed up the initialization.
Note: this relands #114002 with the fix for the LLVM timeout regressions that have been seen. The fix is to use the added fir.copy to avoid aggregate load/store.
Co-authored-by: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Commit: d48a36f5833aa076402f733216bae6aef6be666c
https://github.com/llvm/llvm-project/commit/d48a36f5833aa076402f733216bae6aef6be666c
Author: Eric Astor <epastor at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/test/tools/llvm-ml/macro.asm
Log Message:
-----------
[ms] [llvm-ml] Allow optional parenthesized arguments for macros (#129905)
We match ML64.EXE, which allows optional parentheses around a macro's arguments.
Commit: 21f1ef330f22faddef0c820fb4c1fa912bc05323
https://github.com/llvm/llvm-project/commit/21f1ef330f22faddef0c820fb4c1fa912bc05323
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#130706)
Commit: 8c2714e44802cb36eb556a3f2940bbc2e512f6be
https://github.com/llvm/llvm-project/commit/8c2714e44802cb36eb556a3f2940bbc2e512f6be
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/DebugInfoSupport.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#130707)
Commit: 3339632e9c68ff71071b5ad72b33f7a8ac5658f6
https://github.com/llvm/llvm-project/commit/3339632e9c68ff71071b5ad72b33f7a8ac5658f6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LCSSA.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#130709)
Commit: f33dca41a3a0c4cea90b7c476b1cff9cade430e7
https://github.com/llvm/llvm-project/commit/f33dca41a3a0c4cea90b7c476b1cff9cade430e7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
Log Message:
-----------
[llvm-rtdyld] Avoid repeated hash lookups (NFC) (#130711)
Commit: 7c77a4655ca56eab7e1a4419f0013b514ab42473
https://github.com/llvm/llvm-project/commit/7c77a4655ca56eab7e1a4419f0013b514ab42473
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/known-bits-vector.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/mulvi32.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert ISD::VECTOR_SHUFFLE concatenation to use combineConcatVectorOps recursion (#130610)
Only concatenate ISD::VECTOR_SHUFFLE nodes if at least one operand is beneficial to concatenate.
Commit: fb397ab1e5f32e179094580174f42115961b7790
https://github.com/llvm/llvm-project/commit/fb397ab1e5f32e179094580174f42115961b7790
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
Reland "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#130761)
Reverts
https://github.com/llvm/llvm-project/commit/c40f0fe4348bb9304b95bd317665bf1cb2bdcc85
Original description:
This updates the existing modf[f|l] builtin to be lowered via the
llvm.modf.* intrinsic (rather than directly to a library call).
The Windows 32-bit x86 missing `modff` symbol issue should have been
solved in: https://github.com/llvm/llvm-project/pull/130636.
Commit: 7129205816ca8c7929ab0b44168830ce54287dd3
https://github.com/llvm/llvm-project/commit/7129205816ca8c7929ab0b44168830ce54287dd3
Author: John Brawn <john.brawn at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVectorize] Move checking for OptForSize into the cost model (NFC) (#130752)
Move OptForSizeBasedOnProfile into the cost model and rename it to
OptForSize, as shouldOptimizeForSize checks both the function attribute
and profile. This being done in preparation for OptForSize being used in
the cost model.
Commit: 222b99d3aac577a561592f160b9ac39f8740d3e5
https://github.com/llvm/llvm-project/commit/222b99d3aac577a561592f160b9ac39f8740d3e5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/spillv16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] update waitcnt for true16 (#128927)
update waitcnt pass to check hi16 and lo16 in true16 mode
---------
Co-authored-by: Jay Foad <jay.foad at gmail.com>
Commit: b334321678d4df2d8b1572301c827cae4d4097e2
https://github.com/llvm/llvm-project/commit/b334321678d4df2d8b1572301c827cae4d4097e2
Author: Valentin Churavy <v.churavy at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/test/CodeGen/X86/atomic-idempotent.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/implicit-null-check.ll
M llvm/test/CodeGen/X86/membarrier.ll
M llvm/test/CodeGen/X86/mfence.ll
Log Message:
-----------
[X86] Prefer `lock or` over mfence (#106555)
Originally discussed in https://reviews.llvm.org/D129947
LLVM currently emits `mfence` for `__atomic_thread_fence(seq_cst)`. On
modern CPUs lock or is more efficient and provides the same sequential
consistency. GCC 11 made this switch as well (see
https://gcc.gnu.org/pipermail/gcc-cvs/2020-July/314418.html)
and https://reviews.llvm.org/D61863 and https://reviews.llvm.org/D58632
moved into this direction as well, but didn't touch fence seq_cst.
This switches to `lock or` on all x64 systems, and leaves `__builtin_ia32_mfence` for folks who
want this precise instruction.
Commit: f3e55944a9468842746467494dd89724a66fc533
https://github.com/llvm/llvm-project/commit/f3e55944a9468842746467494dd89724a66fc533
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
A mlir/test/mlir-tblgen/rewriter-attributes-properties.td
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[mlir][ODS] Switch declarative rewrite rules to properties structs (#124876)
Now that we have collective builders that take
`const [RelevantOp]::Properties &` arguments, we don't need to serialize
all the attributes that'll be set during an output pattern into a
dictionary attribute. Similarly, we can use the properties struct to get
the attributes instead of needing to go through the big if statement in
getAttrOfType<>().
This also enables us to have declarative rewrite rules that match
non-attribute properties in a future PR.
This commit also adds a basic test for the generated matchers since
there didn't seem to already be one.
Commit: c542f425796d751fcd44ad1899691cfa1a1e444a
https://github.com/llvm/llvm-project/commit/c542f425796d751fcd44ad1899691cfa1a1e444a
Author: David Green <david.green at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/abs.ll
M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
M llvm/test/Analysis/CostModel/AArch64/arith-ssat.ll
M llvm/test/Analysis/CostModel/AArch64/arith-usat.ll
M llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
M llvm/test/Analysis/CostModel/AArch64/arith.ll
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/gep.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/mul.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-add.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Analysis/CostModel/AArch64/select.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
Log Message:
-----------
[AArch64] Update cost test to use -cost-kind=all. NFC
This is essentially the tests from b021bdbb3997 re-done with the new cost-model
output format from #130490, to add cost-model coverage for all the cost kinds.
More to come..
Commit: a71c9d8438622013eddf04cf4c81ab0f22a83055
https://github.com/llvm/llvm-project/commit/a71c9d8438622013eddf04cf4c81ab0f22a83055
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
Log Message:
-----------
[NFC][analyzer] Remove CheckerNameRef::getName() (#130780)
`CheckerNameRef` is a trivial wrapper around a `StringRef` which is
guaranteed to be owned by the `CheckerRegistry` (the only `friend` of
the class) because other code can't call the private constructor.
This class had offered two ways to recover the plain `StringRef`: an an
`operator StringRef()` for implicit conversion and a method `StringRef
getName()` which could be called explicitly.
However this method name was really confusing, because it implies "get
the name of this object" instead of "get this name as a plain
`StringRef`"; so I removed it from the codebase and used
`static_cast<StringRef>` in the two locations where the cast wasn't
performed implicitly.
This commit "prepares the ground" for planned improvements in checker
name handling.
Commit: d8d2e0779a4020aa72b39ab2baf8c4c504877a2a
https://github.com/llvm/llvm-project/commit/d8d2e0779a4020aa72b39ab2baf8c4c504877a2a
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Even more BUILD.bazel fixes for commit 205c532. (#130784)
Commit: 1fe463182cead6e7c6119ab410eae9e9d969325a
https://github.com/llvm/llvm-project/commit/1fe463182cead6e7c6119ab410eae9e9d969325a
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
A llvm/test/MC/Hexagon/align-leb128.s
M llvm/test/MC/Hexagon/align.s
Log Message:
-----------
[hexagon] Prevent alignment search beyond a label (#130631)
When searching for packets to .align, don't consider ones which would
require padding beyond a label.
There are two problems with padding beyond a label:
- the distance between labels may increase for some offsets to become
too large;
- u/sleb128 values that encode a difference will not be updated because
they are computed before the align command is handled.
This is more a short-term fix/hack. The proper solution would be to
unify `.align` and `.falign` handling and move it to the layout loop.
Commit: 93d41d814816d2933735e3d238e6eebb91dfdc30
https://github.com/llvm/llvm-project/commit/93d41d814816d2933735e3d238e6eebb91dfdc30
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use ElementCount::isKnownLT to factor code (NFC) (#130596)
Commit: f90aa418978748c0613036b0285bb80af40570b7
https://github.com/llvm/llvm-project/commit/f90aa418978748c0613036b0285bb80af40570b7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/LockFileManager.h
M llvm/lib/Support/LockFileManager.cpp
Log Message:
-----------
[Support] Remove output file checks from `LockFileManager` (#130395)
Currently, `LockFileManager` assumes the owner of the lock file creates
an output file. This is problematic for at least three reasons:
1. It is orthogonal to the main purpose of this class - mutual
exclusion. This makes creating an alternative implementation more
complicated than it needs to be.
2. Some clients (like the upstream `AMDGPUSplitModule.cpp` file) assume
the output file is not necessary. The owner of the lock file does not
write the file expected by `LockFileManager` and the processes waiting
for the non-owned lock file to be unlocked therefore assume the owner
has died. This means that the work gets repeated by each waiting
process, serially.
3. The documentation makes it sound like successfully waiting for a
non-owned lock file guarantees the output file to be present on the file
system. Implicitly-built modules rely on this. However, the module file
may disappear between `LockFileManager` performing the check and the
compiler loading the module (for example due to module cache pruning
with short intervals, or intervention from outside of Clang). The
compiler assumes this cannot happen, and fails the build if it does.
This PR solves this situation by removing the check, reflecting that in
the `LockFileManager` documentation, and fixing the time-of-check
time-of-use bug in implicit modules.
Commit: ae985267d0a107119038e1a1e62b3aed6523f28c
https://github.com/llvm/llvm-project/commit/ae985267d0a107119038e1a1e62b3aed6523f28c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Update to Xqciint v0.4 (#130219)
The Xqci 0.7.0 spec just came out, with some updates to Xqciint,
bringing it to v0.4. The main update of any relevance is that
`qc.c.mienter` and `qc.c.mienter.nest` now update both the stack pointer
and the frame pointer (before, they only updated the stack pointer).
They both remain compatible with the frame pointer convention.
This change bumps the Xqciint version, and ensures that we don't emit
the unneeded frame pointer adjustment instruction after
`qc.c.mienter(.nest)`.
Commit: 83ec179fc8b44ae23a0bfe51073d5ce75155639e
https://github.com/llvm/llvm-project/commit/83ec179fc8b44ae23a0bfe51073d5ce75155639e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
Log Message:
-----------
[Clang][NFC] Rename and update_cc_test_checks over strictfp-elementwise-builtins.cpp (#130747)
Commit: 146ef7a5f44af68e969dfb66918ae49810864aec
https://github.com/llvm/llvm-project/commit/146ef7a5f44af68e969dfb66918ae49810864aec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Remove unnecessary const_cast and use range-based for loops. NFC (#130717)
In order to use a range-based loop, I reduced a needed const_cast to
only the one line that needed it.
Commit: 34647667aa022fba4c6520c8283ded1012aaa59e
https://github.com/llvm/llvm-project/commit/34647667aa022fba4c6520c8283ded1012aaa59e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Sink hasSideEffects, mayLoad, mayStore from defs to classes in RISCVInstrInfoXCV.td. NFC (#130714)
This is consistent with how RISCVInstrInfo.td is generally structured.
Commit: 90c11ad46f429d8acddd378bd4c2c98223fce2a7
https://github.com/llvm/llvm-project/commit/90c11ad46f429d8acddd378bd4c2c98223fce2a7
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Introduce ReportPolicy to handle -z *-report options. NFC
Use an enum to replace string comparison.
Pull Request: https://github.com/llvm/llvm-project/pull/130715
Commit: 2bf7018bb03eb93b56ad86caac40ced8b5c6744b
https://github.com/llvm/llvm-project/commit/2bf7018bb03eb93b56ad86caac40ced8b5c6744b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Move let statement for hasSideEffects, mayLoad, mayStore into BranchCC_rri. NFC (#130721)
This is consistent with the isBranch and isTerminator flags already in
the class.
Addresses feedback given on #130714 where I copied the inconsistent
split into RISCVInstrInfoXCV.td.
Commit: 1324dfe3e177fcfcb116bfc4371d8dd8730f2439
https://github.com/llvm/llvm-project/commit/1324dfe3e177fcfcb116bfc4371d8dd8730f2439
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[AIX] Add -pthread to build on AIX (#129108)
When building in tree clang without having `-pthread` we get a bunch of
`Assertion failed: FD != kInvalidFile && "Invalid or inactive file
descriptor"` when testing check-clang.
Commit: f1598367b661e46c4ecc7dd8ea35f9eac79a654c
https://github.com/llvm/llvm-project/commit/f1598367b661e46c4ecc7dd8ea35f9eac79a654c
Author: John Harrison <harjohn at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/DAPLog.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Adding logging helpers. (#130653)
Improving logging by defining new helpers for more uniform log handling.
This should help us clearly identify log messages and helps abstract the
underlying log type within the macro in case we want to update the log
handler in the future.
Commit: 4f60f45130c6bd96c79e468fe9927a29af760f56
https://github.com/llvm/llvm-project/commit/4f60f45130c6bd96c79e468fe9927a29af760f56
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/ilist_node.h
Log Message:
-----------
[llvm] replace static_assert with std::enable_if_t in ilist_node_impl (#127722)
## Purpose
Remove `static_assert` in `ilist_node_impl::isSentinel` and
conditionally include the functino using `std::enable_if_t` instead.
## Background
This fix is necessary to support building LLVM as a Windows DLL, tracked
by #109483.
The `static_assert` in `ilist_node_impl::isSentinel` fails when
compiling LLVM as a Windows DLL with the options `-D
LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_BUILD_LLVM_DYLIB_VIS=ON -D
LLVM_LINK_LLVM_DYLIB=ON`:
```
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(151): error C2338: static_assert failed: 'Use ilist_sentinel_tracking<true> to enable isSentinel()'
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(151): note: the template instantiation context (the oldest one first) is
S:\llvm\llvm-project\llvm\include\llvm/IR/SymbolTableListTraits.h(113): note: see reference to class template instantiation 'llvm::SymbolTableListTraits<llvm::Function>' being compiled
S:\llvm\llvm-project\llvm\include\llvm/IR/SymbolTableListTraits.h(69): note: see reference to class template instantiation 'llvm::simple_ilist<ValueSubClass>' being compiled
with
[
ValueSubClass=llvm::Function
]
S:\llvm\llvm-project\llvm\include\llvm/ADT/simple_ilist.h(87): note: see reference to class template instantiation 'llvm::ilist_sentinel<llvm::ilist_detail::node_options<T,true,false,llvm::ilist_detail::extract_tag<>::type,false,llvm::ilist_detail::extract_parent<>::type>>' being compiled
with
[
T=llvm::Function
]
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(301): note: see reference to class template instantiation 'llvm::ilist_node_impl<OptionsT>' being compiled
with
[
OptionsT=llvm::ilist_detail::node_options<llvm::Function,true,false,llvm::ilist_detail::extract_tag<>::type,false,llvm::ilist_detail::extract_parent<>::type>
]
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(150): note: while compiling class template member function 'bool llvm::ilist_node_impl<OptionsT>::isSentinel(void) const'
with
[
OptionsT=llvm::ilist_detail::node_options<llvm::Function,true,false,llvm::ilist_detail::extract_tag<>::type,false,llvm::ilist_detail::extract_parent<>::type>
]
```
Conditionally including the function using `std::enable_if_t` has the
same effect of preventing the function's use when
`is_sentinel_tracking_explicit=false`, but avoids the issue when
DLL-exporting downstream classes.
## Validation
Verified I no longer fail compilation due to the `static_assert` when
building LLVM on Windows 11 with the options `-D
LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_BUILD_LLVM_DYLIB_VIS=ON -D
LLVM_LINK_LLVM_DYLIB=ON`.
Commit: 517c6778ead6e7c476e0f4482763060c679ee80b
https://github.com/llvm/llvm-project/commit/517c6778ead6e7c476e0f4482763060c679ee80b
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
Log Message:
-----------
[clang-tidy] Add check on constexpr & static values in modernize-use-default-member-init (#129425)
This aims to fix a portion of #122480. Simply added a check to look for
either compile time initialized variables or static stored variables.
Commit: d22d14375d4410cdb441e04016531962e3abb44e
https://github.com/llvm/llvm-project/commit/d22d14375d4410cdb441e04016531962e3abb44e
Author: Tommy Chen <gcchen at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
Log Message:
-----------
[clang-tidy] support different precisions (#130540)
Support float and long double versions of the math functions for
UseStdNumbersCheck.
For example, after this commit the check is able to catch `sqrtf(2)` and
`expl(1)`.
Fixes: #130325
Commit: f10a8706a1443dec834929dadcce837082df64b7
https://github.com/llvm/llvm-project/commit/f10a8706a1443dec834929dadcce837082df64b7
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
A clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
Log Message:
-----------
[analyzer] Sink false [[assume]] execution paths (#130418)
This PR splits the existing modeling of builtin assume from the
BuiltinFunctionChecker.
We just sink the execution path if we are about to leave the assume
expression with a false assumption.
Assumptions with side-effects are skipped, and ignored. Their values are
"UnknownVal" anyway.
Commit: 65016475084f6435dbf252997d53853c2bfdf9be
https://github.com/llvm/llvm-project/commit/65016475084f6435dbf252997d53853c2bfdf9be
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/std-c-library-functions-POSIX.c
Log Message:
-----------
[StaticAnalyzer] Relax the pre-condition of 'setsockopt' (#130683)
For the unix function
`int setsockopt(int, int, int, const void *, socklen_t);`, the last two
parameters represent a buffer and a size.
In case the size is zero, buffer can be null. Previously, the hard-coded
pre-condition requires the buffer to never be null, which can cause
false positives.
(rdar://146678142)
Commit: eaca60d1a9a54ae0aa8626719decef4b11eb939d
https://github.com/llvm/llvm-project/commit/eaca60d1a9a54ae0aa8626719decef4b11eb939d
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Frontend/CompilerInvocation.h
Log Message:
-----------
[clang] Hide the `DiagnosticOptions` pointer from `CompilerInvocation` (#106274)
This PR hides the reference-counter pointer that holds
`DiagnosticOptions` from the public API of `CompilerInvocation`. This
gives `CompilerInvocation` an exclusive control over the lifetime of
this member, which will eventually be leveraged to implement a
copy-on-write behavior.
The only client that currently accesses that pointer is
`clangd::buildPreamble()` which takes care to reset it so that it's not
reset concurrently. This code is made redundant by making the reference
count of `DiagnosticOptions` atomic.
Commit: 5f21ee20f84ac56377178770a7439e406c6d9b16
https://github.com/llvm/llvm-project/commit/5f21ee20f84ac56377178770a7439e406c6d9b16
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/test/ELF/linkerscript/section-class.test
Log Message:
-----------
[LLD][ELF] Don't spill to same memory region (#129795)
This prevents useless spills to the same memory region from causing
spilling to take too many passes to converge.
Handling this at spilling time allows us to relax the generation of
spill sections; specifically, multiple spills can now be generated per
output section. This should be fairly benign for performance, and it
would eventually allow linker scripts to express things like holes or
minimum addresses for parts of output sections. The linker could then
spill within an output section whenever address constraints are
violated.
Commit: c4280db3a0fea6b772fb33bb85dfc14b8e43821a
https://github.com/llvm/llvm-project/commit/c4280db3a0fea6b772fb33bb85dfc14b8e43821a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add getBLENDIBlendMask helper to extract X86ISD::BLENDI blend mask. NFC.
Handles extension/truncation to the correct number of elements (including MVT::v16i16 repeated masks).
Commit: 9f2bd97a5dcbfda161add4efc26f7f64d2989575
https://github.com/llvm/llvm-project/commit/9f2bd97a5dcbfda161add4efc26f7f64d2989575
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-pack-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] combineConcatVectorOps - convert X86ISD::PACKSS/US concatenation to use combineConcatVectorOps recursion (#130575)
Only concatenate X86ISD::PACKSS/US nodes if at least one operand is beneficial to concatenate
Commit: 313e2ef93eb2cb257e643c87916df8471ff01fd8
https://github.com/llvm/llvm-project/commit/313e2ef93eb2cb257e643c87916df8471ff01fd8
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M libc/docs/headers/stdfix.rst
Log Message:
-----------
[libc] Mark fixed point type generic macros as complete (#130805)
These were added in https://github.com/llvm/llvm-project/pull/129371.
Commit: 5686786c550c6da6d1169b9bffc31cece1161902
https://github.com/llvm/llvm-project/commit/5686786c550c6da6d1169b9bffc31cece1161902
Author: yonghong-song <yhs at fb.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
A llvm/test/CodeGen/BPF/CORE/arena_bitcast.ll
Log Message:
-----------
[BPF] Fix BitCast Assertion with NonZero AddrSpace (#130722)
Alexei reported a bpf selftest failure with recent llvm for bpf prog
file progs/arena_spin_lock.c. The failure only happens when clang is
built with cmake option LLVM_ENABLE_ASSERTIONS=ON.
The error message looks like:
```
clang: /home/yhs/work/yhs/llvm-project/llvm/lib/IR/Instructions.cpp:3460:
llvm::BitCastInst::BitCastInst(Value *, Type *, const Twine &, InsertPosition):
Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' failed.
```
Further investigation shows that the problem is triggered in
BPF/BPFAbstractMemberAccess.cpp
for code
```
auto *BCInst =
new BitCastInst(Base, PointerType::getUnqual(BB->getContext()));
```
For the above BitCastInst, Since 'Base' has non-zero AddrSapce, the
compiler expects the type also has the same AddrSpace. But the above
PointerType::getUnqual(...) does not have AddrSpace and hence causes the
assertion failure.
Providing the proper AddrSpace for the BitCast type fixed the issue.
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
Commit: ba11e1e5222cb5bdcd8d63f23fb994cc0a8ffb3c
https://github.com/llvm/llvm-project/commit/ba11e1e5222cb5bdcd8d63f23fb994cc0a8ffb3c
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/docs/HowToCrossCompileLLVM.rst
Log Message:
-----------
[docs] Rewrite HowToCrossCompileLLVM (#129451)
The document has had a few minor tweaks over the years, but the last
major piece of work on it was 2016, after first being introduced in
2013. My aim is to provide a clear and clean recipe for cross-compiling
LLVM that:
* Should be achievable for anyone on common variants of Linux
(_including_ the step of acquiring a working sysroot).
* I think I've kept the coverage of setting up acquiring a Debian
sysroot minimal enough that it can reasonably be included. `debootstrap`
is packaged for most common Linux distributions including non-Debian
derived distributions like Arch Linux and Fedora.
* Describes a setup that we can reasonably support within the community.
* I realise with the ninja symlink canonicalisation issue I haven't
completely avoided hacks, but I look particularly to point 2 under hacks
in the current docs which talks about libraries on the host being found
by CMake and adding `-L` and `-I` to try to hack around this. We've all
been there and made these kind of temporary workarounds to see if we can
get further, but it's very hard to support someone who has problems with
a setup that's improperly leaking between the host and target like this.
The approach I describe with a clean sysroot and setting appropriate
`CMAKE_FIND_ROOT_PATH_MODE_*` settings doesn't have this issue.
* Cuts down on extraneous / outdated information, especially where it is
better covered elsewhere (e.g. detailed descriptions of CMake options
not directly relevant to cross compilation).
I've run through the instructions for AArch64, RISC-V (64-bit), and
armhf.
Commit: 7de895ff1146c17ec78877900c01c09f4140e692
https://github.com/llvm/llvm-project/commit/7de895ff1146c17ec78877900c01c09f4140e692
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-11 (Tue, 11 Mar 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/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
[SLP]Reduce number of alternate instruction, where possible
Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
It is mostly the same, adjusted after graph-to-tree transformation
Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32
transformes to
%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.
Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.
-O3+LTO, AVX512
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test 2788.00 2820.00 1.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 278168.00 280904.00 1.0%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 82682.00 83258.00 0.7%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 139344.00 139712.00 0.3%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 27149.00 27197.00 0.2%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1008188.00 1009948.00 0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39226.00 39290.00 0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39229.00 39293.00 0.2%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074533.00 2076549.00 0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074533.00 2076549.00 0.1%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 798440.00 798952.00 0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 44123.00 44139.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 318942.00 319038.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1159880.00 1160152.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test 73595.00 73611.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1146124.00 1146348.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test 203831.00 203847.00 0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 207662.00 207678.00 0.0%
test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test 589851.00 589883.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1398543.00 1398559.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1398543.00 1398559.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2050990.00 2051006.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12559687.00 12559591.00 -0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 3074157.00 3074125.00 -0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1092252.00 1092188.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 779763.00 779715.00 -0.0%
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 253517.00 253485.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 848259.00 848035.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 93064.00 93016.00 -0.1%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 383747.00 383475.00 -0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 673051.00 662907.00 -1.5%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 673051.00 662907.00 -1.5%
Olden/tsp - small variations
Prolangs-C/TimberWolfMC - small variations, some code not inlined
FreeBench/pifft - extra store <8 x double> vectorized, some other extra
vectorizations
CFP2006/433.milc - better vector code
FreeBench/fourinarow - better vector code
Benchmarks/tramp3d-v4 - extra vector code, small variations
mediabench/gsm/toast - small variations
MiBench/telecomm-gsm - small variations
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - better vector code, small variations
CINT2006/464.h264ref - some smaller code + changes similar to x264
DOE-ProxyApps-C/miniGMG - small variations
Benchmarks/Bullet - small variations
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/miniAMR - small variations
CFP2006/453.povray - small variations
DOE-ProxyApps-C++/CLAMR - small variations
MiBench/consumer-lame - small variations
CFP2006/447.dealII - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations
CFP2017rate/510.parest_r - better vector code, small variations
CFP2017rate/526.blender_r - small variations
CINT2006/403.gcc - small variations
CINT2006/400.perlbench - small variations
CFP2017rate/508.namd_r - small variations
ASCI_Purple/SMG2000 - small variations
JM/lencod - extra store <16 x i32>, small variations
DOE-ProxyApps-C++/miniFE - small variations
JM/ldecod - extra vector code, small variations, less shuffles
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.
-O3+LTO, mcpu=sifive-p470
Metric: size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 580768.00 581118.00 0.1%
test-suite :: MultiSource/Applications/d/make_dparser.test 78854.00 78894.00 0.1%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 633448.00 633750.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 277002.00 277080.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 931938.00 931960.00 0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2512806.00 2512822.00 0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7659880.00 7659876.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7659880.00 7659876.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1602448.00 1602434.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9496664.00 9496542.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147424.00 147422.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1764608.00 1764578.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1764608.00 1764578.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 841656.00 841632.00 -0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 949026.00 948962.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 946348.00 946284.00 -0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 279794.00 279764.00 -0.0%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 4776.00 4772.00 -0.1%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 25074.00 25028.00 -0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 25074.00 25028.00 -0.2%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 29336.00 29184.00 -0.5%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 535390.00 510124.00 -4.7%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 535390.00 510124.00 -4.7%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/ieee/GCC-C-execute-ieee-pr50310.test 886.00 608.00 -31.4%
CINT2006/464.h264ref - extra v16i32 reduction
d/make_dparser - better vector code
JM/lencod - extra v16i32 reduction
Benchmarks/Bullet - smaller vector code
CINT2006/400.perlbench - better vector code
CINT2006/403.gcc - small variations
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - small variations
CFP2017rate/510.parest_r - small variations
CFP2017rate/526.blender_r - small variations
MiBench/consumer-lame - small variations
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - small variations
Benchmarks/7zip - small variations
CFP2017rate/511.povray_r - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - extra vector code
mediabench/gsm - extra vector code
MiBench/telecomm-gsm - extra vector code
DOE-ProxyApps-C/miniGMG - extra vector code
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized
ieee/GCC-C-execute-ieee-pr50310 - extra code vectorized
CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations
Reviewers: hiraditya
Reviewed By: hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/128907
Commit: 14176d10842dcb8697bc7bbce3a4e252d6f11986
https://github.com/llvm/llvm-project/commit/14176d10842dcb8697bc7bbce3a4e252d6f11986
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C2y] Remove WG14 N3459 from the C status page
Only changes 1 and 2 were adopted in Graz and those are both editorial
changes which don't impact the behavior of compilers, so there's no
need to track this paper.
Commit: 381599f1fe973afad3094e55ec99b1620dba7d8c
https://github.com/llvm/llvm-project/commit/381599f1fe973afad3094e55ec99b1620dba7d8c
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lld/ELF/ScriptParser.cpp
A lld/test/ELF/linkerscript/overlay-keep.test
Log Message:
-----------
[ELF] Allow KEEP within OVERLAY (#130661)
When attempting to add KEEP within an OVERLAY description, which the
Linux kernel would like to do for ARCH=arm to avoid dropping the
.vectors sections with '--gc-sections' [1], ld.lld errors with:
ld.lld: error: ./arch/arm/kernel/vmlinux.lds:37: section pattern is expected
>>> __vectors_lma = .; OVERLAY 0xffff0000 : AT(__vectors_lma) { .vectors { KEEP(*(.vectors)) } ...
>>> ^
readOverlaySectionDescription() does not handle all input section
description keywords, despite GNU ld's documentation stating that "The
section definitions within the OVERLAY construct are identical to those
within the general SECTIONS construct, except that no addresses and no
memory regions may be defined for sections within an OVERLAY."
Reuse the existing parsing in readInputSectionDescription(), which
handles KEEP, allowing the Linux kernel's use case to work properly.
[1]: https://lore.kernel.org/20250221125520.14035-1-ceggers@arri.de/
Commit: 456fa47bab479f0ef1136d07687bd1b2635b1a26
https://github.com/llvm/llvm-project/commit/456fa47bab479f0ef1136d07687bd1b2635b1a26
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3505.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3505
This paper clarified that conditional inclusion in the preprocessor
requires the integer constant expression to be comprised only of
integer and character literals, punctuators, or implementation-defined
tokens.
This is something Clang has always required.
Commit: 1cb14078658f9ac573ec4102354106e29d62c46d
https://github.com/llvm/llvm-project/commit/1cb14078658f9ac573ec4102354106e29d62c46d
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
Log Message:
-----------
[HLSL] Add bounds checks for the hlsl vector arguments and return types (#130724)
fixes #129003
- fix up sema tests
- fix up templates for scalar and vector HLSL intrinsic overloads
Commit: c2ed840ed94d3412c7c0bdd9ed84cac6fe0afb57
https://github.com/llvm/llvm-project/commit/c2ed840ed94d3412c7c0bdd9ed84cac6fe0afb57
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/test/ELF/linkerscript/section-class.test
Log Message:
-----------
Revert "[LLD][ELF] Don't spill to same memory region" (#130815)
Reverts llvm/llvm-project#129795
Breaks buildbots
Commit: 9e64fc6fb7d9a1ea9fe59d82380219508aee649f
https://github.com/llvm/llvm-project/commit/9e64fc6fb7d9a1ea9fe59d82380219508aee649f
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
[alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments. (#130729)
This PR adds alpha.webkit.UnretainedCallArgsChecker by generalizing
RawPtrRefCallArgsChecker. It checks call arguments of NS or CF types are
backed by a RetainPtr or not. The new checker emits warnings for CF
types in Objective-C++ code regardless of ARC and it emits warning for
NS types when ARC is disabled.
Hard-code a few cases as safe: class and superclass properties on class
interfaces and constant dictionary or array literals as well as the
return value of NSClassFromString.
Finally, add the support for variadic function calls and selector
invocations.
Commit: 69f59285ea27c7eb26015e396d44491c24c392e2
https://github.com/llvm/llvm-project/commit/69f59285ea27c7eb26015e396d44491c24c392e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - convert X86ISD::PCMPEQ/PCMPGT concatenation to use combineConcatVectorOps recursion instead of IsConcatFree (#130814)
Only concatenate X86ISD::PCMPEQ/PCMPGT nodes (or convert to CMPPS on AVX1) if at least one operand is beneficial to concatenate
Commit: 2f403ee4871465aa7fbb5e540bdc791466704f24
https://github.com/llvm/llvm-project/commit/2f403ee4871465aa7fbb5e540bdc791466704f24
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] NFC: Remove unused function parameter
Commit: 10a6a349d66a5f4d73ab53af114aec1a49a97f03
https://github.com/llvm/llvm-project/commit/10a6a349d66a5f4d73ab53af114aec1a49a97f03
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/BUILD.bazel
Log Message:
-----------
[libc][bazel] Create libc_release_library for release configurations. (#130694)
See PR #130327 for background and motivation. This change expands the
libc_support_library and libc_function rules to create filegroups that
allow building a collection of llvm-libc functions together, from
sources, as a part of a single cc_library that can then be used by the
downstream clients.
This change also adds an example use of this macro under
libc/test/BUILD.bazel to confirm that this macro works as expected.
Commit: d84755b10d09c8972074927ffbf8805e210f3525
https://github.com/llvm/llvm-project/commit/d84755b10d09c8972074927ffbf8805e210f3525
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/docs/HowToCrossCompileLLVM.rst
Log Message:
-----------
[docs] Fix broken formatting for link in HowToCrossCompileLLVM
The usual `_ vs _` problem.
Commit: 7573ee17813b266fdca4dc3041d07bbe616df458
https://github.com/llvm/llvm-project/commit/7573ee17813b266fdca4dc3041d07bbe616df458
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
R clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
R clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
Revert "[alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments." (#130828)
Reverts llvm/llvm-project#130729
Commit: dafb566710cd03b7fbb4b187a91f32be9452fd8c
https://github.com/llvm/llvm-project/commit/dafb566710cd03b7fbb4b187a91f32be9452fd8c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M llvm/include/llvm/Support/LockFileManager.h
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/unittests/Support/LockFileManagerTest.cpp
Log Message:
-----------
[Support] Return `LockFileManager` errors right away (#130627)
This patch removes some internal state out of `LockFileManager` by
moving the locking code from the constructor into new member function
`tryLock()` which returns the errors right away. This simplifies and
modernizes the interface.
Commit: f9568e8d23b7f38bf60f46adac65b98f9e2b6e4e
https://github.com/llvm/llvm-project/commit/f9568e8d23b7f38bf60f46adac65b98f9e2b6e4e
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
A clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/BooleanVectorConstantExpr.hlsl
Log Message:
-----------
[HLSL] Make memory representation of boolean vectors in HLSL, vectors of i32. Add support for boolean swizzling. (#123977)
Make the memory representation of boolean vectors in HLSL, vectors of
i32.
Allow boolean swizzling for boolean vectors in HLSL.
Add tests for boolean vectors and boolean vector swizzling.
Closes #91639
Commit: 3189402466d3354a16bef0fb666aafe9e8729efb
https://github.com/llvm/llvm-project/commit/3189402466d3354a16bef0fb666aafe9e8729efb
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for some assembler tests (#130797)
Commit: c337e2d250a924d7115de0b833a48cd15761d78a
https://github.com/llvm/llvm-project/commit/c337e2d250a924d7115de0b833a48cd15761d78a
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for some disassembler tests (#130799)
Commit: d578148b7d526154f953a8a154b31b2d44c018b0
https://github.com/llvm/llvm-project/commit/d578148b7d526154f953a8a154b31b2d44c018b0
Author: lntue <lntue at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acosf16.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/coshf16.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp10f16.cpp
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp10m1f16.cpp
M libc/src/math/generic/exp2f16.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp2m1f16.cpp
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expf16.cpp
M libc/src/math/generic/expm1f16.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/logf16.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/sinhf.cpp
M libc/src/math/generic/sinhf16.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanhf16.cpp
M libc/src/math/generic/tanpif16.cpp
Log Message:
-----------
[libc][math] Skip checking for exceptional values when LIBC_MATH_SKIP_ACCURATE_PASS is set. (#130811)
Commit: 74eba972ca38b9ae181de296a3b4d966b0691676
https://github.com/llvm/llvm-project/commit/74eba972ca38b9ae181de296a3b4d966b0691676
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang] Definitions of fir.pack/unpack_array operations. (#130698)
As defined in #127147.
Commit: 8132c4f55474d4af599b6e7e0753bc374b762fff
https://github.com/llvm/llvm-project/commit/8132c4f55474d4af599b6e7e0753bc374b762fff
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/pr37248.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
Log Message:
-----------
[VPlan] Also introduce broadcasts for live-ins used in vec preheader.
Slightly generalize materializeLiveInBroadcasts to also introduce
broadcasts for live-ins used in the vector preheader. This should cover
all live-ins.
If the live-in is used in the vector preheader, insert the broadcast at
the beginning of the block.
Commit: dad0a4e886368880d1ebd04ce2f6fd6457029073
https://github.com/llvm/llvm-project/commit/dad0a4e886368880d1ebd04ce2f6fd6457029073
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use `adl_being`/`adl_end` in `make_early_inc_range` (#130518)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures.
Also fix potential issue with double-move on the input range.
Commit: 8c97ddff53180236617458368f6179c0fac1ad93
https://github.com/llvm/llvm-project/commit/8c97ddff53180236617458368f6179c0fac1ad93
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Dialect/Ptr/layout.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[mlir][DataLayout] Add a default memory space entry to the data layout. (#127416)
This patch adds a default memory space attribute to the DL and adds
methods to query the attribute. This is required as MLIR has no well
defined default memory space unlike LLVM which has 0. While `nullptr` is
a candidate for default memory space, the `ptr` dialect will remove the
possibility for `nullptr` memory spaces to avoid undefined semantics.
This patch also modifies the `DataLayoutTypeInterface::areCompatible` to
include the new DL spec and merged entries, as it is needed to query the default memory
space.
---------
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: dc23234a6613d304014f7bfc9f36b55739401270
https://github.com/llvm/llvm-project/commit/dc23234a6613d304014f7bfc9f36b55739401270
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove dead code in VPWidenPHIRecipe::print (NFC).
All incoming models for VPWidenPHIRecipe are modled in VPlan, remove
code trying to print the orignial phi.
Commit: 34a3c2302ba59722df4656f3d3514d51206ec516
https://github.com/llvm/llvm-project/commit/34a3c2302ba59722df4656f3d3514d51206ec516
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[AArch64][SVE] Change placeholder from `undef` to `poison` (#130519)
Default to a `poison` vector when calling `@llvm.vector.insert`.
Commit: 89fa592b68c76b78f9e7733575c4813e5d7eece0
https://github.com/llvm/llvm-project/commit/89fa592b68c76b78f9e7733575c4813e5d7eece0
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Update Matmul description to align with spec (#130835)
Align description with the spec.
https://www.mlplatform.org/tosa/tosa_spec.html#_matmul
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 009dfb435f3e6fc4f8d68703b27ca0eb1ba18174
https://github.com/llvm/llvm-project/commit/009dfb435f3e6fc4f8d68703b27ca0eb1ba18174
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/test/ELF/linkerscript/section-class.test
Log Message:
-----------
Reland "[LLD][ELF] Don't spill to same memory region" (#130851)
Relands #129795
Remove skipped potential spills from their parent input section
descriptions to prevent undefined behavior.
Commit: 4d6ca116221a0f49232999c60a986ede987f7b46
https://github.com/llvm/llvm-project/commit/4d6ca116221a0f49232999c60a986ede987f7b46
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[AstMatcher]`templateArgumentCountIs` support `FunctionDecl` (#130416)
`hasTemplateArgument` and `templateArgumentCountIs` are always used together. It is more convenient to make then support `FunctionDecl`.
Commit: 0e4ba47ca827f96319ff9c5f2f9f7ee5c607f6ea
https://github.com/llvm/llvm-project/commit/0e4ba47ca827f96319ff9c5f2f9f7ee5c607f6ea
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
Log Message:
-----------
[clang-tidy] support to detect conversion in `make_optional` for `bugprone-optional-value-conversion` (#130417)
Add support for std::make_optional.
Fixes #119554
Commit: 6dbb5319ce3e6855aa46a511600fe901021e2e94
https://github.com/llvm/llvm-project/commit/6dbb5319ce3e6855aa46a511600fe901021e2e94
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang-rt] Set HAVE_LDBL_MANT_DIG_113. (#130836)
This check enables flang_rt.quadmath build on aarch64.
Commit: 701148f05a7b90ed6b8c4fc38db4c2b0c9241ffc
https://github.com/llvm/llvm-project/commit/701148f05a7b90ed6b8c4fc38db4c2b0c9241ffc
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/CMakeLists.txt
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/Passes.h
A clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Dialect/Transforms/PassDetail.h
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
M clang/test/CIR/Lowering/func-simple.cpp
Log Message:
-----------
[CIR] Upstream initial support for CIR flattening (#130648)
The ClangIR CFG has to be flat before it can be lowered to LLVM IR. That
is, there can be no nested regions and all blocks in a region must
belong to the parent region. Currently only cir.scope operations violate
these rules, so the initial implementation of the cir-flatten-cfg pass
only has to transform scope operations.
Commit: 634e25319e0e99affcb61cc9fba639c4d40cc420
https://github.com/llvm/llvm-project/commit/634e25319e0e99affcb61cc9fba639c4d40cc420
Author: Evan Liu <liuyievan at gmail.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Tensor/bubble-reshapes.mlir
Log Message:
-----------
[mlir] Add special case for 0-D tensor when fusing expand from collapse (#130838)
One fusion pattern for collapse_shape -> expand_shape was added in
https://github.com/llvm/llvm-project/commit/a95ad2da36b6a996b05c79df6b385cd98bac286d,
however if the intermediate tensor between a collapse and expand is a
0-D tensor, then the `reassociation_map` for these two are special cases
and can't be generally fused in this function
`BubbleUpExpandThroughParallelCollapse`.
Commit: 76d5a79bed007769745d44a5e298c09614cad423
https://github.com/llvm/llvm-project/commit/76d5a79bed007769745d44a5e298c09614cad423
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
R llvm/include/llvm/ExecutionEngine/Orc/EPCEHFrameRegistrar.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
R llvm/lib/ExecutionEngine/Orc/EPCEHFrameRegistrar.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC] Drop EHFrameRegistrar, register eh-frames with AllocActions (#130719)
This simplifies resource management, and should improve performance for most use
cases.
Commit: d547005f6c2bf6fbee9fe0f4f99bb6ac2d5b04ab
https://github.com/llvm/llvm-project/commit/d547005f6c2bf6fbee9fe0f4f99bb6ac2d5b04ab
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
Log Message:
-----------
[flang-rt] Enable -funwind-tables so that backtrace works. (#130848)
`backtrace` will not show anything unless it can unwind from
Fortran runtime, so it is useful to have this ability even
in the release build.
Commit: 3692fb6ba58ab2f6836df1cf1f28ecd20450a7f3
https://github.com/llvm/llvm-project/commit/3692fb6ba58ab2f6836df1cf1f28ecd20450a7f3
Author: Emilio Cota <ecg at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
Log Message:
-----------
[mlir][math] add benefit arg to populate math approximations/expansions (#130782)
This is a follow-up to #127291, which added the benefit arg to lowerings
to intrinsics and libm.
In this change we add the benefit arg to the math approximation and
expansion lowerings, which allows users to establish a preferred order
among all three math lowerings, namely approximations, intrinsics and
libm.
Note that we're only updating the new API added in #126103. The legacy
one (`mlir::populateMathPolynomialApproximationPatterns`) is left
unmodified to encourage users to move out of it.
Commit: 72aec1dfcae4d1b50278dbedf164437dee29598b
https://github.com/llvm/llvm-project/commit/72aec1dfcae4d1b50278dbedf164437dee29598b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#130708)
Commit: da478df563583924d0cb25b561b4171e6fe6013c
https://github.com/llvm/llvm-project/commit/da478df563583924d0cb25b561b4171e6fe6013c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#130710)
Commit: da708814beeeecd19844e53a6e1bbb88d748b26e
https://github.com/llvm/llvm-project/commit/da708814beeeecd19844e53a6e1bbb88d748b26e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Move DecoderNamespace in RISCVInstrInfoXCV.td to the Instruction defs. NFC (#130800)
This puts them in the same place as the Predicates. I'd like to have a
single DecoderNamespace scope for all the instruction defs, but we need
to reorder the classes and InstAliases away from the defs to do that.
Commit: b6f502ddb0d1159723744ce01e75bde67fdb01cc
https://github.com/llvm/llvm-project/commit/b6f502ddb0d1159723744ce01e75bde67fdb01cc
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
Log Message:
-----------
AMDGPU: Implement i1 to bfloat conversion (#130831)
We are using the same approach as the conversion of other integer type
to bfloat: i1 --> f32 and f32 --> bf16. Refer to LowerUINT_TO_FP and
LowerSINT_TO_FP in AMDGPUTargetLowering.cpp for details.
Fixes: SWDEV-511605
Commit: 8f05f253601618a2a9c7203cf9e7b9de4f9e22de
https://github.com/llvm/llvm-project/commit/8f05f253601618a2a9c7203cf9e7b9de4f9e22de
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
A llvm/include/llvm/Support/Mustache.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Mustache.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/MustacheTest.cpp
Log Message:
-----------
reapply [llvm] add support for mustache templating language (#130732)
Reapply https://github.com/llvm/llvm-project/pull/105893
Fixes errors which broke build bot that uses GCC as a compiler
https://lab.llvm.org/buildbot/#/builders/136/builds/3100
The issue here was that using Accessor defined in the anonymous
namespace introduces Accessor as a type alias. Which is, later redeclare
as members in classes Token and ASTNode with the same name which causes
error in GCC. The patch fixes it by renaming the Accesor to
AccessorValue. It also fixes warnings caused by the compile due to
initialization
Adds Support for the Mustache Templating Language. See specs here:
https://mustache.github.io/mustache.5.html
This patch implements support+tests for majority of the features of the
language including:
- Variables
- Comments
- Lambdas
- Sections
This meant as a library to support places where we have to generate
HTML, such as in clang-doc.
Commit: 9415b7d97fc38d0b8f3de63f7ba6ff6a5072158e
https://github.com/llvm/llvm-project/commit/9415b7d97fc38d0b8f3de63f7ba6ff6a5072158e
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Support/Mustache.cpp
Log Message:
-----------
[Support] Fix -Wpessimizing-move in Mustache.cpp (NFC)
/llvm-project/llvm/lib/Support/Mustache.cpp:299:27:
error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
PrevToken.TokenBody = std::move(Unindented.str());
^
/llvm-project/llvm/lib/Support/Mustache.cpp:299:27: note: remove std::move call here
PrevToken.TokenBody = std::move(Unindented.str());
^~~~~~~~~~ ~
1 error generated.
Commit: 7ae75851b2e1570662261c97c13cfc65357c283d
https://github.com/llvm/llvm-project/commit/7ae75851b2e1570662261c97c13cfc65357c283d
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrConditionalCompare.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/ccmp.ll
A llvm/test/CodeGen/X86/apx/optimize-compare-ccmp.mir
M llvm/test/CodeGen/X86/optimize-compare.mir
Log Message:
-----------
[X86][APX] Support peephole optimization with CCMP instruction (#129994)
This extends `opitimizeCompareInstr` to re-use previous CCMP results if
the
previous comparison was with an immediates that was 1 bigger or smaller.
Example:
```
CCMP x, 13, 2, 5
...
CCMP x, 12, 2, 5 ; can be removed if we change the SETg
SETg ... ; x > 12 changed to SETge (x >= 13) & remove the 2nd
CCMP
```
Commit: 554347ba45b506c86d0025b1e0e7ab1753c63c6a
https://github.com/llvm/llvm-project/commit/554347ba45b506c86d0025b1e0e7ab1753c63c6a
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
R llvm/include/llvm/Support/Mustache.h
M llvm/lib/Support/CMakeLists.txt
R llvm/lib/Support/Mustache.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/MustacheTest.cpp
Log Message:
-----------
Revert "[llvm] add support for mustache templating language (#105893)" (#130873)
This patch caused certain GCC buildbots to failed
errors: https://lab.llvm.org/buildbot/#/builders/66/builds/11049
Commit: 6981f7e92a051fcc7cd2688bbb0230275b7d2360
https://github.com/llvm/llvm-project/commit/6981f7e92a051fcc7cd2688bbb0230275b7d2360
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/test/Dialect/Affine/parallelize.mlir
Log Message:
-----------
[mlir] account for explicit affine.parallel in parallelization (#130812)
Affine parallelization should take explicitly parallel loops into
account when computing loop depth for dependency analysis purposes. This
was previously not the case, potentially leading to loops incorrectly
being marked as parallel due to depth mismatch.
Commit: 30fdeec0f8f962380a729e6689e098d5875fda04
https://github.com/llvm/llvm-project/commit/30fdeec0f8f962380a729e6689e098d5875fda04
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use `adl_being`/`end` in `map_range` (#130508)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures.
Also add `map_range` unit tests -- there were no pre-existing tests
AFAICT.
Commit: c12761858c72419051225a06c6511ad0cced08b1
https://github.com/llvm/llvm-project/commit/c12761858c72419051225a06c6511ad0cced08b1
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/StmtPrinter.cpp
M clang/test/CodeGen/p0963r3.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
Log Message:
-----------
[Clang] Fix the printout of CXXParenListInitExpr involving default arguments (#130731)
The parantheses are unnecessary IMO because they should have been
handled in the parents of such expressions, e.g. in CXXFunctionalCastExpr.
Moreover, we shouldn't join CXXDefaultInitExpr either because they are
not printed at all.
Commit: ab22f652a4dfcaf5b6884a85e498d7ca077937ca
https://github.com/llvm/llvm-project/commit/ab22f652a4dfcaf5b6884a85e498d7ca077937ca
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/strings.yaml
M libc/src/strings/CMakeLists.txt
A libc/src/strings/strcasecmp_l.cpp
A libc/src/strings/strcasecmp_l.h
A libc/src/strings/strncasecmp_l.cpp
A libc/src/strings/strncasecmp_l.h
M libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/strcasecmp_l_test.cpp
A libc/test/src/strings/strncasecmp_l_test.cpp
Log Message:
-----------
[libc] implement `strings/str{n}casecmp_l` (#130407)
ref:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcasecmp_l.html
This patch introduces the `strcasecmp_l` function. At present, the
locale parameter is ignored, making it a stub implementation. This is
consistent with how other locale-related functions, such as `islower_l`,
are treated in our codebase as well as in
[musl](https://github.com/bminor/musl/blob/master/src/string/strcasecmp.c)
and
[bionic](https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/bionic/strings_l.cpp).
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 9ef7287d42526014abb0cf2aa53ac2c3087198be
https://github.com/llvm/llvm-project/commit/9ef7287d42526014abb0cf2aa53ac2c3087198be
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fprofile-continuous.c
Log Message:
-----------
[profile] runtime counter relocation needed on all windows targets (#127858)
See PR comments for the discussion that led to this commit.
Commit: e427f0694ed0030d3a0c90689b39c23f0037d4d6
https://github.com/llvm/llvm-project/commit/e427f0694ed0030d3a0c90689b39c23f0037d4d6
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Use adl_begin in make_first_range and make_second_range (#130521)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of https://github.com/llvm/llvm-project/pull/87936 but
reverted due to buildbot failures.
Commit: adae90ee35ca6f60e99189dea95cb719b4969860
https://github.com/llvm/llvm-project/commit/adae90ee35ca6f60e99189dea95cb719b4969860
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
Log Message:
-----------
AMDGPU: Add baseline test for coalescing vgpr to agpr subreg inserts (#130877)
Commit: 725726171240afa76166392d105900040a00c5b4
https://github.com/llvm/llvm-project/commit/725726171240afa76166392d105900040a00c5b4
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/test/CodeGen/NVPTX/st_bulk.ll
Log Message:
-----------
[NVPTX] Fix generic address in st.bulk intrinsic (#130740)
This PR fixes an oversight from the previous change (PR #128856) that
introduced the `st.bulk` intrinsic where `llvm_global_ptr_ty` was used
instead of `llvm_ptr_ty` for generic addressing.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-st-bulk
Commit: d898761ca24acd62448993b369a1c1b95354707d
https://github.com/llvm/llvm-project/commit/d898761ca24acd62448993b369a1c1b95354707d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] FeatureVendorXwchc should imply FeatureStdExtZca. (#130817)
If we don't do this the binary emission won't set the compressed flag in
the ELF header and won't emit alignment NOPs for R_RISCV_ALIGN correctly
to support the existence of 2 byte instructions in the stream.
Commit: bf2d1c46072a0461cb3ddcaefcafeccc2637995e
https://github.com/llvm/llvm-project/commit/bf2d1c46072a0461cb3ddcaefcafeccc2637995e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
Log Message:
-----------
AMDGPU: Disable machine verifier in failing test
Commit: 1585db458f040b5861d449a3a882388f8dcb6e62
https://github.com/llvm/llvm-project/commit/1585db458f040b5861d449a3a882388f8dcb6e62
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[IR] Optimize CFI in `writeCombinedGlobalValueSummary` (#130382)
Before the patch,
`writeCombinedGlobalValueSummary` traversed entire
`cfiFunction*` for each module, just to pick a few
symbols from `DefOrUseGUIDs`.
Now we change internals of `cfiFunctionDefs` and
`cfiFunctionDecls` to maintain a map from GUID to StringSet.
So now we iterate `DefOrUseGUIDs`, usually small,
and pick exact subset of symbols.
Sorting is not strictly necessary, but it
preserves the order of emitted values.
Commit: 7a66a26658f40d00ad4c298260d9c3b8f91e1368
https://github.com/llvm/llvm-project/commit/7a66a26658f40d00ad4c298260d9c3b8f91e1368
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/test/tools/llvm-objcopy/ELF/discard-all.test
R llvm/test/tools/llvm-objcopy/ELF/discard-locals-rel.test
M llvm/test/tools/llvm-objcopy/ELF/discard-locals.test
Log Message:
-----------
[llvm-objcopy,ELF] --discard-locals/--discard-all: allow and keep symbols referenced by relocations
In GNU objcopy, symbols referenced by relocations are retained. Our COFF
(https://reviews.llvm.org/D56480) and Mach-O
(https://reviews.llvm.org/D75104) ports port the behavior, but the ELF
port doesn't.
This PR implements the behavior for ELF.
Close #47468 (tcl has a use case that requires `strip -x tclStubLib.o`
to strip local symbols not referenced by relocations.)
Pull Request: https://github.com/llvm/llvm-project/pull/130704
Commit: 606e9fa444559923a9e03cbdffc1abd9e2582d60
https://github.com/llvm/llvm-project/commit/606e9fa444559923a9e03cbdffc1abd9e2582d60
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M llvm/lib/WindowsDriver/MSVCPaths.cpp
Log Message:
-----------
[WindowsDriver] Always consider `WinSdkVersion` (#130377)
Currently, the `-Xmicrosoft-windows-sdk-version` is only used if
`-Xmicrosoft-windows-sdk-root` is also provided. This is a surprising
behavior since the argument should still be taking effect if LLVM uses
the Windows SDK root from the registry.
Tested locally in a simple Hello World program including `Windows.h` and
compiled with `-Xmicrosoft-windows-sdk-version 10.0.18362.0` on a system
where the SDK 10.0.22621.0 is also installed and verified that the
correct header was included.
Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
Commit: 5f20f9a0126165ed64c39b9a23559136691d9f97
https://github.com/llvm/llvm-project/commit/5f20f9a0126165ed64c39b9a23559136691d9f97
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
Log Message:
-----------
[clang][AST] Remove HasFirstArg assertion in CallExpr::getBeginLoc() (#130725)
There are cases where the assertion legitimately does not hold (e.g.
CallExpr::CreateTemporary()), and there's no readily available way to
tell such cases apart.
Fixes https://github.com/llvm/llvm-project/issues/130272
Commit: bde140c47fe04c57f507af9476f2735daffb4e22
https://github.com/llvm/llvm-project/commit/bde140c47fe04c57f507af9476f2735daffb4e22
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/infinite-loop-evergreen.ll
Log Message:
-----------
AMDGPU: Remove a FileCheck from an XFAILed test
In case the assert ever stops, we don't want to hit the FileCheck error
from there being no checks.
Commit: 8d7cb5d05b1278d96a8811581d3b0baf0753e0e3
https://github.com/llvm/llvm-project/commit/8d7cb5d05b1278d96a8811581d3b0baf0753e0e3
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-11 (Tue, 11 Mar 2025)
Changed paths:
M clang/test/CodeGenHLSL/cbuffer.hlsl
A llvm/test/CodeGen/DirectX/Metadata/cbuffer_metadata.ll
A llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
A llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
R llvm/test/CodeGen/DirectX/UAVMetadata.ll
R llvm/test/CodeGen/DirectX/cbuf.ll
R llvm/test/CodeGen/DirectX/legacy_cb_layout_0.ll
R llvm/test/CodeGen/DirectX/legacy_cb_layout_1.ll
R llvm/test/CodeGen/DirectX/legacy_cb_layout_2.ll
R llvm/test/CodeGen/DirectX/legacy_cb_layout_3.ll
Log Message:
-----------
[HLSL][NFC] Update resource metadata tests to not use obsolete annotations (#130222)
Update resource metadata tests to generate metadata based on
`llvm.dx.resource.handlefrombinding` data collected in
`DXILResourceBindingAnalysis`.
- `UAVMetadata.ll` is updated, renamed to `uav_metadata.ll`, and placed
under `Metadata` directory in `llvm/test/CodeGen/DirectX`
- `srv_metadata.ll` is a new test for SRV resource metadata
- `cbuf.ll` and `legacy_cb_layout_{0|1}.ll` tests were merged into
`cbuffer_metadata.ll`
- `legacy_cb_layout_{2|3}.ll` tests we moved to `cbuffer.hlsl` in Clang
CodeGen because there were more of a layout than metadata tests
Related to [#114126](https://github.com/llvm/llvm-project/issues/114126)
Commit: 57a90883ca541a90a7a4a22d715832ec0ceb0599
https://github.com/llvm/llvm-project/commit/57a90883ca541a90a7a4a22d715832ec0ceb0599
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/DetectDeadLanes.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/DetectDeadLanes.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AMDGPU/detect-dead-lanes.mir
Log Message:
-----------
[CodeGen][NPM] Port DetectDeadLanes to NPM (#130567)
Commit: d921bf233c4fd3840953b1a4b5bb35ad594da773
https://github.com/llvm/llvm-project/commit/d921bf233c4fd3840953b1a4b5bb35ad594da773
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/array-ptr-calc-i32.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-max-regs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-memset.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-no-opts.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-vgpr-ratio.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
Log Message:
-----------
[AMDGPU] Extend promotion of alloca to vectors (#127973)
* Add multi dimensional array support
* Make maximum vector size tunable
* Make ratio of VGPRs used for vector promotion tunable
* Maximum array size now based on VGPR count (32b) instead of element count
Commit: 90a08fb4b7e79e79121a563ac9cd8138cfedeb3c
https://github.com/llvm/llvm-project/commit/90a08fb4b7e79e79121a563ac9cd8138cfedeb3c
Author: A2uria <a2uria at qq.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M lld/COFF/Driver.cpp
A lld/test/COFF/Inputs/defaultlib.yaml
M lld/test/COFF/nodefaultlib.test
Log Message:
-----------
[LLD][COFF] Update nodefaultlibs after updating search paths (#128813)
Fix #107346
Commit: c86d88484709a54fc50d4a8e1d2dc336721feef1
https://github.com/llvm/llvm-project/commit/c86d88484709a54fc50d4a8e1d2dc336721feef1
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
Log Message:
-----------
AMDGPU: Update LIT tests for i1-to-bf16 conversions (NFC) (#130916)
Add tests for a few other targets, and with SGPR input/output, based on requests from PR:
https://github.com/llvm/llvm-project/pull/130831
Commit: 418e07b7e679246a3a4ab9a5a8c119eb4ba4623d
https://github.com/llvm/llvm-project/commit/418e07b7e679246a3a4ab9a5a8c119eb4ba4623d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Tensor/drop-redundant-insert-slice-rank-expansion.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][Tensor] Check for out-of-bounds slice in `insert/extract_slice` verifier (#130487)
Also fix test cases that had invalid ops.
Commit: 7decd046260d855c41a25990aee5398929ea29f8
https://github.com/llvm/llvm-project/commit/7decd046260d855c41a25990aee5398929ea29f8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 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
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/strictfp-elementwise-builtins.cpp
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
Log Message:
-----------
[Clang] Add __builtin_elementwise_exp10 in the same fashion as exp/exp2 (#130746)
Clang has __builtin_elementwise_exp and __builtin_elementwise_exp2
intrinsics, but no __builtin_elementwise_exp10.
There doesn't seem to be a good reason not to expose the exp10 flavour
of this intrinsic too.
This commit introduces this intrinsic following the same pattern as the
exp and exp2 versions.
Fixes: SWDEV-519541
Commit: 525d412cae53032e561f6426fc0c07e6a50d6f54
https://github.com/llvm/llvm-project/commit/525d412cae53032e561f6426fc0c07e6a50d6f54
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
Log Message:
-----------
[AMDGPU] Fix typing error introduce in promote alloca change
Fix type error when GEP uses i64 offset introduced in #127973.
Commit: 369c0a7483a4ffe9af9027f73e5f04dd1d75d312
https://github.com/llvm/llvm-project/commit/369c0a7483a4ffe9af9027f73e5f04dd1d75d312
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Interpreter/Wasm.cpp
Log Message:
-----------
[clang-repl] Fix target creation in Wasm.cpp (#130909)
Convert the Triple to a string to account for the change from #129868.
Commit: c9563a422cea44f0b00fdcd5085666442f8f24f8
https://github.com/llvm/llvm-project/commit/c9563a422cea44f0b00fdcd5085666442f8f24f8
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/Expr.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang][NFC] Remove CallExpr::CreateTemporary (#130919)
`CallExpr::CreateTemporary` was only used to deduce a conversion
sequence from a conversion operator.
We only need a type/value category for that,
so we can use a dummy Expression such as a
`OpaqueValueExpr`.
This simplify the code and avoid partially-formed
`CallExpr` with incorrect invariants (see #130725)
Fixes #130824
Commit: 15e335f04fba3d16e195c055952649f8852e3b35
https://github.com/llvm/llvm-project/commit/15e335f04fba3d16e195c055952649f8852e3b35
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir
M flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
M flang/test/Fir/struct-return-aarch64.fir
M flang/test/Fir/struct-return-loongarch64-byreg.fir
M flang/test/Fir/struct-return-powerpc64-aix.fir
M flang/test/Fir/struct-return-ppc64le.fir
M flang/test/Fir/struct-return-x86-64.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target-rewrite-complex.fir
M flang/test/Fir/target-rewrite-complex16.fir
M flang/test/Fir/target-rewrite-indirect-calls.fir
M flang/test/Fir/target-rewrite-integer-loongarch64.fir
M flang/test/Fir/target.fir
Log Message:
-----------
[flang] also set llvm ABI argument attributes on direct calls (#130736)
So far, flang was not setting argument attributes on direct calls
assuming that putting them on the function operation was enough.
It was clarified in
https://github.com/llvm/llvm-project/commit/38565da5259729898c2a552d54b72f3314241734
that they must be set on both call and functions, even for direct calls.
Crashes have been observed because of the lack of the attribute when
compiling `abs(x)` at `O2` and above on X86-64 for complex(16).
Commit: a6089a949fefc4bada79bdd5d76a6df4daa9b0cf
https://github.com/llvm/llvm-project/commit/a6089a949fefc4bada79bdd5d76a6df4daa9b0cf
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
Log Message:
-----------
[AMDGPU] Ignore RegMask operands when folding operands to SALU insts (#130813)
Otherwise we hit an assert in isInlineConstant.
Commit: c22c5643db68d70871965fc42dfcfd1b89999325
https://github.com/llvm/llvm-project/commit/c22c5643db68d70871965fc42dfcfd1b89999325
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 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/SIMemoryLegalizer.cpp
Log Message:
-----------
[AMDGPU][NPM] Port SIMemoryLegalizer to NPM (#130060)
Commit: 5daba3dfd9273ab1d4266f7d029abd17c85cae9a
https://github.com/llvm/llvm-project/commit/5daba3dfd9273ab1d4266f7d029abd17c85cae9a
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
Log Message:
-----------
[AMDGPU][NFC] Format GCNCreateVOPD.cpp (#130548)
Commit: 5a0a2f8239d34332000009a05e7972f0303ac746
https://github.com/llvm/llvm-project/commit/5a0a2f8239d34332000009a05e7972f0303ac746
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_ps.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_vs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shlN_add.ll
M llvm/test/CodeGen/AMDGPU/cc-sgpr-limit.ll
M llvm/test/CodeGen/AMDGPU/cc-sgpr-over-limit.ll
M llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/fneg-fold-legalize-dag-increase-insts.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.load.2dmsaa.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/ret.ll
M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
M llvm/test/CodeGen/AMDGPU/skip-promote-alloca-vector-users.ll
M llvm/test/CodeGen/AMDGPU/unigine-liveness-crash.ll
Log Message:
-----------
AMDGPU: Replace undef with poison in tests using insertvalue (#130895)
perl -p -i -e 's/insertvalue (.*) undef/insertvalue \1 poison/g'
Commit: 6f89c1ff6b885c0bb12279dbf6c3aed32d93d084
https://github.com/llvm/llvm-project/commit/6f89c1ff6b885c0bb12279dbf6c3aed32d93d084
Author: David Green <david.green at arm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
Log Message:
-----------
[AArch64] Remove Kyro run lines from insert-extract.ll. NFC
They are expected to match the other CHECK lines now.
Commit: adb44ed2b864a62da03f3405b39593914e9631f7
https://github.com/llvm/llvm-project/commit/adb44ed2b864a62da03f3405b39593914e9631f7
Author: David Green <david.green at arm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
Log Message:
-----------
[AArch64] Add -cost-kind=all coverage for insert-extract.ll and shuffle-load.ll. NFC
Commit: 65ade6d2ebbedca0d349ab2270a3979a51fad8bf
https://github.com/llvm/llvm-project/commit/65ade6d2ebbedca0d349ab2270a3979a51fad8bf
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/merge-consecutive-wait-alus.mir
Log Message:
-----------
[AMDGPU] Merge consecutive wait_alu instruction (#128916)
Commit: ad704ff62b4a1abc08dbe3f21f6126745cbe3f95
https://github.com/llvm/llvm-project/commit/ad704ff62b4a1abc08dbe3f21f6126745cbe3f95
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/TableGen/x86-instr-mapping.inc
M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
Log Message:
-----------
[X86][NF] Switch the order of Inst and &Target.getInstruction(NewRec) (#130739)
Because Inst is ordered by Instruction ID.
Commit: 9f617161aa8db76baa4426e3c461c9ca91ea8103
https://github.com/llvm/llvm-project/commit/9f617161aa8db76baa4426e3c461c9ca91ea8103
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
A llvm/include/llvm/CodeGen/PatchableFunction.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/PatchableFunction.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/patchable-function-entry-empty.mir
Log Message:
-----------
[CodeGen][NPM] Port PatchableFunction to NPM (#129866)
Commit: 3ad810ea9a97bb3399d8590372a6d3a0eb40d236
https://github.com/llvm/llvm-project/commit/3ad810ea9a97bb3399d8590372a6d3a0eb40d236
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
Log Message:
-----------
AMDGPU/GlobalISel: Disable LCSSA pass (#124297)
Disable LCSSA pass in preparation for implementing temporal divergence
lowering in amdgpu divergence lowering. Breaks all cases where sgpr or
i1 values are used outside of the cycle with divergent exit.
Regenerate regression tests for amdgpu divergence lowering with LCSSA
disabled.
Update IntrinsicLaneMaskAnalyzer to stop tracking lcssa phis that are
lane masks.
Commit: 5ec884e5d8a17f5764b09b66f28248b1dc403d4b
https://github.com/llvm/llvm-project/commit/5ec884e5d8a17f5764b09b66f28248b1dc403d4b
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-12 (Wed, 12 Mar 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/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
R llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
Revert "[SLP]Reduce number of alternate instruction, where possible"
This caused assertion failures:
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:16237:
Value *llvm::slpvectorizer::BoUpSLP::vectorizeTree(TreeEntry *):
Assertion `OpTE1.isSame( ArrayRef(E->Scalars).take_front(OpTE1.getVectorFactor())) && "Expected same first part of scalars."' failed.
See comment on the PR.
> Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
> It is mostly the same, adjusted after graph-to-tree transformation
This reverts commit 7de895ff1146c17ec78877900c01c09f4140e692.
Commit: fef0b8a0ba58b56fc7ab54143e8d2f4c02938777
https://github.com/llvm/llvm-project/commit/fef0b8a0ba58b56fc7ab54143e8d2f4c02938777
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Breakpoint/BreakpointResolver.cpp
Log Message:
-----------
[lldb] Let languages see all SymbolContexts at once when filtering breakpoints (#129937)
This allows languages to make decisions based on the whole set of symbol
contexts, giving them strictly more power than when they are only
allowed to see one at a time.
Commit: 553da9634dc4bae215e6c850d2de3186d09f9da5
https://github.com/llvm/llvm-project/commit/553da9634dc4bae215e6c850d2de3186d09f9da5
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
Log Message:
-----------
AMDGPU/GlobalISel: Update divergence lowering tests (#128702)
In preparations for implementing temporal divergence lowering for
global-isel, switch llvm-ir tests for amdgpu divergence lowering
to new reg bank select. Requires adding few simple regbanklegalize
rules for these tests to work.
Commit: c07e1e390ccb4854351ef42058c076cc4a542745
https://github.com/llvm/llvm-project/commit/c07e1e390ccb4854351ef42058c076cc4a542745
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/GenericUniformityInfo.h
M llvm/lib/Analysis/UniformityAnalysis.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
Log Message:
-----------
AMDGPU/GlobalISel: Temporal divergence lowering (non i1) (#124298)
Record all uses outside cycle with divergent exit during
propagateTemporalDivergence in Uniformity analysis.
With this list of candidates for temporal divergence lowering,
excluding known lane masks from control flow intrinsics,
find sources from inside the cycle that are not i1 and uniform.
Temporal divergence lowering (non i1):
create copy(v_mov) to vgpr, with implicit exec (to stop other
passes from moving this copy outside of the cycle) and use this
vgpr outside of the cycle instead of original uniform source.
Commit: 014bf63c2e7fabd8b49db2b9df02b90c2a726c64
https://github.com/llvm/llvm-project/commit/014bf63c2e7fabd8b49db2b9df02b90c2a726c64
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
Log Message:
-----------
AMDGPU/GlobalISel: Temporal divergence lowering i1 (#124299)
Use of i1 outside of the cycle, both uniform and divergent,
is lane mask(in sgpr) that contains i1 at iteration that lane
exited the cycle.
Create phi that merges lane mask across all iterations.
Commit: 77b55c76acebf30d3951788d1651607d5276380e
https://github.com/llvm/llvm-project/commit/77b55c76acebf30d3951788d1651607d5276380e
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/docs/CodeReview.rst
Log Message:
-----------
[llvm][docs] Add notes on upstreaming code from downstream projects (#129743)
For context, see:
* https://discourse.llvm.org/t/code-review-process-when-upstreaming-patches
Commit: 30fa7a231def5a688608a9ae7ec3d8f831b210a0
https://github.com/llvm/llvm-project/commit/30fa7a231def5a688608a9ae7ec3d8f831b210a0
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Make DifferentModule case more obvious in CollectDebugInfoForCloning (#129146)
Summary:
This should be behaviorally equivalent. DIFinder is only used when
cloning into a DifferentModule as part of llvm.dbg.cu update in
CloneFunctionInto.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 76cf895717e9eba4d2a158d5bc3e48f2f7794181
https://github.com/llvm/llvm-project/commit/76cf895717e9eba4d2a158d5bc3e48f2f7794181
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenCXX/x86_64-arguments.cpp
R clang/test/SemaHLSL/Language/VectorOutOfRange-errors.hlsl
Log Message:
-----------
Revert "[HLSL] error on out of bounds vector accesses (#128952)"
This caused false-positive errors, see comment on the PR.
> Add Sema checking and diagnostics to error on out of bounds vector
> accesses
> Add tests
> Closes #91640
This reverts commit f1e36759d2e6c26d2d5825f955c51fd595909b52.
Commit: 0165ca3a093897d505f2ec8f55beeea84de76540
https://github.com/llvm/llvm-project/commit/0165ca3a093897d505f2ec8f55beeea84de76540
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
BUILD.bazel fix due to c07e1e3
Commit: c851ee38ad457a98c2c3cd1e88ec74b2eb7f8582
https://github.com/llvm/llvm-project/commit/c851ee38ad457a98c2c3cd1e88ec74b2eb7f8582
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/equivalence-namelist.f90
Log Message:
-----------
[flang][OpenMP] catch namelist access through equivalence (#130804)
The standard prohibits privatising namelist variables. We also decided
in #110671 to prohibit reductions of namelist variables.
This commit prevents this rule from being circumvented through the use
of equivalence statements.
Fixes #122824
Commit: 032f83b743b7783483b380f422dbc2f10fab71ee
https://github.com/llvm/llvm-project/commit/032f83b743b7783483b380f422dbc2f10fab71ee
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Enable BlockArgOpenMPOpInterface accessing operands (#130769)
This patch makes additions to the `BlockArgOpenMPOpInterface` to
simplify its use by letting it handle the matching between operands and
their associated entry block arguments. Most significantly, the
following is now possible:
```c++
SmallVector<std::pair<Value, BlockArgument>> pairs;
cast<BlockArgOpenMPOpInterface>(op).getBlockArgsPairs(pairs);
for (auto [var, arg] : pairs) {
// var points to the operand (outside value) and arg points to the entry
// block argument associated to that value.
}
```
This is achieved by making the interface define and use `getXyzVars()`
methods, which by default return empty `OperandRange`s and are overriden
by getters automatically produced for the `Variadic<...> $xyz_vars`
tablegen argument of the corresponding clause. These definitions can
then be simplified, since they no longer need to manually define
`numXyzBlockArgs` functions as a result.
A side-effect of this is that all ops implementing this interface will
now publicly define `getXyzVars()` functions for all entry block
argument-generating clauses, even if they don't actually accept all
clauses. However, these would just return empty ranges, so it shouldn't
cause issues.
This change uncovered some incorrect definitions of class declarations
related to the `ReductionClauseInterface`, and the `OpenMP_DetachClause`
incorrectly implementing the `BlockArgOpenMPOpInterface`, so these
issues are also addressed.
Commit: cf68c9378b0c935a1fe0ba2b3b3276d16cf2b09a
https://github.com/llvm/llvm-project/commit/cf68c9378b0c935a1fe0ba2b3b3276d16cf2b09a
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Move declare mapper sym creation outside loop, NFC (#130794)
This patch simplifies the definition of
`ClauseProcessor::processMapObjects` by hoisting the creation of the
MLIR symbol associated to an existing `omp.declare_mapper` operation
outside of the loop processing all mapped objects.
That change removes some inter-iteration dependencies that made the
implementation more difficult to follow.
Commit: 6bf0c4648eeac4f4fda57b6be76e2741c2506478
https://github.com/llvm/llvm-project/commit/6bf0c4648eeac4f4fda57b6be76e2741c2506478
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
A llvm/include/llvm/Support/Mustache.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Mustache.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/MustacheTest.cpp
Log Message:
-----------
reapply [llvm] add support for mustache templating language (#130876)
Reapply https://github.com/llvm/llvm-project/pull/130732
Fixes errors which broke build bot that uses GCC as a compiler
https://lab.llvm.org/buildbot/#/builders/66/builds/11049
GCC threw an warning due to an issue std::move with a temporary object
which prevents copy elision. Fixes the issue by removing the std::move
Adds Support for the Mustache Templating Language. See specs here:
https://mustache.github.io/mustache.5.html
This patch implements support+tests for majority of the features of the
language including:
- Variables
- Comments
- Lambdas
- Sections
This meant as a library to support places where we have to generate
HTML, such as in clang-doc.
Commit: 1d89d7d5d76e391b035f50343e2a4890506c6f2b
https://github.com/llvm/llvm-project/commit/1d89d7d5d76e391b035f50343e2a4890506c6f2b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
A clang/AreaTeamMembers.txt
M clang/www/get_involved.html
Log Message:
-----------
[Docs] Explain how to propose an extension in Clang (#130803)
We have a list of criteria for proposing an extension in Clang, but we
do not have any documentation about how to propose an extension. This
adds some basic documentation about how we run RFCs in Clang, as well as
adds a list of Clang Area Team members in support of the process.
It could be argued that this should be documented for the entire LLVM
Project, however, other parts of the project have different rules for
proposing extensions. (Extending libc++ is a different proposition than
extending LLVM, than extending MLIR, than extending Clang, etc.) We may
want to introduce high-level documentation for the LLVM Project, but
that is a bigger project and we already have the documentation in Clang
about criteria for extensions. So it seems reasonable to add some
lightweight documentation specific to Clang until we determine what to
do at the whole project level.
Commit: 059ada405c1ebb9dc8a9c370d97ff0f447ba8b6c
https://github.com/llvm/llvm-project/commit/059ada405c1ebb9dc8a9c370d97ff0f447ba8b6c
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
Log Message:
-----------
[PreISelintrinsicLowering] getTypeSizeInBits/8 => getTypeAllocSize in memset.pattern lowering
As noted during review of #129329.
Commit: 5073b5fdfaf90f5d94640cf9031c73d27a91e394
https://github.com/llvm/llvm-project/commit/5073b5fdfaf90f5d94640cf9031c73d27a91e394
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
M llvm/test/Transforms/CorrelatedValuePropagation/range.ll
M llvm/test/Transforms/CorrelatedValuePropagation/sext.ll
A llvm/test/Transforms/CorrelatedValuePropagation/trunc.ll
M llvm/test/Transforms/CorrelatedValuePropagation/zext.ll
Log Message:
-----------
[CVP] Infer `nuw`/`nsw` flags for TruncInst (#130504)
Proof: https://alive2.llvm.org/ce/z/U-G7yV
Helps: https://github.com/rust-lang/rust/issues/72646 and
https://github.com/rust-lang/rust/issues/122734
Rust compiler's current output: https://godbolt.org/z/7E3fET6Md
IPSCCP can do this transform but it does not help the motivating issue
since it runs only once early in the optimization pipeline.
Reimplementing this in CVP folds the motivating issue into a simple
`icmp eq` instruction.
Fixes #130100
Commit: 15136f1c09d9e5aef0266937d3d7135616436cd2
https://github.com/llvm/llvm-project/commit/15136f1c09d9e5aef0266937d3d7135616436cd2
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.load.2dmsaa.ll
Log Message:
-----------
[AMDGPU] Change placeholder from `undef` to `poison` (#130853)
Call `insertelement` with `poison` instead of `undef`.
Commit: 73e23f899f2a2e582c6d905a94d0a22581f011eb
https://github.com/llvm/llvm-project/commit/73e23f899f2a2e582c6d905a94d0a22581f011eb
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[AMDGPU] Change placeholder from `undef` to `poison` (#130858)
Replace `undef` debug info with `poison`.
Commit: 6717a38bb5fd004c347d1b68953007596d738d9b
https://github.com/llvm/llvm-project/commit/6717a38bb5fd004c347d1b68953007596d738d9b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 3a7a9c928671 better
Commit: de34213a67c23e090095526a2a79797a617a3f39
https://github.com/llvm/llvm-project/commit/de34213a67c23e090095526a2a79797a617a3f39
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port ab6f470675ed
Commit: cd043e4fbe6125df4cb4993c625fa5e46194e478
https://github.com/llvm/llvm-project/commit/cd043e4fbe6125df4cb4993c625fa5e46194e478
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[Docs] Add a link to Clang Area Team members
This adds a link to the Clang Area Team members from the Maintainers
documentation, as another way to find folks working on decision-making.
Commit: 1e58bdcc73c530757288eac975e681c03fc6a6ca
https://github.com/llvm/llvm-project/commit/1e58bdcc73c530757288eac975e681c03fc6a6ca
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 75f76d482cc2
Commit: 6af9fd9430d5dcbe5994a0e758db255de00b5367
https://github.com/llvm/llvm-project/commit/6af9fd9430d5dcbe5994a0e758db255de00b5367
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 76d5a79bed00
Commit: 2c8e154ce8e8af4be0243f3ac295b49df01a9867
https://github.com/llvm/llvm-project/commit/2c8e154ce8e8af4be0243f3ac295b49df01a9867
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port f10a8706a144
Commit: ab557afa40af11ab2a1276dd9ccb8e072f1c7492
https://github.com/llvm/llvm-project/commit/ab557afa40af11ab2a1276dd9ccb8e072f1c7492
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/test/Headers/gpuintrin.c
Log Message:
-----------
[libc][nfc] Include instantiations of gpuintrin.h in IR test case (#130956)
Regenerated existing test case with include-generated-funcs to show the
lowered IR for each instantiation.
Commit: da42b2f67da603d19be4ab0ee33ae79e20c12c6c
https://github.com/llvm/llvm-project/commit/da42b2f67da603d19be4ab0ee33ae79e20c12c6c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-misaligned-bug.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
M llvm/test/CodeGen/AMDGPU/add3.ll
M llvm/test/CodeGen/AMDGPU/amdpal_scratch_mergedshader.ll
M llvm/test/CodeGen/AMDGPU/any_extend_vector_inreg.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bfi_nested.ll
M llvm/test/CodeGen/AMDGPU/big_alu.ll
M llvm/test/CodeGen/AMDGPU/bug-deadlanes.ll
M llvm/test/CodeGen/AMDGPU/bug-v4f64-subvector.ll
M llvm/test/CodeGen/AMDGPU/build-vector-insert-elt-infloop.ll
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/build_vector-r600.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/coalescer_remat.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/complex-folding.ll
M llvm/test/CodeGen/AMDGPU/cube.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/AMDGPU/dagcombiner-bug-illegal-vec4-int-to-fp.ll
M llvm/test/CodeGen/AMDGPU/dead-machine-elim-after-dead-lane.ll
M llvm/test/CodeGen/AMDGPU/debug-value.ll
M llvm/test/CodeGen/AMDGPU/debug-value2.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-abs.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/ds-combine-with-dependence.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/ds_read2_superreg.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-equal-length.ll
M llvm/test/CodeGen/AMDGPU/extract-vector-elt-build-vector-combine.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
M llvm/test/CodeGen/AMDGPU/flat-offset-bug.ll
M llvm/test/CodeGen/AMDGPU/floor.ll
M llvm/test/CodeGen/AMDGPU/fmac.sdwa.ll
M llvm/test/CodeGen/AMDGPU/fmad-formation-fmul-distribute-denormal-mode.ll
M llvm/test/CodeGen/AMDGPU/fmad.ll
M llvm/test/CodeGen/AMDGPU/fmax.ll
M llvm/test/CodeGen/AMDGPU/fmin.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/image-schedule.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/input-mods.r600.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/jump-address.ll
M llvm/test/CodeGen/AMDGPU/kcache-fold.ll
M llvm/test/CodeGen/AMDGPU/lds-bounds.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll
M llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.nsa.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll
M llvm/test/CodeGen/AMDGPU/llvm.pow.ll
M llvm/test/CodeGen/AMDGPU/llvm.r600.cube.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/load-input-fold.ll
M llvm/test/CodeGen/AMDGPU/load-lo16.ll
M llvm/test/CodeGen/AMDGPU/loop-live-out-copy-undef-subrange.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad_uint24.ll
M llvm/test/CodeGen/AMDGPU/max-literals.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/merge-store-crash.ll
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
M llvm/test/CodeGen/AMDGPU/nsa-reassign.ll
M llvm/test/CodeGen/AMDGPU/operand-folding.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/predicate-dp4.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/pv-packing.ll
M llvm/test/CodeGen/AMDGPU/pv.ll
M llvm/test/CodeGen/AMDGPU/r600-encoding.ll
M llvm/test/CodeGen/AMDGPU/r600-export-fix.ll
M llvm/test/CodeGen/AMDGPU/r600-infinite-loop-bug-while-reorganizing-vector.ll
M llvm/test/CodeGen/AMDGPU/r600cfg.ll
M llvm/test/CodeGen/AMDGPU/reassoc-scalar.ll
M llvm/test/CodeGen/AMDGPU/rv7x0_count3.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/schedule-fs-loop-nested-if.ll
M llvm/test/CodeGen/AMDGPU/schedule-fs-loop-nested.ll
M llvm/test/CodeGen/AMDGPU/schedule-fs-loop.ll
M llvm/test/CodeGen/AMDGPU/schedule-if-2.ll
M llvm/test/CodeGen/AMDGPU/schedule-if.ll
M llvm/test/CodeGen/AMDGPU/schedule-vs-if-nested-loop-failure.ll
M llvm/test/CodeGen/AMDGPU/schedule-vs-if-nested-loop.ll
M llvm/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sgpr-copy-duplicate-operand.ll
M llvm/test/CodeGen/AMDGPU/shared-op-cycle.ll
M llvm/test/CodeGen/AMDGPU/si-sgpr-spill.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/si-vector-hang.ll
M llvm/test/CodeGen/AMDGPU/skip-promote-alloca-vector-users.ll
M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
M llvm/test/CodeGen/AMDGPU/sminmax.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/smrd.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/split-scalar-i64-add.ll
M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
M llvm/test/CodeGen/AMDGPU/sram-ecc-default.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-crash.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
M llvm/test/CodeGen/AMDGPU/subreg-eliminate-dead.ll
M llvm/test/CodeGen/AMDGPU/swizzle-export.ll
M llvm/test/CodeGen/AMDGPU/tex-clause-antidep.ll
M llvm/test/CodeGen/AMDGPU/texture-input-merge.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/unigine-liveness-crash.ll
M llvm/test/CodeGen/AMDGPU/unpack-half.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/vector-legalizer-divergence.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot-compute.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
M llvm/test/CodeGen/AMDGPU/widen-vselect-and-mask.ll
M llvm/test/CodeGen/AMDGPU/wqm-gfx11.ll
M llvm/test/CodeGen/AMDGPU/xor3.ll
Log Message:
-----------
AMDGPU: Replace insertelement poison with insertelement undef (#130896)
This is the bulk update with perl, with cases which require additional
update left for later.
Commit: 1d0dd76eec05ff6774a76f79088968c7f58f3167
https://github.com/llvm/llvm-project/commit/1d0dd76eec05ff6774a76f79088968c7f58f3167
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
Log Message:
-----------
AMDGPU: Replace insertelement undef with poison in cases with manual updates (#130898)
I had to manually intervene in a few tests. fcanonicalize.f16.ll is directly sensitive
to undef vs. poison.
Commit: c6e88b21894214aa5698033eba95d5bafc6f70ee
https://github.com/llvm/llvm-project/commit/c6e88b21894214aa5698033eba95d5bafc6f70ee
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Proper BUILD.bazel fix due to c07e1e3 (#130962)
Commit: 2fbddfbdc014fe73e8167f4d17589e49f9a51043
https://github.com/llvm/llvm-project/commit/2fbddfbdc014fe73e8167f4d17589e49f9a51043
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - remove unused DAGCombinerInfo argument. NFC. (#130951)
Commit: b76e396990ef63fa6deb97ae88a6e1c076fc6717
https://github.com/llvm/llvm-project/commit/b76e396990ef63fa6deb97ae88a6e1c076fc6717
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/trunc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/adjust-writemask-invalid-copy.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis-heuristics.ll
M llvm/test/CodeGen/AMDGPU/amdpal_scratch_mergedshader.ll
M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
M llvm/test/CodeGen/AMDGPU/bug-deadlanes.ll
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
M llvm/test/CodeGen/AMDGPU/combine_vloads.ll
M llvm/test/CodeGen/AMDGPU/computeKnownBits-scalar-to-vector-crash.ll
M llvm/test/CodeGen/AMDGPU/concat_vectors.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/dagcombiner-bug-illegal-vec4-int-to-fp.ll
M llvm/test/CodeGen/AMDGPU/debug-value.ll
M llvm/test/CodeGen/AMDGPU/debug-value2.ll
M llvm/test/CodeGen/AMDGPU/early-if-convert.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-equal-length.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/extract_subvector_vec4_vec3.ll
M llvm/test/CodeGen/AMDGPU/fmac.sdwa.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/greedy-reverse-local-assignment.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.d16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.store.format.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/AMDGPU/loop-live-out-copy-undef-subrange.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/reduction.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/split-arg-dbg-value.ll
M llvm/test/CodeGen/AMDGPU/trunc-store-vec-i16-to-i8.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma_modifiers.ll
Log Message:
-----------
AMDGPU: Replace tests using undef in shufflevector with poison (#130899)
Commit: 72ee9b82151f17d6bd37abc501124d46c1cb63c3
https://github.com/llvm/llvm-project/commit/72ee9b82151f17d6bd37abc501124d46c1cb63c3
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
Log Message:
-----------
[NFC][analyzer] Rename `CheckerBase::getCheckerName` to `getName` (#130953)
The method name `getCheckerName` would imply "get the name of the
checker associated with `this`", so it's suitable for e.g.
`BugType::getCheckerName` -- but a method that just "gets the name of
`this`" should be simply called `getName`.
This change eliminates the redundant and ugly pattern
`Checker->getCheckerName()` and helps to visually distinguish this
method from `BugType::getCheckerName`.
In the constructor of `BugType` the call of this method was completely
removed (instead of just changing the name) because that call was dead
code (when the data member `Checker` is non-null, the string stored in
`CheckerName` is irrelevant) and was often querying the name of the
checker before it was properly initialized.
Moreover, in `ReturnValueChecker.cpp` the static helper function
`getName` (which gets a function name from a `CallEvent`) was renamed to
the more specific `getFunctionName` to avoid the name collision.
This change is yet another cleanup commit before my planned changes that
would add support for multi-part checkers to this method.
Commit: 5da9044c40840187330526ca888290a95927a629
https://github.com/llvm/llvm-project/commit/5da9044c40840187330526ca888290a95927a629
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
Log Message:
-----------
[MemCpyOpt] Fix clobber check in fca2memcpy optimization
This effectively reverts #108535. The old AA code was looking for
the *first* clobber between the load and store and then trying to
move all the way up there. The new MSSA based code instead found
the *last* clobber. There might still be an earlier clobber that
has not been accounted for.
Fixes #130632.
Commit: cbeae3e117b8fb78e61ad7b49702a7d8033a529d
https://github.com/llvm/llvm-project/commit/cbeae3e117b8fb78e61ad7b49702a7d8033a529d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[Flang] Fix libquadmath in non-LLVM_ENABLE_RUNTIMES build.
The LLVM_ENABLE_RUNTIMES build introduced a new configure-time header
quadmath_wrapper.h. Also create the header in non-LLVM_ENABLE_RUNTIMES
builds.
Commit: 190063464e12d730eef27873ce985e15a5eeee0b
https://github.com/llvm/llvm-project/commit/190063464e12d730eef27873ce985e15a5eeee0b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/MC/MCSubtargetInfo.cpp
Log Message:
-----------
[MC] Speed up checkFeatures() (NFCI) (#130936)
checkFeatures() currently goes through ApplyFeatureFlag(), which will
also handle implied features. This is very slow -- just querying every
feature once takes up 10% of a Rust hello world compile.
However, if we only want to query whether certain features are
set/unset, we can do so directly -- implied features have already been
handled when the FeatureBitset was constructed.
Commit: a502c656881c8bc28b49a08c29421059d00aca26
https://github.com/llvm/llvm-project/commit/a502c656881c8bc28b49a08c29421059d00aca26
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
Log Message:
-----------
[BuildLibCalls] Add helper for setting memory effects (NFC)
Remove reliance on having dedicated setters and getters on Function
for every possible memory effect combination.
Commit: 07d86d25c9bca0ae4ee5999f8215a5375f56ef5f
https://github.com/llvm/llvm-project/commit/07d86d25c9bca0ae4ee5999f8215a5375f56ef5f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-12 (Wed, 12 Mar 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/tests/CtxInstrProfilingTest.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Flat profile collection (#130655)
Collect flat profiles. We only do this for function activations that aren't otherwise collectible under a context root are encountered.
This allows us to reason about the full profile without concerning ourselves wether we are double-counting. For example we can combine (during profile use) flattened contextual profiles with flat profiles.
Commit: c56514f75b0744f79d29b5b07298e2aad6803730
https://github.com/llvm/llvm-project/commit/c56514f75b0744f79d29b5b07298e2aad6803730
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/mfence.ll
Log Message:
-----------
[X86] mfence.ll - remove dead X32 check prefix
Commit: 8be1d1235d58d5b2711295dbd9b36abe4b2401d0
https://github.com/llvm/llvm-project/commit/8be1d1235d58d5b2711295dbd9b36abe4b2401d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively/combineX86ShuffleChain - pass down SDLoc instead of relying on Root node every recursion. NFC.
Don't reconstruct the SDLoc every recursion during shuffle combining.
Noticed while investigating how to reduce the dependency on the Root node.
Commit: 982527eef0f284161dd5e09a9b4fc952b332ec92
https://github.com/llvm/llvm-project/commit/982527eef0f284161dd5e09a9b4fc952b332ec92
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/convert-to-llvm.fir
Log Message:
-----------
[flang] Use saturated intrinsics for floating point to integer conversions (#130686)
The saturated floating point conversion intrinsics match the semantics in the standard more closely than the fptosi/fptoui instructions.
Case 2 of 16.9.100 is
> INT (A [, KIND])
> If A is of type real, there are two cases: if |A| < 1, INT (A) has the
value 0; if |A| ≥ 1, INT (A) is the integer whose magnitude is the
largest integer that does not exceed the magnitude of A and whose sign
is the same as the sign of A.
Currently, converting a floating point value into an integer type too
small to hold the constant will be converted to poison in opt, leaving
us with garbage:
```
> cat t.f90
program main
real(kind=16) :: f
integer(kind=4) :: i
f=huge(f)
i=f
print *, i
end program main
# current upstream
> for i in `seq 10`; do; ./a.out; done
-862156992
-1497393344
-739096768
-1649494208
1761228608
-1959270592
-746244288
-1629194432
-231217344
382322496
```
With the saturated fptoui/fptosi intrinsics, we get the appropriate
values
```
# mine
> flang -O2 ./t.f90 && ./a.out
2147483647
> perl -e 'printf "%d\n", (2 ** 31) - 1'
2147483647
```
One notable difference: NaNs being converted to ints will become zero, unlike current flang (and some other compilers). Newer versions of GCC have this behavior.
Commit: 9820248e0aaaffbee87edeb6a73ced54b4e25be4
https://github.com/llvm/llvm-project/commit/9820248e0aaaffbee87edeb6a73ced54b4e25be4
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Other/new-pm-print-pipeline.ll
Log Message:
-----------
AddressSanitizer: Add use-after-scope to pass options (#130924)
Commit: 10085390c6d4d0df04bf412f4c9ce7ebaaa5e3f3
https://github.com/llvm/llvm-project/commit/10085390c6d4d0df04bf412f4c9ce7ebaaa5e3f3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-12 (Wed, 12 Mar 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/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
[SLP]Reduce number of alternate instruction, where possible
Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
It is mostly the same, adjusted after graph-to-tree transformation
Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32
transformes to
%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.
Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.
-O3+LTO, AVX512
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test 2788.00 2820.00 1.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 278168.00 280904.00 1.0%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 82682.00 83258.00 0.7%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 139344.00 139712.00 0.3%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 27149.00 27197.00 0.2%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1008188.00 1009948.00 0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39226.00 39290.00 0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39229.00 39293.00 0.2%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074533.00 2076549.00 0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074533.00 2076549.00 0.1%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 798440.00 798952.00 0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 44123.00 44139.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 318942.00 319038.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1159880.00 1160152.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test 73595.00 73611.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1146124.00 1146348.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test 203831.00 203847.00 0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 207662.00 207678.00 0.0%
test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test 589851.00 589883.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1398543.00 1398559.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1398543.00 1398559.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2050990.00 2051006.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12559687.00 12559591.00 -0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 3074157.00 3074125.00 -0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1092252.00 1092188.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 779763.00 779715.00 -0.0%
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 253517.00 253485.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 848259.00 848035.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 93064.00 93016.00 -0.1%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 383747.00 383475.00 -0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 673051.00 662907.00 -1.5%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 673051.00 662907.00 -1.5%
Olden/tsp - small variations
Prolangs-C/TimberWolfMC - small variations, some code not inlined
FreeBench/pifft - extra store <8 x double> vectorized, some other extra
vectorizations
CFP2006/433.milc - better vector code
FreeBench/fourinarow - better vector code
Benchmarks/tramp3d-v4 - extra vector code, small variations
mediabench/gsm/toast - small variations
MiBench/telecomm-gsm - small variations
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - better vector code, small variations
CINT2006/464.h264ref - some smaller code + changes similar to x264
DOE-ProxyApps-C/miniGMG - small variations
Benchmarks/Bullet - small variations
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/miniAMR - small variations
CFP2006/453.povray - small variations
DOE-ProxyApps-C++/CLAMR - small variations
MiBench/consumer-lame - small variations
CFP2006/447.dealII - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations
CFP2017rate/510.parest_r - better vector code, small variations
CFP2017rate/526.blender_r - small variations
CINT2006/403.gcc - small variations
CINT2006/400.perlbench - small variations
CFP2017rate/508.namd_r - small variations
ASCI_Purple/SMG2000 - small variations
JM/lencod - extra store <16 x i32>, small variations
DOE-ProxyApps-C++/miniFE - small variations
JM/ldecod - extra vector code, small variations, less shuffles
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.
-O3+LTO, mcpu=sifive-p470
Metric: size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 580768.00 581118.00 0.1%
test-suite :: MultiSource/Applications/d/make_dparser.test 78854.00 78894.00 0.1%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 633448.00 633750.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 277002.00 277080.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 931938.00 931960.00 0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2512806.00 2512822.00 0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7659880.00 7659876.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7659880.00 7659876.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1602448.00 1602434.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9496664.00 9496542.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147424.00 147422.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1764608.00 1764578.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1764608.00 1764578.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 841656.00 841632.00 -0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 949026.00 948962.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 946348.00 946284.00 -0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 279794.00 279764.00 -0.0%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 4776.00 4772.00 -0.1%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 25074.00 25028.00 -0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 25074.00 25028.00 -0.2%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 29336.00 29184.00 -0.5%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 535390.00 510124.00 -4.7%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 535390.00 510124.00 -4.7%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/ieee/GCC-C-execute-ieee-pr50310.test 886.00 608.00 -31.4%
CINT2006/464.h264ref - extra v16i32 reduction
d/make_dparser - better vector code
JM/lencod - extra v16i32 reduction
Benchmarks/Bullet - smaller vector code
CINT2006/400.perlbench - better vector code
CINT2006/403.gcc - small variations
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - small variations
CFP2017rate/510.parest_r - small variations
CFP2017rate/526.blender_r - small variations
MiBench/consumer-lame - small variations
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - small variations
Benchmarks/7zip - small variations
CFP2017rate/511.povray_r - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - extra vector code
mediabench/gsm - extra vector code
MiBench/telecomm-gsm - extra vector code
DOE-ProxyApps-C/miniGMG - extra vector code
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized
ieee/GCC-C-execute-ieee-pr50310 - extra code vectorized
CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations
Reviewers: hiraditya
Reviewed By: hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/128907
Commit: 5c02e74d21fdec44fa9c3a8b45ef60e5b433bf71
https://github.com/llvm/llvm-project/commit/5c02e74d21fdec44fa9c3a8b45ef60e5b433bf71
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
Fix use of CXXThisScopeRAII
Seemingly I managed to not give this a name, and not notice that it
didn't properly introduce the scope it was supposed to! This patch
gives it a name which should hopefully/presumably fix any cases where we
don't properly introduce the 'this' scope. I presume that previous
callers to this might also do this in most cases so that this is a
redundant scope, but we have to make sure it happens.
FIXES: #130846
Commit: 7a25c725abc52284eeab5529ef6264dc0a57277c
https://github.com/llvm/llvm-project/commit/7a25c725abc52284eeab5529ef6264dc0a57277c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
Log Message:
-----------
[X86] Use Register in X86SpeculativeLoadHardening.cpp. NFC (#130905)
Commit: d71b3debc966c123350d38bdf4448083d5e0681d
https://github.com/llvm/llvm-project/commit/d71b3debc966c123350d38bdf4448083d5e0681d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
Log Message:
-----------
[X86][GISel] Use Register and MCRegister. NFC (#130907)
Commit: 90a8322399c7beb021cfe704003d36fafb1a7d29
https://github.com/llvm/llvm-project/commit/90a8322399c7beb021cfe704003d36fafb1a7d29
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add an error that Xqccmp, Xqciac, and Xqcicm are not compatible with C+D or Zcd. (#130816)
I was reviewing encodings to put the disassembling of vendor
instructions after after standard instructions and found that these
overlap with c.fldsp and c.fsdsp.
Commit: e11ede5e90ee193dde179fe1a9ac9af718ede3db
https://github.com/llvm/llvm-project/commit/e11ede5e90ee193dde179fe1a9ac9af718ede3db
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
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/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
Log Message:
-----------
Revert "[MS][clang] Add support for vector deleting destructors (#126240)"
This caused link errors when building with sancov. See comment on the PR.
> Whereas it is UB in terms of the standard to delete an array of objects
> via pointer whose static type doesn't match its dynamic type, MSVC
> supports an extension allowing to do it.
> Aside from array deletion not working correctly in the mentioned case,
> currently not having this extension implemented causes clang to generate
> code that is not compatible with the code generated by MSVC, because
> clang always puts scalar deleting destructor to the vftable. This PR
> aims to resolve these problems.
>
> Fixes https://github.com/llvm/llvm-project/issues/19772
This reverts commit d6942d54f677000cf713d2b0eba57b641452beb4.
Commit: 665299eb3e7a142199e2c22eb294c5e01ef1655d
https://github.com/llvm/llvm-project/commit/665299eb3e7a142199e2c22eb294c5e01ef1655d
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Transforms/move-operation-deps.mlir
M mlir/test/lib/Transforms/TestTransformsOps.cpp
M mlir/test/lib/Transforms/TestTransformsOps.td
Log Message:
-----------
[mlir][Transforms] Add a utility method to move value definitions. (#130874)
https://github.com/llvm/llvm-project/commit/205c5325b3c771d94feb0ec07e8ad89d27c2b29e
added a transform utility that moved all SSA dependences of an operation
before an insertion point. Similar to that, this PR adds a transform
utility function, `moveValueDefinitions` to move the slice of operations
that define all values in a `ValueRange` before the insertion point.
While very similar to `moveOperationDependencies`, this method differs
in a few ways
1. When computing the backward slice since the start of the slice is
value, the slice computed needs to be inclusive.
2. The combined backward slice needs to be sorted topologically before
moving them to avoid SSA use-def violations while moving individual ops.
The PR also adds a new transform op to test this new utility function.
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 1db978cd781314a15277ea23a11ebd58604685d7
https://github.com/llvm/llvm-project/commit/1db978cd781314a15277ea23a11ebd58604685d7
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXILDataScalarization.h
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
R llvm/lib/Target/DirectX/DXILResource.cpp
R llvm/lib/Target/DirectX/DXILResource.h
R llvm/lib/Target/DirectX/DXILResourceAnalysis.cpp
R llvm/lib/Target/DirectX/DXILResourceAnalysis.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Remove DXILResourceMDAnalysis (#130323)
Removing `DXILResourceMDAnalysis` that gathers information about
resources for the `DXILTranslateMetadata` pass. It collects the info
based on obsolete resource metadata annotations that are going to be
removed soon.
Part 1/2 of #114126
Commit: bdbe8fa1f3dcde77f7e0741ea7fa757ce092a420
https://github.com/llvm/llvm-project/commit/bdbe8fa1f3dcde77f7e0741ea7fa757ce092a420
Author: Iñaki Amatria Barral <140811900+inaki-amatria at users.noreply.github.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/dash-x-f95-cpp-input.f
A flang/test/Driver/dash-x-f95-do-not-assume-fixed-form.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
Log Message:
-----------
[flang] Align `-x` language modes with `gfortran` (#130268)
This PR addresses some of the issues described in
https://github.com/llvm/llvm-project/issues/127617. Key changes:
- Stop assuming fixed-form for `-x f95` unless the input is a `.i` file.
This change ensures compatibility with `-save-temps` workflows while
preventing unintended fixed-form assumptions.
- Ensure `-x f95-cpp-input` enables `-cpp` by default, aligning Flang's
behavior with `gfortran`.
Commit: e5aac528fede69ecc90958fefcfa1f26b97c9e94
https://github.com/llvm/llvm-project/commit/e5aac528fede69ecc90958fefcfa1f26b97c9e94
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[AST] Avoid repeated hash lookups (NFC) (#130887)
Commit: 0359677695a741dcf8e26adee692a0dd285fcb91
https://github.com/llvm/llvm-project/commit/0359677695a741dcf8e26adee692a0dd285fcb91
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Driver] Avoid repeated hash lookups (NFC) (#130888)
Commit: db3fdbc84beb9b1f60290880e87a0c7050ac814e
https://github.com/llvm/llvm-project/commit/db3fdbc84beb9b1f60290880e87a0c7050ac814e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/LiveRangeShrink.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#130889)
Commit: a3b0189f6daa7074a6560609b2ac0c2c1fd509f9
https://github.com/llvm/llvm-project/commit/a3b0189f6daa7074a6560609b2ac0c2c1fd509f9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#130890)
Commit: 2620742bf61e8ad5fdc6b245bee31ec341ef46b4
https://github.com/llvm/llvm-project/commit/2620742bf61e8ad5fdc6b245bee31ec341ef46b4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#130892)
Commit: f4d599cda90aa06d1e1a95474a0ee3a4053e77dd
https://github.com/llvm/llvm-project/commit/f4d599cda90aa06d1e1a95474a0ee3a4053e77dd
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
Log Message:
-----------
[Support] Do not remove lock file on failure (#130834)
Clients of `LockFileManager` call `unsafeRemoveLockFile()` whenever
`tryLock()` fails. However looking at the code, there are no scenarios
where this actually does something useful. This PR removes such calls.
Commit: 48b19912ca58b62aed0112e0a87dc559c877b9e7
https://github.com/llvm/llvm-project/commit/48b19912ca58b62aed0112e0a87dc559c877b9e7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/gvar-init.ll
Log Message:
-----------
[NVPTX][test] Use 'not' to switch an XFAIL test to PASS (#130839)
Use 'not' to confirm the test has the desired behavior and move it to
passing.
Commit: ec941a4a045106430bc643ea094f33eb03603090
https://github.com/llvm/llvm-project/commit/ec941a4a045106430bc643ea094f33eb03603090
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/ctlz.ll
M llvm/test/CodeGen/NVPTX/intrinsics.ll
M llvm/test/CodeGen/VE/Scalar/ctlz.ll
Log Message:
-----------
[NVPTX] Legalize ctpop and ctlz in operation legalization (#130668)
By pulling the truncates and extensions out of operations during
operation legalization we enable more optimization via DAGCombiner.
While the test cases show only cosmetic improvements (unlikely to impact
the final SASS) in real programs the exposure of these truncates can
allow for more optimization.
Commit: 71582c6667a6334c688734cae628e906b3c1ac1d
https://github.com/llvm/llvm-project/commit/71582c6667a6334c688734cae628e906b3c1ac1d
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu.mir
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.m0.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.ttracedata.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
M llvm/test/CodeGen/AMDGPU/no-dup-inst-prefetch.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
Log Message:
-----------
[AMDGPU] Remove s_delay_alu for VALU->SGPR->SALU (#127212)
We have a VALU->SGPR->SALU (VALU writing to SGPR and SALU reading from
it). When VALU is issued, it increments internal counter VA_SDST used to
track use of this SGPR. SALU will not issue until VA_SDST is zero, that
is when VALU is finished writing. Therefore, delays added by s_delay_alu
are not needed in this situation.
Commit: f137c3d592e96330e450a8fd63ef7e8877fc1908
https://github.com/llvm/llvm-project/commit/f137c3d592e96330e450a8fd63ef7e8877fc1908
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M bolt/lib/Passes/AsmDump.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/driver/cc1_main.cpp
M flang/tools/bbc/bbc.cpp
M flang/tools/flang-driver/fc1_main.cpp
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
M llvm/lib/ExecutionEngine/TargetSelect.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/TargetMachineC.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
M llvm/unittests/CodeGen/AMDGPUMetadataTest.cpp
M llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.cpp
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
M llvm/unittests/CodeGen/MachineDomTreeUpdaterTest.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/CodeGen/TargetOptionsTest.cpp
M llvm/unittests/CodeGen/TestAsmPrinter.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
M llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp
M llvm/unittests/MI/LiveIntervalTest.cpp
M llvm/unittests/MIR/MachineMetadata.cpp
M llvm/unittests/MIR/MachineStableHashTest.cpp
M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
M llvm/unittests/Target/AArch64/AddressingModes.cpp
M llvm/unittests/Target/AArch64/Immediates.cpp
M llvm/unittests/Target/AArch64/InstSizes.cpp
M llvm/unittests/Target/AArch64/MatrixRegisterAliasing.cpp
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M llvm/unittests/Target/AMDGPU/PALMetadata.cpp
M llvm/unittests/Target/ARM/InstSizes.cpp
M llvm/unittests/Target/ARM/MachineInstrTest.cpp
M llvm/unittests/Target/LoongArch/InstSizes.cpp
M llvm/unittests/Target/PowerPC/AIXRelocModelTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/Target/VE/MachineInstrTest.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
M llvm/unittests/Target/X86/MachineSizeOptsTest.cpp
M llvm/unittests/Target/X86/TernlogTest.cpp
M llvm/unittests/tools/llvm-exegesis/Common/AssemblerUtils.h
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M offload/plugins-nextgen/common/src/JIT.cpp
Log Message:
-----------
[TargetRegistry] Accept Triple in createTargetMachine() (NFC) (#130940)
This avoids doing a Triple -> std::string -> Triple round trip in lots
of places, now that the Module stores a Triple.
Commit: dd181af9506d515186ce510ce2f0e5dc291563f6
https://github.com/llvm/llvm-project/commit/dd181af9506d515186ce510ce2f0e5dc291563f6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add isMaskableNode helper to determine if a node could potentially fold into a AVX512 predicated instruction. NFC.
Commit: ea2e66aa8b6e363b89df66dc44275a0d7ecd70ce
https://github.com/llvm/llvm-project/commit/ea2e66aa8b6e363b89df66dc44275a0d7ecd70ce
Author: Kees Cook <kees at kernel.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/IR/Constants.cpp
M llvm/test/Transforms/LowerConstantIntrinsics/constant-intrinsics.ll
Log Message:
-----------
[LLVM][ConstantFold] Undefined values are not constant (#130713)
llvm.is.constant (and therefore Clang's __builtin_constant_p()) need to
report undefined values as non-constant or future DCE choices end up
making no sense. This was encountered while building the Linux kernel
which uses __builtin_constant_p() while trying to evaluate if it is safe
to use a compile-time constant resolution for string lengths or if it
must kick over to a full runtime call to strlen(). Obviously an
undefined variable cannot be known at compile-time, so
__builtin_constant_p() needs to return false. This change will also mean
that Clang will match GCC's behavior under the same conditions.
Fixes #130649
Commit: 4518780c3cffbb34b24c5edc6a73b9f17826156a
https://github.com/llvm/llvm-project/commit/4518780c3cffbb34b24c5edc6a73b9f17826156a
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
A llvm/test/CodeGen/PowerPC/dmr-enable.ll
Log Message:
-----------
[PowerPC] Add intrinsics and tests for basic Dense Math enablement instructions (#129913)
Add intrinsics and tests for Dense Math basic enablement instructions
dmsetdmrz, dmmr, dmxor.
Commit: e1ac57d53a18c3acd12fff44ef45010a08179674
https://github.com/llvm/llvm-project/commit/e1ac57d53a18c3acd12fff44ef45010a08179674
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof-call-site-at-alloc-site.ll
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
M llvm/test/Transforms/PGOProfile/memprof-undrift.test
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
Log Message:
-----------
[MemProf] Extend CallSite information to include potential callees. (#130441)
* Added YAML traits for `CallSiteInfo`
* Updated the `MemProfReader` to pass `Frames` instead of the entire
`CallSiteInfo`
* Updated test cases to use `testing::Field`
* Add YAML sequence traits for CallSiteInfo in MemProfYAML
* Also extend IndexedMemProfRecord
* XFAIL the MemProfYaml round trip test until we update the profile
format
For now we only read and write the additional information from the YAML
format. The YAML round trip test will be enabled when the serialized format is updated.
Commit: 1a626e63b5a009075eea87c01f0661144b1ec010
https://github.com/llvm/llvm-project/commit/1a626e63b5a009075eea87c01f0661144b1ec010
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[flang] Fix deprecation warning
Adjust for #130940.
Commit: fc127ff53d0c816e9e9a64ef55868479e0b84ebd
https://github.com/llvm/llvm-project/commit/fc127ff53d0c816e9e9a64ef55868479e0b84ebd
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/test/Dialect/Vector/vector-contract-to-dot-transforms.mlir
Log Message:
-----------
[mlir] Extract RHS rows once when lowering vector.contract to dot (#130130)
The `vector.contract` op on two matrices A and B will be lowered to
individual dot products of each row and column of A and B respectively.
The existing lowering will extract each column of B for each row of A,
which leads to multiple values in the IR representing the same columns
of B.
This PR makes changes to the `ContractOpToDotLowering` to make sure that
the columns of B are only ever extracted once, so then the SSA values
representing the extracted columns are then re-used in the IR for later
dot products.
I have updated the existing vector-contract-to-dot-transforms test.
Commit: 6030936ec82a5eb6f4cf7a60f00a8fcc4b6b16cd
https://github.com/llvm/llvm-project/commit/6030936ec82a5eb6f4cf7a60f00a8fcc4b6b16cd
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/test/CodeGen/NVPTX/bfe.ll
Log Message:
-----------
[NVPTX] Fix bug in sign of bfe folding (#130862)
This change fixes an edge case where the unsigned variant of bfe was
incorrectly used instead of the signed variant.
Commit: 78c9fa3a380eb2af32d4856be6d6cba36b776516
https://github.com/llvm/llvm-project/commit/78c9fa3a380eb2af32d4856be6d6cba36b776516
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Implement ANSI & Unicode aware string stripping & padding (#130878)
This PR implements a unicode and ANSI escape code aware function to trim
and pad strings. This is a break-out from #121860.
Commit: 184f9449572b498a612246771d2feabda75f0800
https://github.com/llvm/llvm-project/commit/184f9449572b498a612246771d2feabda75f0800
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
A clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
Log Message:
-----------
Implement the `fmod` intrinsic (#130320)
Replaced the current `fmod` definition with a templatized version,
implemented `fmod` algorithm for DirectX targets that matches the DXC
implementation, added corresponding tests in
`clang/test/CodeGenHLSL/builtins/fmod.hlsl` and
`clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl`.
Closes #99118.
Commit: 8b093e5e1752b3899b4c66f084c33ad1a3d0e8d6
https://github.com/llvm/llvm-project/commit/8b093e5e1752b3899b4c66f084c33ad1a3d0e8d6
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Recognize std::move(protectedThis) (#130925)
In WebKit, it's a common pattern for a lambda to capture "this" along
with "protectedThis" of Ref/RefPtr type, and re-capture "this" and
"std::move(protectedThis)" for a nested inner lambda. Recognize this
pattern and treat it as safe.
Commit: e619073f030239ff15fb134d13423733bb072239
https://github.com/llvm/llvm-project/commit/e619073f030239ff15fb134d13423733bb072239
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
Log Message:
-----------
[SandboxVec][NullPass][NFC] Add missing banner comment at top of file
Commit: 378739f18208165f9831571a57f34d82f6663bc6
https://github.com/llvm/llvm-project/commit/378739f18208165f9831571a57f34d82f6663bc6
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Move disabling of arg verification to before isFullyInternal(). (#130693)
It has found to be quite a slowdown to traverse the users of a
function from each call site when it is called many (~70k)
times. This patch fixes this for now as long as this verification
is disabled by default, but there is still a need to eventually
cache the results to avoid recomputation.
Fixes #130541
Commit: caf301891a1034e604bceacc84ec244537c31ab6
https://github.com/llvm/llvm-project/commit/caf301891a1034e604bceacc84ec244537c31ab6
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
Add unretained call args checker (#130901)
Reland https://github.com/llvm/llvm-project/pull/130729
Commit: f62e168d3f1ddbeff408d8f7ff1dd0fc0cd70029
https://github.com/llvm/llvm-project/commit/f62e168d3f1ddbeff408d8f7ff1dd0fc0cd70029
Author: John Harrison <harjohn at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
Log Message:
-----------
[lldb-dap] Validate server mode support prior to invoking lldb-dap. (#130855)
This should ensure the extension only uses server mode if the binary
supports the feature, otherwise it will fallback to the existing
behavior.
Fixes #130854
Commit: c44c9051747eda8a62c720202b16d858e7dc7b3d
https://github.com/llvm/llvm-project/commit/c44c9051747eda8a62c720202b16d858e7dc7b3d
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add error if verification to pooling operators (#130052)
This commit adds the following checks to avg_pool2d and max_pool2d TOSA
operations:
- check kernel values are >= 1
- check stride values are >= 1
- check padding values are >= 0
- check padding values are less than kernel sizes
- check output shape matches the expected output shape
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 96be34e595bbee9a526b602376a3b63cdea357fe
https://github.com/llvm/llvm-project/commit/96be34e595bbee9a526b602376a3b63cdea357fe
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
Log Message:
-----------
[SandboxVec][SeedCollector][NFC] Fix typo in banner
Commit: e27fe2e07c040719075da79d6880bf57b2dc5dbc
https://github.com/llvm/llvm-project/commit/e27fe2e07c040719075da79d6880bf57b2dc5dbc
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/cache-construct-ast.cpp
M clang/test/SemaOpenACC/combined-construct-ast.cpp
M clang/test/SemaOpenACC/compute-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-default-ast.cpp
M clang/test/SemaOpenACC/declare-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/loop-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
Log Message:
-----------
[OpenACC][NFC] Add the _Pragma spelling to a bunch of the tests
OpenACC PR 475(targetting OpenACC3.4) added support for the _Pragma
spelling of an OpenACC pragma. We already implemented this, as clang
doesn't really differentiate between the spellings (so we did it as an
inadvertent extension).
This patch adds a few spot-check tests to make sure we support this
spelling and that it results in the same AST as the traditional
spelling.
Commit: 7f415e444197025180d786c5e212f13b738179cb
https://github.com/llvm/llvm-project/commit/7f415e444197025180d786c5e212f13b738179cb
Author: Nicolas Miller <nicolas.miller at codeplay.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaSYCL/float128.cpp
Log Message:
-----------
[clang][SYCL] Disable float128 device mode diagnostic (#128513)
This diagnostic is disabled for device compilation as float128 is not
supported on the device side.
Other diagnostics are already covering the cases where float128 is
actually used in the kernel code, and it's already tested for in the
existing test.
This is expanding on the patch 318bff6 that handled this for cuda
compilation.
Commit: ab53e1c8e52388377ba50c05979b03a691513cfd
https://github.com/llvm/llvm-project/commit/ab53e1c8e52388377ba50c05979b03a691513cfd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3363.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3363 (#130980)
This paper clarifies two things:
* a call to va_start must be within the body of a variadic function,
* the va_list arguments must be lvalues
Clang has correctly diagnosed the first point since Clang 5.0. Clang
generally diagnoses the second point, except for va_copy. However, the
second point is not a constraint violation, so a diagnostic is not
strictly required. That said, it would be good for us to properly
diagnose va_copy.
Commit: 3aa96f52cff3dfedba428d70fb2c55798b39e1b3
https://github.com/llvm/llvm-project/commit/3aa96f52cff3dfedba428d70fb2c55798b39e1b3
Author: Rémy Neveu <95233708+rneveu at users.noreply.github.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_taskdeps.cpp
M openmp/runtime/src/kmp_taskdeps.h
M openmp/runtime/src/kmp_tasking.cpp
Log Message:
-----------
[OpenMP] [Taskgraph] Differentiating task ids from the taskgraph and from the debugger (#130660)
This PR creates a new member for task data, which is used to identify
the task in its taskgraph (when ompx taskgraph is enabled).
It aims to remove the overloading of the td_task_id member, which was
used both by the debugger and the taskgraph. This resulted in the
identifier's non-unicity in the case of multiple taskgraphs.
Co-authored-by: Rémy Neveu <rem2007 at free.fr>
Commit: 598e882ee88a1e3349fb6d8dcd68f6d3b1c6334f
https://github.com/llvm/llvm-project/commit/598e882ee88a1e3349fb6d8dcd68f6d3b1c6334f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M libc/config/config.json
M libc/config/gpu/amdgpu/config.json
M libc/config/gpu/nvptx/config.json
M libc/docs/configure.rst
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/char_converter.h
R libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
R libc/src/stdio/printf_core/printf_main.cpp
M libc/src/stdio/printf_core/printf_main.h
M libc/src/stdio/printf_core/ptr_converter.h
M libc/src/stdio/printf_core/strerror_converter.h
M libc/src/stdio/printf_core/string_converter.h
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/write_int_converter.h
R libc/src/stdio/printf_core/writer.cpp
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/time/strftime.cpp
M libc/src/time/strftime_core/CMakeLists.txt
M libc/src/time/strftime_core/composite_converter.h
R libc/src/time/strftime_core/converter.cpp
M libc/src/time/strftime_core/converter.h
M libc/src/time/strftime_core/num_converter.h
M libc/src/time/strftime_core/str_converter.h
R libc/src/time/strftime_core/strftime_main.cpp
M libc/src/time/strftime_core/strftime_main.h
M libc/src/time/strftime_l.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/printf_core/writer_test.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Template the writing mode for the writer class (#111559)
Summary:
Currently we dispatch the writing mode off of a runtime enum passed in
by the constructor. This causes very unfortunate codegen for the GPU
targets where we get worst-case codegen because of the unused function
pointer for `sprintf`. Instead, this patch moves all of this to a
template so it can be masked out. This results in no dynamic stack and
uses 60 VGPRs instead of 117. It also compiles about 5x as fast.
Commit: aa008e00085a260b2ed130b3430cc4640144ab30
https://github.com/llvm/llvm-project/commit/aa008e00085a260b2ed130b3430cc4640144ab30
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu.mir
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.m0.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.ttracedata.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
M llvm/test/CodeGen/AMDGPU/no-dup-inst-prefetch.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
Log Message:
-----------
Revert "[AMDGPU] Remove s_delay_alu for VALU->SGPR->SALU (#127212)"
This reverts commit 71582c6667a6334c688734cae628e906b3c1ac1d.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/127212
Commit: 4d79e9892c482978ba07690e275ea9f7e983a703
https://github.com/llvm/llvm-project/commit/4d79e9892c482978ba07690e275ea9f7e983a703
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Support/DebugCounter.cpp
Log Message:
-----------
[Support] Avoid repeated hash lookups (NFC) (#130891)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 7790d69cce048d7c81fceaf979fd2ec60e37476b
https://github.com/llvm/llvm-project/commit/7790d69cce048d7c81fceaf979fd2ec60e37476b
Author: John Harrison <harjohn at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
R lldb/tools/lldb-dap/IOStream.cpp
R lldb/tools/lldb-dap/IOStream.h
A lldb/tools/lldb-dap/Transport.cpp
A lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactoring IOStream into Transport handler. (#130026)
Instead of having two discrete InputStream and OutputStream helpers,
this merges the two into a unifed 'Transport' handler.
This handler is responsible for reading the DAP message headers, parsing
the resulting JSON and converting the messages into
`lldb_dap::protocol::Message`s for both input and output.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 5929de8c7731748bf58ad9b1fedfed75e7aae455
https://github.com/llvm/llvm-project/commit/5929de8c7731748bf58ad9b1fedfed75e7aae455
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 7790d69cce04
Commit: 9d7e1d92dbef5aa4d11deed360685a86935953d2
https://github.com/llvm/llvm-project/commit/9d7e1d92dbef5aa4d11deed360685a86935953d2
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fshr.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
M llvm/test/CodeGen/AMDGPU/mul.i16.ll
M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
Log Message:
-----------
[AMDGPU][True16] added Pre-RA hint to improve copy elimination (#103366)
The allocation order of 16 bit registers is vgpr0lo16, vgpr0hi16,
vgpr1lo16, vgpr1hi16, vgpr2lo16.... We prefer (essentially require) that
allocation order, because it uses the minimum number of registers. But
when you have 16 bit data passing between 16 and 32 bit instructions you
get lots of COPY.
This patch teach the compiler that a COPY of a 16-bit value from a 32
bit register to a lo-half 16 bit register is free, to a hi-half 16 bit
register is not.
This might get improved to coalescing with additional cases, and perhaps
as an alternative to the RA hints. For now upstreaming this solution
first.
Commit: 15e6bb6224177805d8b6a8268f08a2b88ae4dd70
https://github.com/llvm/llvm-project/commit/15e6bb6224177805d8b6a8268f08a2b88ae4dd70
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
Log Message:
-----------
[ORC] Rename wrapper arguments to match conventions. NFCI.
Commit: c8047c6dbcb59ff8273c925c320ff59901dd60e9
https://github.com/llvm/llvm-project/commit/c8047c6dbcb59ff8273c925c320ff59901dd60e9
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] update test for buildbot failure (#131028)
This is a NFC patch
https://github.com/llvm/llvm-project/pull/103366 hit a buildbot failure
with i1-to-bf16.ll. Update the test to fix the build.
Also remove duplicated comments added in
https://github.com/llvm/llvm-project/pull/103366
Commit: c476a4a907a51371f051fd83987aaeb2c4a011af
https://github.com/llvm/llvm-project/commit/c476a4a907a51371f051fd83987aaeb2c4a011af
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Driver/Types.cpp
A clang/test/Driver/opencl-aot-compilation.cl
Log Message:
-----------
[Clang][OpenCL] Fix Missing `-fdeclare-opencl-builtins` When Using `--save-temps` (#131017)
When compiling an OpenCL program directly with `clang` using
`--save-temps`, an
error may occur if the program contains OpenCL builtins:
```
test.cl:3:21: error: use of undeclared identifier 'get_global_id'
3 | unsigned int id = get_global_id(0);
| ^
```
This happens because the driver does not add `-fdeclare-opencl-builtins`
when
the input type is `TY_PP_CL`. This PR fixes the issue.
Commit: cba9dc6e9d0455a0c4897c9acf61961b448b9d60
https://github.com/llvm/llvm-project/commit/cba9dc6e9d0455a0c4897c9acf61961b448b9d60
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/test/Headers/gpuintrin.c
Log Message:
-----------
[libc][nfc] Use common implementation of read_first_lane_u64 (#131027)
No codegen regression on either target. The two builtin_ffs implied on
nvptx CSE away.
```
define internal i64 @__gpu_read_first_lane_u64(i64 noundef %__lane_mask, i64 noundef %__x) #2 {
entry:
%shr = lshr i64 %__x, 32
%conv = trunc nuw i64 %shr to i32
%conv1 = trunc i64 %__x to i32
%conv2 = trunc i64 %__lane_mask to i32
%0 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv2, i1 true)
%iszero = icmp eq i32 %conv2, 0
%sub = select i1 %iszero, i32 -1, i32 %0
%1 = tail call i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv2, i32 %conv, i32 %sub, i32 31)
%conv4 = sext i32 %1 to i64
%shl = shl nsw i64 %conv4, 32
%2 = tail call i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv2, i32 %conv1, i32 %sub, i32 31)
%conv7 = zext i32 %2 to i64
%or = or disjoint i64 %shl, %conv7
ret i64 %or
}
; becomes
define internal i64 @__gpu_competing_read_first_lane_u64(i64 noundef %__lane_mask, i64 noundef %__x) #2 {
entry:
%shr = lshr i64 %__x, 32
%conv = trunc nuw i64 %shr to i32
%conv1 = trunc i64 %__x to i32
%conv.i = trunc i64 %__lane_mask to i32
%0 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i, i1 true)
%iszero = icmp eq i32 %conv.i, 0
%sub.i = select i1 %iszero, i32 -1, i32 %0
%1 = tail call i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i, i32 %conv, i32 %sub.i, i32 31)
%conv4 = zext i32 %1 to i64
%shl = shl nuw i64 %conv4, 32
%2 = tail call i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i, i32 %conv1, i32 %sub.i, i32 31)
%conv7 = zext i32 %2 to i64
%or = or disjoint i64 %shl, %conv7
ret i64 %or
}
```
The sext vs zext difference is vaguely interesting but since the bits
are immediately discarded in either case it make no odds. The amdgcn one
doesn't need CSE, the readfirstlane function is a single call to an
intrinsic.
Drive by fix to __gpu_match_all_u32, it was calling first_lane_u64 and
could use first_lane_u32 instead. Added the missing call to gpuintrin.c
test case and a stray missing static as well.
Commit: 64b94105d5c7a1a578dc2fb846747411686b666b
https://github.com/llvm/llvm-project/commit/64b94105d5c7a1a578dc2fb846747411686b666b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Upstream support for emitting ignored statements (#130869)
This adds support for emitting ClangIR for statements whose value is
ignored. The test case being added (CIR/CodeGen/basic.c) tests a few
more things. The "f1" test case is the only part that's immediately
relevant to this change, but the other cases were part of the same test
in the incubator and they are supported so I brought in the entire test.
Commit: 202137dbead88004c956595106ab6d80d597508c
https://github.com/llvm/llvm-project/commit/202137dbead88004c956595106ab6d80d597508c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-incoming-same-blocks.ll
Log Message:
-----------
[SLP]Fix a crash on matching gather operands of phi nodes in loops
If the gather operands in phi nodes are matching and phi nodes may build
up a loop, it may cause a compiler crash with the incorrect def-use
chain. Patch fixes this crash.
Commit: 9c65e6ac115a7d8566c874537791125c3ace7c1a
https://github.com/llvm/llvm-project/commit/9c65e6ac115a7d8566c874537791125c3ace7c1a
Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/fp16-promote.ll
Log Message:
-----------
[HEXAGON] Add support to lower "FREEZE a half(f16)" instruction on Hexagon and fix the isel-buildvector-v2f16.ll assertion (#130977)
Commit: 62994c3291239f3d11f958d002319b2bd6eddbc9
https://github.com/llvm/llvm-project/commit/62994c3291239f3d11f958d002319b2bd6eddbc9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
A llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
Log Message:
-----------
[VPlan] Also introduce explicit broadcasts for values from entry VPBB.
Update and generalize materializeBroadcasts to also introduce explicit
broadcasts for VPValues defined in the Plans Entry block.
This fixes a crash when trying to insert the broadcasts generated by
VPTransformState::get after the generating instruction, which isn't
possible after invoke instructions.
Fixes https://github.com/llvm/llvm-project/issues/128838.
Commit: be0215d7456f85e7df6c07b982704c7bfa943278
https://github.com/llvm/llvm-project/commit/be0215d7456f85e7df6c07b982704c7bfa943278
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
A clang/test/CIR/Transforms/scope.cir
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Add transform test for cir-flatten-cfg (#130861)
A previous change added the cir-flatten-cfg transform and tested it by
lowering a function with nested scopes to LLVM IR. This change adds
support for invoking the cir-flatten-cfg pass from the cir-opt tool and
adds a new test to verify that functionality in isolation.
Commit: ecf4d995f689a30bb5a2b79c27998a7e7a0a08b0
https://github.com/llvm/llvm-project/commit/ecf4d995f689a30bb5a2b79c27998a7e7a0a08b0
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/FoldIntoElementwise.cpp
A mlir/test/Dialect/Linalg/elementwise/fold.mlir
Log Message:
-----------
[mlir][linalg][elementwise] Fold transpose into new elementwise (#130207)
Fold transpose into new elementwise Op which has affine-map attached.
Will add broadcast folding in next diff.
Commit: c14e459ef8bd8b0cf1d2b135f570f39868b6fee6
https://github.com/llvm/llvm-project/commit/c14e459ef8bd8b0cf1d2b135f570f39868b6fee6
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
A clang/test/Sema/shift-bool.c
M clang/test/Sema/shift-bool.cpp
Log Message:
-----------
[Clang] add additional tests for -Wshift-bool (#130339)
Fixes
https://github.com/llvm/llvm-project/pull/127336#pullrequestreview-2665950553
Commit: 1cfca53b9f2eadbf864b85995ec7f819d7f29b5e
https://github.com/llvm/llvm-project/commit/1cfca53b9f2eadbf864b85995ec7f819d7f29b5e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Support/Timer.cpp
M llvm/unittests/Support/TimerTest.cpp
Log Message:
-----------
[llvm][Timer] Don't print timers in TimerGroup when all Timers are removed (#131026)
Only print them on TimerGroup destruction (or eagerly when
TimerGroup::printAll() is called).
We should be able to destroy all Timers in a TimerGroup while delaying
printing the stored TimeRecords.
Commit: 98c279a3ed202aecae79227317e8a243109c66e6
https://github.com/llvm/llvm-project/commit/98c279a3ed202aecae79227317e8a243109c66e6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
Log Message:
-----------
[lldb] Add missing optional conversion
Commit: 726ffd361cd932ff3b44e6a6b68bf1dbfd7802e1
https://github.com/llvm/llvm-project/commit/726ffd361cd932ff3b44e6a6b68bf1dbfd7802e1
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
Log Message:
-----------
[NFC][Cloning] Replace IdentityMD set with a predicate in ValueMapper (#129147)
Summary:
We used the set only to check if it contains certain metadata nodes.
Replacing the set with a predicate makes the intention clearer and the
API more general.
Test Plan:
ninja check-all
Commit: c542991703956bdc42ad6ab07b1d47e5db06fb2b
https://github.com/llvm/llvm-project/commit/c542991703956bdc42ad6ab07b1d47e5db06fb2b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang/cmake/modules/FlangCommon.cmake
Log Message:
-----------
[flang-rt] Fixed HAVE_LDBL_MANT_DIG_113 detection. (#131010)
I thought I guessed a fix in #130836, but I was wrong.
We actually had the same code in
`flang/cmake/modules/FlangCommon.cmake`.
The check does not pass in flang-rt bootstrap build, because
`-nostdinc++` is added for all `runtimes` checks.
I decided to make the check with the C header, though, I am still
unsure whether it is reliable with a clang that has not been
installed (it is taken from the build structure during flang-rt
configure step).
I verified that this PR enables REAL(16) math entries on aarch64.
Commit: f4fc2d731c1b351d5f684f7ec53a0e1ca549df43
https://github.com/llvm/llvm-project/commit/f4fc2d731c1b351d5f684f7ec53a0e1ca549df43
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/target-map-complex.f90
A offload/test/offloading/fortran/target-map-literal-write.f90
Log Message:
-----------
[flang][OpenMP] Map ByRef if size/alignment exceed that of a pointer (#130832)
Improve the check for whether a type can be passed by copy. Currently,
passing by copy is done via the OMP_MAP_LITERAL mapping, which can only
transfer as much data as can be contained in a pointer representation.
Commit: cb73271be12a40c7d885813733e11fd90eb3ed10
https://github.com/llvm/llvm-project/commit/cb73271be12a40c7d885813733e11fd90eb3ed10
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][CodeGen] use vt in VGPRimm pattern (#131016)
There seems to be a typo error introduced by
https://github.com/llvm/llvm-project/commit/2033767d68ed9aabcf1ad5d2bdd7541b272a05fd
Correct this pattern to use vt.
Commit: 44ff94e99e0380d520d7e9803100044867ab08db
https://github.com/llvm/llvm-project/commit/44ff94e99e0380d520d7e9803100044867ab08db
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/Analysis/InlineAdvisor.cpp
Log Message:
-----------
[Diagnostics] Return rvalue reference from temporary argument (#127400)
This fixes compilation issues with GCC and C++23:
```
error: cannot bind non-const lvalue reference of type
'llvm::OptimizationRemarkMissed&' to an rvalue of type
'llvm::OptimizationRemarkMissed'
```
Closes #105778
Commit: 6705d812b8563ae02cad3f7125de7193c0128c20
https://github.com/llvm/llvm-project/commit/6705d812b8563ae02cad3f7125de7193c0128c20
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.v2i65.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel-system-sgprs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fast-math-flags.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-fixed-function-abi-vgpr-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.v2i65.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-readnone-intrinsic-callsite.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-struct-return-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.dim.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.3d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/smrd.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/adjust-writemask-invalid-copy.ll
M llvm/test/CodeGen/AMDGPU/agpr-csr.ll
M llvm/test/CodeGen/AMDGPU/amdgcn-ieee.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-shader-calling-convention.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/anyext.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.r600.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/bug-v4f64-subvector.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-constant.ll
M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-return-types.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
M llvm/test/CodeGen/AMDGPU/cayman-loop-bug.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/cndmask-no-def-vcc.ll
M llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
M llvm/test/CodeGen/AMDGPU/constant-fold-mi-operands.ll
M llvm/test/CodeGen/AMDGPU/control-flow-optnone.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
M llvm/test/CodeGen/AMDGPU/dead-machine-elim-after-dead-lane.ll
M llvm/test/CodeGen/AMDGPU/debug-value.ll
M llvm/test/CodeGen/AMDGPU/early-inline.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fadd-fma-fmul-combine.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fminnum.f64.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-store.ll
M llvm/test/CodeGen/AMDGPU/global-smrd-unknown.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-heap-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v4.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-multigrid-sync-arg-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queueptr-v5.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll
M llvm/test/CodeGen/AMDGPU/i1-copy-phi.ll
M llvm/test/CodeGen/AMDGPU/image-load-d16-tfe.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernel-argument-alignment.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.ll
M llvm/test/CodeGen/AMDGPU/inline-maxbb.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/ipra-return-address-save-restore.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
M llvm/test/CodeGen/AMDGPU/large-alloca-graphics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.dcache.inv.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.dcache.inv.vol.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.dcache.wb.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.dcache.wb.vol.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/load-lo16.ll
M llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
M llvm/test/CodeGen/AMDGPU/loop-on-function-argument.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/mmo-target-flags-folding.ll
M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/operand-folding.ll
M llvm/test/CodeGen/AMDGPU/or.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/partial-shift-shrink.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-strip-abi-opt-attributes.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-vect3-load.ll
M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/ret_jump.ll
M llvm/test/CodeGen/AMDGPU/returnaddress.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/salu-to-valu.ll
M llvm/test/CodeGen/AMDGPU/scalar-branch-missing-and-exec.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract-legacy.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/setcc-fneg-constant.ll
M llvm/test/CodeGen/AMDGPU/setcc-opt.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/sminmax.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/smrd.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-m0.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/sram-ecc-default.ll
M llvm/test/CodeGen/AMDGPU/subreg-eliminate-dead.ll
M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store-vec-i16-to-i8.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
M llvm/test/CodeGen/AMDGPU/unpack-half.ll
M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/visit-physreg-vgpr-imm-folding-bug.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/AMDGPU/xor-r600.ll
M llvm/test/CodeGen/AMDGPU/xor.ll
Log Message:
-----------
AMDGPU: Replace ptr addrspace(1) undefs with poison (#130900)
Many tests use store to undef as a placeholder use, so just replace
all of these with poison.
Commit: c182f4042adae606a6312cc63e305a9fad5fd603
https://github.com/llvm/llvm-project/commit/c182f4042adae606a6312cc63e305a9fad5fd603
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/adjust-writemask-invalid-copy.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
M llvm/test/CodeGen/AMDGPU/bug-vopc-commute.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/else.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
M llvm/test/CodeGen/AMDGPU/ipra-return-address-save-restore.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ps.live.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.softwqm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.ll
M llvm/test/CodeGen/AMDGPU/mixed-wave32-wave64.ll
M llvm/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
M llvm/test/CodeGen/AMDGPU/sgpr-copy.ll
M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/smrd.ll
M llvm/test/CodeGen/AMDGPU/split-smrd.ll
M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-crash.ll
M llvm/test/CodeGen/AMDGPU/subreg-eliminate-dead.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/unigine-liveness-crash.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
AMDGPU: Replace <4 x i32> undef uses in tests with poison (#130902)
Most of these are from resource descriptors.
Commit: e1e44dfcad00aa3f90252578bd9e86314db021ef
https://github.com/llvm/llvm-project/commit/e1e44dfcad00aa3f90252578bd9e86314db021ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/adjust-writemask-invalid-copy.ll
M llvm/test/CodeGen/AMDGPU/commute-shifts.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/else.ll
M llvm/test/CodeGen/AMDGPU/img-nouse-adjust.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ps.live.ll
M llvm/test/CodeGen/AMDGPU/mixed-wave32-wave64.ll
M llvm/test/CodeGen/AMDGPU/sgpr-copy.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/subreg-coalescer-crash.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/unigine-liveness-crash.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
AMDGPU: Replace <8 x i32> undef uses in tests with poison (#130903)
Commit: 27d83184c4cacbe15cf3c3921145086b9cebac56
https://github.com/llvm/llvm-project/commit/27d83184c4cacbe15cf3c3921145086b9cebac56
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Treat an explicit construction of Ref from a Ref return value safe. (#130911)
Fix a bug that an explicit construction of Ref out of a Ref return value
would not be treated as safe. It is definitely safe albit redundant.
Commit: 12fe5ae88cce0e3a8de47ed766425cbf8505ab87
https://github.com/llvm/llvm-project/commit/12fe5ae88cce0e3a8de47ed766425cbf8505ab87
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdpal.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/else.ll
M llvm/test/CodeGen/AMDGPU/extract_subvector_vec4_vec3.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.ll
M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/merge-store-crash.ll
M llvm/test/CodeGen/AMDGPU/merge-store-usedef.ll
M llvm/test/CodeGen/AMDGPU/required-export-priority.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
AMDGPU: Replace ptr addrspace(8) undef uses with poison (#130904)
Commit: be9ca85d64eb5b2d7b13d7c6154055ae97092d1e
https://github.com/llvm/llvm-project/commit/be9ca85d64eb5b2d7b13d7c6154055ae97092d1e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
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
Log Message:
-----------
[alpha.webkit.webkit.RetainPtrCtorAdoptChecker] Add a new WebKit checker for correct use of RetainPtr, adoptNS, and adoptCF (#128679)
Add a new WebKit checker to validate the correct use of RetainPtr
constructor as well as adoptNS and adoptCF functions. adoptNS and
adoptCf are used for +1 semantics and RetainPtr constructor is used for
+0 semantics.
Commit: e4a0fd5416a3061c2bfe1241642149a779a9d866
https://github.com/llvm/llvm-project/commit/e4a0fd5416a3061c2bfe1241642149a779a9d866
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port be9ca85d64eb
Commit: eea7d32bd262bb5f61790c42ebaa147aa26c3979
https://github.com/llvm/llvm-project/commit/eea7d32bd262bb5f61790c42ebaa147aa26c3979
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCELFStreamer.cpp
Log Message:
-----------
[MC] Move fixSymbolsInTLSFixups to ELFObjectWriter
so that we only need to do it once during recordRelocation. In the
future, we should change fixSymbolsInTLSFixups to apply to MCValue
instead of MCExpr, similar to GNU assembler.
Commit: 95ab95fd10b2593afedcd53ba653381f35852ebc
https://github.com/llvm/llvm-project/commit/95ab95fd10b2593afedcd53ba653381f35852ebc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Make rcp intrinsic propagate poison (#130913)
Commit: d8f17b3de1ca64b6ac8eb383bcb267078bbfea56
https://github.com/llvm/llvm-project/commit/d8f17b3de1ca64b6ac8eb383bcb267078bbfea56
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Make sqrt and rsq intrinsics propagate poison (#130914)
Commit: 4d8070e9560269494654bd21a2b0c342f4bdae48
https://github.com/llvm/llvm-project/commit/4d8070e9560269494654bd21a2b0c342f4bdae48
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/Modules/external-but-not-type-external.cppm
Log Message:
-----------
[C++20] [Modules] Don't add decls from other units to undefinedButUsed set
It is still better to elide the declaration if possible. To overcome the
false positive undefinedButUsed diagnostic, it seems better to not add
declaration from other units to the set actually.
Commit: 0a78bd67b311e418d44f3975b9fd9f62cdbe56c6
https://github.com/llvm/llvm-project/commit/0a78bd67b311e418d44f3975b9fd9f62cdbe56c6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Make frexp_exp and frexp_mant intrinsics propagate poison (#130915)
Commit: 853849a984dd7d47b86ab50ef74b9820a538c999
https://github.com/llvm/llvm-project/commit/853849a984dd7d47b86ab50ef74b9820a538c999
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/MapperJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/MemoryMapperTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SimpleExecutorMemoryManagerTest.cpp
Log Message:
-----------
[ORC] Remove some unnecessary namespace qualifications. NFCI.
Commit: 62e37a8a0ae882c3ae1c994aa22953d6279458d4
https://github.com/llvm/llvm-project/commit/62e37a8a0ae882c3ae1c994aa22953d6279458d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV][Disassembler] Use a table to store all the decoder tables and their associated features. NFC (#130883)
Replace the macros with a table that we can iterate over. Use a
different table for each possible instruction bitwidth.
Commit: 4dcba5e08dc9cf2e5ec3f0df682f8ecc88e815be
https://github.com/llvm/llvm-project/commit/4dcba5e08dc9cf2e5ec3f0df682f8ecc88e815be
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.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/objc-mock-types.h
Log Message:
-----------
[alpha.webkit.ForwardDeclChecker] Add a new WebKit checker for forward declarations (#130554)
Add a new static analyzer which emits warnings for function call
arguments, local variables, and member variables that are only forward
declared. These forward declaration prevents other WebKit checkers from
checking the safety of code.
Commit: 79a5974294eb35a811e54e31f6f97978a9b42a41
https://github.com/llvm/llvm-project/commit/79a5974294eb35a811e54e31f6f97978a9b42a41
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 4dcba5e08dc9
Commit: f291ec692e889f8cdfe17810c138a31f701e4db3
https://github.com/llvm/llvm-project/commit/f291ec692e889f8cdfe17810c138a31f701e4db3
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M libc/src/locale/CMakeLists.txt
M libc/src/locale/duplocale.cpp
M libc/src/locale/freelocale.cpp
M libc/src/locale/locale.cpp
M libc/src/locale/newlocale.cpp
M libc/src/locale/newlocale.h
M libc/src/locale/setlocale.cpp
M libc/src/locale/setlocale.h
Log Message:
-----------
[libc] Use proxy header in the `locale` implementation. (#130982)
Address review comments in
https://github.com/llvm/llvm-project/pull/130621#pullrequestreview-2671843932.
Some unused headers are also removed.
Commit: 376e3b62cd36cabf4235e085cd13df05c2bd754b
https://github.com/llvm/llvm-project/commit/376e3b62cd36cabf4235e085cd13df05c2bd754b
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/match.td
Log Message:
-----------
[TableGen] Add `!match` operator to do regex matching (#130759)
The grammar is `!match(str, regex)` and this operator produces 1
if the `str` matches the regular expression `regex`.
The format of `regex` is ERE (Extended POSIX Regular Expressions).
Commit: 3438dfc7ff8863bdd8c34e41d0cade5ca4581891
https://github.com/llvm/llvm-project/commit/3438dfc7ff8863bdd8c34e41d0cade5ca4581891
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][tensor] Fix bufferization interface for 'tensor.reshape' (#128590)
Previously, the BufferizableOpInterface implementation for
'tensor.reshape'
listed the 'shape' operand as an alias for the result tensor, causing
unnecessary conflicts with ops that "write" to the shape operand.
Commit: 08a3c532255d2af8722c32a7484a8648ac0ae2f5
https://github.com/llvm/llvm-project/commit/08a3c532255d2af8722c32a7484a8648ac0ae2f5
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
Log Message:
-----------
[RegAlloc] Scale the spill weight by target factor (#113675)
Currently, the spill weight is only determined by isDef/isUse and
block frequency. However, for registers with different register
classes, the costs of spilling them are different.
For example, for `LMUL>1` registers (in which, several physical
registers compound a bigger logical register), the costs are larger
than `LMUL=1` case (in which, there is only one physical register).
To solve this problem, a new target hook `getSpillWeightScaleFactor`
is added. Targets can override the default factor (which is `1.0`)
according to the register class.
For RISC-V, the factors are set to the `RegClassWeight` which is
used to track register pressure. The values of `RegClassWeight`
happen to be the number of register units.
I believe all of the targets with compounded registers can benefit
from this change, but only RISC-V is customized in this patch since
it has widely been agreed to do so. The other targets need more
performance data to go further.
Partially fixes #113489.
Commit: 646a6e7f1088355d979be4fd58d8a56a96d1fea2
https://github.com/llvm/llvm-project/commit/646a6e7f1088355d979be4fd58d8a56a96d1fea2
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
Log Message:
-----------
[PowerPC] Simplify PPCMCExpr::printImpl
Commit: fe0d3e3764961b62f43f1b129f30aaec5f30bc16
https://github.com/llvm/llvm-project/commit/fe0d3e3764961b62f43f1b129f30aaec5f30bc16
Author: Kuo, Mei-Chun <94007620+Megan0704-1 at users.noreply.github.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/copy-ctor-template.cpp
M clang/test/SemaTemplate/constructor-template.cpp
Log Message:
-----------
[Sema] Diagnose by-value copy constructors in template instantiations (#130866)
Fixes #80963
This PR ensures Clang diagnoses by-value copy constructors in implicitly
instantiated class templates (e.g., `A<int, int>(A<int, int>)`), per
[class.copy.ctor].
Changes:
- Remove `TSK_ImplicitInstantiation` check in `SemaDeclCXX.cpp`.
- Add `!isFunctionTemplateSpecialization()` to skip templated
constructors.
- Add regression tests.
Commit: 642a4763dfaa46dab151e68f0272ab2b4c8c31b0
https://github.com/llvm/llvm-project/commit/642a4763dfaa46dab151e68f0272ab2b4c8c31b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[PowerPC] Rename PPCMCExpr's VK_PPC_ to VK_. NFC
Make the name conciser. PPC-specific MCSymbolRefExpr::VariantKind
members will be moved to PPCMCExpr and we will not ue
MCSymbolRefExpr::VariantKind's "generic" members, so there won't be
mix-and-match.
Commit: bc4b2c74fe4eae40652e0f79ee9e0397110c0423
https://github.com/llvm/llvm-project/commit/bc4b2c74fe4eae40652e0f79ee9e0397110c0423
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/nf-regressions.ll
Log Message:
-----------
[X86][APX] Add NF instructions to convertToThreeAddress functions (#130969)
Since #130488, we have NF instructions when converting to three address
instructions.
Commit: 73e12de062c17eddfa08f61ba8f44a20fa912f1b
https://github.com/llvm/llvm-project/commit/73e12de062c17eddfa08f61ba8f44a20fa912f1b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
Log Message:
-----------
[HLSL] Implement explicit layout for default constant buffer ($Globals) (#128991)
Processes `HLSLResourceBindingAttr` attributes that represent
`register(c#)` annotations on default constant buffer declarations and
applies its value to the buffer layout. Any default buffer declarations
without an explicit `register(c#)` annotation are placed after the
elements with explicit layout.
This PR also adds a test case for a `cbuffer` that does not have
`packoffset` on all declarations. Same layout rules apply here as well.
Fixes #126791
Commit: 95e186cadfc880ba5f7a1d90c075cf097e33ff62
https://github.com/llvm/llvm-project/commit/95e186cadfc880ba5f7a1d90c075cf097e33ff62
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
A llvm/test/CodeGen/X86/narrow-load-metadata.ll
Log Message:
-----------
Reland "DAG: Preserve range metadata when load is narrowed" (#128144) (#130609)
Changes: Add guard to ensure truncation is strictly smaller than
original size.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 5d5f16204f17eae903d5cead75f31a41e7e960d4
https://github.com/llvm/llvm-project/commit/5d5f16204f17eae903d5cead75f31a41e7e960d4
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPC.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
Log Message:
-----------
Move PowerPC-specific MCSymbolRefExpr::VariantKind to PPCMCExpr
Most changes are mechanic, except:
* ELFObjectWriter::shouldRelocateWithSymbol: .TOC. at tocbase does not
register the undefined symbol. Move the handling into the
Sym->isUndefined() code path.
* ELFObjectWriter::fixSymbolsInTLSFixups's VK_PPC* cases are moved to
PPCELFObjectWriter::getRelocType. We should do similar refactoring
for other targets and eventually remove fixSymbolsInTLSFixups.
In the future, we should classify PPCMCExpr similar to AArch64MCExpr.
Commit: 6abe19ac587d36edf202830cbbceecfd1a55f191
https://github.com/llvm/llvm-project/commit/6abe19ac587d36edf202830cbbceecfd1a55f191
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/OSTargets.cpp
A clang/test/Sema/offsetof-ucrt.c
A clang/test/SemaCXX/offsetof-ucrt.cpp
Log Message:
-----------
[clang] Predefine `_CRT_USE_BUILTIN_OFFSETOF` in MS-compatible modes (#127568)
This patch makes Clang predefine `_CRT_USE_BUILTIN_OFFSETOF` in
MS-compatible modes. The macro can make the `offsetof` provided by MS
UCRT's `<stddef.h>` to select the `__builtin_offsetof` version, so with
it Clang (Clang-cl) can directly consume UCRT's `offsetof`.
MSVC predefines the macro as `1` since at least VS 2017 19.14, but I
think it's also OK to define it in "older" compatible modes.
Fixes #59689.
Commit: 1d1f2e8c5be319c91fa696e19a6394fca4e16bea
https://github.com/llvm/llvm-project/commit/1d1f2e8c5be319c91fa696e19a6394fca4e16bea
Author: Min Hsu <min at myhsu.dev>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.h
Log Message:
-----------
[M68k] Implement TLI::convertSelectOfConstantsToMath
This TLI callback shows the preference of other operations over
ISD::SELECT on constant operands. It's essential for M68k because
ISD::SELECT tends to lower into M68kISD::CMOV which is not always ideal.
This fixes #130754, which showed up after 352c48f278c89ac4c65642d3fadf52032e7fe734.
Commit: 34f4ee7c0d98cfbee2bfc5cfee72b8090da68dc2
https://github.com/llvm/llvm-project/commit/34f4ee7c0d98cfbee2bfc5cfee72b8090da68dc2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/Modules/external-but-not-type-external.cppm
Log Message:
-----------
[C++20] [Modules] Merge codes to decide if we should generate decl
There are two piece of codes in ASTWriterDecl to decide whether or not
we should generate a function or a variable in current module unit (or
PCH with object file extension, which is rarely used). One is in
Visit*Decl and One is in `CanElideDef`. Since they are similar it should
be better to merge them.
This was meant to be a NFC patch. But it seems it helped me to find an
existing bug.
Commit: 331250c6fac8cc362d72ae338a9f149efc10e748
https://github.com/llvm/llvm-project/commit/331250c6fac8cc362d72ae338a9f149efc10e748
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/branch-condition-and.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/concat_vectors.ll
M llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
M llvm/test/CodeGen/AMDGPU/fminnum.f64.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/merge-out-of-order-ldst.ll
M llvm/test/CodeGen/AMDGPU/merge-store-crash.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/read-register-invalid-subtarget.ll
M llvm/test/CodeGen/AMDGPU/read-register-invalid-type-i32.ll
M llvm/test/CodeGen/AMDGPU/read_register.ll
M llvm/test/CodeGen/AMDGPU/reg-coalescer-sched-crash.ll
M llvm/test/CodeGen/AMDGPU/rename-disconnected-bug.ll
M llvm/test/CodeGen/AMDGPU/ret_jump.ll
M llvm/test/CodeGen/AMDGPU/returnaddress.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/si-lower-control-flow-unreachable-block.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/smrd.ll
M llvm/test/CodeGen/AMDGPU/spill-m0.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
M llvm/test/CodeGen/AMDGPU/valu-i1.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-flat.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
AMDGPU: Replace ptr addrspace(3) undef in tests with poison (#131049)
Commit: f81531c38be09c4b45bac047b9839c8d148a8c81
https://github.com/llvm/llvm-project/commit/f81531c38be09c4b45bac047b9839c8d148a8c81
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-12 (Wed, 12 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
Log Message:
-----------
Move VE-specific MCSymbolRefExpr::VariantKind to VEMCExpr
Close #130003
Commit: 7811075b6f667d9a92038fce48262c55327c10d0
https://github.com/llvm/llvm-project/commit/7811075b6f667d9a92038fce48262c55327c10d0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.fadd-with-ret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.fadd-with-ret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.fadd-with-ret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.fadd-with-ret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.r600.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/gfx90a-enc.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf-and-hostcall.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/propagate-attributes-bitcast-function.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls2.ll
M llvm/test/CodeGen/AMDGPU/skip-promote-alloca-vector-users.ll
M llvm/test/CodeGen/AMDGPU/swdev282079.ll
M llvm/test/CodeGen/AMDGPU/swdev373493.ll
M llvm/test/CodeGen/AMDGPU/switch-default-block-unreachable.ll
Log Message:
-----------
AMDGPU: Replace ptr undef in tests with poison (#131050)
Commit: 21cef8aa1c95c67732b6fa6878c26e193e5798b3
https://github.com/llvm/llvm-project/commit/21cef8aa1c95c67732b6fa6878c26e193e5798b3
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/nvvm/tcgen05-ld.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-st.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for tcgen05.{ld, st} (#130728)
This commit adds support for tcgen05.{ld, st} to the NVVM Dialect with
tests under tcgen05-ld.mlir and tcgen05-st.mlir respectively
Commit: 26ae98c4d73d13f973eeb8450e0f5c7d1cd25993
https://github.com/llvm/llvm-project/commit/26ae98c4d73d13f973eeb8450e0f5c7d1cd25993
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value.illegal.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/hip.extern.shared.array.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-relocs.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-initializer-unsupported.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-initializer.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-known-non-null.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/divergence-at-use.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/ds_read2_offset_order.ll
M llvm/test/CodeGen/AMDGPU/ds_read2_superreg.ll
M llvm/test/CodeGen/AMDGPU/ds_read2st64.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/ds_write2st64.ll
M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
M llvm/test/CodeGen/AMDGPU/fence-barrier.ll
M llvm/test/CodeGen/AMDGPU/fence-lds-read2-write2.ll
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address-codegen.ll
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
M llvm/test/CodeGen/AMDGPU/hip.extern.shared.array.ll
M llvm/test/CodeGen/AMDGPU/hsa-group-segment.ll
M llvm/test/CodeGen/AMDGPU/internalize.ll
M llvm/test/CodeGen/AMDGPU/lds-alignment.ll
M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
M llvm/test/CodeGen/AMDGPU/lds-output-queue.ll
M llvm/test/CodeGen/AMDGPU/lds-reject-anonymous-kernels.ll
M llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll
M llvm/test/CodeGen/AMDGPU/lds-relocs.ll
M llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
M llvm/test/CodeGen/AMDGPU/lds-run-twice.ll
M llvm/test/CodeGen/AMDGPU/lds-size.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.dec.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.inc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.groupstaticsize.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
M llvm/test/CodeGen/AMDGPU/local-memory.ll
M llvm/test/CodeGen/AMDGPU/local-memory.r600.ll
M llvm/test/CodeGen/AMDGPU/loop_break.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-check-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr-phi.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-inactive.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-offsets.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-ambiguous.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/missing-store.ll
M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-padding-size-estimate.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-kernel-arguments.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
M llvm/test/CodeGen/AMDGPU/s_mulk_i32.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-lds.ll
M llvm/test/CodeGen/AMDGPU/shl_add_ptr.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/sopk-compares.ll
M llvm/test/CodeGen/AMDGPU/spill-m0.ll
M llvm/test/CodeGen/AMDGPU/split-vector-memoperand-offsets.ll
M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
M llvm/test/CodeGen/AMDGPU/sub.i16.ll
Log Message:
-----------
AMDGPU: Replace undef global initializers in tests with poison (#131051)
Commit: 9e91725fd4d4ee30e98ab2682f93b423590a4ade
https://github.com/llvm/llvm-project/commit/9e91725fd4d4ee30e98ab2682f93b423590a4ade
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
Log Message:
-----------
AMDGPU: Replace some undef uses in test metadata with poison (#131052)
Commit: 6345b009c3e58a6cd0eca835d5a935f8784cfda6
https://github.com/llvm/llvm-project/commit/6345b009c3e58a6cd0eca835d5a935f8784cfda6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaLambda.cpp
A clang/test/Modules/lambda-in-module-purview-2.cppm
A clang/test/Modules/lambda-in-module-purview.cppm
Log Message:
-----------
[C++20] [Modules] Add mangling number for lambda in non-internal module unit context
Close https://github.com/llvm/llvm-project/issues/59513
Close https://github.com/llvm/llvm-project/issues/110146
As we discussed, this is related to ABI:
https://github.com/itanium-cxx-abi/cxx-abi/issues/186
I was intending to fix this after it gets merged into the ItaniumC++ABI
formally. But it looks like ItaniumC++ABI doesn't update it yet and
there are more issue reports for it.
Luckily Richard had a clear direction guide here though. So I think it
should be good to do this without a formal ItaniumC++ABI wording.
The diff of the patch is slightly larger than it was by a simple
refacoration to simple the control flow a little bit.
Commit: bd748b33958f8889d280afd4396b189edd0745bf
https://github.com/llvm/llvm-project/commit/bd748b33958f8889d280afd4396b189edd0745bf
Author: Hank Chang <hank.chang at sifive.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/vsetvl-cross-inline-asm.ll
Log Message:
-----------
[RISCV] Add implicit operand {VL, VTYPE} in RISCVInsertVSETVLI when u… (#130733)
…sing inline assembly.
Fixing [#128636](https://github.com/llvm/llvm-project/pull/128636).
This patch has RISCVInsertVSETVLI to add implicit use operand to inline
assembly, this approach is suggested by @preames and the implementation
I referenced is from @topperc . The purpose of adding vl, vtype implicit
operand is to prevent Post-RA scheduler moving vsetvl across inline
assembly.
Commit: 43ab4228d00abcb08b5d75d154deeca9c42ca795
https://github.com/llvm/llvm-project/commit/43ab4228d00abcb08b5d75d154deeca9c42ca795
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
Log Message:
-----------
[LoongArch] Pre-commit test for vector trunc (#131082)
Commit: 5952972c9164216be7c22292c52c131f1d0a8030
https://github.com/llvm/llvm-project/commit/5952972c9164216be7c22292c52c131f1d0a8030
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
A llvm/include/llvm/CodeGen/BranchFoldingPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/branch-folder-oneinst.mir
M llvm/test/CodeGen/AMDGPU/branch-folder-requires-no-phis.mir
M llvm/test/CodeGen/Hexagon/branchfolder-insert-impdef.mir
M llvm/test/CodeGen/MIR/X86/branch-folder-with-label.mir
M llvm/test/CodeGen/X86/branchfolding-ehpad.mir
Log Message:
-----------
[CodeGen][NPM] Port BranchFolder to NPM (#128858)
EnableTailMerge is false by default and is handled by the pass builder.
Passes are independent of target pipeline options.
This completes the generic `MachineLateOptimization` passes for the NPM
pipeline.
Commit: 08de320aa2f46f3f9abcaf93d5382a8d0279d655
https://github.com/llvm/llvm-project/commit/08de320aa2f46f3f9abcaf93d5382a8d0279d655
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M lldb/source/Core/IOHandlerCursesGUI.cpp
Log Message:
-----------
[lldb] Remove Function::GetAddressRange usage from the gui (#130991)
m_disassembly_range was used only to prune the list of breakpoints to
those that are in the current function. This isn't really necessary, as
the list is only used to highlight instructions with breakpoints on
them, and an unpruned list works just as well for that.
The shouldn't make things slower, since we still needed through iterate
through all breakpoints to create the list, and I doubt anyone will
notice the memory used to store the extra breakpoints.
Commit: cb28ec6cccf9e27eb74f8dc2e7b69c006c1e3544
https://github.com/llvm/llvm-project/commit/cb28ec6cccf9e27eb74f8dc2e7b69c006c1e3544
Author: Maurice Heumann <MauriceHeumann at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
A clang/test/SemaCXX/union-member-destructor.cpp
Log Message:
-----------
[Sema] Instantiate destructors for initialized members (#128866)
Initializing fields, that are part of an anonymous union, in a
constructor, requires their destructors to be instantiated.
In general, initialized members within non-delegating constructors, need
their destructor instantiated.
This fixes #93251
Commit: 59fd2878fce470f02058f43d4b818ed68ce04094
https://github.com/llvm/llvm-project/commit/59fd2878fce470f02058f43d4b818ed68ce04094
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Log Message:
-----------
[mlir][memref] Clean up `load`/`store` documentation (#130569)
Remove references to the Affine dialect. The documentation is outdated.
Separate `affine.load/store` ops have been added.
Also add documentation for `nontemporal`.
Commit: 55b480ec3c870b08b4eb028f9a5eade4d2deeca9
https://github.com/llvm/llvm-project/commit/55b480ec3c870b08b4eb028f9a5eade4d2deeca9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Allow load-only promotion with read-only captures (#130735)
It's okay if the address or read-provenance of the pointer is captured.
We only have to make sure that there are no unanalyzable writes to the
pointer.
Commit: de895751d2a250fb4127e1c7ea0863dd8e234325
https://github.com/llvm/llvm-project/commit/de895751d2a250fb4127e1c7ea0863dd8e234325
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
A llvm/test/Analysis/BasicAA/captures.ll
R llvm/test/Transforms/DeadStoreElimination/captures-ret-only.ll
A llvm/test/Transforms/DeadStoreElimination/captures.ll
Log Message:
-----------
[CaptureTracking][AA] Only consider provenance captures (#130777)
For the purposes of alias analysis, we should only consider provenance
captures, not address captures. To support this, change (or add)
CaptureTracking APIs to accept a Mask and StopFn argument. The Mask
determines which components we are interested in (for AA that would be
Provenance).
The StopFn determines when we can abort the walk early. Currently, we
want to do this as soon as any of the components in the Mask is
captured. The purpose of making this a separate predicate is that in the
future we will also want to distinguish between capturing full
provenance and read-only provenance. In that case, we can only stop
early once full provenance is captured. The earliest escape analysis
does not get a StopFn, because it must always inspect all captures.
Commit: d77ef140e66dda44a40ac2f316d3b8a42fb7bf07
https://github.com/llvm/llvm-project/commit/d77ef140e66dda44a40ac2f316d3b8a42fb7bf07
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
Log Message:
-----------
[LoongArch] fix vec-trunc.ll test error (#131104)
Commit: 1282878c52cb116093c6e3e8cde0c2623b624802
https://github.com/llvm/llvm-project/commit/1282878c52cb116093c6e3e8cde0c2623b624802
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Fix bad timestamps being reported (#130941)
Yesterday, the monitoring reported a job queued for 23h59. After some
checks, it appears no such job existed: the age of the workflows on
completion was at most 5 hours during the last 48 hours.
After some digging, I found out GitHub could return a job with a start
date slightly before the creation date, or completion date before start
date.
This would cause python to compute a negative timedelta, which would
then be reported in grafana as a full 24h delta due to the conversions.
Adding code to ignore negative delta, but logging them.
Commit: 459b4e3fe10805b110bc89aa857532715bfe54e0
https://github.com/llvm/llvm-project/commit/459b4e3fe10805b110bc89aa857532715bfe54e0
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu.mir
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.m0.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.ttracedata.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
M llvm/test/CodeGen/AMDGPU/no-dup-inst-prefetch.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
Log Message:
-----------
Reland "[AMDGPU] Remove s_delay_alu for VALU->SGPR->SALU (#127212)" (#131111)
We have a VALU->SGPR->SALU (VALU writing to SGPR and SALU reading from
it). When VALU is issued, it increments internal counter VA_SDST used to
track use of this SGPR. SALU will not issue until VA_SDST is zero, that
is when VALU is finished writing. Therefore, delays added by s_delay_alu
are not needed in this situation.
Commit: d0188ebcc206e334d5a415992e2b226c216b4083
https://github.com/llvm/llvm-project/commit/d0188ebcc206e334d5a415992e2b226c216b4083
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
Log Message:
-----------
[flang][OpenMP]Add symbls omp_in, omp_out and omp_priv in DECLARE RED… (#129908)
…UCTION
This patch allows better parsing of the reduction and initializer
components, including supporting derived types in both those places.
There is more work needed here, but this is a definite improvement in
what can be handled through parser and semantics.
Note that declare reduction is still not supported in lowering, so any
attempt to compile DECLARE REDUCTION code will end with a TODO aka "Not
yet implemented" abort in the compiler.
Note that this version of the code does not cover declaring multiple
reductions using the same name with different types. This is will be
fixed in a future patch. [This was also the case before this change].
One existing test modified to actually compile (as it didn't in the
original form).
Commit: 139add531a5533a7591527a3e6cee7dca0f795c3
https://github.com/llvm/llvm-project/commit/139add531a5533a7591527a3e6cee7dca0f795c3
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/IR/Function.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
Log Message:
-----------
[InferAttrs] Mark floating-point libcalls as `errno`-writing
Floating-point libcalls are currently conservatively marked as
may write any memory. Restrict these to clobber only `errno`.
Commit: abdbaff5441e35a6e26f770145b62d73f4a55f48
https://github.com/llvm/llvm-project/commit/abdbaff5441e35a6e26f770145b62d73f4a55f48
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
A llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
A llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
A llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o
Log Message:
-----------
[DWARFLinker] Adjust DW_AT_LLVM_stmt_sequence for rewritten line tables (#128953)
**Summary:**
This update adds handling for `DW_AT_LLVM_stmt_sequence` attributes in
the DWARF linker. These attributes point to rows in the line table,
which gets rewritten during linking. Since the row positions change, the
offsets in these attributes need to be updated to match the new layout
in the output `.debug_line` section. The changes add new data structures
and tweak existing functions to track and fix these attributes.
**Background**
In https://github.com/llvm/llvm-project/pull/110192 we added support to
clang to generate the `DW_AT_LLVM_stmt_sequence` attribute for
`DW_TAG_subprogram`'s. Corresponding RFC: [New DWARF Attribute for
Symbolication of Merged
Functions](https://discourse.llvm.org/t/rfc-new-dwarf-attribute-for-symbolication-of-merged-functions/79434).
This attribute holds a label pointing to the offset in the line table
where the function's line entries begin.
**Implementation details:**
Here’s what’s changed in the code:
- **New Tracking in `CompileUnit`:** A `StmtSeqListAttributes` vector is
added to the `CompileUnit` class. It stores the locations where
`DW_AT_LLVM_stmt_sequence` attributes need to be patched, recorded when
cloning DIEs (debug info entries).
- **Updated `emitLineTableForUnit` Function:** This function now has an
optional `RowOffsets` parameter. It collects the byte offsets of each
row in the output line table. We only need to use this functionality if
`DW_AT_LLVM_stmt_sequence` attributes are present in the unit.
- **Row Tracking with `TrackedRow`:** A `TrackedRow` struct keeps track
of each input row’s original index and whether it starts a sequence in
the output table. This links old rows to their new positions in the
rewritten line table. Several implementations were considered and
prototyped here, but so far this has proven the simplest and cleanest
approach.
- **Patching Step:** After the line table is written, the linker uses
the data in `TrackedRow`'s objects and `RowOffsets` array to update the
`DW_AT_LLVM_stmt_sequence` attributes with the correct offsets.
Commit: 481a55a3d9645a6bc1540d326319b78ad8ed8db1
https://github.com/llvm/llvm-project/commit/481a55a3d9645a6bc1540d326319b78ad8ed8db1
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2025-03-13 (Thu, 13 Mar 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:
-----------
[rtsan][Apple] Add interceptor for _os_nospin_lock_lock (#131034)
Follows the discussion here:
https://github.com/llvm/llvm-project/pull/129309
Recently, the test
`TestRtsan.AccessingALargeAtomicVariableDiesWhenRealtime` has been
failing on newer MacOS versions, because the internal locking mechanism
in `std::atomic<T>::load` (for types `T` that are larger than the
hardware lock-free limit), has changed to a function that wasn't being
intercepted by rtsan.
This PR introduces an interceptor for `_os_nospin_lock_lock`, which is
the new internal locking mechanism.
_Note: we'd probably do well to introduce interceptors for
`_os_nospin_lock_unlock` (and `os_unfair_lock_unlock`) too, which also
appear to have blocking implementations. This can follow in a separate
PR._
Commit: 0c5eb4d68b0992f6934fead1af3474aac672f5e4
https://github.com/llvm/llvm-project/commit/0c5eb4d68b0992f6934fead1af3474aac672f5e4
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M flang/lib/Frontend/CMakeLists.txt
Log Message:
-----------
[flang] Use precompiled parsing headers (#130600)
Most of the high memory usage and compilation time in the frontend units
is due to including large parsing headers.
This commit moves out several of the largest parsing headers into a new
precompiled header linked to flangFrontend.
The new compilation metrics for FrontendActions.cpp are as follows:
User time (seconds): 38.40
System time (seconds): 2.00
Maximum resident set size (kbytes): 2710964 (2.58 GB) (vs 3.78 GB)
ParserActions.cpp:
User time (seconds): 69.37
System time (seconds): 1.81
Maximum resident set size (kbytes): 2599456 (2.47 GB) (vs 4 GB)
Alongside the new precompiled header compilation unit
User time (seconds): 41.61
System time (seconds): 2.72
Maximum resident set size (kbytes): 3107644 (2.96 GB)
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a5a162cd713d73f76605c9f395b3c6087c03f793
https://github.com/llvm/llvm-project/commit/a5a162cd713d73f76605c9f395b3c6087c03f793
Author: Benjamin Maxwell <samsungsmile at hotmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SDAG] Pass pointer type to libcall expansion for SoftenFloatRes stack slots (#130647)
Solution for:
https://github.com/llvm/llvm-project/pull/129264#issuecomment-2710079843
Commit: 55b806c2afb113aa36efbf7eb979236951971695
https://github.com/llvm/llvm-project/commit/55b806c2afb113aa36efbf7eb979236951971695
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/test/Dialect/Affine/affine-data-copy.mlir
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
Log Message:
-----------
[MLIR][Affine] Fix affine data copy generation copy placement for missing memref definition check (#130750)
This was exposed with the test case previously added but when performing
generation with limited memory capacity.
Commit: 46739be7bcfc2d3eb5c83e589229d27a63978d07
https://github.com/llvm/llvm-project/commit/46739be7bcfc2d3eb5c83e589229d27a63978d07
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
Log Message:
-----------
[GlobalISel] Preserve original flags of output instructions in matchtable (#130937)
We don't have any combine in trunk that uses output MIFlags when using
MIR patterns, but I tried writing one and noticed that the flags were
lost.
The reason is that the MatchTableExecutor was overwriting the flags.
Commit: 13261e856aa54e6c86b500c6d0bb329f08ad5eb7
https://github.com/llvm/llvm-project/commit/13261e856aa54e6c86b500c6d0bb329f08ad5eb7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M flang-rt/cmake/modules/GetToolchainDirs.cmake
Log Message:
-----------
[Flang-RT][NFC] Fix comment
The cases of LLVM_ENABLE_PER_TARGET_RUNTIME_DIR were swapped.
Noticed by @DanielCChen in #130875. Thanks!
Commit: 786e70ff104fdecaa246bbe98f7ff1e220455a58
https://github.com/llvm/llvm-project/commit/786e70ff104fdecaa246bbe98f7ff1e220455a58
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Change `TypeOrValueSemanticsContainer` base from `TypeConstraint` to `Type` (#129433)
`Type` is derived from `TypeConstraint`. Using `Type` as base allows to
use `SignlessIntegerLike` and friends in `Variadic<>`.
Commit: 95d28fe503cc3d2bc0bb980442d3defaf199ea5a
https://github.com/llvm/llvm-project/commit/95d28fe503cc3d2bc0bb980442d3defaf199ea5a
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-linux.sh
M flang-rt/README.md
Log Message:
-----------
[Premerge] Add flang-rt (#128678)
Flang's runtime can now be built using LLVM's LLVM_ENABLE_RUNTIMES
mechanism, with the intent to remove the old mechanism in #124126.
Update the pre-merge builders to use the new mechanism.
In the current form, #124126 actually will add
LLVM_ENABLE_RUNTIMES=flang-rt implicitly, so no change is strictly
needed. I still think it is a good idea to do it explicitly and in
advance.
On Windows, flang-rt also requires compiler-rt, but which is not
building on Windows anyway.
Commit: 02fae68a45fdd752e3ad5ee767c378a45b77744d
https://github.com/llvm/llvm-project/commit/02fae68a45fdd752e3ad5ee767c378a45b77744d
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] VectorLinearize: `ub.poison` support (#128612)
Unify `arith.constant` and `up.poison` using
`OpTraitConversionPattern<OpTrait::ConstantLike>`.
Commit: b910610eeaf14edc1b09e84d29930bd3459a02cc
https://github.com/llvm/llvm-project/commit/b910610eeaf14edc1b09e84d29930bd3459a02cc
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M libc/src/math/generic/asinhf.cpp
Log Message:
-----------
[libc][math] Fix Sollya command (#131091)
Fix a minor syntax error in the Sollya command in the comments of
asinhf.
Commit: f613bc57c6389eb38f97a26126e5542839e69c48
https://github.com/llvm/llvm-project/commit/f613bc57c6389eb38f97a26126e5542839e69c48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/inline-constraints.ll
Log Message:
-----------
AMDGPU: Replace half undef uses with poison in tests (#131083)
Commit: 1eb5588457c39a924902971b7d883e319a499c17
https://github.com/llvm/llvm-project/commit/1eb5588457c39a924902971b7d883e319a499c17
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inline-constraints.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
Log Message:
-----------
AMDGPU: Replace i16 undefs with poison in tests (#131084)
Commit: da69147a1619813679cef7ee39ec68cf2c8a2732
https://github.com/llvm/llvm-project/commit/da69147a1619813679cef7ee39ec68cf2c8a2732
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
Log Message:
-----------
[InferAttrs] Refine attributes for a few libc routines
Attributes inference has been improved for a few functions.
Particularly, ldexp and variants, as well as abort, may be
marked as `nounwind`, as they do not propagate any exceptions
to the caller, neither they unwind the stack. Besides, fwrite
and fread first argument should be respectively readonly and
writeonly.
Commit: 0735537ec8954d185cda3c6fd126431f16cea133
https://github.com/llvm/llvm-project/commit/0735537ec8954d185cda3c6fd126431f16cea133
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M flang-rt/cmake/modules/GetToolchainDirs.cmake
Log Message:
-----------
[Flang-RT] Append to library subdir
The code intended to append more directories as required, instead of
discarding the previous steps.
NFCI accept on Apple.
Commit: d3255474be3ea24d876eadb6e97a6424c132b23d
https://github.com/llvm/llvm-project/commit/d3255474be3ea24d876eadb6e97a6424c132b23d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M offload/cmake/caches/AMDGPUBot.cmake
Log Message:
-----------
Reapply "[Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-*" (#130274)
Enable the LLVM_ENABLE_RUNTIMES=flang-rt build of the Fortran runtime
for the amdgpu-offload-* buildbots. This pre-population cmake cache
files is referred to by the llvm-zorg annotated builder factory
[script](https://github.com/llvm/llvm-zorg/blob/872f477610d83821c9f1368c969006789b21011b/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py#L26).
The corresponding change in llvm-zorg is
llvm/llvm-zorg#402
This reverts commit e296fb8ff6255b97db9ff6cd941acc730164b38f.
The worker of amdgpu-offload-rhel-8-cmake-build-only has been updated
with a newer version of Ninja that supports Fortran.
Commit: 85e290b2f69fb3ec51e4f7522364d90b9a94a8bb
https://github.com/llvm/llvm-project/commit/85e290b2f69fb3ec51e4f7522364d90b9a94a8bb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .github/workflows/build-metrics-container.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-review.yml
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-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/version-check.yml
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
R bolt/include/bolt/Passes/ContinuityStats.h
A bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
M bolt/include/bolt/Passes/PatchEntries.h
A bolt/include/bolt/Passes/ProfileQualityStats.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/BinaryFunction.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/CMakeLists.txt
R bolt/lib/Passes/ContinuityStats.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/Instrumentation.cpp
A bolt/lib/Passes/NonPacProtectedRetAnalysis.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/RewriteInstance.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/runtime/hugify.cpp
M bolt/test/X86/Inputs/define_bar.s
M bolt/test/X86/bolt-address-translation-yaml.test
R bolt/test/X86/cfg-discontinuity-reporting.test
A bolt/test/X86/entry-point-fallthru.s
A bolt/test/X86/profile-quality-reporting.test
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
M bolt/test/binary-analysis/AArch64/lit.local.cfg
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/utils/docker/Dockerfile
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.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/misc/ConstCorrectnessCheck.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/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.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/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.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/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/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/tweaks/AnnotateHighlightings.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/RenameTests.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/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.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/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.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/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.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/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
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
A clang/AreaTeamMembers.txt
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/BOLT.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/dump_ast_matchers.py
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/Decl.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/DeclVisitor.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/FormatString.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/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Analysis/AnalysisDeclContext.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
M clang/include/clang/Basic/BuiltinsSPIRV.td
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/DeclNodes.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
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/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
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/OpenACCClauses.def
M clang/include/clang/Basic/OpenMPKinds.def
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/TargetInfo.h
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/CMakeLists.txt
R clang/include/clang/CIR/Dialect/IR/CIRAttrVisitor.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/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIROpsEnums.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
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/CIR/Passes.h
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
M clang/include/clang/Lex/ModuleMap.h
A clang/include/clang/Lex/ModuleMapFile.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTWriter.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/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.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/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
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/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
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/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/CMakeLists.txt
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.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/ExprConstant.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/NestedNameSpecifier.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CMakeLists.txt
A clang/lib/CIR/CodeGen/Address.h
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/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprConstant.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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/CMakeLists.txt
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/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Dialect/Transforms/PassDetail.h
M clang/lib/CIR/FrontendAction/CMakeLists.txt
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
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
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/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGVTables.h
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/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.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/DirectX.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/VarBypassDetector.cpp
M clang/lib/CodeGen/VarBypassDetector.h
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
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/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
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/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
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/amdgpuintrin.h
M clang/lib/Headers/avx10_2convertintrin.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
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/lzcntintrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Headers/vecintrin.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Lex/CMakeLists.txt
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/ModuleMap.cpp
A clang/lib/Lex/ModuleMapFile.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/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.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/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjC.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/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/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
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/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.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/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.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
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/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.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/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/SarifDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.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/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.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/cxx2a.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/if.cpp
A clang/test/AST/ByteCode/libcxx/deref-to-array.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/pointer-subscript.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
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/references.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
A clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
A clang/test/AST/ast-dump-atomic-options.hip
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
A clang/test/AST/ast-print-openacc-cache-construct.cpp
A clang/test/AST/ast-print-openacc-declare-construct.cpp
A clang/test/AST/ast-print-openacc-routine-construct.cpp
A clang/test/AST/cc-modifier.cpp
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.cpp
A clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
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
M 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
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
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
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
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
M clang/test/Analysis/call-invalidation.cpp
M clang/test/Analysis/cast-value-notes.cpp
M clang/test/Analysis/concrete-address.c
M clang/test/Analysis/ctor-array.cpp
M clang/test/Analysis/ctor.mm
A clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/diagnostics/no-store-func-path-notes.m
M clang/test/Analysis/fread.c
M clang/test/Analysis/ftime-trace.cpp
M clang/test/Analysis/implicit-ctor-undef-value.cpp
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
M clang/test/Analysis/initializer.cpp
M clang/test/Analysis/kmalloc-linux.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/misc-ps.c
M clang/test/Analysis/misc-ps.m
A clang/test/Analysis/new-user-defined.cpp
M clang/test/Analysis/operator-calls.cpp
R clang/test/Analysis/out-of-bounds-constraint-check.c
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/region-store.cpp
M clang/test/Analysis/stack-addr-ps.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/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/zero-size-non-pod-array.cpp
A clang/test/C/C2y/n3347.c
A clang/test/C/C2y/n3363.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/n3478.c
A clang/test/C/C2y/n3481.c
A clang/test/C/C2y/n3496.c
A clang/test/C/C2y/n3505.c
A clang/test/CIR/CodeGen/basic.c
A clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/local-vars.cpp
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/Lowering/basic.cpp
A clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
A clang/test/CIR/Lowering/local-vars.cpp
A clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/func-simple.cpp
A clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/global-var-simple.cpp
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.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/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.decl/dcl.meaning/p1-0x.cpp
M clang/test/CXX/drs/cwg14xx.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/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
M clang/test/CXX/special/class.inhctor/elsewhere.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/CodeCompletion/GH125500.cpp
A clang/test/CodeGen/AArch64/fp8-init-list.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/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_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/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/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-p9vector.c
A clang/test/CodeGen/RISCV/pr129995.cc
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/X86/lzcnt-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
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/arm-mfp8.c
A clang/test/CodeGen/arm-neon-endianness.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-counted-by.c
A clang/test/CodeGen/attr-malloc.c
A clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/builtin-constant-p.c
M clang/test/CodeGen/builtins-elementwise-math.c
A clang/test/CodeGen/excess-embed-data.c
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
A clang/test/CodeGen/hwasan-stack-safety-analysis-with-array-bounds.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/openacc-noop-decl.c
A clang/test/CodeGen/p0963r3.cpp
M clang/test/CodeGen/partial-reinitialization2.c
A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/vector.c
A clang/test/CodeGen/win-fp128.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/atomic-ops.cu
A clang/test/CodeGenCUDA/atomic-options.hip
M clang/test/CodeGenCUDA/launch-bounds.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.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
A clang/test/CodeGenCXX/cxx23-p2280r4.cpp
M clang/test/CodeGenCXX/function-template-specialization.cpp
M clang/test/CodeGenCXX/merge-functions.cpp
A clang/test/CodeGenCXX/sret_cast_with_nonzero_alloca_as.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-params.cpp
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
A clang/test/CodeGenHLSL/BoolVector.hlsl
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/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
A clang/test/CodeGenHLSL/builtins/or.hlsl
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/select.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_align.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/resource-bindings.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/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/ubsan-bool.m
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
A clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
A clang/test/CodeGenSPIRV/Builtins/reflect.c
R clang/test/CoverageMapping/mcdc-error-nests.cpp
A clang/test/CoverageMapping/mcdc-nested-expr.cpp
A clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
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/aarch64-execute-only.c
M clang/test/Driver/arm-thread-pointer.c
A clang/test/Driver/atomic-options.hip
M clang/test/Driver/csky-toolchain.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/fat-lto-objects.c
M clang/test/Driver/fmemprof.cpp
M clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/hip-cuid-hash.hip
M clang/test/Driver/hip-gz-options.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-partial-link.hip
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-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/ohos.c
A clang/test/Driver/opencl-aot-compilation.cl
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/spirv-toolchain.cl
M clang/test/Driver/wasm-toolchain.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/__clang_hip_math.hip
M clang/test/Headers/cpuid.c
M clang/test/Headers/gpuintrin.c
A clang/test/Headers/no-xend.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Modules/Inputs/export_as_test.modulemap
A clang/test/Modules/clang-pragmas.c
M clang/test/Modules/diagnostics.modulemap
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/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/modules-merge-enum.m
A clang/test/Modules/no-transitive-source-location-change-2.cppm
A clang/test/Modules/pr125999.cppm
A clang/test/Modules/pr28744.cpp
A clang/test/Modules/try-func-body.cppm
A clang/test/OpenMP/amdgcn_sret_ctor.cpp
M clang/test/OpenMP/amdgpu-unsafe-fp-atomics.cpp
M clang/test/OpenMP/cancel_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/ompx_attributes_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_messages.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/OpenMP/taskgroup_codegen.cpp
M clang/test/OpenMP/thread_limit_nvptx.c
A clang/test/Parser/Inputs/cuda.h
A clang/test/Parser/atomic-options.hip
M clang/test/Parser/cxx-attributes.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/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/Preprocessor/bpf-predefined-macros.c
M clang/test/Preprocessor/ohos.c
A clang/test/Preprocessor/warn-macro-undef-true.c
M clang/test/Sema/aarch64-special-register.c
M clang/test/Sema/attr-args.c
M clang/test/Sema/attr-availability-macosx.cpp
M clang/test/Sema/bool-compare.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/compare.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/offsetof-ucrt.c
M clang/test/Sema/parentheses.cpp
A clang/test/Sema/riscv-interrupt-attr-qci.c
A clang/test/Sema/shift-bool.c
A clang/test/Sema/shift-bool.cpp
M clang/test/Sema/types.c
A clang/test/Sema/vector-ast.cpp
M clang/test/Sema/warn-thread-safety-analysis.c
A clang/test/SemaCUDA/dtor.cu
M clang/test/SemaCXX/PR62533.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/builtins-elementwise-math.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.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-unevaluate.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/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/decomposed-condition.cpp
A clang/test/SemaCXX/embed-init-list.cpp
M clang/test/SemaCXX/generic-selection.cpp
M clang/test/SemaCXX/init-priority-attr.cpp
A clang/test/SemaCXX/offsetof-ucrt.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
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.h
M clang/test/SemaCXX/using-decl-templates.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/SemaHLSL/BuiltIns/AddUint64-errors.hlsl
R clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/logical-operator-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
A clang/test/SemaHLSL/Language/NoVirtual.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
M clang/test/SemaObjCXX/propert-dot-error.mm
M clang/test/SemaOpenACC/atomic-construct-ast.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-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-default-ast.cpp
M clang/test/SemaOpenACC/data-construct.cpp
A clang/test/SemaOpenACC/declare-construct-ast.cpp
A clang/test/SemaOpenACC/declare-construct.cpp
M clang/test/SemaOpenACC/init-construct-ast.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-clause.c
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/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
M clang/test/SemaSYCL/float128.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/friend-template.cpp
M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
A clang/test/TableGen/HLSLAttribute-errors.td
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
M clang/tools/c-index-test/c-index-test.c
A clang/tools/cir-opt/CMakeLists.txt
A clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
A clang/unittests/Frontend/NoAlterCodeGenActionTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/StaticAnalyzer/Reusables.h
M clang/unittests/StaticAnalyzer/StoreTest.cpp
M clang/utils/TableGen/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
A clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M clang/utils/TableGen/NeonEmitter.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/perf-helper.py
A clang/utils/reduce-clang-crash.py
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 compiler-rt/include/orc_rt/c_api.h
M compiler-rt/lib/asan/asan_win.cpp
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/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/common.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/tests/unit/c_api_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
M compiler-rt/lib/tsan/go/buildgo.sh
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/copy_file_range.c
M compiler-rt/test/tysan/lit.cfg.py
M compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
M cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w32.cl
R cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py
M flang-rt/CMakeLists.txt
M flang-rt/README.md
A flang-rt/cmake/clang_gcc_root.cpp
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/cmake/quadmath_wrapper.h.in
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/quadmath/CMakeLists.txt
M flang-rt/lib/quadmath/complex-math.h
M flang-rt/lib/quadmath/math-entries.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang/cmake/modules/FlangCommon.cmake
A flang/docs/ArrayRepacking.md
M flang/docs/Extensions.md
M flang/docs/index.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Common/erfc-scaled.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendActions.h
A flang/include/flang/Frontend/ParserActions.h
M flang/include/flang/Lower/Cuda.h
R flang/include/flang/Lower/DumpEvaluateExpr.h
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
A flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Builder/TemporaryStorage.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
A flang/include/flang/Optimizer/Transforms/RuntimeFunctions.inc
M flang/include/flang/Parser/dump-parse-tree.h
A flang/include/flang/Parser/options.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Parser/preprocessor.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/pointer.h
A flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/OpenMP-utils.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/lib/Frontend/ParserActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
R flang/lib/Lower/DumpEvaluateExpr.cpp
M flang/lib/Lower/IO.cpp
A flang/lib/Lower/OpenMP/ClauseFinder.h
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/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.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/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
A flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
A flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-coarray.h
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/definable.cpp
A flang/lib/Semantics/dump-expr.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Support/OpenMP-utils.cpp
M flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
M flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
A flang/test/Analysis/AliasAnalysis/source-kind.fir
M flang/test/Driver/config-file.f90
A flang/test/Driver/dash-x-f95-cpp-input.f
A flang/test/Driver/dash-x-f95-do-not-assume-fixed-form.f90
A flang/test/Driver/fd-lines-as.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Evaluate/folding06.f90
M flang/test/Fir/CUDA/cuda-abstract-result.mlir
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/Todo/coordinate_of_2.fir
M flang/test/Fir/Todo/coordinate_of_3.fir
M flang/test/Fir/abstract-results-bindc.fir
M flang/test/Fir/abstract-results.fir
A flang/test/Fir/alloc-32.fir
M flang/test/Fir/alloc.fir
M flang/test/Fir/array-value-copy.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/boxproc-2.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
A flang/test/Fir/copy-codegen.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/field-index.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/pdt.fir
M flang/test/Fir/struct-passing-aarch64-byval.fir
M flang/test/Fir/struct-passing-loongarch64-byreg.fir
A flang/test/Fir/struct-passing-powerpc64-aix-byval.fir
A flang/test/Fir/struct-passing-ppc64le-byval.fir
M flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir
M flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
M flang/test/Fir/struct-return-aarch64.fir
M flang/test/Fir/struct-return-loongarch64-byreg.fir
A flang/test/Fir/struct-return-powerpc64-aix.fir
A flang/test/Fir/struct-return-ppc64le.fir
M flang/test/Fir/struct-return-x86-64.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target-rewrite-complex.fir
M flang/test/Fir/target-rewrite-complex16.fir
M flang/test/Fir/target-rewrite-indirect-calls.fir
M flang/test/Fir/target-rewrite-integer-loongarch64.fir
M flang/test/Fir/target.fir
M flang/test/HLFIR/assign-codegen-derived.fir
M flang/test/HLFIR/c_ptr_byvalue.f90
M flang/test/HLFIR/designate-codegen-component-refs.fir
M flang/test/HLFIR/maxval-elemental.fir
A flang/test/HLFIR/order_assignments/forall-pointer-assignment-codegen.fir
A flang/test/HLFIR/order_assignments/forall-pointer-assignment-scheduling.f90
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-codegen.fir
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-scheduling-character.f90
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-scheduling.f90
M flang/test/HLFIR/order_assignments/vector-subscripts-codegen.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
A flang/test/Integration/debug-cyclic-derived-type-4.f90
M flang/test/Lower/CUDA/cuda-cdevloc.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
A flang/test/Lower/CUDA/cuda-kernel-alloca-block.cuf
A flang/test/Lower/CUDA/cuda-pointer.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/c_ptr-constant-init.f90
M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
M flang/test/Lower/HLFIR/null.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/type-info-components.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_f_pointer.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_funloc-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_operator_eq.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
A flang/test/Lower/OpenMP/Todo/assume.f90
A flang/test/Lower/OpenMP/Todo/assumes.f90
R flang/test/Lower/OpenMP/Todo/from-expectation-modifier.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-close.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-ompxhold.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-present.f90
A flang/test/Lower/OpenMP/Todo/omp-declare-reduction-initsub.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
A flang/test/Lower/OpenMP/Todo/taskloop-cancel.f90
R flang/test/Lower/OpenMP/Todo/to-expectation-modifier.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/copyprivate2.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
A flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/loop-pointer-variable.f90
A flang/test/Lower/OpenMP/map-modifiers.f90
M flang/test/Lower/OpenMP/math-amdgpu.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
A flang/test/Lower/OpenMP/privatization-proc-ptr.f90
A flang/test/Lower/OpenMP/real10.f90
A flang/test/Lower/OpenMP/reduction-equivalence.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
A flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/array-character.f90
R flang/test/Lower/array-copy.f90
R flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-elemental-calls-2.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
R flang/test/Lower/array-expression.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c_ptr-constant-init.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/call-by-value.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/call-parenthesized-arg.f90
M flang/test/Lower/character-assignment.f90
R flang/test/Lower/character-concatenation.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/components.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-allocatable-components.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/derived-pointer-components.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/derived-types.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/forall/array-pointer.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/forall/scalar-substring.f90
M flang/test/Lower/identical-block-merge-disable.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/parent-component.f90
M flang/test/Lower/pointer-assignments.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/pre-fir-tree04.f90
M flang/test/Lower/select-type.f90
M flang/test/Lower/structure-constructors.f90
A flang/test/Parser/OpenMP/assumption.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
A flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Parser/OpenMP/metadirective-v50.f90
M flang/test/Parser/OpenMP/metadirective.f90
A flang/test/Parser/func-label.f
A flang/test/Preprocessing/bug126459.F90
A flang/test/Preprocessing/fd-lines-as.f90
A flang/test/Semantics/Inputs/modfile72.f90
A flang/test/Semantics/Inputs/modfile73-a.f90
A flang/test/Semantics/Inputs/modfile73-b.f90
A flang/test/Semantics/Inputs/modfile73-c.f90
A flang/test/Semantics/OpenMP/cancel.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/declare-reduction-error.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
A flang/test/Semantics/OpenMP/equivalence-namelist.f90
M flang/test/Semantics/OpenMP/flush01.f90
A flang/test/Semantics/OpenMP/flush03.f90
M flang/test/Semantics/OpenMP/loop-bind.f90
A flang/test/Semantics/OpenMP/single03.f90
A flang/test/Semantics/OpenMP/single04.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M flang/test/Semantics/abstract02.f90
M flang/test/Semantics/allocate11.f90
M flang/test/Semantics/allocate12.f90
M flang/test/Semantics/array-constr-len.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/assign11.f90
M flang/test/Semantics/associated.f90
M flang/test/Semantics/bind-c09.f90
M flang/test/Semantics/bindings01.f90
A flang/test/Semantics/bug125774.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call06.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call12.f90
M flang/test/Semantics/call24.f90
M flang/test/Semantics/call27.f90
M flang/test/Semantics/change_team01.f90
M flang/test/Semantics/coarrays01.f90
A flang/test/Semantics/coarrays02.f90
M flang/test/Semantics/collectives05.f90
M flang/test/Semantics/coshape.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/deallocate05.f90
M flang/test/Semantics/definable01.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/doconcurrent08.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/form_team01.f90
M flang/test/Semantics/generic07.f90
A flang/test/Semantics/generic13.f90
M flang/test/Semantics/init01.f90
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/io11.f90
M flang/test/Semantics/lockstmt03.f90
A flang/test/Semantics/modfile72.f90
A flang/test/Semantics/modfile73.f90
A flang/test/Semantics/modfile74.f90
M flang/test/Semantics/move_alloc.f90
M flang/test/Semantics/null01.f90
A flang/test/Semantics/pdt04.f90
M flang/test/Semantics/resolve07.f90
M flang/test/Semantics/resolve105.f90
M flang/test/Semantics/resolve117.f90
M flang/test/Semantics/resolve34.f90
M flang/test/Semantics/resolve40.f90
M flang/test/Semantics/resolve50.f90
M flang/test/Semantics/resolve55.f90
M flang/test/Semantics/resolve88.f90
M flang/test/Semantics/resolve94.f90
M flang/test/Semantics/symbol09.f90
M flang/test/Semantics/this_image01.f90
M flang/test/Semantics/unsigned-errors.f90
A flang/test/Transforms/debug-associate-component.fir
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/test/Transforms/omp-map-info-finalization.fir
A flang/test/Transforms/set-runtime-call-attributes.fir
M flang/test/Transforms/simplifyintrinsics.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
M flang/tools/bbc/bbc.cpp
M flang/tools/flang-driver/fc1_main.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/gpu/amdgpu/config.json
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/config.json
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/configure.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/gpu/support.rst
M libc/docs/headers/index.rst
M libc/docs/headers/math/index.rst
R libc/docs/headers/math/stdfix.rst
A libc/docs/headers/stdfix.rst
M libc/docs/talks.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/locale_macros.h
M libc/include/CMakeLists.txt
A libc/include/Uefi.h.def
A libc/include/Uefi.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/EFIAPI-macros.h
M libc/include/llvm-libc-macros/stdfix-macros.h
A libc/include/llvm-libc-macros/sysexits-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/EFI_ALLOCATE_TYPE.h
A libc/include/llvm-libc-types/EFI_BOOT_SERVICES.h
A libc/include/llvm-libc-types/EFI_CAPSULE.h
A libc/include/llvm-libc-types/EFI_CONFIGURATION_TABLE.h
A libc/include/llvm-libc-types/EFI_DEVICE_PATH_PROTOCOL.h
A libc/include/llvm-libc-types/EFI_EVENT.h
A libc/include/llvm-libc-types/EFI_GUID.h
A libc/include/llvm-libc-types/EFI_HANDLE.h
A libc/include/llvm-libc-types/EFI_INTERFACE_TYPE.h
A libc/include/llvm-libc-types/EFI_LOCATE_SEARCH_TYPE.h
A libc/include/llvm-libc-types/EFI_MEMORY_DESCRIPTOR.h
A libc/include/llvm-libc-types/EFI_MEMORY_TYPE.h
A libc/include/llvm-libc-types/EFI_OPEN_PROTOCOL_INFORMATION_ENTRY.h
A libc/include/llvm-libc-types/EFI_PHYSICAL_ADDRESS.h
A libc/include/llvm-libc-types/EFI_RUNTIME_SERVICES.h
A libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_INPUT_PROTOCOL.h
A libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h
A libc/include/llvm-libc-types/EFI_STATUS.h
A libc/include/llvm-libc-types/EFI_SYSTEM_TABLE.h
A libc/include/llvm-libc-types/EFI_TABLE_HEADER.h
A libc/include/llvm-libc-types/EFI_TIME.h
A libc/include/llvm-libc-types/EFI_TIMER_DELAY.h
A libc/include/llvm-libc-types/EFI_TPL.h
A libc/include/llvm-libc-types/EFI_VIRTUAL_ADDRESS.h
M libc/include/math.yaml
M libc/include/stdfix.yaml
M libc/include/stdlib.yaml
M libc/include/strings.yaml
A libc/include/sysexits.h.def
A libc/include/sysexits.yaml
M libc/include/time.yaml
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/big_int.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/float_to_string.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/locale/CMakeLists.txt
M libc/src/locale/duplocale.cpp
M libc/src/locale/freelocale.cpp
M libc/src/locale/locale.cpp
M libc/src/locale/newlocale.cpp
M libc/src/locale/newlocale.h
M libc/src/locale/setlocale.cpp
M libc/src/locale/setlocale.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acosf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
A libc/src/math/generic/acosf16.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/common_constants.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/coshf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f16.cpp
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp10m1f16.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f16.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp2m1f16.cpp
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expf16.cpp
M libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/expm1f16.cpp
M libc/src/math/generic/fmul.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/logf16.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/range_reduction_double_fma.h
M libc/src/math/generic/range_reduction_double_nofma.h
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinhf16.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/tanhf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/bitshk.cpp
A libc/src/stdfix/bitshk.h
A libc/src/stdfix/bitshr.cpp
A libc/src/stdfix/bitshr.h
A libc/src/stdfix/bitsk.cpp
A libc/src/stdfix/bitsk.h
A libc/src/stdfix/bitslk.cpp
A libc/src/stdfix/bitslk.h
A libc/src/stdfix/bitslr.cpp
A libc/src/stdfix/bitslr.h
A libc/src/stdfix/bitsr.cpp
A libc/src/stdfix/bitsr.h
A libc/src/stdfix/bitsuhk.cpp
A libc/src/stdfix/bitsuhk.h
A libc/src/stdfix/bitsuhr.cpp
A libc/src/stdfix/bitsuhr.h
A libc/src/stdfix/bitsuk.cpp
A libc/src/stdfix/bitsuk.h
A libc/src/stdfix/bitsulk.cpp
A libc/src/stdfix/bitsulk.h
A libc/src/stdfix/bitsulr.cpp
A libc/src/stdfix/bitsulr.h
A libc/src/stdfix/bitsur.cpp
A libc/src/stdfix/bitsur.h
A libc/src/stdfix/bitusk.cpp
M libc/src/stdio/generic/fileno.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/char_converter.h
R libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
R libc/src/stdio/printf_core/printf_main.cpp
M libc/src/stdio/printf_core/printf_main.h
M libc/src/stdio/printf_core/ptr_converter.h
M libc/src/stdio/printf_core/strerror_converter.h
M libc/src/stdio/printf_core/string_converter.h
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/write_int_converter.h
R libc/src/stdio/printf_core/writer.cpp
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/a64l.cpp
A libc/src/stdlib/a64l.h
A libc/src/stdlib/l64a.cpp
A libc/src/stdlib/l64a.h
M libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/quick_sort.h
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/string/memory_utils/generic/byte_per_byte.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/string_utils.h
M libc/src/strings/CMakeLists.txt
A libc/src/strings/ffs.cpp
A libc/src/strings/ffs.h
A libc/src/strings/ffsl.cpp
A libc/src/strings/ffsl.h
A libc/src/strings/ffsll.cpp
A libc/src/strings/ffsll.h
A libc/src/strings/strcasecmp_l.cpp
A libc/src/strings/strcasecmp_l.h
A libc/src/strings/strncasecmp_l.cpp
A libc/src/strings/strncasecmp_l.h
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
M libc/src/time/strftime_core/CMakeLists.txt
M libc/src/time/strftime_core/composite_converter.h
R libc/src/time/strftime_core/converter.cpp
M libc/src/time/strftime_core/converter.h
M libc/src/time/strftime_core/num_converter.h
M libc/src/time/strftime_core/str_converter.h
R libc/src/time/strftime_core/strftime_main.cpp
M libc/src/time/strftime_core/strftime_main.h
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/blockstore_test.cpp
M libc/test/src/__support/fixedvector_test.cpp
M libc/test/src/__support/hash_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/locale/CMakeLists.txt
M libc/test/src/locale/locale_test.cpp
M libc/test/src/locale/localeconv_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FModTest.h
A libc/test/src/math/acosf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
A libc/test/src/stdfix/BitsFxTest.h
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/bitshk_test.cpp
A libc/test/src/stdfix/bitshr_test.cpp
A libc/test/src/stdfix/bitsk_test.cpp
A libc/test/src/stdfix/bitslk_test.cpp
A libc/test/src/stdfix/bitslr_test.cpp
A libc/test/src/stdfix/bitsr_test.cpp
A libc/test/src/stdfix/bitsuhk_test.cpp
A libc/test/src/stdfix/bitsuhr_test.cpp
A libc/test/src/stdfix/bitsuk_test.cpp
A libc/test/src/stdfix/bitsulk_test.cpp
A libc/test/src/stdfix/bitsulr_test.cpp
A libc/test/src/stdfix/bitsur_test.cpp
A libc/test/src/stdfix/macros_test.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/printf_core/writer_test.cpp
M libc/test/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
A libc/test/src/stdlib/a64l_test.cpp
A libc/test/src/stdlib/l64a_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/strings/CMakeLists.txt
M libc/test/src/strings/bcopy_test.cpp
A libc/test/src/strings/ffs_test.cpp
A libc/test/src/strings/ffsl_test.cpp
A libc/test/src/strings/ffsll_test.cpp
A libc/test/src/strings/strcasecmp_l_test.cpp
A libc/test/src/strings/strncasecmp_l_test.cpp
M libc/utils/MPCWrapper/CMakeLists.txt
M libc/utils/MPCWrapper/MPCUtils.cpp
M libc/utils/MPCWrapper/MPCUtils.h
A libc/utils/MPCWrapper/mpc_inc.h
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.cpp
R libc/utils/hdrgen/enumeration.py
R libc/utils/hdrgen/function.py
R libc/utils/hdrgen/gpu_headers.py
A libc/utils/hdrgen/hdrgen/__init__.py
A libc/utils/hdrgen/hdrgen/enumeration.py
A libc/utils/hdrgen/hdrgen/function.py
A libc/utils/hdrgen/hdrgen/gpu_headers.py
A libc/utils/hdrgen/hdrgen/header.py
A libc/utils/hdrgen/hdrgen/macro.py
A libc/utils/hdrgen/hdrgen/main.py
A libc/utils/hdrgen/hdrgen/object.py
A libc/utils/hdrgen/hdrgen/type.py
A libc/utils/hdrgen/hdrgen/yaml_functions_sorted.py
A libc/utils/hdrgen/hdrgen/yaml_to_classes.py
R libc/utils/hdrgen/header.py
R libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
R libc/utils/hdrgen/object.py
R libc/utils/hdrgen/type.py
R libc/utils/hdrgen/yaml_functions_sorted.py
M libc/utils/hdrgen/yaml_to_classes.py
M libclc/CMakeLists.txt
M libclc/amdgcn/lib/SOURCES
R libclc/amdgcn/lib/math/ldexp.cl
M libclc/amdgcn/lib/workitem/get_global_size.cl
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/sqrt.cl
M libclc/clc/include/clc/float/definitions.h
A libclc/clc/include/clc/internal/math/clc_sw_fma.h
A libclc/clc/include/clc/math/clc_fma.h
A libclc/clc/include/clc/math/clc_hypot.h
A libclc/clc/include/clc/math/clc_ldexp.h
A libclc/clc/include/clc/math/clc_ldexp.inc
A libclc/clc/include/clc/math/clc_log.h
A libclc/clc/include/clc/math/clc_log10.h
A libclc/clc/include/clc/math/clc_log2.h
A libclc/clc/include/clc/math/clc_nan.h
A libclc/clc/include/clc/math/clc_nan.inc
A libclc/clc/include/clc/math/clc_round.h
A libclc/clc/include/clc/math/clc_rsqrt.h
A libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
A libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
A libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fma.cl
A libclc/clc/lib/generic/math/clc_fma.inc
M libclc/clc/lib/generic/math/clc_frexp.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
A libclc/clc/lib/generic/math/clc_hypot.cl
A libclc/clc/lib/generic/math/clc_hypot.inc
A libclc/clc/lib/generic/math/clc_ldexp.cl
A libclc/clc/lib/generic/math/clc_log.cl
A libclc/clc/lib/generic/math/clc_log10.cl
A libclc/clc/lib/generic/math/clc_log2.cl
A libclc/clc/lib/generic/math/clc_log_base.h
A libclc/clc/lib/generic/math/clc_nan.cl
A libclc/clc/lib/generic/math/clc_nan.inc
A libclc/clc/lib/generic/math/clc_round.cl
A libclc/clc/lib/generic/math/clc_rsqrt.cl
A libclc/clc/lib/generic/math/clc_rsqrt.inc
A libclc/clc/lib/generic/math/clc_sqrt.cl
A libclc/clc/lib/generic/math/clc_sqrt.inc
A libclc/clc/lib/generic/math/clc_sw_fma.cl
A libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_rsqrt_override.cl
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/SOURCES
M libclc/clspv/lib/math/fma.cl
M libclc/generic/include/clc/math/log10.h
R libclc/generic/include/math/binary_intrin.inc
R libclc/generic/include/math/clc_fma.h
R libclc/generic/include/math/clc_hypot.h
R libclc/generic/include/math/clc_ldexp.h
R libclc/generic/include/math/clc_sqrt.h
R libclc/generic/include/math/ternary_intrin.inc
M libclc/generic/lib/SOURCES
M libclc/generic/lib/gen_convert.py
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fma.cl
M libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_hypot.cl
R libclc/generic/lib/math/clc_ldexp.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
R libclc/generic/lib/math/clc_sqrt.cl
R libclc/generic/lib/math/clc_sqrt_impl.inc
M libclc/generic/lib/math/fma.cl
R libclc/generic/lib/math/fma.inc
M libclc/generic/lib/math/hypot.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/ldexp.inc
M libclc/generic/lib/math/log.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log2.cl
R libclc/generic/lib/math/log_base.h
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/rsqrt.cl
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/libclc.pc.in
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/rsqrt.cl
M libclc/spirv/lib/SOURCES
M libclc/spirv/lib/math/fma.cl
R libclc/spirv/lib/math/fma.inc
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/cmake/caches/NVPTX.cmake
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__bit_reference
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/__concepts/class_or_enum.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__config
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/formatter.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/__format/formatter_string.h
M libcxx/include/__functional/hash.h
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
A libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__mdspan/layout_left.h
M libcxx/include/__mdspan/layout_right.h
M libcxx/include/__mdspan/layout_stride.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/shared_count.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__split_buffer
M libcxx/include/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/is_pod.h
A libcxx/include/__type_traits/reference_constructs_from_temporary.h
A libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/no_destroy.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/scope_guard.h
M libcxx/include/__utility/swap.h
M libcxx/include/__vector/comparison.h
M libcxx/include/__vector/vector.h
M libcxx/include/algorithm
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/codecvt
M libcxx/include/cwchar
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iterator
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/module.modulemap
M libcxx/include/regex
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/modules/std/type_traits.inc
M libcxx/test/benchmarks/algorithms/equal.bench.cpp
A libcxx/test/benchmarks/algorithms/swap_ranges.bench.cpp
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_strong.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_weak.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/load.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/store.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/wait.verify.cpp
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
A libcxx/test/libcxx/containers/sequences/forwardlist/bool-conversion.pass.cpp
A libcxx/test/libcxx/containers/sequences/list/list.modifiers/bool-conversion.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
A libcxx/test/libcxx/strings/basic.string/nonnull.verify.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
R libcxx/test/libcxx/utilities/no_specializations.verify.cpp
A libcxx/test/libcxx/utilities/tuple/no_specializations.verify.cpp
A libcxx/test/libcxx/utilities/variant/no_specializations.verify.cpp
M libcxx/test/libcxx/xopen_source.gen.py
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges_rotate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
A libcxx/test/std/containers/sequences/vector.bool/reference/ctor_no_default.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_nonunicode.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
M libcxx/test/std/input.output/iostream.format/std.manip/setfill_wchar_max.pass.cpp
M libcxx/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp
A libcxx/test/std/language.support/support.initlist/support.initlist.syn/specialization.verify.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
A libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.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.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.moneypunct.byname/thousands_sep.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/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/awk.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/basic.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/ecma.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/extended.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/awk.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/basic.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/ecma.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/extended.locale.pass.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.comp/equal.pass.cpp
M libcxx/test/std/re/re.traits/lookup_collatename.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp
M libcxx/test/std/strings/strings.erasure/erase.pass.cpp
M libcxx/test/std/strings/strings.erasure/erase_if.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.locking/enable_nonlocking_formatter_optimization.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/common.h
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp
A libcxx/test/std/utilities/template.bitset/bitset.members/reference.ctor_no_default.compile.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
M libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
M libcxx/test/support/increasing_allocator.h
M libcxx/test/support/locale_helpers.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/test_iterators.h
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/ci/run-buildbot-container
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/params.py
M libunwind/src/Registers.hpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Options.td
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/Writer.cpp
A lld/test/COFF/Inputs/defaultlib.yaml
A lld/test/COFF/arm64x-comm.s
A lld/test/COFF/arm64x-guardcf.s
M lld/test/COFF/arm64x-includeoptional.s
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/autoimport-arm64-data.s
M lld/test/COFF/autoimport-arm64ec-data.test
A lld/test/COFF/autoimport-arm64x-data.test
M lld/test/COFF/build-id-sym.s
A lld/test/COFF/gc-dwarf-eh-arm64x.s
M lld/test/COFF/nodefaultlib.test
M lld/test/ELF/aarch64-bti-pac-cli-error.s
A lld/test/ELF/aarch64-execute-only-report.s
M lld/test/ELF/aarch64-feature-bti.s
M lld/test/ELF/aarch64-feature-pauth.s
M lld/test/ELF/aarch64-relocs.s
A lld/test/ELF/arm-execute-only-report.s
M lld/test/ELF/i386-feature-cet.s
M lld/test/ELF/linkerscript/lma-align.test
A lld/test/ELF/linkerscript/overlay-keep.test
M lld/test/ELF/linkerscript/section-address-align.test
M lld/test/ELF/linkerscript/section-align2.test
M lld/test/ELF/linkerscript/section-class.test
M lld/test/ELF/linkerscript/symbol-assign-many-passes2.test
A lld/test/ELF/loongarch-relax-call36-2.s
A lld/test/ELF/loongarch-relax-call36.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-tls-le.s
M lld/test/ELF/loongarch-tls-gd.s
M lld/test/ELF/loongarch-tls-ld.s
M lld/test/ELF/loongarch-tls-le.s
M lld/test/ELF/target-specific-options.s
M lld/test/ELF/x86-64-feature-cet.s
M lld/test/wasm/emit-relocs.s
M lld/test/wasm/initial-heap.test
M lld/test/wasm/mutable-global-exports.s
A lld/test/wasm/page-size.s
A lld/test/wasm/rpath.s
M lld/test/wasm/shared-memory.yaml
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputChunks.h
M lld/wasm/Options.td
M lld/wasm/OutputSections.cpp
M lld/wasm/OutputSections.h
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lld/wasm/WriterUtils.cpp
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBProgressDocstrings.i
M lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
M lldb/cmake/modules/FindCursesAndPanel.cmake
M lldb/docs/resources/build.rst
M lldb/docs/use/symbolfilejson.rst
M lldb/examples/python/crashlog.py
M lldb/examples/python/delta.py
A lldb/examples/python/fzf_history.py
M lldb/examples/python/gdbremote.py
M lldb/examples/python/jump.py
M lldb/examples/python/performance.py
M lldb/examples/python/symbolication.py
M lldb/include/lldb/API/SBProgress.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Core/Section.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Expression/IRExecutionUnit.h
R lldb/include/lldb/Host/Alarm.h
A lldb/include/lldb/Host/MemoryMonitor.h
M lldb/include/lldb/Host/PipeBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/Host/posix/PipePosix.h
M lldb/include/lldb/Host/windows/PipeWindows.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/ABI.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/ThreadPlanShouldStopHere.h
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectCast.h
M lldb/include/lldb/ValueObject/ValueObjectChild.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/include/lldb/ValueObject/ValueObjectDynamicValue.h
M lldb/include/lldb/ValueObject/ValueObjectMemory.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/include/lldb/ValueObject/ValueObjectVTable.h
M lldb/include/lldb/ValueObject/ValueObjectVariable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/test_categories.py
M lldb/packages/Python/lldbsuite/test/test_runner/process_control.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBProgress.cpp
M lldb/source/API/SBType.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Core/Value.cpp
M lldb/source/DataFormatters/TypeFormat.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/ExpressionVariable.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/Host.cpp
R lldb/source/Host/common/Alarm.cpp
A lldb/source/Host/common/MemoryMonitor.cpp
M lldb/source/Host/common/PipeBase.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/Host.mm
A lldb/source/Host/macosx/objcxx/MemoryMonitorMacOSX.mm
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/posix/MainLoopPosix.cpp
M lldb/source/Host/posix/PipePosix.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.h
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.h
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.h
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.h
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.h
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.h
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.h
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.h
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.h
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.h
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.h
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.h
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
M lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
A lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
A lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
M lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanCallFunction.cpp
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectCast.cpp
M lldb/source/ValueObject/ValueObjectChild.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/source/ValueObject/ValueObjectDynamicValue.cpp
M lldb/source/ValueObject/ValueObjectMemory.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
M lldb/source/ValueObject/ValueObjectVariable.cpp
M lldb/test/API/commands/command/backticks/TestBackticksInAlias.py
M lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py
M lldb/test/API/commands/register/register/TestRegistersUnavailable.py
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/target/basic/TestTargetCommand.py
M lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py
M lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
M lldb/test/API/commands/trace/TestTraceDumpInfo.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
M lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
M lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/functionalities/data-formatter/type_summary_list_arg/TestTypeSummaryListArg.py
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
M lldb/test/API/functionalities/json/object-file/TestObjectFileJSON.py
M lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
M lldb/test/API/functionalities/target_var/TestTargetVar.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/set_values/TestSetValues.py
M lldb/test/API/lang/c/strings/TestCStrings.py
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py
M lldb/test/API/lang/cpp/class_static/TestStaticVariables.py
M lldb/test/API/lang/cpp/class_types/TestClassTypes.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
M lldb/test/API/lang/cpp/unsigned_types/TestUnsignedTypes.py
M lldb/test/API/lang/mixed/TestMixedLanguages.py
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py
M lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py
M lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py
M lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
M lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py
M lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py
M lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
A lldb/test/API/macosx/no-nlist-memory-module/Makefile
A lldb/test/API/macosx/no-nlist-memory-module/NoNlists.mk
A lldb/test/API/macosx/no-nlist-memory-module/TestNoNlistsDylib.py
A lldb/test/API/macosx/no-nlist-memory-module/has-nlists.c
A lldb/test/API/macosx/no-nlist-memory-module/main.c
A lldb/test/API/macosx/no-nlist-memory-module/no-nlist-sect.s
A lldb/test/API/macosx/no-nlist-memory-module/no-nlists.c
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
M lldb/test/API/python_api/address_range/TestAddressRange.py
M lldb/test/API/python_api/run_locker/TestRunLocker.py
M lldb/test/API/python_api/sbprogress/TestSBProgress.py
M lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
A lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
A lldb/test/API/tools/lldb-dap/server/Makefile
A lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
A lldb/test/API/tools/lldb-dap/server/main.c
A lldb/test/API/tools/lldb-dap/source/Makefile
A lldb/test/API/tools/lldb-dap/source/TestDAP_source.py
A lldb/test/API/tools/lldb-dap/source/main.c
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/test/API/tools/lldb-dap/variables/children/main.cpp
M lldb/test/API/tools/lldb-dap/variables/main.cpp
M lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/TestPtyServer.py
M lldb/test/API/tools/lldb-server/main.cpp
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
M lldb/test/API/types/AbstractBase.py
A lldb/test/Shell/Commands/command-statistics-dump.test
M lldb/test/Shell/DAP/TestOptions.test
M lldb/test/Shell/SymbolFile/DWARF/x86/class-type-nullptr-deref.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-signature-loop.s
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/DAPLog.h
A lldb/tools/lldb-dap/EventHelper.cpp
A lldb/tools/lldb-dap/EventHelper.h
A lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
A lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
A lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/ResponseHandler.cpp
A lldb/tools/lldb-dap/Handler/ResponseHandler.h
A lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
R lldb/tools/lldb-dap/IOStream.cpp
R lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
A lldb/tools/lldb-dap/Protocol.cpp
A lldb/tools/lldb-dap/Protocol.h
M lldb/tools/lldb-dap/RunInTerminal.cpp
M lldb/tools/lldb-dap/RunInTerminal.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
A lldb/tools/lldb-dap/Transport.cpp
A lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/unittests/API/CMakeLists.txt
M lldb/unittests/API/SBCommandInterpreterTest.cpp
A lldb/unittests/API/SBLineEntryTest.cpp
M lldb/unittests/Callback/TestBreakpointSetCallback.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/Core/TelemetryTest.cpp
R lldb/unittests/Host/AlarmTest.cpp
M lldb/unittests/Host/CMakeLists.txt
M lldb/unittests/Host/PipeTest.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Symbol/SymtabTest.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
M lldb/unittests/Utility/AnsiTerminalTest.cpp
M lldb/unittests/Utility/XcodeSDKTest.cpp
M lldb/utils/lui/sourcewin.py
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/AMDGPUUsage.rst
A llvm/docs/CIBestPractices.rst
M llvm/docs/CodeReview.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/GetElementPtr.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GitHub.rst
M llvm/docs/HowToCrossCompileLLVM.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
M llvm/examples/Kaleidoscope/MCJIT/cached/toy.cpp
M llvm/examples/OrcV2Examples/LLJITDumpObjects/LLJITDumpObjects.cpp
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/OrcV2Examples/LLJITWithLazyReexports/LLJITWithLazyReexports.cpp
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/GenericUniformityInfo.h
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/ADT/ilist_node.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
A llvm/include/llvm/CodeGen/BranchFoldingPass.h
M llvm/include/llvm/CodeGen/ByteProvider.h
M llvm/include/llvm/CodeGen/CalcSpillWeights.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/DIE.h
M llvm/include/llvm/CodeGen/DetectDeadLanes.h
M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
A llvm/include/llvm/CodeGen/ExpandPostRAPseudos.h
M llvm/include/llvm/CodeGen/FastISel.h
A llvm/include/llvm/CodeGen/FixupStatepointCallerSaved.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LiveInterval.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/LiveRangeCalc.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/LiveRegUnits.h
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineCycleAnalysis.h
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
A llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
A llvm/include/llvm/CodeGen/MachineSink.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/PatchableFunction.h
M llvm/include/llvm/CodeGen/RDFRegisters.h
A llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/RegisterPressure.h
A llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
R llvm/include/llvm/ExecutionEngine/Orc/EPCEHFrameRegistrar.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
A llvm/include/llvm/ExecutionEngine/Orc/GetDylibInterface.h
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Analysis.h
M llvm/include/llvm/IR/CallingConv.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.def
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/legacy/LTOModule.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmMacro.h
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCFixup.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/ObjectYAML/WasmYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/SandboxIR/Region.h
A llvm/include/llvm/Support/AArch64AttributeParser.h
M llvm/include/llvm/Support/AArch64BuildAttributes.h
M llvm/include/llvm/Support/ARMAttributeParser.h
M llvm/include/llvm/Support/AlignOf.h
M llvm/include/llvm/Support/CSKYAttributeParser.h
M llvm/include/llvm/Support/ConvertUTF.h
A llvm/include/llvm/Support/ELFAttrParserCompact.h
A llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/include/llvm/Support/ELFAttributeParser.h
M llvm/include/llvm/Support/ELFAttributes.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/ErrorOr.h
M llvm/include/llvm/Support/HexagonAttributeParser.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/LockFileManager.h
M llvm/include/llvm/Support/MSP430AttributeParser.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/Support/ModRef.h
A llvm/include/llvm/Support/Mustache.h
M llvm/include/llvm/Support/RISCVAttributeParser.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Support/TrailingObjects.h
M llvm/include/llvm/Support/TypeName.h
M llvm/include/llvm/Support/thread.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/ControlFlowUtils.h
A llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Debug.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CostModel.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/InlineAdvisor.cpp
M llvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ProfileSummaryInfo.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/UniformityAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
Log Message:
-----------
Merge branch 'main' into users/meinersbur/flang_runtime_remove-FLANG_INCLUDE_RUNTIME
Compare: https://github.com/llvm/llvm-project/compare/2bf7d33978d9...85e290b2f69f
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