[all-commits] [llvm/llvm-project] 06a3ab: [AMDGPU][NewPM] Port "SIFormMemoryClauses" to NPM ...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Thu Feb 27 07:48:43 PST 2025
Branch: refs/heads/users/aaupov/spr/bolt-fix-merge-fdata-for-memory-events
Home: https://github.com/llvm/llvm-project
Commit: 06a3abd9e85d89a3b2b1b5024b328d1047d40c2a
https://github.com/llvm/llvm-project/commit/06a3abd9e85d89a3b2b1b5024b328d1047d40c2a
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 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/SIFormMemoryClauses.cpp
A llvm/lib/Target/AMDGPU/SIFormMemoryClauses.h
M llvm/test/CodeGen/AMDGPU/limit-soft-clause-reg-pressure.mir
M llvm/test/CodeGen/AMDGPU/memory_clause.mir
M llvm/test/CodeGen/AMDGPU/reserved-reg-in-clause.mir
M llvm/test/CodeGen/AMDGPU/smem-no-clause-coalesced.mir
M llvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
Log Message:
-----------
[AMDGPU][NewPM] Port "SIFormMemoryClauses" to NPM (#127181)
Commit: f1627e1a9e2482106ba2ea3bcd22ecaff257950d
https://github.com/llvm/llvm-project/commit/f1627e1a9e2482106ba2ea3bcd22ecaff257950d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R clang/test/AST/ByteCode/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
R clang/test/AST/ByteCode/non-const-local-temporary.cpp
Log Message:
-----------
[clang][bytecode][NFC] Move reduced libcxx tests to a subdir (#127438)
Commit: 02d4aac55cdd1760ba9cda4aa512fe1a0240bf86
https://github.com/llvm/llvm-project/commit/02d4aac55cdd1760ba9cda4aa512fe1a0240bf86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[AMDGPU] Remove materializeImmediate (#127420)
The lase use was removed in:
commit cbf34a5f7701148d68951320a72f483849b22eaf
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: Fri Aug 23 14:06:17 2024 +0200
Commit: 36f8c8b43836775c3d9d8da63b97d984b19853d1
https://github.com/llvm/llvm-project/commit/36f8c8b43836775c3d9d8da63b97d984b19853d1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix rejecting non-constexpr array ctors (#127448)
We shouldn't abort here when compiling, this is happening (and properly
diagnosed) when interpreting the bytecode.
Commit: de06978ebcff5f75913067b019d2d522d0be0872
https://github.com/llvm/llvm-project/commit/de06978ebcff5f75913067b019d2d522d0be0872
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127445)
Commit: 86d82228a58071a68d7ac450af18eadd641f3477
https://github.com/llvm/llvm-project/commit/86d82228a58071a68d7ac450af18eadd641f3477
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/tools/dsymutil/BinaryHolder.cpp
Log Message:
-----------
[dsymutil] Avoid repeated hash lookups (NFC) (#127449)
Commit: 153dd19e3057169e6935027ffbc84b62b392aa35
https://github.com/llvm/llvm-project/commit/153dd19e3057169e6935027ffbc84b62b392aa35
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Log Message:
-----------
[SelectionDAG] Remove lowerCallToExternalSymbol (#127408)
The last use was removed in:
commit 05e6bb40ebfd285cc87f7ce326b7ba76c3c7f870
Author: Roger Ferrer Ibáñez <rofirrim at gmail.com>
Date: Thu May 30 14:55:32 2024 +0200
Commit: b16ce8fc24f32aa0614562de0a2d0916118398fb
https://github.com/llvm/llvm-project/commit/b16ce8fc24f32aa0614562de0a2d0916118398fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 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-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.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-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
Log Message:
-----------
[X86] getFauxShuffleMask - match 256-bit CONCAT(SUB0, SUB1) 64-bit elt patterns as well as 512-bit (#127392)
The 512-bit filter was to prevent AVX1/2 regressions, but most of that is now handled by canonicalizeShuffleWithOp
Ideally we need to support smaller element widths as well.
Noticed while triaging #116931
Commit: 6684a5970e74b8b4c0c83361a90e25dae9646db0
https://github.com/llvm/llvm-project/commit/6684a5970e74b8b4c0c83361a90e25dae9646db0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
Log Message:
-----------
[analyzer][NFC] Trivial cleanup in ArrayBoundChecker (#126941)
Two small stylistic improvements in code that I wrote ~a year ago:
1. fix a typo in a comment; and
2. simplify the code of `tryDividePair` by swapping the true and the
false branches.
Commit: 94585dc59de23c52274fc542df7b821c7e6bb326
https://github.com/llvm/llvm-project/commit/94585dc59de23c52274fc542df7b821c7e6bb326
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Add test coverage for #116931
Commit: 948a8477c6a966ee8509400d2857706e933f4149
https://github.com/llvm/llvm-project/commit/948a8477c6a966ee8509400d2857706e933f4149
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/extend-shuffles.ll
M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
Log Message:
-----------
[WebAssembly] Recognise EXTEND_HIGH (#123325)
When lowering EXTEND_VECTOR_INREG, check whether the operand is a
shuffle that is moving the top half of a vector into the lower half. If
so, we can EXTEND_HIGH the input to the shuffle instead.
Commit: ea7897a617b897f87f148db48cda9fcc7c1c53dc
https://github.com/llvm/llvm-project/commit/ea7897a617b897f87f148db48cda9fcc7c1c53dc
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/CodeGen/WebAssembly/interleave.ll
Log Message:
-----------
[WebAssembly] Enable interleaved memory accesses (#125696)
Enable the vectorizer to access interleaved memory. This means that,
when it's decided to be profitable, the memory accesses can be
vectorized instead of the value being built up by a sequence of
load_lane instructions. This will often increase the vectorization
factor of the loop, leading to significantly better performance.
I run a reasonably large collection of benchmarks and most are not
affected by this change, with most performance changes <1%. But I see a
2.5% speedup for the total run time of TSVC, 1% speedup for SPEC2017
x265, 28% speedup for a ResNet workload and 95% for libyuv. This is
running V8 on an AArch64 box.
Commit: e0545b5c6d54dcf3e3ef84cbf9695bb1aecd87db
https://github.com/llvm/llvm-project/commit/e0545b5c6d54dcf3e3ef84cbf9695bb1aecd87db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Remove getGuaranteedWellDefinedOps (#127453)
The last use was removed in:
commit ac9e67756e0157793d565c2cceaf82e4403f58ba
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: Mon Feb 26 01:53:16 2024 +0800
Commit: b9c6d3ed26789c33fc7f959198e4459ec4e1d3ac
https://github.com/llvm/llvm-project/commit/b9c6d3ed26789c33fc7f959198e4459ec4e1d3ac
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Avoid repeated hash lookups (NFC) (#127443)
Commit: ff4e21fccc439085f6381076a2ac7d9fa371ab29
https://github.com/llvm/llvm-project/commit/ff4e21fccc439085f6381076a2ac7d9fa371ab29
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated hash lookups (NFC) (#127444)
Commit: fb14638817004dc96c9401d7f704d7e5cd0ef3fc
https://github.com/llvm/llvm-project/commit/fb14638817004dc96c9401d7f704d7e5cd0ef3fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#127446)
Commit: d49776634e3c4bd62649e8e0fc0ff44951413c69
https://github.com/llvm/llvm-project/commit/d49776634e3c4bd62649e8e0fc0ff44951413c69
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
Log Message:
-----------
[Hexagon] Avoid repeated map lookups (NFC) (#127447)
Commit: 82dc2d403066a84ef0051b06f1d179e00331f319
https://github.com/llvm/llvm-project/commit/82dc2d403066a84ef0051b06f1d179e00331f319
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[clang][Modules] Remove a resloved issue from StandardCPlusPlusModules.rst
The issue has been fixed in https://github.com/llvm/llvm-project/pull/122726
Commit: 262e4c19878175780c88da867e88fc4e202d4788
https://github.com/llvm/llvm-project/commit/262e4c19878175780c88da867e88fc4e202d4788
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Revert "[clang][Modules] Remove a resloved issue from StandardCPlusPlusModules.rst"
This reverts commit 82dc2d403066a84ef0051b06f1d179e00331f319.
The fix has been reverted in f63e8ed16ef1fd2deb80cd88b5ca9d5b631b1c36
Commit: e0e67a62076ad56f48c64a7cd2ebf5754b8326b7
https://github.com/llvm/llvm-project/commit/e0e67a62076ad56f48c64a7cd2ebf5754b8326b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
A llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
A llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
Log Message:
-----------
[LV] Add initial support for vectorizing literal struct return values (#109833)
This patch adds initial support for vectorizing literal struct return
values. Currently, this is limited to the case where the struct is
homogeneous (all elements have the same type) and not packed. The users
of the call also must all be `extractvalue` instructions.
The intended use case for this is vectorizing intrinsics such as:
```
declare { float, float } @llvm.sincos.f32(float %x)
```
Mapping them to structure-returning library calls such as:
```
declare { <4 x float>, <4 x float> } @Sleef_sincosf4_u10advsimd(<4 x float>)
```
Or their widened form (such as `@llvm.sincos.v4f32` in this case).
Implementing this required two main changes:
1. Supporting widening `extractvalue`
2. Adding support for vectorized struct types in LV
* This is mostly limited to parts of the cost model and scalarization
Since the supported use case is narrow, the required changes are
relatively small.
Commit: c1a229252617ed58f943bf3f4698bd8204ee0f04
https://github.com/llvm/llvm-project/commit/c1a229252617ed58f943bf3f4698bd8204ee0f04
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
M mlir/include/mlir/Conversion/AffineToStandard/AffineToStandard.h
M mlir/include/mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h
M mlir/include/mlir/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.h
M mlir/include/mlir/Conversion/ArmSMEToSCF/ArmSMEToSCF.h
M mlir/include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h
M mlir/include/mlir/Conversion/ComplexToLibm/ComplexToLibm.h
M mlir/include/mlir/Conversion/ComplexToStandard/ComplexToStandard.h
M mlir/include/mlir/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.h
M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
M mlir/include/mlir/Conversion/FuncToSPIRV/FuncToSPIRVPass.h
M mlir/include/mlir/Conversion/LinalgToStandard/LinalgToStandard.h
M mlir/include/mlir/Conversion/MathToLibm/MathToLibm.h
M mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h
M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h
M mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
M mlir/include/mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h
M mlir/include/mlir/Conversion/PDLToPDLInterp/PDLToPDLInterp.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.h
M mlir/include/mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h
M mlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
M mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
M mlir/include/mlir/Conversion/TensorToLinalg/TensorToLinalgPass.h
M mlir/include/mlir/Conversion/TensorToSPIRV/TensorToSPIRVPass.h
M mlir/include/mlir/Conversion/TosaToArith/TosaToArith.h
M mlir/include/mlir/Conversion/TosaToSCF/TosaToSCF.h
M mlir/include/mlir/Conversion/TosaToTensor/TosaToTensor.h
M mlir/include/mlir/Conversion/VectorToArmSME/VectorToArmSME.h
M mlir/include/mlir/Conversion/VectorToSPIRV/VectorToSPIRVPass.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TensorToLinalg/TensorToLinalgPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
M mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensorPass.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
Log Message:
-----------
[MLIR][NFC] Retire `let constructor` for passes in Conversion directory (part1) (#127403)
`let constructor` is deprecated since the table gen backend emits most
of the glue logic to build a pass. This PR retires the td method for
most (I need another pass) passes in the Conversion directory.
Commit: 501c77da6024959438c92f33bd997fe6f39e6b6c
https://github.com/llvm/llvm-project/commit/501c77da6024959438c92f33bd997fe6f39e6b6c
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
A lld/test/ELF/arm-thumb-jump8-11.s
Log Message:
-----------
[LLD][ELF][ARM] Fix resolution of R_ARM_THM_JUMP8 and R_ARM_THM_JUMP11 for big endian (#126933)
These relocations apply to 16-bit Thumb instructions, so reading 16 bits
rather than 32 bits ensures the correct bits are masked and written
back. This fixes the incorrect masking and aligns the relocation logic
with the instruction encoding.
Before this patch, 32 bits were read from the ELF object. This did not
align with the instruction size of 16 bits, but the masking incidentally
made it all work nonetheless. However, this was the case only in little
endian.
In big endian mode, the read 32-bit word had to have its bytes reversed.
With this byte reordering, the masking would be applied to the wrong
bits, hence causing the incorrect encoding to be produced as a result of
the relocation resolution.
The added test checks the result for both little and big endian modes.
Commit: f378e52ed3c6f8da4973f97f1ef043c2eb0da721
https://github.com/llvm/llvm-project/commit/f378e52ed3c6f8da4973f97f1ef043c2eb0da721
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Analysis/LiveVariables.cpp
M clang/test/Analysis/live-stmts.cpp
Log Message:
-----------
[clang][analysis] Fix flaky clang/test/Analysis/live-stmts.cpp test (2nd attempt) (#127406)
In my previous attempt (#126913) of fixing the flaky case was on a good
track when I used the begin locations as a stable ordering. However, I
forgot to consider the case when the begin locations are the same among
the Exprs.
In an `EXPENSIVE_CHECKS` build, arrays are randomly shuffled prior to
sorting them. This exposed the flaky behavior much more often basically
breaking the "stability" of the vector - as it should.
Because of this, I had to revert the previous fix attempt in #127034.
To fix this, I use this time `Expr::getID` for a stable ID for an Expr.
Hopefully fixes #126619
Hopefully fixes #126804
Commit: b3028295e741159e5014c126cd74988785fe8bdb
https://github.com/llvm/llvm-project/commit/b3028295e741159e5014c126cd74988785fe8bdb
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
Log Message:
-----------
[mlir][linalg] Remove `computeStaticLoopSizes` (#124778)
`computeStaticLoopSizes()` is functionally identical to `getStaticLoopRanges()`.
Replace all uses of `computeStaticLoopSizes()` by `getStaticLoopRanges()` and remove the former.
Commit: f09fd94d6b40a80e18093fdfc7d9b199210f69fd
https://github.com/llvm/llvm-project/commit/f09fd94d6b40a80e18093fdfc7d9b199210f69fd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Program.h
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
Log Message:
-----------
[clang][bytecode] Restructure Program::CurrentDeclaration handling (#127456)
Properly reset to the last ID and return the current ID from
getCurrentDecl().
Commit: 9d24f943794420e512512eb9329341355e9289f8
https://github.com/llvm/llvm-project/commit/9d24f943794420e512512eb9329341355e9289f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - remove duplicate DAG.getContext() call. NFC.
Commit: 517800e37e8d3a4ee84214bef65e227612c2a98b
https://github.com/llvm/llvm-project/commit/517800e37e8d3a4ee84214bef65e227612c2a98b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
A mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
R mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
A mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
R mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/fold-empty-op.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
A mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Linalg/td/decompose-pack.mlir
M mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
A mlir/test/Dialect/Linalg/transform-op-tile-pack-unpack.mlir
M mlir/test/Dialect/Linalg/transform-pack-greedily.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
R mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
M mlir/test/Transforms/loop-invariant-code-motion.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
Log Message:
-----------
[mlir][tensor][linalg] Move Pack/UnPack Ops to Linalg (#123902)
Moves `PackOp` and `UnPackOp` from the Tensor dialect to Linalg. This change
was discussed in the following RFC:
* https://discourse.llvm.org/t/rfc-move-tensor-pack-and-tensor-unpack-into-linalg
This change involves significant churn but only relocates existing code - no new
functionality is added.
**Note for Downstream Users**
Downstream users must update references to `PackOp` and `UnPackOp` as follows:
* Code: `s/tensor::(Up)PackOp/linalg::(Un)PackOp/g`
* Tests: `s/tensor.(un)pack/linalg.(un)pack/g`
No other modifications should be required.
Commit: 02c44ce6c6b2ec595e863a2cc8eacbe11c579d7c
https://github.com/llvm/llvm-project/commit/02c44ce6c6b2ec595e863a2cc8eacbe11c579d7c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
Log Message:
-----------
Reformat reglists in SystemZMCTargetDesc.cpp (NFC) (#127472)
Commit: 837b89fc0fc6d0ae7f68e835789ee62580314dcc
https://github.com/llvm/llvm-project/commit/837b89fc0fc6d0ae7f68e835789ee62580314dcc
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/NVVMAttachTarget.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
A mlir/test/Dialect/GPU/nvvm-attach-target.mlir
A mlir/test/Integration/GPU/CUDA/command-line-arg.mlir
Log Message:
-----------
[MLIR][NVVM] Add `ptxas-cmd-options` to pass flags to the downstream compiler (#127457)
This PR adds `cmd-options` to the `gpu-lower-to-nvvm-pipeline` pipeline
and the `nvvm-attach-target` pass, allowing users to pass flags to the
downstream compiler, *ptxas*.
Example:
```
mlir-opt -gpu-lower-to-nvvm-pipeline="cubin-chip=sm_80 ptxas-cmd-options='-v --register-usage-level=8'"
```
Commit: a177be5528337575ee1b7079958d4250b2eb749f
https://github.com/llvm/llvm-project/commit/a177be5528337575ee1b7079958d4250b2eb749f
Author: gdehame <145553531+gdehame at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
Log Message:
-----------
[mlir][Linalg] Bugfix in decompose generic by unfolding permutation (#126737)
The pattern was returning success() by default which made the greedy
pattern application act as if the IR was modified and even though
nothing was changed and thus it can prevent it from converging for no
legitimate reason.
The patch makes the rewrite pattern return failure() by default and
success() if and only if the IR changed.
An example of unexpected behavior is by running `mlir-opt input.mlir
--linalg-specialize-generic-ops`, we obtain an empty mlir as output with
`input.mlir` as follows:
```
#map = affine_map<(d0) -> (d0)>
func.func @f(%arg0: tensor<8xi32>, %arg1: tensor<8xi32>) -> tensor<8xi32> {
%0 = tensor.empty() : tensor<8xi32>
%1 = linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = ["parallel"]} ins(%arg0, %arg1: tensor<8xi32>, tensor<8xi32>) outs(%0: tensor<8xi32>) {
^bb0(%in: i32, %in_0: i32, %out: i32):
%2 = arith.addi %in, %in_0: i32
linalg.yield %2: i32
} -> tensor<8xi32>
return %1 : tensor<8xi32>
}
```
Commit: 80b08d1bb803a2ee0af7ae5661dc8f2444d97a41
https://github.com/llvm/llvm-project/commit/80b08d1bb803a2ee0af7ae5661dc8f2444d97a41
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSchedule.td
A llvm/test/TableGen/PerWriteCycleCount.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Add support for per-write cycle tunables (#125870)
This patch adds support for describing per-write resource cycle counts
for ReadAdvance records via a new optional field called `tunables`.
This makes it possible to declare ReadAdvance records such as:
def : ReadAdvance<Read_C, 1, [Write_A, Write_B], [2]>;
The above will effectively declare two entries in the ReadAdvance
table for Read_C, one for Write_A with a cycle count of 1+2, and one for
Write_B with a cycle count of 1+0 (omitted values are assumed 0).
The field `tunables` provides a list of deltas relative to the base
`cycle` count of the ReadAdvance. Since the field is optional and
defaults to a list of 0's, this change doesn't affect current targets.
Commit: 43d308dd0d9ef18d35ea6dcc9283fcbc93066820
https://github.com/llvm/llvm-project/commit/43d308dd0d9ef18d35ea6dcc9283fcbc93066820
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M compiler-rt/lib/builtins/arm/negdf2vfp.S
Log Message:
-----------
[compiler-rt] Add support for big endian for Arm's __negdf2vfp (#127096)
In soft floating-point ABI, this function takes the double argument as a
pair of registers r0 and r1.
The ordering of these two registers follow the endianness rules,
therefore the register on which the bit flipping must happen depends on
the endianness.
Commit: 4c4fc4650fa66361f19f8c8b60768987fe48a90f
https://github.com/llvm/llvm-project/commit/4c4fc4650fa66361f19f8c8b60768987fe48a90f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/test/CMakeLists.txt
M flang-rt/test/lit.cfg.py
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
Log Message:
-----------
[Flang-RT] Build libflang_rt.so (#121782)
Under non-Windows platforms, also create a dynamic library version of
the runtime. Build of either version of the library can be switched on
using FLANG_RT_ENABLE_STATIC=ON respectively FLANG_RT_ENABLE_SHARED=ON.
Default is to build only the static library, consistent with previous
behaviour. This is because the way the flang driver invokes the linker,
most linkers choose the dynamic library by default, if available.
Building the dynamic library therefore causes flang-built executables to
depend on `libflang_rt.so`, unless explicitly told otherwise.
Commit: 9c9157b25662cedd63426f02cdbde7853454b38e
https://github.com/llvm/llvm-project/commit/9c9157b25662cedd63426f02cdbde7853454b38e
Author: Dinu Blanovschi <git at dnbln.dev>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
Log Message:
-----------
Fix typo in LangImpl03.rst (#127389)
Commit: 8eba128b2dac8e405b663ef602f85469c3d6edb8
https://github.com/llvm/llvm-project/commit/8eba128b2dac8e405b663ef602f85469c3d6edb8
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: exhaustively test makeExactICmpRegion (#127058)
Exhaustively test makeExactICmpRegion by comparing makeAllowedICmpRegion
against makeSatisfyingICmpRegion for all APInts.
Commit: 81a8b2004508a47f733bd8d1c063f7333577cf59
https://github.com/llvm/llvm-project/commit/81a8b2004508a47f733bd8d1c063f7333577cf59
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[SystemZ][z/OS] Define _XOPEN_SOURCE=600 for dlopen (#127254)
On z/OS, dlopen is guarded by _XOPEN_SOURCE=600 so define it when
checking for the symbol.
Commit: f4206f92c5f900a4e0fc0f6dcab6afb6865df1e9
https://github.com/llvm/llvm-project/commit/f4206f92c5f900a4e0fc0f6dcab6afb6865df1e9
Author: Yuriy Chernyshov <thegeorg at yandex-team.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libunwind/src/Unwind-wasm.c
Log Message:
-----------
[libunwind] Silence -Wunused-parameter warnings in Unwind-wasm.c (#125412)
Commit: 9c49b188b8e1434eb774ee8422124ad3e8870dce
https://github.com/llvm/llvm-project/commit/9c49b188b8e1434eb774ee8422124ad3e8870dce
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix false positive regression for lifetime analysis warning. (#127460)
This fixes a false positive caused by #114044.
For `GSLPointer*` types, it's less clear whether the lifetime issue is
about the GSLPointer object itself or the owner it points to. To avoid
false positives, we take a conservative approach in our heuristic.
Fixes #127195
(This will be backported to release 20).
Commit: 949e4041c9927a68a39bf42c71bc73728919505f
https://github.com/llvm/llvm-project/commit/949e4041c9927a68a39bf42c71bc73728919505f
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Add watchOS and tvOS checks for aligned_alloc (#126862)
Adds the equivalent watchOS and tvOS version checks to check for support
for aligned_alloc, we already have macOS and iOS checks.
Commit: d25becaa2079b19e475902ca712cad5df3e660ee
https://github.com/llvm/llvm-project/commit/d25becaa2079b19e475902ca712cad5df3e660ee
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/docs/PassManagement.md
Log Message:
-----------
[MLIR][Doc] Update the pass infra doc to advise against `let constructor = ` (NFC)
We should avoid specifying it manually and instead rely on TableGen, see also
cleanups in #127403
Commit: 18ea6c928088cf9ad2a990bfcca546c608825a7f
https://github.com/llvm/llvm-project/commit/18ea6c928088cf9ad2a990bfcca546c608825a7f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
Log Message:
-----------
AMDGPU: Stop emitting an error on illegal addrspacecasts (#127487)
These cannot be static compile errors, and should be treated as
poison. Invalid casts may be introduced which are dynamically dead.
For example:
```
void foo(volatile generic int* x) {
__builtin_assume(is_shared(x));
*x = 4;
}
void bar() {
private int y;
foo(&y); // violation, wrong address space
}
```
This could produce a compile time backend error or not depending on
the optimization level. Similarly, the new test demonstrates a failure
on a lowered atomicrmw which required inserting runtime address
space checks. The invalid cases are dynamically dead, we should not
error, and the AtomicExpand pass shouldn't have to consider the details
of the incoming pointer to produce valid IR.
This should go to the release branch. This fixes broken -O0 compiles
with 64-bit atomics which would have started failing in
1d0370872f28ec9965448f33db1b105addaf64ae.
Commit: 4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7
https://github.com/llvm/llvm-project/commit/4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/docs/PatternRewriter.md
M mlir/lib/Reducer/ReductionTreePass.cpp
Log Message:
-----------
[mlir] Update docs for Greedy Pattern Rewrite Driver(NFC) (#126701)
The `applyOpPatternsAndFold` is deprecated, use
`applyOpPatternsGreedily` instead.
Commit: 919e72f2513d57fc2105f6e3477c13eb1f0c6cba
https://github.com/llvm/llvm-project/commit/919e72f2513d57fc2105f6e3477c13eb1f0c6cba
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
Log Message:
-----------
[flang][OpenMP] Support `bind` clause for `teams loop` (#127021)
Extends generic `loop` directive support by supporting the `bind`
clause. Since semantic checking does the heavy lifting of verifying the
proper usage of the clause modifier, we can simply enable code-gen for
`teams loop bind(...)` without the need to differentiate between the
values the the clause can accept.
Commit: 9d487050a144b895950a6fd48b993513a714e69d
https://github.com/llvm/llvm-project/commit/9d487050a144b895950a6fd48b993513a714e69d
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
A clang/test/Analysis/issue-124474.cpp
Log Message:
-----------
[clang][analyzer] Teach the BlockInCriticalSectionChecker about O_NONBLOCK streams (#127049)
this PR close #124474
when calling `read` and `recv` function for a non-block file descriptor
or a invalid file descriptor(`-1`), it will not cause block inside a
critical section.
this commit checks for non-block file descriptor assigned by `open`
function with `O_NONBLOCK` flag.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: ab2d330feab3e1d9927a3c0de1a9d6e9bda5abe9
https://github.com/llvm/llvm-project/commit/ab2d330feab3e1d9927a3c0de1a9d6e9bda5abe9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
TableGen: Generate reverseComposeSubRegIndices (#127050)
This is necessary to enable composing subregisters in peephole-opt.
For now use a brute force table to find the return value. The worst
case target is AMDGPU with a 399 x 399 entry table.
Commit: fb29f19fdb0b2b3c8c87cc767482d941818e92a8
https://github.com/llvm/llvm-project/commit/fb29f19fdb0b2b3c8c87cc767482d941818e92a8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Synchronize status pages with Github issues list
Commit: ec544035227bd88e3622b85ba70499cb0e62b2bc
https://github.com/llvm/llvm-project/commit/ec544035227bd88e3622b85ba70499cb0e62b2bc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Synchronize a few remaining status page rows with Github issues
Commit: 788cb725d8b92a82e41e64540dccca97c9086a58
https://github.com/llvm/llvm-project/commit/788cb725d8b92a82e41e64540dccca97c9086a58
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/iss127296.ll
Log Message:
-----------
[Hexagon] Explicitly truncate constant in UAddSubO (#127360)
After #117558 landed, this code would assert "Value is not an N-bit
unsigned value" in getConstant(), from a test case in zig.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Fixes #127296
Commit: 6c627831f9a4ba5d9680cc83d610c1894a84908a
https://github.com/llvm/llvm-project/commit/6c627831f9a4ba5d9680cc83d610c1894a84908a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Use VPlan predecessors in VPWidenPHIRecipe (NFC). (#126388)
Update VPWidenPHIRecipe to use the predecessors in VPlan to determine
the incoming blocks instead of tracking them separately. This brings
VPWidenPHIRecipe in line with the other phi recipes.
PR: https://github.com/llvm/llvm-project/pull/126388
Commit: c5ea469f4dafe4c310ba26511575afda3569b0b5
https://github.com/llvm/llvm-project/commit/c5ea469f4dafe4c310ba26511575afda3569b0b5
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-depend-host-only.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir
Log Message:
-----------
[OMPIRBuilder] - Fix emitTargetTaskProxyFunc to not generate empty functions (#126958)
This is a fix for https://github.com/llvm/llvm-project/issues/126949
There are two issues being fixed here.
First, in some cases, OMPIRBuilder generates empty target task proxy functions. This happens
when the target kernel doesn't use any stack-allocated data (either no data or only globals).
The second problem is encountered when the target task i.e the code that makes the target call
spans a single basic block. This usually happens when we do not generate a target or device kernel
launch and instead fall back to the host. In such cases, we end up not outlining the target task entirely.
This can cause us to call target kernel twice - once via the target task proxy function and a second time
via the host fallback
This PR fixes both of these problems and updates some tests to catch these problems should this patch fail.
Commit: d29045622a1db3cd3729c1fe3fba7eebd5536517
https://github.com/llvm/llvm-project/commit/d29045622a1db3cd3729c1fe3fba7eebd5536517
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
Log Message:
-----------
[X86] combineConcatVectorOps - fold concat(EXTEND_VECTOR_INREG(x),EXTEND_VECTOR_INREG(y)) -> EXTEND_VECTOR_INREG(unpack(x,y)) (#127502)
Concat/unpack the src subvectors together in the bottom 128-bit vector and then extend with a single EXTEND/EXTEND_VECTOR_INREG instruction
Required the getEXTEND_VECTOR_INREG helper to be tweaked to accept EXTEND_VECTOR_INREG opcodes as well to avoid us having to remap the opcode between both types.
Commit: 8aff59d3f4e53751b23cd3bc22a74f8677c57d7d
https://github.com/llvm/llvm-project/commit/8aff59d3f4e53751b23cd3bc22a74f8677c57d7d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for three test cases (#127352)
- `CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll`
- `CodeGen/AMDGPU/call-preserved-registers.ll`
- `CodeGen/AMDGPU/stack-realign.ll`
This is to make preparation for another PR.
Commit: 6a3007683bf2fa05989c12c787f5547788d09178
https://github.com/llvm/llvm-project/commit/6a3007683bf2fa05989c12c787f5547788d09178
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Remove getGuaranteedNonPoisonOps (#127461)
commit 0517772b4ac20c5d3a0de0d4703354a179833248
Author: Philip Reames <preames at rivosinc.com>
Date: Thu Dec 19 14:14:11 2024 -0800
Commit: 6d86a8a1a12856955aba5e06a6552ddafaaa208f
https://github.com/llvm/llvm-project/commit/6d86a8a1a12856955aba5e06a6552ddafaaa208f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
LAA: scope responsibility of isNoWrapAddRec (NFC) (#127479)
Free isNoWrapAddRec from the AddRec check, and rename it to isNoWrapGEP.
Commit: 15c2d1b328433d2c26327e072059c8960469d378
https://github.com/llvm/llvm-project/commit/15c2d1b328433d2c26327e072059c8960469d378
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix dependencies on generated convert builtins (#127515)
In #127378 it was reported that builds without clspv targets enabled
were failing after #124727, as all targets had a dependency on a file
that only clspv targets generated.
A quick fix was merged in #127315 which wasn't correct. It moved the
dependency on those generated files to the spirv targets, instead of
onto the clspv targets. This means a build with spirv targets and
without clspv targets would see the same problems as #127378 reported.
I tried simply removing the requirement to explicitly add dependencies
to the custom command, relying instead on the file-level dependencies.
This didn't seem reliable enough; in some cases on a Makefiles build,
the clang command compiling (e.g.,) convert.cl would begin before the
file was fully written.
Instead, we keep the target-level dependency but automatically infer it
based on the generated file name, to avoid manual book-keeping of pairs
of files and targets.
This commit also fixes what looks like an unintended bug where, when
ENABLE_RUNTIME_SUBNORMAL was enabled, the OpenCL conversions weren't
being compiled.
Commit: 2dda529838e622e7a79b1e26d2899f319fd7e379
https://github.com/llvm/llvm-project/commit/2dda529838e622e7a79b1e26d2899f319fd7e379
Author: Marius Kamp <msk at posteo.org>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/shift-const-ne-0.ll
Log Message:
-----------
[AArch64] Fix Fold of Compare with Right-shifted Value (#127209)
This change folds (setcc ne (lshr x c) 0) for 64-bit types and constants
c >= 32. This fold already existed for other types or smaller constants
but was not applicable to 64-bit types and constants >= 32 due to a
comparison of the constant c with the bit size of the setcc operation.
The type of this operation is legalized to i32, which does not
necessarily match the type of the lshr operation. Use the bit size of
the type of the lshr operation instead for the comparison.
Fixes #122380.
Commit: 85f7ec12b86494f98f1ea28e51b38d52f2aecc8b
https://github.com/llvm/llvm-project/commit/85f7ec12b86494f98f1ea28e51b38d52f2aecc8b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unneeded unmasked patterns for vcpop_v and riscv_vfirst_vl. (#127435)
The pseudos had RISCVMaskedPseudo add in #115162 so I we are able to convert the
masked form to unmasked form automatically.
Commit: 62254f6615e453ee576a39557e4fc9ddb84965c2
https://github.com/llvm/llvm-project/commit/62254f6615e453ee576a39557e4fc9ddb84965c2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R llvm/lib/Target/ARC/ARCTargetStreamer.h
A llvm/lib/Target/ARC/MCTargetDesc/ARCTargetStreamer.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
R llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
A llvm/lib/Target/Hexagon/MCTargetDesc/HexagonTargetStreamer.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
R llvm/lib/Target/Mips/MipsTargetStreamer.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
A llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
R llvm/lib/Target/PowerPC/PPCTargetStreamer.h
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
R llvm/lib/Target/SystemZ/SystemZTargetStreamer.h
A llvm/lib/Target/XCore/MCTargetDesc/XCoreTargetStreamer.h
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
R llvm/lib/Target/XCore/XCoreTargetStreamer.h
Log Message:
-----------
[Targets] Move *TargetStreamer.h files into their MCTargetDesc directory. (#127433)
These files are included from MCTargetDesc so should be there instead of in
the main directory for the target.
Commit: 74656476b860be93ccaac12b62d81679166207fd
https://github.com/llvm/llvm-project/commit/74656476b860be93ccaac12b62d81679166207fd
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/inline-asm-vector-avx512.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/mask-compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/rsqrt.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/vp2intersect-i32.mlir
Log Message:
-----------
[mlir][x86vector] Fix integration tests lowering (#124934)
Fixes MLIR lowering passes in x86vector integration tests.
The tests are refactored with lowering pass bundle which ensures that all
dialect are lowered into LLVM dialect.
This simplifies the test pipelines and addresses missing arith lowering.
Commit: 941f7cbf5a3e7aa9f36b002dc22cfdb4ff50fea8
https://github.com/llvm/llvm-project/commit/941f7cbf5a3e7aa9f36b002dc22cfdb4ff50fea8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/include/__chrono/time_zone.h
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
Log Message:
-----------
[libc++][TZDB] Fixes mapping of nonexisting time. (#127330)
All non-existing local times in a contiguous range should map to the
same time point. This fixes a bug, were the times inside the range were
mapped to the wrong time.
Fixes: #113654
Commit: eaa460ca499bec0547393bae7c18b128c2926839
https://github.com/llvm/llvm-project/commit/eaa460ca499bec0547393bae7c18b128c2926839
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
Log Message:
-----------
[AMDGPU] Remove dead function metadata after amdgpu-lower-kernel-arguments (#126147)
The verifier ensures function !dbg metadata is unique across the module,
so ensure the old nameless function we leave behind doesn't violate
this invariant.
Removing the function via e.g. eraseFromParent seems like a better
option, but doesn't seem to be legal from a FunctionPass.
Commit: 29ca3b8b28cb42ee796f40fe40f5f9ddc1ea2f42
https://github.com/llvm/llvm-project/commit/29ca3b8b28cb42ee796f40fe40f5f9ddc1ea2f42
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
[AMDGPU] Push amdgpu-preload-kern-arg-prolog after livedebugvalues (#126148)
This is effectively a workaround for a bug in livedebugvalues, but seems
to potentially be a general improvement, as BB sections seems like it
could ruin the special 256-byte prelude scheme that
amdgpu-preload-kern-arg-prolog requires anyway. Moving it even later
doesn't seem to have any material impact, and just adds livedebugvalues
to the list of things which no longer have to deal with pseudo
multiple-entry functions.
AMDGPU debug-info isn't supported upstream yet, so the bug being avoided
isn't testable here. I am posting the patch upstream to avoid an
unnecessary diff with AMD's fork.
Commit: 0d2722c20d75b237524dd4ec87a1d3da707ec96e
https://github.com/llvm/llvm-project/commit/0d2722c20d75b237524dd4ec87a1d3da707ec96e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc][Docs] Add proper 'offload' build to use libc with offload
Summary:
Since this was added the offloading target now requires `offload`.
Fixes: https://github.com/llvm/llvm-project/issues/127458
Commit: 15944056aa5c1ab2c777dd2e3b4f19b8a1f1403d
https://github.com/llvm/llvm-project/commit/15944056aa5c1ab2c777dd2e3b4f19b8a1f1403d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/COFF/Writer.h
A lld/test/COFF/arm64x-crt-sec.s
Log Message:
-----------
[LLD][COFF] Split native and EC .CRT chunks on ARM64X (#127203)
Commit: f0e39c45df2075ac338bc06b595079da8466b695
https://github.com/llvm/llvm-project/commit/f0e39c45df2075ac338bc06b595079da8466b695
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add aliases for processors apple-a18/s6..10. (#127152)
apple-a18 is an alias of apple-m4.
apple-s6/s7/s8 are aliases of apple-a13.
apple-s9/s10 are aliases of apple-a16.
As with some other aliases today, this reflects identical ISA feature
support, but not necessarily identical microarchitectures and
performance characteristics.
Commit: 6fde8fe9adc835df50ea57b710781ffe8a6657e8
https://github.com/llvm/llvm-project/commit/6fde8fe9adc835df50ea57b710781ffe8a6657e8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.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/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb] Provide default impl for MightHaveChildren (NFC) (#119977)
The vast majority of `SyntheticChildrenFrontEnd` subclasses provide
children, and as such implement `MightHaveChildren` with a constant
value of `true`. This change makes `true` the default value. With this
change, `MightHaveChildren` only needs to be implemented by synthetic
providers that can return `false`, which is only 3 subclasses.
Commit: 83e180cb70266545f03a3449e4de0c3725fdfa55
https://github.com/llvm/llvm-project/commit/83e180cb70266545f03a3449e4de0c3725fdfa55
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
[Clang][PGO] Fix profile function visibility bug (#127257)
This pull request fixes an issue that was introduced in #93365.
`__llvm_write_custom_profile` visibility was causing issues on Darwin.
This function needs to be publicly accessible in order to be accessed by
libomptarget, so this pull request makes `__llvm_write_custom_profile`
an explicitly exported symbol on Darwin. Tested on M3 and X86 macs.
Commit: f5c5bc5ed57e63fe11ddd58c4b392f27b86730f1
https://github.com/llvm/llvm-project/commit/f5c5bc5ed57e63fe11ddd58c4b392f27b86730f1
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
Log Message:
-----------
[CodeGen][ObjC] Invalidate cached ObjC class layout information after parsing ObjC class implementations if new ivars are added to the interface (#126591)
The layout and the size of an ObjC interface can change after its
corresponding implementation is parsed when synthesized ivars or ivars
declared in categories are added to the interface's list of ivars. This
can cause clang to mis-compile if the optimization that emits fixed
offsets for ivars (see 923ddf65f4e21ec67018cf56e823895de18d83bc) uses an
ObjC class layout that is outdated and no longer reflects the current
state of the class.
For example, when compiling `constant-non-fragile-ivar-offset.m`, clang
emits 20 instead of 24 as the offset for `IntermediateClass2Property` as
the class layout for `SuperClass2`, which is created when the
implementation of IntermediateClass3 is parsed, is outdated when the
implementation of `IntermediateClass2` is parsed.
This commit invalidates the stale layout information of the class and
its subclasses if new ivars are added to the interface.
With this change, we can also stop using ObjC implementation decls as
the key to retrieve ObjC class layouts information as the layout
retrieved using the ObjC interface as the key will always be up to date.
rdar://139531391
Commit: 3fa85c7cce3047ae0fc54874c2bf8340e8c4803c
https://github.com/llvm/llvm-project/commit/3fa85c7cce3047ae0fc54874c2bf8340e8c4803c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/Status/Cxx20Issues.csv
Log Message:
-----------
[libc++] Document that libc++ does not and will never implement the Networking TS (#127508)
There has been discussion around this a few times already, and there
seemed to be consensus that we would never pursue an implementation of
the Networking TS. This patch solidifies that discussion by documenting
it and closing issues related to the Networking TS.
Closes #103799
Closes #100223
Closes #100228
Closes #100231
Closes #100232
Commit: a7a356833df81b605ecaa3b0a7391da68805b680
https://github.com/llvm/llvm-project/commit/a7a356833df81b605ecaa3b0a7391da68805b680
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[NFC][Clang][CodeGen] Remove vestigial assertion (#127528)
This removes a vestigial assertion, which would erroneously trigger even
though we now correctly handle valid arg mismatches
(<https://github.com/llvm/llvm-project/blob/2dda529838e622e7a79b1e26d2899f319fd7e379/clang/lib/CodeGen/CGCall.cpp#L5397>),
after #114062 went in.
Commit: 9a584b07d7c29cec65bb446782c4ddddaf72e6d8
https://github.com/llvm/llvm-project/commit/9a584b07d7c29cec65bb446782c4ddddaf72e6d8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/nvptxintrin.h
M libc/src/__support/GPU/utils.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
Log Message:
-----------
[Clang] Add handlers for 'match_any' and 'match_all' to `gpuintrin.h` (#127504)
Summary:
These helpers are very useful but currently absent. They allow the user
to get a bitmask representing the matches within the warp. I have made
an executive decision to drop the `predicate` return from `match_all`
because it's easily testable with `match_all() == __activemask()`.
Commit: a8b177aa6048e3dc278f63f4bc79e2c199ecd722
https://github.com/llvm/llvm-project/commit/a8b177aa6048e3dc278f63f4bc79e2c199ecd722
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Remove unneeded hasNoOverflow call (NFC).
The function already calls hasNoOverflow above.
Commit: a92bfaa7d92180c3c88b2c116689de30a72546c2
https://github.com/llvm/llvm-project/commit/a92bfaa7d92180c3c88b2c116689de30a72546c2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-ctors-sec.s
Log Message:
-----------
[LLD][COFF] Support MinGW constructor and destructor lists on ARM64X (#127205)
Split the chunks for EC and native views, inserting headers and tails for both.
Commit: 620a51535ba7934a6f6bca5b74ff75946e886d87
https://github.com/llvm/llvm-project/commit/620a51535ba7934a6f6bca5b74ff75946e886d87
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Add message to assert in HCFGBuilder (NFC).
Suggested in https://github.com/llvm/llvm-project/pull/126388.
Commit: 88e72c401b5bbedb3461039935e940eccff53f02
https://github.com/llvm/llvm-project/commit/88e72c401b5bbedb3461039935e940eccff53f02
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
Log Message:
-----------
[LAA] Add test where GEPs may wrap.
Commit: 93a1184409feb6b0ebb1001e1bebcecf760a6673
https://github.com/llvm/llvm-project/commit/93a1184409feb6b0ebb1001e1bebcecf760a6673
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Fix import split marker in alias test (#127540)
Commit: a377cdd23db180b881f54fc7f88bf3aa85de21cc
https://github.com/llvm/llvm-project/commit/a377cdd23db180b881f54fc7f88bf3aa85de21cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/API/SBType.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/test/API/lang/cpp/template-arguments/main.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Add support for floating point template argument constants (#127206)
This patch adds support for template arguments of
`clang::TemplateArgument::ArgKind::StructuralValue` kind (added in
https://github.com/llvm/llvm-project/pull/78041). These are used for
non-type template parameters such as floating point constants. When LLDB
created `clang::NonTypeTemplateParmDecl`s, it previously assumed
integral values, this patch accounts for structural values too.
Anywhere LLDB assumed a `DW_TAG_template_value_parameter` was
`Integral`, it will now also check for `StructuralValue`, and will
unpack the `TemplateArgument` value and type accordingly.
We can rely on the fact that any `TemplateArgument` of `StructuralValue`
kind that the `DWARFASTParserClang` creates will have a valid value,
because it gets those from `DW_AT_const_value`.
Commit: 44cfb6b434a5f7d29fb48e10cf25e74a669a926d
https://github.com/llvm/llvm-project/commit/44cfb6b434a5f7d29fb48e10cf25e74a669a926d
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
Log Message:
-----------
[SPIR-V] Ensure that a correct pointer type is deduced from the Value argument of OpAtomic* instructions (#127492)
This PR improves the set of rules for type inference by ensuring that a
correct pointer type is deduced from the Value argument of OpAtomic*
instructions, also when a pointer argument is coming from an `inttoptr
.. to` instruction that caused problems earlier. Existing test cases are
updated accordingly. This fixes
https://github.com/llvm/llvm-project/issues/127491
Commit: 798890ea10c4a111dff79d975534744f19c5a00d
https://github.com/llvm/llvm-project/commit/798890ea10c4a111dff79d975534744f19c5a00d
Author: David Green <david.green at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Remove unused HasFPAC. NFC
It contains a syntax error, but us it is unused it can be removed until we need
it.
Commit: 0b8bd472b0faf79005dfdd1078904fdf39879d61
https://github.com/llvm/llvm-project/commit/0b8bd472b0faf79005dfdd1078904fdf39879d61
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp_os.h
Log Message:
-----------
[OpenMP][libomp] Add OpenBSD, NetBSD and DragonFly stdarg handling (#126182)
Fixes build on OpenBSD/aarch64.
```
FAILED: openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o
/home/brad/tmp/llvm-build/bin/clang++ --target=aarch64-unknown-openbsd7.6 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Domp_EXPORTS -I/home/brad/tmp/llvm-build/runtimes/runtimes-bins/openmp/runtime/src -I/home/brad/tmp/llvm-brad/openmp/runtime/src -I/home/brad/tmp/llvm-brad/openmp/runtime/src/i18n -I/home/brad/tmp/llvm-brad/openmp/runtime/src/include -I/home/brad/tmp/llvm-brad/openmp/runtime/src/thirdparty/ittnotify -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -fcolor-diagnostics -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -fno-semantic-interposition -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -D _GNU_SOURCE -D _REENTRANT -U_GLIBCXX_ASSERTIONS -UNDEBUG -fno-exceptions -fno-rtti -Wno-covered-switch-default -Wno-frame-address -Wno-strict-aliasing -Wno-switch -Wno-uninitialized -Wno-return-type-c-linkage -Wno-cast-qual -Wno-int-to-void-pointer-cast -MD -MT openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o -MF openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o.d -o openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o -c /home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1449:47: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
1449 | return (master_th->th.th_teams_microtask && ap &&
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1449:44: error: invalid operands to binary expression ('microtask_t' (aka 'void (*)(int *, int *, ...)') and 'kmp_va_list' (aka '__builtin_va_list'))
1449 | return (master_th->th.th_teams_microtask && ap &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1457:15: warning: comparison between NULL and non-pointer ('kmp_va_list' (aka '__builtin_va_list') and NULL) [-Wnull-arithmetic]
1457 | return ((ap == NULL && active_level == 0) ||
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1457:15: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'long')
1457 | return ((ap == NULL && active_level == 0) ||
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1458:12: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
1458 | (ap && teams_level > 0 && teams_level == level));
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1458:15: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'bool')
1458 | (ap && teams_level > 0 && teams_level == level));
| ~~ ^ ~~~~~~~~~~~~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1735:9: error: invalid argument type 'kmp_va_list' (aka '__builtin_va_list') to unary expression
1735 | if (!ap) {
| ^~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2169:66: warning: comparison between NULL and non-pointer ('kmp_va_list' (aka '__builtin_va_list') and NULL) [-Wnull-arithmetic]
2169 | !(microtask == (microtask_t)__kmp_teams_master || ap == NULL))
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2169:66: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'long')
2169 | !(microtask == (microtask_t)__kmp_teams_master || ap == NULL))
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2284:9: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
2284 | if (ap) {
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2302:58: error: invalid argument type 'kmp_va_list' (aka '__builtin_va_list') to unary expression
2302 | __kmp_fork_team_threads(root, team, master_th, gtid, !ap);
| ^~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2363:9: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
2363 | if (ap) {
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:7803:3: error: no matching function for call to '__kmp_fork_call'
7803 | __kmp_fork_call(loc, gtid, fork_context_intel, team->t.t_argc,
| ^~~~~~~~~~~~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1927:5: note: candidate function not viable: no known conversion from 'long' to 'kmp_va_list' (aka '__builtin_va_list') for 7th argument
1927 | int __kmp_fork_call(ident_t *loc, int gtid,
| ^
1928 | enum fork_context_e call_context, // Intel, GNU, ...
1929 | kmp_int32 argc, microtask_t microtask, launch_t invoker,
1930 | kmp_va_list ap) {
| ~~~~~~~~~~~~~~
2 warnings and 11 errors generated.
```
Commit: a3dc77c00a012bb613cb08e669dab4fadf88e935
https://github.com/llvm/llvm-project/commit/a3dc77c00a012bb613cb08e669dab4fadf88e935
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
A lldb/test/API/lang/cpp/thunk/Makefile
A lldb/test/API/lang/cpp/thunk/TestThunk.py
A lldb/test/API/lang/cpp/thunk/main.cpp
Log Message:
-----------
[lldb] Support stepping through C++ thunks (#127419)
This PR fixes LLDB stepping out, rather than stepping through a C++
thunk. The implementation is based on, and upstreams, the support for
runtime thunks in the Swift fork.
Fixes #43413
Commit: 2b41277a09820bc47dc533ad37b5213edc2e8d52
https://github.com/llvm/llvm-project/commit/2b41277a09820bc47dc533ad37b5213edc2e8d52
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/thunk/TestThunk.py
Log Message:
-----------
[lldb] Disable test_step_out_thunk on Windows
On Windows we end up in assembly. Not sure if the thread plans behave
differently or this is a debug info issue. I have no environment to
reproduce and investigate this in, so I'm disabling the test for now.
Commit: 8fe290efa634c449937d0576e391555d0ebb6efb
https://github.com/llvm/llvm-project/commit/8fe290efa634c449937d0576e391555d0ebb6efb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R libc/include/fenv.h.def
M libc/include/fenv.yaml
Log Message:
-----------
[libc] Canonicalize generated fenv.h (#127363)
This removes the custom template for fenv.h by declaring all the
standard-specified macros using macro_header.
Commit: ed38d6702f7695092c9486016e2504f8c6bfef37
https://github.com/llvm/llvm-project/commit/ed38d6702f7695092c9486016e2504f8c6bfef37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
Log Message:
-----------
PeepholeOpt: Handle subregister compose when looking through reg_sequence (#127051)
Previously this would give up on folding subregister copies through
a reg_sequence if the input operand already had a subregister index.
d246cc618adc52fdbd69d44a2a375c8af97b6106 stopped introducing these
subregister uses, and this is the first step to lifting that restriction.
I was expecting to be able to implement this only purely with compose /
reverse compose, but I wasn't able to make it work so relies on testing
the lanemasks for whether the copy reads a subset of the input.
Commit: b5b8a59a530b69f02bfc98b1ab8758e1757ddb8f
https://github.com/llvm/llvm-project/commit/b5b8a59a530b69f02bfc98b1ab8758e1757ddb8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.h
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Log Message:
-----------
AMDGPU: Implement getRequiredProperties for SIFoldOperands (#127522)
Fix the broken MIR tests violating isSSA.
Commit: 09d14149f61d1f723ed39ce5297c572d53eb7c44
https://github.com/llvm/llvm-project/commit/09d14149f61d1f723ed39ce5297c572d53eb7c44
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix return value of array CXXNewExprs (#127526)
Just like with the __builtin_operator_new version, we need to point to
the first array element, not the array element itself.
Commit: 51c91095ab5b1f8f0d65e6fbd551e8b991866b3f
https://github.com/llvm/llvm-project/commit/51c91095ab5b1f8f0d65e6fbd551e8b991866b3f
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Reapply "Make llvm::telemetry::Manager::preDispatch protected. (#127114) (#127431)
This reverts commit 66465c3b0ab1b32403ad5a1c3114174d87830f54.
New change: added missing return statement.
Commit: d19187f5fe01c89a09c1b2f14849a3f29988d6d5
https://github.com/llvm/llvm-project/commit/d19187f5fe01c89a09c1b2f14849a3f29988d6d5
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
Log Message:
-----------
[AMDGPU] Move into SIProgramInfo and cache getFunctionCodeSize. NFCI. (#127111)
This moves function as is, improvements to the estimate go into
a subseqent patch.
Commit: f71b83b3593588c56fd4ab3e1347ad9c7bec624f
https://github.com/llvm/llvm-project/commit/f71b83b3593588c56fd4ab3e1347ad9c7bec624f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add a release note for #127419
Commit: fe1ef413ab3634cf9e10bcd68f0633b28d7e2228
https://github.com/llvm/llvm-project/commit/fe1ef413ab3634cf9e10bcd68f0633b28d7e2228
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Add more tests for peephole-opt immediate folding (#127480)
Commit: 4dee305ce2c92fbffd51ac1948e5916bccf2c9cb
https://github.com/llvm/llvm-project/commit/4dee305ce2c92fbffd51ac1948e5916bccf2c9cb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Fix foldImmediate breaking register class constraints (#127481)
This fixes a verifier error when folding an immediate materialized
into an aligned vgpr class into a copy to an unaligned virtual register.
Commit: af1e2a374e3845454914348793341f4f931e805a
https://github.com/llvm/llvm-project/commit/af1e2a374e3845454914348793341f4f931e805a
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
A llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
[Mips] Support llvm.readcyclecounter intrinsic (#127553)
The llvm.readcyclecounter intrinsic can be implemented via the `rdhwr
$2, $hwr_cc` instruction.
$hwr_cc: High-resolution cycle counter. This register provides read
access to the coprocessor 0 Count Register.
Fix #106318.
Commit: 83d7f4b8c38147dbb57a40b385e70908ebbbb554
https://github.com/llvm/llvm-project/commit/83d7f4b8c38147dbb57a40b385e70908ebbbb554
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Implement getConstValDefinedInReg and use in foldImmediate (NFC) (#127482)
This is NFC because it currently only matters for cases that are not
isMoveImmediate, and we do not yet implement any of those. This just
moves the implementation of foldImmediate to use the common interface,
similar to how x86 does it.
Commit: c5def84ca4a1aa08333a0428bc453ea901139eca
https://github.com/llvm/llvm-project/commit/c5def84ca4a1aa08333a0428bc453ea901139eca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Handle brev and not cases in getConstValDefinedInReg (#127483)
We should not encounter these cases in the peephole-opt use today,
but get the common helper function to handle these.
Commit: ef9f0b3c414a5d55e694829514d7b2ff8736d3c3
https://github.com/llvm/llvm-project/commit/ef9f0b3c414a5d55e694829514d7b2ff8736d3c3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
Log Message:
-----------
[DAGCombiner] Don't peek through truncates of shift amounts in takeInexpensiveLog2. (#126957)
Shift amounts in SelectionDAG don't have to match the result type
of the shift. SelectionDAGBuilder will aggressively truncate shift
amounts to the target's preferred type. This may result in a zero extend
that existed in IR being removed.
If we look through a truncate here, we can't guarantee the upper bits
of the truncate input are zero. There may have been a zext that was
removed. Unfortunately, this regresses tests where no truncate was
involved. The only way I can think to fix this is to add an assertzext
when SelectionDAGBuilder truncates a shift amount or remove the
early truncation of shift amounts from SelectionDAGBuilder all together.
Fixes #126889.
Commit: 663db5c70dfef8961dfb0ef5408db48555de7afc
https://github.com/llvm/llvm-project/commit/663db5c70dfef8961dfb0ef5408db48555de7afc
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 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/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
A llvm/lib/Target/AMDGPU/GCNNSAReassign.h
Log Message:
-----------
[AMDGPU][NewPM] Port GCNNSAReassign pass to new pass manager (#125034)
tests to be added while porting virtregrewrite and greedy regalloc
Commit: 0b719d3d63100c6af66b015f796ab74d3d218107
https://github.com/llvm/llvm-project/commit/0b719d3d63100c6af66b015f796ab74d3d218107
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
Log Message:
-----------
[clangd] Enable parsing of forwarding functions in the preamble by default (#127359)
Fixes https://github.com/clangd/clangd/issues/2324
Commit: d09cce166de9fc4fa243bdb4a2ea22df08110abd
https://github.com/llvm/llvm-project/commit/d09cce166de9fc4fa243bdb4a2ea22df08110abd
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/test/Index/Core/index-dependent-source.cpp
Log Message:
-----------
[clang][Index] Use HeuristicResolver in libIndex (#125153)
The uses replace hand-rolled code that did a subset of what
HeuristicResolver does.
Commit: a5e6ccf546932118cbbab6633f5d599914fd75ec
https://github.com/llvm/llvm-project/commit/a5e6ccf546932118cbbab6633f5d599914fd75ec
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/517800e37e8d3a4ee84214bef65e227612c2a98b (#127544)
Introduces a `LinalgInterfaces` target so that `TensorDialect` doesn't
need to depend on `LinalgDialect`, which would introduce a circular
dependency.
Commit: 6ba34f9e7374109e2d2119b5de3c196aa928f179
https://github.com/llvm/llvm-project/commit/6ba34f9e7374109e2d2119b5de3c196aa928f179
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use policy instead of ForceTailAgnostic for vmsbf/vmsif/vmsof pseudos. (#127535)
ForceTailAgnostic is currently treated as an override of the policy
operand. It doesn't do anything else so we can just use the policy
directly.
Commit: 6b2e511aedb1b372ecd6eaa89720dc3586f3ae19
https://github.com/llvm/llvm-project/commit/6b2e511aedb1b372ecd6eaa89720dc3586f3ae19
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
Log Message:
-----------
[RISCV] Implement isHighLatencyDef() (#127476)
And returns true for div/rem/sqrt/... operations.
This is an alternative if we don't support generic scheduling model.
Commit: 6e532700f86f56b51506cc5a733f4f21fd03ab03
https://github.com/llvm/llvm-project/commit/6e532700f86f56b51506cc5a733f4f21fd03ab03
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Port https://github.com/llvm/llvm-project/commit/d09cce166de9fc4fa243bdb4a2ea22df08110abd
Commit: ab8d99530d4e80b619c19681781eac5f545b2c38
https://github.com/llvm/llvm-project/commit/ab8d99530d4e80b619c19681781eac5f545b2c38
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix after https://github.com/llvm/llvm-project/pull/127544
Commit: 77410f2a25529c9675853cf30c76168cccfe0f5d
https://github.com/llvm/llvm-project/commit/77410f2a25529c9675853cf30c76168cccfe0f5d
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor] Remove unnecessary include.
This include introduced an unwanted dependency from tensor to tensor utils.
Commit: 251377c47d296000158347d6a1cba2e6b30132a3
https://github.com/llvm/llvm-project/commit/251377c47d296000158347d6a1cba2e6b30132a3
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
Log Message:
-----------
[InstCombine] Fold shift+cttz with power of 2 operands (#127055)
#121386 Introduced cttz intrinsics which caused a regression where
vscale/vscale divisions could no longer be constant folded.
This fold was suggested as a fix in #126411.
https://alive2.llvm.org/ce/z/gWbtPw
Commit: b227c2578cc77e2113846b270d0b0a08f53e8019
https://github.com/llvm/llvm-project/commit/b227c2578cc77e2113846b270d0b0a08f53e8019
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Transforms/scf-loop-unroll.mlir
M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
Log Message:
-----------
[mlir][scf] add unroll-full option to test-loop-unrolling pass (#127158)
Some loops cannot be unrolled by affine-loop-unroll pass. After running
lower-affine pass, they can be unrolled in scf.To enable conversion of
vector Ops in scf to llvm dialect, unroll-full option was added.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: d49c3181e68de20ebd5f8e9fc5f4ad3ce20cad6d
https://github.com/llvm/llvm-project/commit/d49c3181e68de20ebd5f8e9fc5f4ad3ce20cad6d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[X86] emitEpilogue - silence implicit integer extension warning. (#127185)
Silence compiler warning introduced in #125007 - assign the address delta to int64_t, assert it is negative and negate it only as part of the mergeSPAdd call
Fixes #125825
Commit: 1ae9dd31a21022d360e5f1efa32a71c4073c7e18
https://github.com/llvm/llvm-project/commit/1ae9dd31a21022d360e5f1efa32a71c4073c7e18
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add EXTEND_VECTOR_INREG() 512-bit handling (#127530)
Support extension to 512-bit vectors on AVX512/BWI targets.
Commit: 13de15c9c49068db850368c45ffed8f7bbf07f20
https://github.com/llvm/llvm-project/commit/13de15c9c49068db850368c45ffed8f7bbf07f20
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating StartOfName (#127545)
Also ensure we can break before ClassHeadName like StartOfName.
Fixes #127470
Commit: e235fcb582eec5f58c905b66f96d0732d17b875e
https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M bolt/CMakeLists.txt
A bolt/include/bolt/Core/TargetConfig.def.in
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
Log Message:
-----------
[BOLT] Only link and initialize supported targets (#127509)
Bolt currently links and initializes all LLVM targets. This
substantially increases the binary size, and link time if LTO is used.
Instead, only link the targets specified by BOLT_TARGETS_TO_BUILD. We
also have to only initialize those targets, so generate a
TargetConfig.def file with the necessary information. The way the
initialization is done mirrors what llvm-exegesis does.
This reduces llvm-bolt size from 137MB to 78MB for me.
Commit: 03cb46d248b08fa7ca740d78f0847adcc3e76ad8
https://github.com/llvm/llvm-project/commit/03cb46d248b08fa7ca740d78f0847adcc3e76ad8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
Log Message:
-----------
[CodeGen] Use getSignedConstant() in more places (#127501)
Use getSignedConstant() in a few more places, based on a search of
`\bgetConstant(-`. Most of these were fine as-is (e.g. because they work
on 64-bits), but I think it's better to use getSignedConstant()
consistently for negative numbers.
Commit: 6a360b313d27e46988d573a663e9127622eb205c
https://github.com/llvm/llvm-project/commit/6a360b313d27e46988d573a663e9127622eb205c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
AMDGPU: Remove redundant inline constant check (#127582)
We don't really care of this is an inline constant, only if it
will be legal.
Commit: f7c71f162269a10a635c4125142ae8b0a194f3aa
https://github.com/llvm/llvm-project/commit/f7c71f162269a10a635c4125142ae8b0a194f3aa
Author: Jason Rice <ricejasonf at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[Clang][P1061] Consolidate ResolvedUnpexandedPackExpr into FunctionParmPackExpr (#125394)
This merges the functionality of ResolvedUnexpandedPackExpr into
FunctionParmPackExpr. I also added a test to show that
https://github.com/llvm/llvm-project/issues/125103 should be fixed with
this. I put the removal of ResolvedUnexpandedPackExpr in its own commit.
Let me know what you think.
Fixes #125103
Commit: 252c83bc9ef9fc885e9e6517f1b4423188bb919f
https://github.com/llvm/llvm-project/commit/252c83bc9ef9fc885e9e6517f1b4423188bb919f
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/gh106576.c
Log Message:
-----------
[clang][Sema] Fix type of an statement expression ending with an atomic type (#119711)
When a statement expression's last statement is an atomic variable, GCC
and Clang disagree on the type of the expression. This can be made
apparent using `typeof` and forcing a diagnostic message:
```cpp
_Atomic int a = 0;
typeof(({a;})) x = "0";
```
* GCC complains about initializing `int` with `char*`
* Clang complains about initializing `_Atomic(int)` with a `char[2]`
Due to the type of the statement expression being deduced to be atomic,
we end with three implicit casts inside the `StmtExpr` on the AST:
* `LValueToRValue` -> `AtomicToNonAtomic` -> `NonAtomicToAtomic`
In some situations, this can end on an assertion inside
`IntExprEvaluator`, as reported in #106576.
With this patch, we now have two implicit casts, since the type of the
statement expression is deduced to be non-atomic:
* `LValueToRValue` -> `AtomicToNonAtomic`
This is consistent with the C standard (6.7.2.4, p4)
> The properties associated with atomic types are meaningful only for
expressions that are lvalues.
But a statement expression is an rvalue.
`IntExprEvaluator` assumptions are now satisfied and there is no
assertion error.
Additionally, the `typeof` trick mentioned above shows that the type is
consistently deduced between GCC and Clang.
Fixes #106576
---------
Co-authored-by: John McCall <rjmccall at gmail.com>
Commit: 88dd372d673c7e6967c93aa2879f0ef04fc7ac20
https://github.com/llvm/llvm-project/commit/88dd372d673c7e6967c93aa2879f0ef04fc7ac20
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
Log Message:
-----------
[flang][Lower][OpenMP] Don't read moldarg for static sized array (#125901)
This should further reduce the number of spurious barriers
Commit: d4a0848dc6678bc4ce8c74855a818dfc8c30a088
https://github.com/llvm/llvm-project/commit/d4a0848dc6678bc4ce8c74855a818dfc8c30a088
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[SelectionDAG] Add PARTIAL_REDUCE_U/SMLA ISD Nodes (#125207)
Add signed and unsigned PARTIAL_REDUCE_MLA ISD nodes. Add command line
argument (aarch64-enable-partial-reduce-nodes) that indicates whether the
intrinsic experimental_vector_partial_ reduce_add will be transformed
into the new ISD node. Lowering with the new ISD nodes will, for now,
always be done as an expand.
Commit: 22ef210100ca9ccfee6198a18fa0aae62950f481
https://github.com/llvm/llvm-project/commit/22ef210100ca9ccfee6198a18fa0aae62950f481
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
Log Message:
-----------
Revert "[flang][Lower][OpenMP] Don't read moldarg for static sized array" (#127596)
Reverts llvm/llvm-project#125901
Revert until I have fixed bot failures
Commit: 9fec0a0942f5a11f4dcfec20aa485a8513661720
https://github.com/llvm/llvm-project/commit/9fec0a0942f5a11f4dcfec20aa485a8513661720
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Disable external-calls testing for clspv targets (#127529)
These targets don't include all OpenCL builtins, so there will always be
external calls in the final bytecode module.
Fixes #127316.
Commit: b8054104d36d0b26b2a445d61ba12cf0fe6ba805
https://github.com/llvm/llvm-project/commit/b8054104d36d0b26b2a445d61ba12cf0fe6ba805
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
LLVM/Test: Mark Mips readcyclecounter.ll XFAIL: expensive_checks (#127587)
expsensive_check complains that:
bb.0.entry:
%0:gpr32 = RDHWR $hwr2, 0
%1:gpr32 = ADDiu $zero, 0
$v0 = COPY %0:gpr32
$v1 = COPY %1:gpr32
RetRA implicit $v0, implicit $v1
*** Bad machine code: Using an undefined physical register ***
- function: test_readcyclecounter
- basic block: %bb.0 entry (0xad97ee0)
- instruction: %0:gpr32 = RDHWR $hwr2, 0
- operand 1: $hwr2
LLVM ERROR: Found 1 machine code errors.
Commit: 61ab476460516f4bd60a03a46902e801d0db7306
https://github.com/llvm/llvm-project/commit/61ab476460516f4bd60a03a46902e801d0db7306
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
A llvm/test/CodeGen/SPIRV/opencl/get_num_groups.ll
Log Message:
-----------
[SPIR-V] Fix out-of-range value for NumWorkgroups builtin (#127198)
The OpenCL C specification states that for out-of-range dimension
indices, `get_num_groups` must return 1 instead of 0.
Commit: 2fdb26da619cd09e3ccc8d154e48eb0034474823
https://github.com/llvm/llvm-project/commit/2fdb26da619cd09e3ccc8d154e48eb0034474823
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[clang][RISCV] Introduce preprocessor macro when Zicfiss-based shadow stack is enabled (#127592)
The `-fcf-protection=[full|return]` flag enables shadow stack
implementation based on RISC-V Zicfiss extension. This patch adds the
`__riscv_shadow_stack` predefined macro to preprocessing when such a
shadow stack implementation is enabled.
Commit: 2b71df5a74cb5bd67f3f34277749dc920fd35105
https://github.com/llvm/llvm-project/commit/2b71df5a74cb5bd67f3f34277749dc920fd35105
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
A mlir/test/Dialect/X86Vector/cvt-packed-f32-to-bf16.mlir
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
Log Message:
-----------
[mlir][x86vector] AVX512-BF16 Convert packed F32 to BF16 (#125685)
Adds AVX512 bf16 conversion from packed f32 to bf16 elements.
Tests are slightly refactored to better follow file's convention.
Commit: bc4f05d8a8a4f908252aba9444571de4398d4288
https://github.com/llvm/llvm-project/commit/bc4f05d8a8a4f908252aba9444571de4398d4288
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
Log Message:
-----------
[AMDGPU] Early bail in getFunctionCodeSize for meta inst. NFC. (#127129)
It does not change the estimate because getInstSizeInBytes() already
returns 0 for meta instructions, but added a test and early bail.
Commit: 7c03865a1ec6de2b734d8cbf75ca2e79ac6d013d
https://github.com/llvm/llvm-project/commit/7c03865a1ec6de2b734d8cbf75ca2e79ac6d013d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Extract lambda used in foldImmediate into a helper function (#127484)
It was also too permissive for a more general utilty, only return
the original immediate if there is no subregister.
Commit: 1c8add1ec70d8d730572029ac11a70f4dfac8ed5
https://github.com/llvm/llvm-project/commit/1c8add1ec70d8d730572029ac11a70f4dfac8ed5
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/test/Analysis/out-of-bounds.c
Log Message:
-----------
[analyzer] Add hack in ArrayBound to cover up missing casts (#127117)
Currently there are many casts that are not modeled (i.e. ignored) by
the analyzer, which can cause paradox states (e.g. negative value stored
in `unsigned` variable) and false positive reports from various
checkers, e.g. from `security.ArrayBound`.
Unfortunately this issue is deeply rooted in the architectural
limitations of the analyzer (if we started to model the casts, it would
break other things). For details see the umbrella ticket
https://github.com/llvm/llvm-project/issues/39492
This commit adds an ugly hack in `security.ArrayBound` to silence most
of the false positives caused by this shortcoming of the engine.
Fixes #126884
Commit: cd10c01767f1d06748c1d4502cc4384a18c06115
https://github.com/llvm/llvm-project/commit/cd10c01767f1d06748c1d4502cc4384a18c06115
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Log Message:
-----------
AMDGPU: Handle subregister uses in SIFoldOperands constant folding (#127485)
Commit: ef218317d7e30eb32a8e4e1a68d3fe95ca3b8402
https://github.com/llvm/llvm-project/commit/ef218317d7e30eb32a8e4e1a68d3fe95ca3b8402
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/configure.bzl
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
Log Message:
-----------
[bolt][bazel] Port https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e.
Commit: 6646b65082e8bc5f485c744a9c15344011c6aede
https://github.com/llvm/llvm-project/commit/6646b65082e8bc5f485c744a9c15344011c6aede
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
[LAA] Rework and rename stripGetElementPtr (#125315)
The stripGetElementPtr function is mysteriously named, and calls into
another mysterious getGEPInductionOperand which does something
complicated with GEP indices. The real purpose of the badly-named
stripGetElementPtr function is to get a loop-variant GEP index, if there
is one. The getGEPInductionOperand is totally redundant, as stripping
off zeros from the end of GEP indices has no effect on computing the
loop-variant GEP index, as constant zeros are always loop-invariant.
Moreover, the GEP induction operand is simply the first non-zero index
from the end, which stripGetElementPtr returns when it finds that any of
the GEP indices are loop-variant: this is a completely unrelated value
to the GEP index that is loop-variant. The implicit assumption here is
that there is only ever one loop-variant index, and it is the first
non-zero one from the end.
The logic is unnecessarily complicated for what stripGetElementPtr wants
to achieve, and the header comments are confusing as well. Strip
getGEPInductionOperand, rework and rename stripGetElementPtr.
Commit: c71f9141a970b6f6d46d27d7c26c7747dd525275
https://github.com/llvm/llvm-project/commit/c71f9141a970b6f6d46d27d7c26c7747dd525275
Author: David Green <david.green at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-counting-elems.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/vscale.ll
Log Message:
-----------
[AArch64] Add a phase-ordering test for dividing vscale. NFC
See #126411 / #127055, the test isn't expected to fold in a single instcombine
iteration, needing instcombine->cse->instcombine.
Commit: 41be5bbbdba2939a5fdb82c968c102f993edc4d8
https://github.com/llvm/llvm-project/commit/41be5bbbdba2939a5fdb82c968c102f993edc4d8
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (3/N) (#127320)
* Remove `vector.create_mask` from tests. Instead, pass masks as
arguments. This simplifies the tests without sacrificing test
coverage.
* Update `@xfer_read_minor_identity_tranposed_with_mask_scalable` to use
similar shapes as other tests and to avoid using test Ops (e.g.
`@test.some_use`). This improves consistency between tests.
* Fix some comment typos.
Commit: 86553788780ec3992eb0ab18815cc12f2782be1a
https://github.com/llvm/llvm-project/commit/86553788780ec3992eb0ab18815cc12f2782be1a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-types.ll
Log Message:
-----------
[SPIR-V] Built-in variables: mapping from an OpenCL to SPIR-V BuiltIn and SPIR-V friendly builtins for Image Read/Write instructions (#127242)
This PR improves built-in variables and functions support:
* extends mapping from an OpenCL C built-in function to the SPIR-V
BuiltIn variables as in
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Env.html#_built_in_variables,
and
* adds SPIR-V friendly builtins for Image Read/Write instructions.
Test cases are extended accordingly.
Commit: 762001118c068317ec67274221497be2e6499c6a
https://github.com/llvm/llvm-project/commit/762001118c068317ec67274221497be2e6499c6a
Author: Steven Cooreman <steven.cooreman at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/include/__mbstate_t.h
Log Message:
-----------
[libc++] Do not guard inclusion of wchar.h with _LIBCPP_HAS_WIDE_CHARACTERS (#126924)
`mbstate_t` needs to be visible to libcpp, even when it is not providing
wide
character functionality (i.e. `_LIBCPP_HAS_WIDE_CHARACTERS` is turned
off)
and thus not using any of the C library's wide character functions.
There are C libraries (such as newlib-nano/nanolib/picolibc) which do
provide their definition of `mbstate_t` in `<wchar.h>` even though they
do not
come with wide character functions.
Since there is a way to conditionally include the C library's
`<wchar.h>`
only if it exists, we should rely on the fact that if it exists, it will
provide `mbstate_t`. Removing this guard will allow using libc++ on top
of
newlib-nano/picolibc while not breaking the cases where it is used on
top
of a C library which doesn't provide `<wchar.h>` (since it would then
still
go look for `<uchar.h>` or error out).
Commit: 059f044309a282447fb25073875cff8d2bd96f78
https://github.com/llvm/llvm-project/commit/059f044309a282447fb25073875cff8d2bd96f78
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Propagate weak & hidden flags when creating lazy reexports, redirectables.
Updates JITLinkRedirectableSymbolManager to take alias flags into account when
setting the scope and linkage of the created stubs (weak aliases get now get weak
linkage, hidden stubs get hidden visibility).
Updates lazyReexports to propagate alias flags (rather than trampoline flags)
when building the initial destinations map for the redirectable symbols manager.
Together these changes allow the LazyObjectLinkingLayer to link objects
containing weak and hidden symbols.
Commit: 719c46b35958782622e300696fbe6af6549b4cdc
https://github.com/llvm/llvm-project/commit/719c46b35958782622e300696fbe6af6549b4cdc
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[FunctionAttrs] Fix typo in `getArgumentAccessInfo` name (NFC)
Commit: 519b53e65ef6ad5385d80d0726e48bbc3b08992f
https://github.com/llvm/llvm-project/commit/519b53e65ef6ad5385d80d0726e48bbc3b08992f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.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/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
R llvm/lib/CodeGen/RegAllocEvictionAdvisor.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Port RegAllocEvictionAdvisor analysis to NPM (#117309)
Legacy pass used to provide the advisor, so this extracts that logic
into a provider class used by both analysis passes.
All three (Default, Release, Development) legacy passes
`*AdvisorAnalysis` are basically renamed to `*AdvisorProvider`, so the
actual legacy wrapper passes are `*AdvisorAnalysisLegacy`.
There is only one NPM analysis `RegAllocEvictionAnalysis` that switches
between the three providers in the `::run` method, to be cached by the
NPM.
Also adds `RequireAnalysis<RegAllocEvictionAnalysis>` to the optimized
target reg alloc codegen builder.
Commit: d64f177a2f4ae91cf520111dffed73f3c6b555eb
https://github.com/llvm/llvm-project/commit/d64f177a2f4ae91cf520111dffed73f3c6b555eb
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix `no-allow-shlib-undefined` errors.
The BUILD file changes in https://github.com/llvm/llvm-project/pull/127544 adds `LinalgInterfaces` which is incomplete without `LinalgDialect`.
For now, just add the `LinalgDialect` as dependency to tests which do not otherwise depend on it (but depend on `LinalgInterfaces` through e.g. `TensorDialect`).
This is a temporary solution until the dependency of `TensorDialect` is trimmed to just the `linalg::RelayoutOpInterface`, but not the other linalg interfaces. See https://github.com/llvm/llvm-project/pull/127544#pullrequestreview-2622065243.
Commit: 91ef371ae6201d481358a816d9b8fbea2ac3f565
https://github.com/llvm/llvm-project/commit/91ef371ae6201d481358a816d9b8fbea2ac3f565
Author: Hyunsung Lee <ita9naiwa at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[MLIR] Update `operator<<` in objects of DataFlowFramework.h (#127586)
Commit: 1c6cecdbdd2470292ce0b508922d807e3100f85c
https://github.com/llvm/llvm-project/commit/1c6cecdbdd2470292ce0b508922d807e3100f85c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/cmake/modules/AddLibclc.cmake
M libclc/r600/lib/image/get_image_attributes_impl.ll
M libclc/r600/lib/image/read_image_impl.ll
M libclc/r600/lib/image/write_image_impl.ll
Log Message:
-----------
[libclc] Suppress data-layout warnings during linking (#127532)
libclc uses llvm-link to link together all of the individually built
libclc builtins files into one module. Some of these builtins files are
compiled from source by clang whilst others are converted from LLVM IR
directly to bytecode.
When llvm-link links a 'source' module into a 'destination' module, it
warns if the two modules have differing data layouts.
The LLVM IR files libclc links either have no data layout (shared
submodule files) or an explicit data layout in the case of certain
amdgcn/r600 files.
The warnings are very noisy and largely inconsequential. We can suppress
them exploiting a specific behaviours exhibited by llvm-link. When the
destination module has no data layout, it is given the source module's
data layout. Thus, if we link together all IR files first, followed by
the clang-compiled modules, 99% of the warnings are suppressed as they
arose from linking an empty data layout into a non-empty one.
The remaining warnings came from the amdgcn and r600 targets. Some of
these were because the data layouts were out of date compared with what
clang currently produced, so those could have been updated.
However, even with those changes and by grouping the IR files together,
the linker may still link explicit data layouts with empty ones
depending on the order the IR files are processed.
As it happens, the data layouts aren't essential. With the changes to
the link line we can rely on those IR files receiving the correct data
layout from the clang-compiled modules later in the link line. This also
makes the previously AMDGPU-specific IR files available to be used by
all targets in a generic capacity in the future.
Commit: df300a4a67affc2262131486314d2ca16688eda3
https://github.com/llvm/llvm-project/commit/df300a4a67affc2262131486314d2ca16688eda3
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Fix typo in Backporting section of GitHub.rst.
Commit: 93d3e20bb226507c6eb777cfb15ea13f2cd129e8
https://github.com/llvm/llvm-project/commit/93d3e20bb226507c6eb777cfb15ea13f2cd129e8
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
M mlir/test/Target/SPIRV/terminator.mlir
Log Message:
-----------
[mlir][spirv] Add definition for OpKill (#126554)
Although the operation is deprecated in the most recent version of the
SPIR-V spec, it is still used by older shaders, so having it defined is
valuable and incurs negligible maintenance overhead, due to op
simplicity.
Commit: eb7c947272952d40d3235d89652a10da52cb2b4d
https://github.com/llvm/llvm-project/commit/eb7c947272952d40d3235d89652a10da52cb2b4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
A llvm/test/CodeGen/AMDGPU/fold-literal-multiple-gfx10.mir
M llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir
Log Message:
-----------
AMDGPU: Correct legal literal operand logic for multiple uses (#127594)
The same literal can be used multiple times in an instruction,
not just once. We were not tracking the used value to verify this,
so correct this.
This helps avoid regressions in a future patch.
Commit: e5ce1d3a56676a18d1c7659f6190efcbfbb51ddd
https://github.com/llvm/llvm-project/commit/e5ce1d3a56676a18d1c7659f6190efcbfbb51ddd
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/Target/write_target_def_file.gni
Log Message:
-----------
[gn] Move write_target_def_file to its own .gni file
Commit: 09c2441037efeaa2980da4bb24286d0684ba99b5
https://github.com/llvm/llvm-project/commit/09c2441037efeaa2980da4bb24286d0684ba99b5
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/driver/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/heatmap/BUILD.gn
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
Log Message:
-----------
[gn] port e235fcb582ee (bolt TargetConfig.def)
Commit: 5fbb6d919d528d54538df3330e76f220ff52ab30
https://github.com/llvm/llvm-project/commit/5fbb6d919d528d54538df3330e76f220ff52ab30
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Allow up/down casts of nullptr (#127615)
If the target type is a pointer type.
Commit: 7e2707ad4673869fcca119a0ad8bd25aa38a5503
https://github.com/llvm/llvm-project/commit/7e2707ad4673869fcca119a0ad8bd25aa38a5503
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/test/Dialect/Linalg/specialize-generic-ops-fail.mlir
Log Message:
-----------
[mlir][nfc] Add a negative test for --linalg-specialize-generic-ops (#127600)
Following on from #126737, adds a negative test that:
* prior to #126737, would incorrectly generated empty output,
* with the fix in-tree, simply outputs the input IR (i.e. the
specialization "fails").
I've also made minor editorial changes.
Commit: 3b6cc94e7410b818658693885d4f5857c2fdbc6b
https://github.com/llvm/llvm-project/commit/3b6cc94e7410b818658693885d4f5857c2fdbc6b
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[SystemZ][z/OS] Mark text files as text in ClangScanDeps (#127514)
This patch continues the work that was started here
https://reviews.llvm.org/D99426 to correctly open text files in text
mode.
Commit: 0d666598a06420d1c59f3b02ef5022ec9af39b0d
https://github.com/llvm/llvm-project/commit/0d666598a06420d1c59f3b02ef5022ec9af39b0d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
Log Message:
-----------
[BasicAA] Add test for #126670 (NFC)
Commit: 27fe2c95ee067ee013b947040538224187b3adb7
https://github.com/llvm/llvm-project/commit/27fe2c95ee067ee013b947040538224187b3adb7
Author: Danial Klimkin <dklimkin at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
Log Message:
-----------
[bazel]Move HAVE_GETAUXVAL from config.h to config.bzl (#127637)
This fixes build errors on mac OS.
Commit: 4cc7d60fe3e060e33cb01f054e2d26870d6256b7
https://github.com/llvm/llvm-project/commit/4cc7d60fe3e060e33cb01f054e2d26870d6256b7
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Target/Cpp/CppEmitter.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
A mlir/test/Target/Cpp/file.mlir
Log Message:
-----------
[MLIR] emitc: Add emitc.file op (#123298)
A `emitc.file` represents a file that can be emitted
into a single C++ file.
This allows to manage multiple source files within the same MLIR module,
but emit them into separate files.
This feature is opt-in.
By default, `mlir-translate` emits all ops outside of `emitc.file`
and ignores all `emitc.file` ops and their bodies.
When specifying the `-file-id=id` flag,
`mlir-translate` emits all ops outside of `emitc.file` and
the ops within the `emitc.file` with matching `id`.
Example:
```mlir
emitc.file "main" {
func @func_one() {
return
}
}
emitc.file "test" {
func @func_two() {
return
}
}
```
`mlir-translate -file-id=main` will emit `func_one` and
`mlir-translate -file-id=test` will emit `func_two`.
Commit: 31abb20162a7d035841c9506b1cd18d3ae8df10c
https://github.com/llvm/llvm-project/commit/31abb20162a7d035841c9506b1cd18d3ae8df10c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Move bases and virtual bases in moveRecord (#127627)
The fixme comment turned out to be true.
Commit: 10fc06a3215ac11220cc8e13d65ef0aa4c4089c9
https://github.com/llvm/llvm-project/commit/10fc06a3215ac11220cc8e13d65ef0aa4c4089c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-partial-undef.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] canonicalizeShuffleWithOp - add handling for X86ISD::VPERMV nodes (#127625)
Handle different src/mask operand ordering of X86ISD::VPERMV nodes
Commit: df12bad075b77953fc3af6fc3db3b7dd25a81977
https://github.com/llvm/llvm-project/commit/df12bad075b77953fc3af6fc3db3b7dd25a81977
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_upsample.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.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
Log Message:
-----------
[libclc] Use CLC conversion builtins in CLC functions (#127628)
This commit is a broad update across libclc to use the CLC conversion
builtins in CLC functions, even those with a '__clc' prefix in the
generic folder. This better prepares them for an official move to the
CLC library in time.
The CLC conversion builtins have an additional benefit in that they
support scalars, unlike the __builtin_convertvector builtin which we
were using previously. This allows us to simplify some shared
definitions.
There is one change to the IR, in the scalar upsample(char, uchar)
builtin. It now sign-extends the first argument to i16, where before it
zero-extended it. This appears to be correct, and matches the vector
behaviour.
Commit: 378c6fbe330e6de2feac8a8e3bc0c93ec6aca80d
https://github.com/llvm/llvm-project/commit/378c6fbe330e6de2feac8a8e3bc0c93ec6aca80d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/clc/lib/generic/integer/clc_upsample.cl
Log Message:
-----------
[libclc][NFC] Rename macro; undef at end of file
Commit: 9516f44f6b67965f245cb0e533aa88090f990f71
https://github.com/llvm/llvm-project/commit/9516f44f6b67965f245cb0e533aa88090f990f71
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV] Add policy operand to masked vector compare pseudos. Remove ForceTailAgnostic. NFC (#127575)
Add a policy operand to set the tail agnostic policy instead of using
ForceTailAgnostic. The masked to unmasked transforms had to be updated
to drop the policy operand when converting to unmasked.
Commit: 38376dee92224c6657ef6d88413bfc77f4441268
https://github.com/llvm/llvm-project/commit/38376dee92224c6657ef6d88413bfc77f4441268
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[VPlan] Build initial VPlan 0 using HCFGBuilder for inner loops. (NFC) (#124432)
Use HCFGBuilder to build an initial VPlan 0, which wraps all input
instructions in VPInstructions and update tryToBuildVPlanWithVPRecipes
to replace the VPInstructions with widened recipes.
At the moment, widened recipes are created based on the underlying
instruction of the VPInstruction. Masks are also still created based on
the input IR basic blocks and the loop CFG is flattened in the main loop
processing the VPInstructions.
This patch also incldues support for Switch instructions in HCFGBuilder
using just a VPInstruction with Instruction::Switch opcode.
There are multiple follow-ups planned:
* Perform predication on the VPlan directly,
* Unify code constructing VPlan 0 to be shared by both inner and outer
loop code paths.
* Construct VPlan 0 once, clone subsequent ones for VFs
PR: https://github.com/llvm/llvm-project/pull/124432
Commit: f5cf04c548ed848b9d79436803809db36101ab02
https://github.com/llvm/llvm-project/commit/f5cf04c548ed848b9d79436803809db36101ab02
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused variable after 38376dee92224c66.
Commit: 3305d9f08d4a947f77143bdb817016dd909cd634
https://github.com/llvm/llvm-project/commit/3305d9f08d4a947f77143bdb817016dd909cd634
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 4cc7d60fe3e060e33cb01f054e2d26870d6256b7
Commit: e1a393e39275ca0fea4bb19fa08c88bae3178cf8
https://github.com/llvm/llvm-project/commit/e1a393e39275ca0fea4bb19fa08c88bae3178cf8
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
Define Telemetry plugin for LLDB. (#126588)
Details:
Make LLDB's TelemetryManager a "plugin" so that vendor can supply
appropriate implementation.
The rest of LLDB code will simply call `TelemetryManager::getInstance`
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 8806311bb7c2b5a4a40698f544f775d62538d7df
https://github.com/llvm/llvm-project/commit/8806311bb7c2b5a4a40698f544f775d62538d7df
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Math/Transforms/Approximation.h
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/mlir-runner/math-polynomial-approx.mlir
M mlir/utils/vim/syntax/mlir.vim
Log Message:
-----------
[MLIR][Math] Add erfc to math dialect (#126439)
This patch adds the erfc op to the math dialect. It also does lowering
of the math.erfc op to libm calls. There is also a f32 polynomial
approximation for the function based on
https://stackoverflow.com/questions/35966695/vectorizable-implementation-of-complementary-error-function-erfcf
This is in turn based on
M. M. Shepherd and J. G. Laframboise, "Chebyshev Approximation of
(1+2x)exp(x^2)erfc x in 0 <= x < INF", Mathematics of Computation, Vol.
36, No. 153, January 1981, pp. 249-253.
The code has a ULP error less than 3, which was tested, and MLIR test
values were verified against the C implementation.
Commit: 37bde7ae5baa85889c9fcc647bdac149c646116e
https://github.com/llvm/llvm-project/commit/37bde7ae5baa85889c9fcc647bdac149c646116e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
Log Message:
-----------
[SLP]Fix hanging on small trees with phis only with adjusted cost threshold
Need to check if the tree is too small before attempting to vectorize the tree to prevent hanging on small trees with phis only.
Commit: f7a5f067885b7f6cc4a000c8392adf6b777a9108
https://github.com/llvm/llvm-project/commit/f7a5f067885b7f6cc4a000c8392adf6b777a9108
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] FLAT_load using D16 pseudo instruction (#114500)
Implement new pseudos with the suffix _t16 for FLAT_LOAD which have
VGPR_16 as the load dst. Lower the pseudos to the existing real
instructions with VGPR_32 src or dst (which makes them consistent with
the hardware encoding). This patch reduces VGPR usage by making hi
halves of VGPRs available for other values.
There are more 8/16 bits ld/st instructions to be supported in the
up-coming patches
Commit: e61deef8fe0e94be7a309dc53436f70dc69491cf
https://github.com/llvm/llvm-project/commit/e61deef8fe0e94be7a309dc53436f70dc69491cf
Author: André Brand <andre.brand at mailbox.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-decl.cpp
Log Message:
-----------
[Clang] Add 'instantiated_from' for enums in TextNodeDumper (#124409)
This commit adds "instantiated_from" to the AST dump for EnumDecl,
improving consistency with CXXRecordDecl and FunctionDecl, which also
include this information. To achieve this, TextNodeDumper::VisitEnumDecl
is updated with analogous lines found in
TextNodeDumper::VisitFunctionDecl and
TextNodeDumper::VisitCXXRecordDecl.
Commit: 7a781527682ebe90616b05fb2311b1d0d6fc997e
https://github.com/llvm/llvm-project/commit/7a781527682ebe90616b05fb2311b1d0d6fc997e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const int' and
'const unsigned long' [-Werror,-Wsign-compare]
Commit: 0e960f12dccc26b6d0d49a2359089e0846c44b74
https://github.com/llvm/llvm-project/commit/0e960f12dccc26b6d0d49a2359089e0846c44b74
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add OMP Declare Mapper MLIR Op definition (#117045)
This patch adds the OMP.DeclareMapperOp to MLIR.
The HLFIR/FIR lowering for Declare Mapper is available here #117046.
Commit: a6f2a1ecaaa83ea211c8fbb12edbccda39859d74
https://github.com/llvm/llvm-project/commit/a6f2a1ecaaa83ea211c8fbb12edbccda39859d74
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll
Log Message:
-----------
[SCEV] Generate test checks (NFC)
Commit: 55dba06540d17cb9abf2fca094a3805b4eef3be3
https://github.com/llvm/llvm-project/commit/55dba06540d17cb9abf2fca094a3805b4eef3be3
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
Addressed additional review comments from PR/119716. (#126757)
Commit: 2cb5241c7724cbf4fa02b25547e098bfc635aba9
https://github.com/llvm/llvm-project/commit/2cb5241c7724cbf4fa02b25547e098bfc635aba9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
Revert "[AMDGPU][True16][CodeGen] FLAT_load using D16 pseudo instruction (#114500)"
This reverts commit f7a5f067885b7f6cc4a000c8392adf6b777a9108.
Fails to build with:
llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:126:37: error: no member named 'OPERAND_LAST' in 'llvm::AMDGPU::OpName'
126 | uint16_t OpName = AMDGPU::OpName::OPERAND_LAST;
Commit: 0e1ffa397ef35fe55f7bd768d42f94241d1a2caa
https://github.com/llvm/llvm-project/commit/0e1ffa397ef35fe55f7bd768d42f94241d1a2caa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
Log Message:
-----------
[SLP]Fix a crash when comparing phis from unreachable blocks
Need to check if the block is reachable before comparing phis from it to
avoid compiler crash when requesting node.
Fixes report in https://github.com/llvm/llvm-project/pull/110529#issuecomment-2664723338
Commit: 0cc532b79e36d46669ebba01180e8fc1a9595d7b
https://github.com/llvm/llvm-project/commit/0cc532b79e36d46669ebba01180e8fc1a9595d7b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
Log Message:
-----------
[RISCV] Move the RISCVII namespaced enums into RISCVVType namespace in RISCVTargetParser.h. NFC (#127585)
The VLMUL and policy enums originally lived in RISCVBaseInfo.h in the
backend which is where everything else in the RISCVII namespace is
defined.
RISCVTargetParser.h is used by much more of the compiler and it
doesn't really make sense to have 2 different namespaces exposed.
These enums are both associated with VTYPE so using the RISCVVType
namespace seems like a good home for them.
Commit: 270284dbc225cf836bad320bf4adcbb725f553b1
https://github.com/llvm/llvm-project/commit/270284dbc225cf836bad320bf4adcbb725f553b1
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/MachO/export-options.s
Log Message:
-----------
[lld][MachO] Test with exported_symbol and exported_symbols_list together (#127243)
Commit: 9905728e2fb4ebe9b7518dfd73a0574eea0a2083
https://github.com/llvm/llvm-project/commit/9905728e2fb4ebe9b7518dfd73a0574eea0a2083
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for OpenMP Declare Mapper directive (#117046)
This patch adds HLFIR/FIR lowering support for OpenMP Declare Mapper
directive.
Depends on #117045.
Commit: 7a5d1e994600eb01716e7b7f784e26672ba8d623
https://github.com/llvm/llvm-project/commit/7a5d1e994600eb01716e7b7f784e26672ba8d623
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127573)
Commit: e0ed5e8db98ebcf58a94cc730c6927cb85db41b5
https://github.com/llvm/llvm-project/commit/e0ed5e8db98ebcf58a94cc730c6927cb85db41b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127574)
Commit: 4405451a22b98fe10a0d7d844dc8223bae468470
https://github.com/llvm/llvm-project/commit/4405451a22b98fe10a0d7d844dc8223bae468470
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated map lookups (NFC) (#127576)
Commit: 4cfeebd9b4823025ed6bd992cf9310725e487aea
https://github.com/llvm/llvm-project/commit/4cfeebd9b4823025ed6bd992cf9310725e487aea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#127577)
Commit: 06829f4f8fc0ab5ed6fc8fd9b0918bc13eb9fea0
https://github.com/llvm/llvm-project/commit/06829f4f8fc0ab5ed6fc8fd9b0918bc13eb9fea0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#127578)
Commit: 9a4bf985f8e920704c4da12f2db0caeebc25a0a3
https://github.com/llvm/llvm-project/commit/9a4bf985f8e920704c4da12f2db0caeebc25a0a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#127579)
Commit: 6682753ceb5ae2e5b3bd1f0cdd31fc3d61ee4f97
https://github.com/llvm/llvm-project/commit/6682753ceb5ae2e5b3bd1f0cdd31fc3d61ee4f97
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Refactor globals insertion point in import (#127490)
Unifies imports to use a single insertion point, `globalInsertionOp`,
for global values.
Refactors insertion point setup into `setGlobalInsertionPoint`, which
sets insertion point after `globalInsertionOp` or defaults to the start
of the module if it is not set.
Commit: bfcec1999c7ec30c53ccfcda372a4e9e27a43268
https://github.com/llvm/llvm-project/commit/bfcec1999c7ec30c53ccfcda372a4e9e27a43268
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86] Add test coverage for bfloat <-> half conversion
Inspired by #90738 (although that is a clang codegen issue)
Commit: 74016728e34ff4fcc6f0e0c412415cf70c2584e5
https://github.com/llvm/llvm-project/commit/74016728e34ff4fcc6f0e0c412415cf70c2584e5
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll
Log Message:
-----------
[DSE] Update dereferenceable attributes when adjusting memintrinsic ptr (#125073)
Consider IR like this
call void @llvm.memset.p0.i64(ptr dereferenceable(28) %p, i8 0, i64 28,
i1 false)
store i32 1, ptr %p
In the past it has been optimized like this:
%p2 = getelementptr inbounds i8, ptr %p, i64 4
call void @llvm.memset.p0.i64(ptr dereferenceable(28) %p2, i8 0, i64 24,
i1 false)
store i32 1, ptr %p
As the input IR doesn't guarantee that it is OK to deref 28 bytes
starting at the adjusted pointer %p2 the transformation has been a bit
flawed.
With this patch we make sure to drop any
dereferenceable/dereferenceable_or_null attributes when doing such
transforms. An alternative would have been to adjust the amount of
dereferenceable bytes, but since a memset with a constant length already
implies dereferenceability by itself it is simpler to just drop the
attributes.
The new filtering of attributes is done using a helper that only keep
attributes that we explicitly handle. For the adjusted mem instrinsic
pointers that currently involve "NonNull", "NoUndef" and "Alignment"
(when the alignment is known to be fulfilled also after offsetting the
pointer).
Fixes #115976
Commit: 1fd06001a9e4f3da4c70f71e1d8df28198f67529
https://github.com/llvm/llvm-project/commit/1fd06001a9e4f3da4c70f71e1d8df28198f67529
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Cleanup iterators in CodeGenSchedule.h (#127401)
- Use range for loops for processor models and schedule classes.
- Cleanup duplicated or unused iterators in CodeGenSchedule.h
Commit: 7b89c41e41ce1a8832130ce9bfa24b216bfe327b
https://github.com/llvm/llvm-project/commit/7b89c41e41ce1a8832130ce9bfa24b216bfe327b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M offload/libomptarget/OpenMP/Mapping.cpp
Log Message:
-----------
[offload] Remove redundant checks in MappingInfoTy::lookupMapping (#127638)
Also add some clarifying comments.
Commit: ca0c84dbfd22ef060abe62ce34a51a6e6c2ceedb
https://github.com/llvm/llvm-project/commit/ca0c84dbfd22ef060abe62ce34a51a6e6c2ceedb
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/Expr.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[NFC] [clang] make isFlexibleArrayMemberLike Ctx const (#126656)
it is not used mutably
Commit: 64675ccc36e4b2adc10594f5681735e533247cad
https://github.com/llvm/llvm-project/commit/64675ccc36e4b2adc10594f5681735e533247cad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
Log Message:
-----------
[NVPTX] Use MCRegister. NFC
Commit: 74cb1f9f51e5dcc6d0689994b6e0fa9c19d687c9
https://github.com/llvm/llvm-project/commit/74cb1f9f51e5dcc6d0689994b6e0fa9c19d687c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Use MCRegister. NFC
Commit: ee17955dfe454f78bef41e47ef7ce255fa2563e9
https://github.com/llvm/llvm-project/commit/ee17955dfe454f78bef41e47ef7ce255fa2563e9
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add OMP Mapper field to MapInfoOp (#120994)
This patch adds the mapper field to the omp.map.info op.
Depends on #117046.
Commit: 886b2edfbeea9f35a0495e2a531429ec9cce5e57
https://github.com/llvm/llvm-project/commit/886b2edfbeea9f35a0495e2a531429ec9cce5e57
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/test/Lower/OpenMP/Todo/map-mapper.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
A flang/test/Lower/OpenMP/map-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for OpenMP custom mappers in map clause (#121001)
Add Lowering support for OpenMP mapper field in mapInfoOp.
NOTE: This patch only supports explicit mapper lowering. I'll add a
separate PR soon which handles implicit default mapper recognition.
Depends on #120994.
Commit: d6ab12c7cc7058776ad46fe0767080b1e7710cc2
https://github.com/llvm/llvm-project/commit/d6ab12c7cc7058776ad46fe0767080b1e7710cc2
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
Log Message:
-----------
[MLIR][OpenMP] Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper (#121005)
Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper.
Depends on #121001
Commit: 785a5b4676e7aa77904babb9f66e862b5fc39295
https://github.com/llvm/llvm-project/commit/785a5b4676e7aa77904babb9f66e862b5fc39295
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A offload/test/offloading/fortran/target-custom-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add LLVM translation support for OpenMP UserDefinedMappers (#124746)
This patch adds OpenMPToLLVMIRTranslation support for the OpenMP Declare
Mapper directive.
Since both MLIR and Clang now support custom mappers, I've changed the
respective function params to no longer be optional as well.
Depends on #121005
Commit: f66d97fe51a007b81aaa73a336dd56afebb19cc0
https://github.com/llvm/llvm-project/commit/f66d97fe51a007b81aaa73a336dd56afebb19cc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/lib/Analysis/CallGraph.cpp
Log Message:
-----------
[Analysis] Remove unused functions in CallGraphNode (#127411)
The last uses of these functions were removed in:
commit 58bc98cd3abd72226cdbaa05bd92af9598d491db
Author: Arthur Eubanks <aeubanks at google.com>
Date: Fri Jul 12 10:02:50 2024 -0700
Commit: 5d4eb08379cc2574fc8641576c8e5cfc37fe2e6e
https://github.com/llvm/llvm-project/commit/5d4eb08379cc2574fc8641576c8e5cfc37fe2e6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/docs/OptBisect.rst
M llvm/include/llvm/Analysis/CallGraphSCCPass.h
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
Log Message:
-----------
[Analysis] Remove skipSCC (#127412)
The last use was removed in:
commit fa6ea7a419f37befbed04368bcb8af4c718facbb
Author: Arthur Eubanks <aeubanks at google.com>
Date: Mon Mar 20 11:18:35 2023 -0700
Commit: 360630b567a46d4bf2cd64025a9e07a8b7cd2e97
https://github.com/llvm/llvm-project/commit/360630b567a46d4bf2cd64025a9e07a8b7cd2e97
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
Log Message:
-----------
[mlir][GPUDialect] Add cmdOption suffix consumer in GpuModuleToBinary Pass (#127646)
Add cmdOption suffix consumer function in GpuModuleToBinary Pass, which
can tokenize and remove a specific suffix of cmdOption.
Commit: 49453bf18e1877a3bd4d1cef40bb52c209b9c1e3
https://github.com/llvm/llvm-project/commit/49453bf18e1877a3bd4d1cef40bb52c209b9c1e3
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointList.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/Breakpoint/BreakpointLocationList.h
M lldb/include/lldb/Breakpoint/WatchpointList.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/QueueList.h
M lldb/include/lldb/Target/TargetList.h
M lldb/include/lldb/Target/ThreadCollection.h
M lldb/include/lldb/Utility/Iterable.h
Log Message:
-----------
[lldb][NFC] remove AdaptedConstIterator and AdaptedIterable (#127507)
AdaptedConstIterator currently doesn't have iterator traits, so I can't
use STL algorithms with containers like WatchpointList.
This patch replaces AdaptedConstIterator and AdaptedIterable with
llvm::iterator_adaped_base and llvm::iterator_range respectively.
Commit: 055872acc28afdd8d29acdbec24f4bd415481d33
https://github.com/llvm/llvm-project/commit/055872acc28afdd8d29acdbec24f4bd415481d33
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Integrate OpAsmTypeInterface with AsmPrinter (#124700)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This is a follow up PR of #121187, by integrating OpAsmTypeInterface
with AsmPrinter. There are a few conditions when OpAsmTypeInterface
comes into play
* There is no OpAsmOpInterface
* Or OpAsmOpInterface::getAsmResultName/getBlockArgumentName does not
invoke `setName` (i.e. the default impl)
* All results have OpAsmTypeInterface (otherwise we can not handle
result grouping behavior)
Cc @River707 @jpienaar @ftynse for review.
Commit: 7c104b63c7aae66cf91fa65b04011c49641b456d
https://github.com/llvm/llvm-project/commit/7c104b63c7aae66cf91fa65b04011c49641b456d
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[mlir] Introduce OpAsmAttrInterface for pretty-print (#124721)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR adds
* Definition of `OpAsmAttrInterface`
* Integration of `OpAsmAttrInterface` with `AsmPrinter`
In
https://github.com/llvm/llvm-project/pull/121187#discussion_r1931472250
I mentioned splitting them into two PRs, but I realized that a PR with
only definition of `OpAsmAttrInterface` is hard to test as it requires a
custom Dialect with `OpAsmDialectInterface` to hook with `AsmPrinter`,
so I just put them together to have a e2e test.
Cc @River707 @jpienaar @ftynse for review.
Commit: b22fc43551bd6862401e4684e545f445df4bc2be
https://github.com/llvm/llvm-project/commit/b22fc43551bd6862401e4684e545f445df4bc2be
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
[libc++] Updates the compilers used post LLVM-20 branching. (#126564)
Once LLVM 20 is released the clang-18 will no longer be supported.
Commit: 1f6165e1844a69a726b92cf8821a645b0fff5303
https://github.com/llvm/llvm-project/commit/1f6165e1844a69a726b92cf8821a645b0fff5303
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86InstrBuilder.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
X86: Fix convertToThreeAddress losing subregister indexes (#124098)
This avoids dozens of regressions in a future patch. These
primarily manifested as assertions where we had copies of 64-bit
registers to 32-bit registers.
This is testable in principle with hand written MIR, but that's
a bit too much x86 for me.
Commit: f796747a17941681c8f806cab4e10570b97b5089
https://github.com/llvm/llvm-project/commit/f796747a17941681c8f806cab4e10570b97b5089
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/src/experimental/tzdb.cpp
Log Message:
-----------
[libc++][TZDB] Improves system time zone detection. (#127339)
On some (Linux) systems /etc/localtime is not a symlink to the time
zone, but contains a copy of the binary time zone file. In these case
there usually is a file named /etc/timezone which contains the text for
the current time zone name.
Instead of throwing when /etc/localtime does not exist or is not a
symlink use this fallback.
Fixes: #105634
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: aa16ca3422d6ed4847bffb469cc5a1db14dca0b3
https://github.com/llvm/llvm-project/commit/aa16ca3422d6ed4847bffb469cc5a1db14dca0b3
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[mlir] Add getAlias for OpAsmTypeInterface (#126364)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR should be rebased once #124721 is merged.
This PR adds
* Definition of `getAlias` for `OpAsmTypeInterface`
* Integration of `OpAsmTypeInterface` with `AsmPrinter` alias handling
part
This is partly in response to
https://github.com/llvm/llvm-project/pull/124721/files#r1940399862
Cc @River707 for review.
Commit: d9803af3eb6c3ffe767f65ea853e9a1bc62de256
https://github.com/llvm/llvm-project/commit/d9803af3eb6c3ffe767f65ea853e9a1bc62de256
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 7c104b63c7aae66cf91fa65b04011c49641b456d
Commit: 4efab09252b5a62265efec6226f66da40975c8d0
https://github.com/llvm/llvm-project/commit/4efab09252b5a62265efec6226f66da40975c8d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Used named subreg indices instead of hardcoded numbers. NFC (#127671)
Commit: 8e16e5ca23d70b6d21346abfbe292aa7e91dcb2e
https://github.com/llvm/llvm-project/commit/8e16e5ca23d70b6d21346abfbe292aa7e91dcb2e
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/AST/HLSL/TypdefArrayParam.hlsl
Log Message:
-----------
[HLSL] Bug fix crash using Array Parameters when De-sugaring is the same as canonicalizing (#127670)
Fixes this crash: https://hlsl.godbolt.org/z/9aP74s4bP
Which happens because the de-sugared type is the same as the
canonicalized type.
Check if the de-sugared type is canonical before getting the
ArrayParameterType of the canonical type.
Add AST test to ensure crash doesn't happen.
Commit: 426148b26959b6ef3db8e05c82f708cf60301701
https://github.com/llvm/llvm-project/commit/426148b26959b6ef3db8e05c82f708cf60301701
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Implement DAG maintainance on Instruction removal (#127361)
This patch implements dependency maintenance upon receiveing the
notification that an instruction gets deleted.
Commit: 5ecce45ea2980aff35d1283d4dd3feb8f74de16c
https://github.com/llvm/llvm-project/commit/5ecce45ea2980aff35d1283d4dd3feb8f74de16c
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
M llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
[SandboxVec] Move seed collection into its own separate pass (#127132)
This patch moves the seed collection logic from the BottomUpVec pass
into a new Sandbox IR Function pass. The new "seed-collection" pass
collects the seeds, builds a region and runs the region pass pipeline.
Commit: e31a1c828d365ef94414be965a2a330a3b69250d
https://github.com/llvm/llvm-project/commit/e31a1c828d365ef94414be965a2a330a3b69250d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
Log Message:
-----------
[CodeGen] Remove getSubReg from TargetRegisterInfo. NFC (#127680)
Users can use the version inherited from MCRegisterInfo.
This version was added by e7694f34ab6a1 to return a Register. It was
later changed to return MCRegister by bab72dd5d5122 making it identical
MCRegisterInfo.
Commit: 56e0bf2958ffdcd74192cc7d8188d62bdbe068d6
https://github.com/llvm/llvm-project/commit/56e0bf2958ffdcd74192cc7d8188d62bdbe068d6
Author: Dmitry Babokin <babokin at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
Fix for issue #126162: warn for inconsistent Python search options (#126329)
Fixes #126162
I check locally that it works without warning for:
- neither options are defined
- both defined to the same value
And I checked that it warns if:
- only one is defined
- they defined to different values
Commit: 936fe9bb5ca66e13a609d1be0dfc9e5d7dd497b1
https://github.com/llvm/llvm-project/commit/936fe9bb5ca66e13a609d1be0dfc9e5d7dd497b1
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-function.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-value.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-no-root-element-list.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-root-element-not-mdnode.ll
Log Message:
-----------
[HLSL] Add more tests to root signature metadata extraction (#127283)
This PR adds a few more tests to validate some error scenarios of root
signature metadata representation.
Closes: https://github.com/llvm/llvm-project/issues/127280
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: ed147459502722ad2052db5d4650435387b204ab
https://github.com/llvm/llvm-project/commit/ed147459502722ad2052db5d4650435387b204ab
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Add test for regression in #127398. (NFC)
Commit: 083f80ff6b6666a8211867c0a026f872e742cfe6
https://github.com/llvm/llvm-project/commit/083f80ff6b6666a8211867c0a026f872e742cfe6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Remove implementation from LinalgInterfaces target.
Move LinalgInterfaces.cpp from LinalgInterfaces to LinalgDialect target.
This allows TensorDialect to use header-only RelayoutOpInterface without introducing a hidden dependency on LinalgDialect (producing an `no-allow-shlib-undefined` error if a target depends on TensorDialect but not LinalgDialect).
Also reverts https://github.com/llvm/llvm-project/commit/d64f177a2f4ae91cf520111dffed73f3c6b555eb because it's no longer needed.
Commit: 277512239a166e5376c705a9543773b142454522
https://github.com/llvm/llvm-project/commit/277512239a166e5376c705a9543773b142454522
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
Log Message:
-----------
[libc++][NFC] Clarify libc++'s stance about implementing the Networking TS
Commit: 7f275e09a788412414e23e32dd3767ec92595cad
https://github.com/llvm/llvm-project/commit/7f275e09a788412414e23e32dd3767ec92595cad
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A lld/test/ELF/lto/arm-rtlibcall.ll
Log Message:
-----------
[ELF][LTO] Add baseline test for invalid relocations against runtime calls
This can happen when using a LTO build of compiler-rt for ARM and the
program uses 64-bit division.
The 64-bit division function in compiler-rt (__aeabi_ldivmod) is written
in assembly and calls the C function __divmoddi4, which works fine in
non-LTO links. However, when building with LTO the call inside
__aeabi_ldivmod is replaced with a jump to address zero, which then
crashes the program.
Building with -pie generates an error instead of a jump to address zero,
and surprisingly just declaring the __aeabi_ldivmod function (but not
calling it) in the input IR also avoids this issue.
Reported as https://github.com/llvm/llvm-project/issues/127284
Co-authored-by: Fangrui Song <i at maskray.me>
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/127286
Commit: 3a00c428d903c5857eae83cb5e9dab73614c5ddb
https://github.com/llvm/llvm-project/commit/3a00c428d903c5857eae83cb5e9dab73614c5ddb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Add Hagenberg issues and papers to the Status pages (#127510)
Corresponding Github issues will be created shortly.
Commit: f7d03707d1f59cddab98d49fe55d8946477f87c8
https://github.com/llvm/llvm-project/commit/f7d03707d1f59cddab98d49fe55d8946477f87c8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/LICM/AMDGPU/buffer-rsrc-ptrs.ll
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Generalize amdgcn.make.buffer.rsrc to fat pointers (#126828)
Attempting to pass a `ptr addrspace(7)` to functions that take `ptr`
arguments produces undesirable `addrspacecast(addrspacecast(p8 x to p7)
to p0) => addrspacecast(p8 x to p0)` folds. This results in illegal GEP
operations on buffer resources, which can't be GEP'd. (However, note
that, while unimplemneted, addressspacecast from ptr addrspace(7) to ptr
is legal - it's just an effective address computation)
To resolve this problem, and thus prevent illegal
`getelementptr T, ptr addrspace(8) %x, ...` s from being produces, this
commit extends amdgcn.make.buffer.rsrc to also be variadic in its result
type, auto-upgrading old manglings.
The logic for handling a make.buffer.rsrc in instruction selection
remains untouched and expects the output type to be a ptr addrspace(8),
as does the Clang lowering for its builtin (the pointer-to-pointer
version might want a different name in clang). LowerBufferFatPointers
has been updated to lower
amdgcn.make.buffer.rsrc.p7.p* to amdgcn.make.buffer.rsrc.p8.p* .
This'll also make exposing buffer fat pointers in Clang easier, since
you don't have to cast between a `__amdgcn_rsrc_t` and a pointer.
Commit: 0049adfe122502444ca9cac6d059570e91e9b923
https://github.com/llvm/llvm-project/commit/0049adfe122502444ca9cac6d059570e91e9b923
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/verbatim.mlir
Log Message:
-----------
[MLIR] emitc: Add fmtArgs to verbatim (#123294)
Allows to print code snippets that refer to arguments or local
variables. E.g. `emitc.verbatim "#pragma abc var={}" args %arg0 :
!emitc.ptr<i32>` is printed as `#pragma abc var=v1` when the translator
had decided to print `%arg0` as `v1`.
As a follow-up PR, we will use the same infra to extend opaque type,
which provides a way to generate template types depending on the
spelling of other types.
Commit: 1f5edb17b23f5ac0576f83a6c122ce38bd5ec18e
https://github.com/llvm/llvm-project/commit/1f5edb17b23f5ac0576f83a6c122ce38bd5ec18e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
Log Message:
-----------
[lldb][Mach-O] Read dyld_all_image_infos addr from `main bin spec` LC_NOTE (#127156)
Mach-O corefiles have LC_NOTE metadata, one LC_NOTE that lldb recognizes
is `main bin spec` which can specify that this is a kernel corefile,
userland corefile, or firmware/standalone corefile. With a userland
corefile, the LC_NOTE would specify the virtual address of the dyld
binary's Mach-O header. lldb would create a Module from that in-memory
binary, find the `dyld_all_image_infos` object in dyld's DATA segment,
and use that object to find all of the binaries present in the corefile.
ProcessMachCore takes the metadata from this LC_NOTE and passes the
address to the DynamicLoader plugin via its `GetImageInfoAddress()`
method, so the DynamicLoader can find all of the binaries and load them
in the Target at their correct virtual addresses.
We have a corefile creator who would prefer to specify the address of
`dyld_all_image_infos` directly, instead of specifying the address of
dyld and parsing that to find the object. DynamicLoaderMacOSX, the
DynamicLoader plugin being used here, will accept either a dyld virtual
address or a `dyld_all_image_infos` virtual address from
ProcessMachCore, and do the correct thing with either value.
lldb's process save-core mach-o corefile reader will continue to specify
the virtual address of the dyld binary.
rdar://144322688
Commit: 2c05d026831f09d8c61eb752c8a0fbc1494fae6d
https://github.com/llvm/llvm-project/commit/2c05d026831f09d8c61eb752c8a0fbc1494fae6d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/EmitC/IR/EmitC.cpp:994:20: error: unused function
'parseVariadicTypeFmtArgs' [-Werror,-Wunused-function]
mlir/lib/Dialect/EmitC/IR/EmitC.cpp:1010:13: error: unused function
'printVariadicTypeFmtArgs' [-Werror,-Wunused-function]
Commit: 2847e1501e42bce813db10397230b5f33fc96b99
https://github.com/llvm/llvm-project/commit/2847e1501e42bce813db10397230b5f33fc96b99
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
M llvm/test/Analysis/ProfileSummary/basic.ll
Log Message:
-----------
[PGO] Fix incorrect count threshold calculation when 0% cutoff (#117359)
DefaultCutoffsData does not have an entry for the 0th percentile. As a
result, when the getEntryForPercentile method is called with a
percentile argument of 0, it returns a ProfileSummaryEntry for the 1st
percentile instead. This behavior affects the threshold calculations,
such as getHotCountThreshold, causing them to incorrectly identify some
sample profile counts as hot when they should not be.
This patch addresses the issue by handling the 0th percentile case in
the getEntryForPercentile method. This ensures that when the
-profile-summary-cutoff-hot (or -cold) option is set to 0, no sample
counts are treated as hot (or all sample counts are treated as cold).
Commit: 01f2f81f2b9a592e64a7efe9b1ee154d0979ee0a
https://github.com/llvm/llvm-project/commit/01f2f81f2b9a592e64a7efe9b1ee154d0979ee0a
Author: Eugene Epshteyn <59377284+eugeneepshteyn at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang-rt] Fixed uninitialized class member variable (#127681)
valgrind complained that `OpenStatementState::pathLength_` was used
before it was initialized, when a file was opened with
`status='scratch'`. The code seems to expect that `pathLengh_` should be
initialized to 0, so added default initialization to the declaration.
Commit: 78703c176fb725012d4569dc38a1c5711536badc
https://github.com/llvm/llvm-project/commit/78703c176fb725012d4569dc38a1c5711536badc
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
Log Message:
-----------
[gn] port e235fcb582ee more (bolt TargetConfig.def)
Commit: 8983d7a521ae9be47d9440e10d4398a24742d292
https://github.com/llvm/llvm-project/commit/8983d7a521ae9be47d9440e10d4398a24742d292
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 5ecce45ea298
Commit: 8529bd7b964cc9fafe8fece84f7bd12dacb09560
https://github.com/llvm/llvm-project/commit/8529bd7b964cc9fafe8fece84f7bd12dacb09560
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
Log Message:
-----------
[AMDGPU] Respect MBB alignment in the getFunctionCodeSize() (#127142)
Commit: db5bc8e9d07729ce4994cc908275722a093e5c0c
https://github.com/llvm/llvm-project/commit/db5bc8e9d07729ce4994cc908275722a093e5c0c
Author: nerix <nerixdev at outlook.de>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
Log Message:
-----------
[Clang] Warn about `[[noreturn]]` on coroutines (#127623)
Declaring a coroutine `[[noreturn]]` doesn't make sense, because it will
always return its handle. Clang previously crashed when trying to warn
about this (diagnostic ID was 0).
Fixes #127327.
Commit: 0f6c18e8c65b273af7e7af7ef38f78b4b66c481b
https://github.com/llvm/llvm-project/commit/0f6c18e8c65b273af7e7af7ef38f78b4b66c481b
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
Log Message:
-----------
[SandboxVec] Replace hard-coded context save() with transaction-save pass (#127690)
This patch implements a small region pass that saves the context's
state. The patch is now used in the default pipeline to save the context
state instead of the hard-coded call to Context::save().
The concept behind this is that the passes themselves should not have to
do the actual saving/restoring of the IR state, because that would make
it challenging to reorder them in the pipeline. Having separate
save/restore passes makes the transformation passes more composable as
parts of arbitrary pipelines.
Commit: beaca53947a2d95e2798a783f86198337a849d12
https://github.com/llvm/llvm-project/commit/beaca53947a2d95e2798a783f86198337a849d12
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0f6c18e8c65b
Commit: 0afe2bd21b06bed4d48eb88a99d13a768426359c
https://github.com/llvm/llvm-project/commit/0afe2bd21b06bed4d48eb88a99d13a768426359c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test trunc to i1 in foldSelectICmpAnd. (NFC)
Commit: 9bf582fc090f28c2423fdf472635c39145a13bc9
https://github.com/llvm/llvm-project/commit/9bf582fc090f28c2423fdf472635c39145a13bc9
Author: Timothy Herchen <timothy.herchen at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang][docs] Fix typos concerning wasm __funcref (#124365)
The docs conflate `__funcref` with an actual type in a couple places.
Commit: 7c24041895bc46dc19634e285a8907c787f8a3f9
https://github.com/llvm/llvm-project/commit/7c24041895bc46dc19634e285a8907c787f8a3f9
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] reopen "FLAT_load using D16 pseudo instruction" (#127673)
Previous patch is merged
https://github.com/llvm/llvm-project/pull/114500 and it hit a buildbot
failure and thus reverted
It seems the AMDGPU::OpName::OPERAND_LAST is removed at the meantime
when previous patch is merged and that's causing the compile error.
Fixed and reopen it here
Commit: 3430bc31a77381ddb5048ae9d33470254f746ceb
https://github.com/llvm/llvm-project/commit/3430bc31a77381ddb5048ae9d33470254f746ceb
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.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
Log Message:
-----------
[mlir][tosa] Make TOSA RESIZE's scale, offset, border as Input (#124956)
Move the `scale`, `offset`, and `border` parameters of the RESIZE
operator in the MLIR TOSA dialect from attributes to inputs and update
lit tests appropriately.
Add the verifier of the `tosa::ResizeOp` operation.
---------
Co-authored-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 0cc7381543e363da1f609ea4a1bbb57f573b0d20
https://github.com/llvm/llvm-project/commit/0cc7381543e363da1f609ea4a1bbb57f573b0d20
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Don't insert scheduled instrs into the ready list (#127688)
In a particular scenario (see test) we used to insert scheduled
instructions into the ready list. This patch fixes this by fixing the
trimSchedule() function.
Commit: 02c9dae8149722448ac955a3dad774a1a82d2df0
https://github.com/llvm/llvm-project/commit/02c9dae8149722448ac955a3dad774a1a82d2df0
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/unittests/Target/DirectX/CMakeLists.txt
A llvm/unittests/Target/DirectX/UniqueResourceFromUseTests.cpp
Log Message:
-----------
[HLSL] Add support to lookup a ResourceBindingInfo from its use (#126556)
Adds `findByUse` which takes a `llvm::Value` from a use and resolves it
(as best as possible) back to the creation of that resource.
It may return multiple ResourceBindingInfo if the use comes from
branched control flow.
Fixes #125746
Commit: 738f3a1493995875f1d8d557946ec8c3c557f5ab
https://github.com/llvm/llvm-project/commit/738f3a1493995875f1d8d557946ec8c3c557f5ab
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/DirectX/BUILD.gn
Log Message:
-----------
[gn build] Port 02c9dae81497
Commit: e10ac5fc71578a043eab6a2a53f0171c9230db97
https://github.com/llvm/llvm-project/commit/e10ac5fc71578a043eab6a2a53f0171c9230db97
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][NFC] Fix unused variable warning in test
Commit: 61cfa53896f3cf6d3356caa747311792053d5524
https://github.com/llvm/llvm-project/commit/61cfa53896f3cf6d3356caa747311792053d5524
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
Log Message:
-----------
[compiler-rt][asan] Re-enable forkpty test on AArch64 (NFC) (#127667)
Disabled in 86474c7a1addf59d511050552b697b8b2af61838, no longer failing
on AArch64 (for me at least).
Fixes: https://github.com/llvm/llvm-project/issues/24774
Commit: 2207e3e32549306bf563c6987f790cabe8d4ea78
https://github.com/llvm/llvm-project/commit/2207e3e32549306bf563c6987f790cabe8d4ea78
Author: A. Jiang <de34 at live.cn>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Set feature-test macro `__cpp_lib_atomic_float` (#127559)
The corresponding feature was implemented in LLVM 18 (by #67799), but
this FTM wasn't added before.
Commit: b2659ca44b2e26b558fce66689792709411c7d38
https://github.com/llvm/llvm-project/commit/b2659ca44b2e26b558fce66689792709411c7d38
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Propagate flags in `foldSelectICmpAndBinOp` (#127437)
It is always safe to add poison-generating flags for `BinOp Y,
Identity`.
Proof: https://alive2.llvm.org/ce/z/8BLEpq
and https://alive2.llvm.org/ce/z/584Bb4
Then we can propagate flags from one of the arms:
```
select Cond, Y, (BinOp flags Y, Z) ->
select Cond, (BinOp flags Y, Identity), (BinOp flags Y, Z) ->
BinOp flags Y, (select Cond, Identity, Z)
```
This patch is proposed to avoid information loss caused by
https://github.com/llvm/llvm-project/pull/127390.
Commit: da47a80d0398d4b5c680ab31a15f48293c731091
https://github.com/llvm/llvm-project/commit/da47a80d0398d4b5c680ab31a15f48293c731091
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Analysis/ProfileSummary/basic.ll
Log Message:
-----------
[PGO][test] Specify exact match for check labels (#117376)
Some check labels in the basic.ll test are simply f[1-3], which matches
all cases where the function entry is hot, cold, or uncategorized. Since
the actual test results for each label have mixed cases, the current
labels can be considered ambiguous.
This patch specifies exact matches for each label to ensure more precise
validation and to prevent potential regressions in the future.
Commit: b100c5074bb761f1a2ca39c4e274aa2f7e724439
https://github.com/llvm/llvm-project/commit/b100c5074bb761f1a2ca39c4e274aa2f7e724439
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/wasm/data-segments.ll
Log Message:
-----------
[lld][WebAssembly] Fix warnings in test. NFC (#127714)
Commit: f6d74af4d9cabb9a940656887c82aaba3ad1f922
https://github.com/llvm/llvm-project/commit/f6d74af4d9cabb9a940656887c82aaba3ad1f922
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[clang][X86] Only define __CET__ macro for X86 targets (#127616)
The `-fcf-protection` flag is now also used to enable CFI features for
the RISC-V target, so it's not suitable to define `__CET__` solely based
on the flag anymore. This patch moves the definition of the `__CET__`
macro into X86 target hook, so only X86 targets with the
`-fcf-protection` flag would enable the `__CET__` macro.
See https://github.com/llvm/llvm-project/pull/109784 and
https://github.com/llvm/llvm-project/pull/112477 for the adoption
of `-fcf-protection` flag for RISC-V targets.
Commit: 715edd70fdbda213668b55405c27c63292516fba
https://github.com/llvm/llvm-project/commit/715edd70fdbda213668b55405c27c63292516fba
Author: Chris B <chris.bieneman at me.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
Log Message:
-----------
[HLSL] Allow arrays to copy-initialize (#127557)
This change allows array variables to copy-initialize from other arrays.
It also corrects a small error in HLSL C-Style casting that did not
error on casting to arrays if elementwise and splat conversions fail.
Fixes #127551
Commit: 6662fe393cab2c4e550002c276813a89d9ab4443
https://github.com/llvm/llvm-project/commit/6662fe393cab2c4e550002c276813a89d9ab4443
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.td
A llvm/test/CodeGen/X86/bfloat-calling-conv.ll
Log Message:
-----------
[X86] Add missing vNbf16 handling in X86CallingConv.td file (#127102)
Lack of these entries caused clang to crash on the following code:
```c
__m256bh fun(__m256bh arg) {
return arg;
}
__m256bh run() {
__m256bh arg= {0};
fun(arg);
}
```
It caused the FastISel to fail since it handled the call lowering basing
on the X86CallingConv table.
Curiously, if FastISel fails somewhere down the line and
selectionDAGISel fallbacks, the crash does not occur. Following code
_does not_ crash:
```c
__m256bh fun(__m256bh arg) {
return arg;
}
__m256bh run() {
__m256bh arg= {0};
return fun(arg);
}
```
This is puzzling to me. Obviously, if FastISel fails then compiler
fallbacks to something else to lower these calls -- but since the
X86callingConv table _doesn't_ have entries for vNbf16 how does this
other thing manage not to crash? It has to use some other mechanism, one
which doesn't use the table. This rises following questions:
- how is this lowering accomplished without, presumably, using the
CallingConv entries?
- why is the table not used? I mean this points to some logic
duplication (fastISel way vs. the other bug-free way)
- How to properly test this? There is a test for vNbf16 values, but it
also must not be using the FastISel path? This duplication of logic
makes it hard to test this, since we don't have direct control whether
the FastISel path or the other one is used.
Nonetheless, this PR fixes the crash, though I didn't create a test for
it, since I am unsure yet how it should look like. I would like to learn
how the working non-FastISel mechanism works; I tried looking for it,
but didn't yet manage to find anything
Commit: aed9f11965d44e86fa5a53c7a6c1dfc7d8cbe6b8
https://github.com/llvm/llvm-project/commit/aed9f11965d44e86fa5a53c7a6c1dfc7d8cbe6b8
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
Log Message:
-----------
[AMDGPU] Handle lowering addrspace casts from LDS to FLAT address in amdgpu-sw-lower-lds. (#121214)
"infer-address-spaces" pass replaces all refinable generic pointers with
equivalent specific pointers.
At -O0 optimisation level, infer-address-spaces pass doesn't run in the
pipeline.
"amdgpu-sw-lower-lds" pass instruments memory operations on addrspace(3)
ptrs. Since, extra addrspacecasts are present from lds to flat
addrspaces at -O0 and the actual store/load memory instructions are now
on flat addrspace, these addrspacecast need to be handled in the
amdgpu-sw-lower-lds pass itself. This patch lowers the lds ptr first to
the corresponding ptr in the global memory from the asan_malloc. Then
replaces the original cast with addrspacecast from global ptr to flat
ptr.
Commit: 22d65d898961e96f0a8340e090ffa34558279eab
https://github.com/llvm/llvm-project/commit/22d65d898961e96f0a8340e090ffa34558279eab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
Log Message:
-----------
AMDGPU: Teach isOperandLegal about SALU literal restrictions (#127626)
isOperandLegal mostly implemented the VALU operand rules, and
largely ignored SALU restrictions. This theoretically avoids
folding literals into SALU insts which already have a literal
operand. This issue is currently avoided due to a bug in
SIFoldOperands; this change will allow using raw operand
legality rules.
This breaks the formation of s_fmaak_f32 in SIFoldOperands,
but it probably should not have been forming there in the first
place. TwoAddressInsts or RA should generally handle that,
and this only worked by accident.
Commit: 27e6561d108e8a3c17432b14bb5e8675c22a787b
https://github.com/llvm/llvm-project/commit/27e6561d108e8a3c17432b14bb5e8675c22a787b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
Log Message:
-----------
[Sparc] Use MCRegister. NFC
Commit: 8187caf8e3691b47ca5c9849df4cebd2f46a8fea
https://github.com/llvm/llvm-project/commit/8187caf8e3691b47ca5c9849df4cebd2f46a8fea
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
Log Message:
-----------
[NFC][AMDGPU] Pre-commit a test case of checking register coalescer on `v_pk_mov_b32` (#127715)
This PR serves as a preliminary step, adding a test case for register coalescer on v_pk_mov_b32. It is intended to demonstrate the code changes introduced in an upcoming PR.
Commit: 6c39ee717f03a0fe28f563d525fa5aff09804ba8
https://github.com/llvm/llvm-project/commit/6c39ee717f03a0fe28f563d525fa5aff09804ba8
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/cl-link.c
Log Message:
-----------
[Driver][MSVC] Pass profile file to lld-link via -lto-sample-profile option (#127442)
In SPGO lto mode, linker needs -lto-sample-profile option to set sample
profile file.
Linux adds this option by transferring fprofile-sample-use to
-plugin-opt=sample-profile=, which is alias of lto-sample-profile. (in
clang\lib\Driver\ToolChains\CommonArgs.cpp: tools::addLTOOptions()).
But clang on Windows misses the transferring. So add it now.
Commit: 8b284dc31070b9d1d99c593146da6248a5ca545d
https://github.com/llvm/llvm-project/commit/8b284dc31070b9d1d99c593146da6248a5ca545d
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Interfaces/FunctionInterfaces.cpp
Log Message:
-----------
[mlir] Fix FunctionOpInterface impl for external func (#124693)
For function declarations (i.e. func op has no entry block), the
FunctionOpInterface method `insertArgument` and `eraseArgument` will
cause segfault. This PR guards against manipulation of empty entry block
by checking whether func op is external.
An example can be seen in https://github.com/google/heir/pull/1324
The segfault trace
```
#1 0x0000560f1289d9db PrintStackTraceSignalHandler(void*) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:874:1
#2 0x0000560f1289b116 llvm::sys::RunSignalHandlers() /proc/self/cwd/external/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x0000560f1289e145 SignalHandler(int) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:415:1
#4 0x00007f829a3d9520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x0000560f1257f8bc void __gnu_cxx::new_allocator<mlir::BlockArgument>::construct<mlir::BlockArgument, mlir::BlockArgument>(mlir::BlockArgument*, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:162:23
#6 0x0000560f1257f84d void std::allocator_traits<std::allocator<mlir::BlockArgument> >::construct<mlir::BlockArgument, mlir::BlockArgument>(std::allocator<mlir::BlockArgument>&, mlir::BlockArgument*, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:520:2
#7 0x0000560f12580498 void std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> >::_M_insert_aux<mlir::BlockArgument>(__gnu_cxx::__normal_iterator<mlir::BlockArgument*, std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> > >, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:405:7
#8 0x0000560f1257cf7e std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> >::insert(__gnu_cxx::__normal_iterator<mlir::BlockArgument const*, std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> > >, mlir::BlockArgument const&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:154:6
#9 0x0000560f1257b349 mlir::Block::insertArgument(unsigned int, mlir::Type, mlir::Location) /proc/self/cwd/external/llvm-project/mlir/lib/IR/Block.cpp:178:13
#10 0x0000560f123d2a1c mlir::function_interface_impl::insertFunctionArguments(mlir::FunctionOpInterface, llvm::ArrayRef<unsigned int>, mlir::TypeRange, llvm::ArrayRef<mlir::DictionaryAttr>, llvm::ArrayRef<mlir::Location>, unsigned int, mlir::Type) /proc/self/cwd/external/llvm-project/mlir/lib/Interfaces/FunctionInterfaces.cpp:232:11
#11 0x0000560f0be6b727 mlir::detail::FunctionOpInterfaceTrait<mlir::func::FuncOp>::insertArguments(llvm::ArrayRef<unsigned int>, mlir::TypeRange, llvm::ArrayRef<mlir::DictionaryAttr>, llvm::ArrayRef<mlir::Location>) /proc/self/cwd/bazel-out/k8-dbg/bin/external/llvm-project/mlir/include/mlir/Interfaces/FunctionInterfaces.h.inc:809:7
#12 0x0000560f0be6b536 mlir::detail::FunctionOpInterfaceTrait<mlir::func::FuncOp>::insertArgument(unsigned int, mlir::Type, mlir::DictionaryAttr, mlir::Location) /proc/self/cwd/bazel-out/k8-dbg/bin/external/llvm-project/mlir/include/mlir/Interfaces/FunctionInterfaces.h.inc:796:7
```
Commit: 960b80c9f89eef9203ccd46c449008958eb3d5d9
https://github.com/llvm/llvm-project/commit/960b80c9f89eef9203ccd46c449008958eb3d5d9
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/ELF/input-section-flags.s
Log Message:
-----------
[ELF] Improve INPUT_SECTION_FLAGS test
Commit: a44284c02f39f68a754471a7e00b61ebf448d271
https://github.com/llvm/llvm-project/commit/a44284c02f39f68a754471a7e00b61ebf448d271
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
Log Message:
-----------
[AMDGPU] Add `isAsCheapAsAMove` for `v_pk_mov_b32` (#127632)
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: fb394451ca8de4536ba9a8aca2144248bc3fdea8
https://github.com/llvm/llvm-project/commit/fb394451ca8de4536ba9a8aca2144248bc3fdea8
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Add vfsqrt/vfrsqrt7 instruction to isSupportInstr (#127462)
Commit: 1c02c8f6fcbea1750e0c50c8a22af29b19588d72
https://github.com/llvm/llvm-project/commit/1c02c8f6fcbea1750e0c50c8a22af29b19588d72
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[clang] fix use after free in clang/tools/c-index-test/c-index-test.c (#127063)
recent change e76739eeb952940b2979c70ba44a28fecf592695 has exposed
use after free in GetCursorSource() function that returned pointer to
a disposed CXString
Commit: 6b67aac31377992465c419b5a296f9a7ba8e7984
https://github.com/llvm/llvm-project/commit/6b67aac31377992465c419b5a296f9a7ba8e7984
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[mlir:python] Improve `mlir_(attribute|type|value)_subclass` for `nanobind`s `stubgen` (#127584)
This PR makes several improvements to the stubs that are created by
`mlir_(attribute|type|value)_subclass`.
First, the PR sets the `__module__` attribute of the classes generated
by the nanobind adaptors for attributes, types, and values (via
`mlir_(attribute|type|value)_subclass`). By default, the `__module__`
property is set to `importlib._bootstrap`, which isn't where we want the
new class to live. The new logic sets the property to the name of the
module provided as `scope` instead. This also makes nanobind's `stubgen`
generate stubs for those classes properly, which ignores classes whose
`__module__` does not correspond to the module it is generating stubs
for. This resolves #127518.
Second, the PR overwrites the function signatures generated by `stubgen`
to a format that uses the desired type names (e.g., `mlir.ir.Attribute`
instead of `MlirAttribute`).
Finally, the PR piggy-backs some minor doc and style improvements to
`PythonAdaptors.h`.
---------
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 8f41d28d89ee287d0f5a6518116ab316be2657b8
https://github.com/llvm/llvm-project/commit/8f41d28d89ee287d0f5a6518116ab316be2657b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[c-index-test] Fix warnings
This patch fixes:
clang/tools/c-index-test/c-index-test.c:1240:15: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
clang/tools/c-index-test/c-index-test.c:1367:14: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
clang/tools/c-index-test/c-index-test.c:1468:14: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
Commit: c4f8da94a143b954de975091b3ec563bb01b0837
https://github.com/llvm/llvm-project/commit/c4f8da94a143b954de975091b3ec563bb01b0837
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[MLIR][emitc]: Remove unused functions (NFC)
Commit: 9072ba71cac6d518b4164615c609e358d49c4ed2
https://github.com/llvm/llvm-project/commit/9072ba71cac6d518b4164615c609e358d49c4ed2
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
Log Message:
-----------
[libc] Add strftime_l (#127708)
This is a (no-op) locale version of strftime.
Commit: 850062cf498a7aa408e0ff071c4c52ad5c135355
https://github.com/llvm/llvm-project/commit/850062cf498a7aa408e0ff071c4c52ad5c135355
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
Log Message:
-----------
[AA] Consider extractvalue and extractelement as escape sources (#127640)
CaptureTracking considers insertions into aggregates and vectors as
captures. As such, extractions from aggregates and vectors are escape
sources. A non-escaping identified local cannot alias with the result of
an extractvalue/extractelement.
Fixes https://github.com/llvm/llvm-project/issues/126670.
Commit: a2b4d4e756ff2710e15a6378e337fb5888e5ac36
https://github.com/llvm/llvm-project/commit/a2b4d4e756ff2710e15a6378e337fb5888e5ac36
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
R libc/src/time/strftime_l.cpp
R libc/src/time/strftime_l.h
Log Message:
-----------
Revert "[libc] Add strftime_l" (#127766)
Reverts llvm/llvm-project#127708
Commit: b9a1e58b2c63c9c0ef775d97d6728b64083a2239
https://github.com/llvm/llvm-project/commit/b9a1e58b2c63c9c0ef775d97d6728b64083a2239
Author: Vladislav Belov <vladislav.belov at syntacore.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/vcpop-compute-known-bits.ll
A llvm/test/CodeGen/RISCV/rvv/vcpop-shl-zext-opt.ll
Log Message:
-----------
[RISCVISel] Compute leading zeros for RISCVISD::VCPOP_VL node (#127705)
This patch adds handling of the RISCVISD::VCPOP_VL node in
RISCVTargetLowering::computeKnownBitsForTargetNode. It eliminates
redundant zero-extension instructions.
Commit: 99aea2176ba2327264501befbbd8dc6da4d64f94
https://github.com/llvm/llvm-project/commit/99aea2176ba2327264501befbbd8dc6da4d64f94
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
Log Message:
-----------
[Flang][OpenMP] Skip threadprivate HostAssoc symbols for default privatization (#127754)
Issue: Compilation abnormally terminates in parallel default(private)
Documentation reference:
A threadprivate variable must not appear as the base variable of a list
item in any clause except for the copyin and copyprivate clauses
Explanation:
>From the reference, the threadprivate symbols cannot be used in the DSA
clauses, which in turn means, the symbol can be skipped for default
privatization
Fixes #123535
Commit: a2f9ae1421a31e987a4d0c7352137d371709f41d
https://github.com/llvm/llvm-project/commit/a2f9ae1421a31e987a4d0c7352137d371709f41d
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M libc/docs/gpu/using.rst
M libclc/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/test/lit.cfg
Log Message:
-----------
[AMDGPU] Replace gfx940 and gfx941 with gfx942 in offload and libclc (#125826)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
For SWDEV-512631 and SWDEV-512633
Commit: 55fb793dc9ea8cb81169e54133d0603bc9c02840
https://github.com/llvm/llvm-project/commit/55fb793dc9ea8cb81169e54133d0603bc9c02840
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
Log Message:
-----------
[AMDGPU] Add missing gfx architectures to AddFlangOffloadRuntime.cmake (#125827)
Commit: d4cb75ef8b67864678182e7f21227f4365893578
https://github.com/llvm/llvm-project/commit/d4cb75ef8b67864678182e7f21227f4365893578
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-analysis.mlir
Log Message:
-----------
[mlir][bufferization] Module bufferization: Delete obsolete code (#127455)
Delete `equivalenceAnalysis`, which has been incorporated into the
`getAliasingValues` API. Also add an additional test case to ensure that
equivalence is properly propagated across function boundaries.
Commit: 8900e412aec04b202b9f071d110f96546989beef
https://github.com/llvm/llvm-project/commit/8900e412aec04b202b9f071d110f96546989beef
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-float-saturation.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
M mlir/unittests/Dialect/AMDGPU/AMDGPUUtilsTest.cpp
Log Message:
-----------
[AMDGPU][MLIR] Replace gfx940 and gfx941 with gfx942 in MLIR (#125836)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
For SWDEV-512631
Commit: f3f4afe43f4e0f2a07bfb53ba70507e663c9996c
https://github.com/llvm/llvm-project/commit/f3f4afe43f4e0f2a07bfb53ba70507e663c9996c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
[X86] matchUnaryShuffle - add support for matching 512-bit extension patterns. (#127643)
Handles both BWI and non-BWI cases (skips PMOV*XBW without BWI).
The vector-interleaved-store-i8-stride-8.ll VPTERNLOG diffs are due to
better value tracking now recognizing the zero-extension patterns where
before it was any-extension
Commit: 029c8e783d17d55541b308ee6db5429d54cb5153
https://github.com/llvm/llvm-project/commit/029c8e783d17d55541b308ee6db5429d54cb5153
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
R clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/hip-macros.hip
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
R clang/test/SemaOpenCL/builtins-amdgcn-error-gfx940-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
Log Message:
-----------
[AMDGPU][clang] Replace gfx940 and gfx941 with gfx942 in clang (#126762)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
This PR removes all occurrences of gfx940/gfx941 from clang that can be
removed without changes in the llvm directory. The
target-invalid-cpu-note/amdgcn.c test is not included here since it
tests a list of targets that is defined in
llvm/lib/TargetParser/TargetParser.cpp.
For SWDEV-512631
Commit: 4af8c5382e12a74a3c79c573e029d681719a323b
https://github.com/llvm/llvm-project/commit/4af8c5382e12a74a3c79c573e029d681719a323b
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/test/Bitcode/constexpr-to-instr-metadata-2.ll
M llvm/test/Bitcode/constexpr-to-instr-metadata.ll
Log Message:
-----------
[BitcodeReader] Use `poison` instead of `undef` to represent unsupported constexprs in metadata (#127665)
Metadata that references unsupported constant expressions can be
represented with `poison` metadata instead of `undef` metadata.
Commit: cc539138acf742f53ef455147182a8de11980a02
https://github.com/llvm/llvm-project/commit/cc539138acf742f53ef455147182a8de11980a02
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
A lld/test/wasm/lto/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-truncsfhf2.ll
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/Mips/fp16-promote.ll
M llvm/test/CodeGen/Mips/ldexp.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/pr49092.ll
M llvm/test/CodeGen/PowerPC/vector-llrint.ll
M llvm/test/CodeGen/PowerPC/vector-lrint.ll
M llvm/test/CodeGen/SPARC/fp16-promote.ll
M llvm/test/CodeGen/VE/Scalar/fp_extload_truncstore.ll
M llvm/test/CodeGen/X86/cvt16.ll
M llvm/test/CodeGen/X86/fmf-flags.ll
M llvm/test/CodeGen/X86/fp-i129.ll
M llvm/test/CodeGen/X86/fp128-cast-strict.ll
M llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
M llvm/test/CodeGen/X86/fptoui-sat-scalar.ll
M llvm/test/CodeGen/X86/frem.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/ldexp.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[CodeGen] Use __extendhfsf2 and __truncsfhf2 by default (#126880)
The standard libcalls for half to float and float to half conversion are
__extendhfsf2 and __truncsfhf2. However, LLVM currently uses
__gnu_h2f_ieee and __gnu_f2h_ieee instead. As far as I can tell, these
libcalls are an ARM-ism and only provided by libgcc on that platform.
compiler-rt always provides both libcalls.
Use the standard libcalls by default, and only use the __gnu libcalls on
ARM.
Commit: 8615f9aaffd4337a33ea979f010c4d6410ba6125
https://github.com/llvm/llvm-project/commit/8615f9aaffd4337a33ea979f010c4d6410ba6125
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Replace gfx940 and gfx941 with gfx942 in llvm (#126763)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
This PR removes all non-documentation occurrences of gfx940/gfx941 from
the llvm directory, and the remaining occurrences in clang.
Documentation changes will follow.
For SWDEV-512631
Commit: 17602893409a0d396d37162a3b42254689e02e09
https://github.com/llvm/llvm-project/commit/17602893409a0d396d37162a3b42254689e02e09
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix three-way unordered non-pointer comparisions (#127759)
This _can_ happen with non-pointers, but we shouldn't diagnose it in
that case.
Commit: 2260d592578082abd0e1f57bab7d4d9b18b687d1
https://github.com/llvm/llvm-project/commit/2260d592578082abd0e1f57bab7d4d9b18b687d1
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
Log Message:
-----------
[AMDGPU] Remove FeatureForceStoreSC0SC1 (#126878)
This was only used for gfx940 and gfx941, which have since been removed.
For SWDEV-512631
Commit: db597084c5dbbf896d121b74ba80a7a76250fc78
https://github.com/llvm/llvm-project/commit/db597084c5dbbf896d121b74ba80a7a76250fc78
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/docs/AMDGPUOperandSyntax.rst
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][docs] Replace gfx940 and gfx941 with gfx942 in llvm/docs (#126887)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
This PR removes all documentation occurrences of gfx940/gfx941 except
for the gfx940 ISA description, which will be the subject of a separate
PR.
For SWDEV-512631
Commit: 0607f94280820d38d4f120952a6a09891a046853
https://github.com/llvm/llvm-project/commit/0607f94280820d38d4f120952a6a09891a046853
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
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-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
Log Message:
-----------
[X86] getFauxShuffleMask - add support for vXi64/vXf64 concat_vectors decoding (#127630)
Similar to insert_subvector - limit this to vXi64 vector cases to make the most of cross lane shuffles (for now).
Commit: c442b39770baa397a98ecfb79719cc09081e4a81
https://github.com/llvm/llvm-project/commit/c442b39770baa397a98ecfb79719cc09081e4a81
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/docs/AMDGPU/AMDGPUAsmGFX940.rst
Log Message:
-----------
[AMDGPU][docs][NFC] Replace gfx940 with gfx942 in the gfx940 ISA doc (#126906)
gfx940 and gfx941 are no longer supported. This is the last one of a
series of PRs to remove them from the code base.
The ISA documentation still contains a lot of links and file names with
the "gfx940" identifier. Changing them to "gfx942" is probably not worth
the cost of breaking all URLs to these pages that users might have saved
in the past.
For SWDEV-512631
Commit: 160da73b8583b2f94cba81b220710684a9590da3
https://github.com/llvm/llvm-project/commit/160da73b8583b2f94cba81b220710684a9590da3
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
M flang/test/Lower/OpenMP/atomic-update.f90
Log Message:
-----------
[Flang] Check if two ArrayConstructor's are Equal (#121181)
This also includes comparing the two ImpliedDo
Details
- For ArrayConstructor, check if x and y have the same
elements and type
- For ImpliedDo, check if x and y have the same lower,
upper, stride and values
Fixes: https://github.com/llvm/llvm-project/issues/104526
Commit: 7781e1040dc5b4a920628ee086e239cf46f74e49
https://github.com/llvm/llvm-project/commit/7781e1040dc5b4a920628ee086e239cf46f74e49
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
[clang] Lower non-builtin sincos[f|l] calls to llvm.sincos.* when -fno-math-errno is set (#121763)
This will allow vectorizing these calls (after a few more patches). This
should not change the codegen for targets that enable the use of AA
during the codegen (in `TargetSubtargetInfo::useAA()`). This includes
targets such as AArch64. This notably does not include x86 but can be
worked around by passing `-mllvm -combiner-global-alias-analysis=true`
to clang.
Follow up to #114086.
Commit: 1509b46ea5617402634270a01e840356ef935436
https://github.com/llvm/llvm-project/commit/1509b46ea5617402634270a01e840356ef935436
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_nextafter.cl
Log Message:
-----------
[libclc] Improve nextafter behaviour around zero (#127469)
This commit improves the behaviour of (__clc_)nextafter around zero.
Specifically, the nextafter value of very small negative numbers in the
positive direction is now negative zero. Previously we'd return positive
zero.
This behaviour is not required as far as OpenCL is concerned: at least,
the CTS isn't testing for it. However, this change does bring our
implementation into bit-equivalence with (libstdc++'s implementation of)
std::nextafter, tested on all possible values of 32-bit float towards
both positive and negative INFINITY.
Furthermore, since the implementation of libclc's floating-point 'rtp'
and 'rtz' conversions use __clc_nextafter, the previous behaviour was
resulting in CTS validation issues. For example, when converting float
-0x1.000002p-25 to half, rounding towards zero or positive infinity,
nextafter was returning +0.0, whereas the correct conversion requires us
to return -0.0.
We could work around this issue in the conversion functions, but since
the change to nextafter is small enough and the behaviour around zero
matches libstdc++, the fix feels at home there.
This commit also converts several variables to unsigned types to avoid
undefined behaviour surrounding signed underflow on the subtractions.
It also converts some variables to be kept in floating-point types, using
fabs to get the absolute value rather than by bit-hacking.
Commit: 3c938d0d534221c44bd2477e7f95c7b5bbb6fc7a
https://github.com/llvm/llvm-project/commit/3c938d0d534221c44bd2477e7f95c7b5bbb6fc7a
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
Log Message:
-----------
[MLIR][Affine] Fix affine.parallel op verifier (#127611)
Fix affine.parallel op verifier for missing check on zero result lower
or upper bound maps. lb/ub maps should have at least one result.
Fixes: https://github.com/llvm/llvm-project/issues/120186
Commit: 0de2ccab7be85aeeefcd5757d29126246c373731
https://github.com/llvm/llvm-project/commit/0de2ccab7be85aeeefcd5757d29126246c373731
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
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/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction.f90
A flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/declare-reduction.f90
Log Message:
-----------
[flang][OpenMP]Improve support for DECLARE REDUCTION (#127088)
Part of the DECLARE REDUCTION was already supported by the parser, but
the semantics to add the reduction identifier wasn't implemented.
The semantics would not accept the name given by the reduction, so a few
lines added to support that.
Some tests were in place but not quite working, so fixed those up too.
Adding new tests for unparsing and parse-tree, as well as checking the
symbolic name being generated.
Lowering of DECLARE REDUCTION is not supported in this patch, and a test
that it hits the relevant TODO is in this patch (most of this was
already existing, but not actually testing the TODO message).
Commit: 404f94ac7d8c368fba8ad1f97512c26efd5ec965
https://github.com/llvm/llvm-project/commit/404f94ac7d8c368fba8ad1f97512c26efd5ec965
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add optional extensions enabled on Grace (#127620)
Enable optional ISA extensions on Grace when mcpu=grace
is used: sve2-sm4, sve2-aes, sve2-sha3.
Grace is no longer an alias, but a separate CPU definition.
Commit: fadbc33b01d6815bf05d802d1323322262b54d42
https://github.com/llvm/llvm-project/commit/fadbc33b01d6815bf05d802d1323322262b54d42
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Symbol/LineTable.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Add LineTable::{upper,lower}_bound (#127519)
The motivation is #123622 and the fact that is hard to fine the last
line entry in a given range. `FindLineEntryByAddress(range_end-1)` is
the best we have, but it's not ideal because it has a magic -1 and that
it relies on there existing a line entry at that address (generally, it
should be there, but if for some case it isn't, we might end up ignoring
the entries that are there (or -- like my incorrect fix in #123622 did
-- iterating through the entire line table).
What we really want is to get the last entry that exists in the given
range. Or, equivalently (and more STL-like) the first entry after that
range. This is what these functions do. I've used the STL names since
they do pretty much exactly what the standard functions do (the main
head-scratcher comes from the fact that our entries represent ranges
rather than single values).
The functions can also be used to simplify the maze of `if` statements
in `FindLineEntryByAddress`, but I'm keeping that as a separate patch.
For now, I'm just adding some unit testing for that function to gain
more confidence that the patch does not change the function behavior.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: c0a763d3ef26148af06911eda059eec303adfa39
https://github.com/llvm/llvm-project/commit/c0a763d3ef26148af06911eda059eec303adfa39
Author: Daniel <daniel.augusto191 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
M mlir/tools/mlir-runner/mlir-runner.cpp
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[NFC][MLIR] Make file-local cl::opt global variables static (#126714)
This is per style-guide: make file-scope symbol static whenever possible.
Fix #125983.
Commit: 0f472e93d504fc03a4fcdbd898ab9c7973eeca78
https://github.com/llvm/llvm-project/commit/0f472e93d504fc03a4fcdbd898ab9c7973eeca78
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
Log Message:
-----------
AMDGPU: Avoid double attribute lookup for register count attributes (#127782)
Commit: 73d067977b1061689c88621cfc65e024b6d6a08d
https://github.com/llvm/llvm-project/commit/73d067977b1061689c88621cfc65e024b6d6a08d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Clean up directory search procedure (#127783)
During a recent change, the build system accidentally dropped the
(theoretical) support for the CLC builtins library to build
target-specific builtins from the 'amdgpu' directory, due to a change in
variable names. This functionality wasn't being used but was spotted
during another code review.
This commit takes the opportunity to clean up and better document the
code that manages the list of directories to search for builtin
implementations.
While fixing this, some references to now-removed SOURCES files were
discovered which have been cleaned up.
Commit: 3ce2e4df5d45ec90ac544c32fa63042be2151d04
https://github.com/llvm/llvm-project/commit/3ce2e4df5d45ec90ac544c32fa63042be2151d04
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 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/tcgen05-cp.ll
A llvm/test/CodeGen/NVPTX/tcgen05-shift.ll
Log Message:
-----------
[NVPTX] Add tcgen05.cp/shift intrinsics (#127669)
This patch adds intrinsics for tcgen05.cp and
tcgen05.shift instructions.
lit tests are added and verified with a
ptxas-12.8 executable.
Docs are updated in the NVPTXUsage.rst file.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: c6a907ac46869e3552f3a62eef08ba5548676d85
https://github.com/llvm/llvm-project/commit/c6a907ac46869e3552f3a62eef08ba5548676d85
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/DLTI/DLTI.cpp
Log Message:
-----------
[mlir][dlti] Fix query keys preallocation (#127786)
Fixes upfront space allocation after #126716
Commit: 2c8b1248513624e89b510397224f0f405116f3d3
https://github.com/llvm/llvm-project/commit/2c8b1248513624e89b510397224f0f405116f3d3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/include/__configuration/platform.h
Log Message:
-----------
[libc++] Guard include of <features.h> with __has_include (#127691)
Some configurations define __AMDGPU__ or __NVPTX__ on platforms that
don't provide <features.h>, such as CUDA on Mac.
Commit: 43e83b9405ec4eaa23919d24f0aaaefdd989b534
https://github.com/llvm/llvm-project/commit/43e83b9405ec4eaa23919d24f0aaaefdd989b534
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix allocating primitive arrays of unknown bound (#127788)
Commit: 7f69a399df384c86428d0c97e3afbc8146324226
https://github.com/llvm/llvm-project/commit/7f69a399df384c86428d0c97e3afbc8146324226
Author: A. Jiang <de34 at live.cn>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/include/__variant/monostate.h
M libcxx/include/variant
A libcxx/test/std/utilities/variant/variant.hash/hash.depr.verify.cpp
Log Message:
-----------
[libc++] Deprecate and remove member types of `hash` in `<variant>` (#127758)
These member types were deprecated in C++17 by P0174R2 and removed in
C++20 by P0619R4, but the changes in `<variant>` seem missing.
Drive-by: Replace one `_NOEXCEPT` with `noexcept` as the `hash`
specialization is C++17-and-later only.
Commit: 1ac0db44fdb4de5fa7ec637c297bd0fc824057e2
https://github.com/llvm/llvm-project/commit/1ac0db44fdb4de5fa7ec637c297bd0fc824057e2
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[NFC] using isUndef() instead of getOpcode() == ISD::UNDEF (#127713)
[NFC] using isUndef() instead of getOpcode() == ISD::UNDEF
Commit: 01d0793a69ad4c5c54815138ebe945b5cdce2aca
https://github.com/llvm/llvm-project/commit/01d0793a69ad4c5c54815138ebe945b5cdce2aca
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
Log Message:
-----------
[LAA] Make Ptr argument optional in isNoWrap. (#127410)
Update isNoWrap to make the IR Ptr argument optional. This allows using
isNoWrap when dealing with things like pointer-selects, where a select
is translated to multiple pointer SCEV expressions, but there is no IR
value that can be used. We don't try to retrieve pointer values for the
pointer SCEVs and using info from the IR would not be safe. For example,
we cannot use inbounds, because the pointer may never be accessed.
PR: https://github.com/llvm/llvm-project/pull/127410
Commit: 760ec2c38e0cd01c016c403301e8dc081e0fc85c
https://github.com/llvm/llvm-project/commit/760ec2c38e0cd01c016c403301e8dc081e0fc85c
Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[MLIR][Linalg] Introduce Python API for linalg.batch_matmul Ops. (#127614)
As linalg.batch_matmul has been moved into tablegen from OpDSL, its
derived python wrapper no longer exist.This patch adds the required
python wrapper.
Also refactors the BatchmatmulOp printer to make it consistent with its
parser.
Commit: aa9e519b24235424df177c4e4c2806d6de9936b3
https://github.com/llvm/llvm-project/commit/aa9e519b24235424df177c4e4c2806d6de9936b3
Author: David Tenty <daltenty at ibm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/test/CodeGen/PowerPC/adde_return_type.ll
M llvm/test/CodeGen/PowerPC/addegluecrash.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
M llvm/test/CodeGen/PowerPC/inc-of-add.ll
M llvm/test/CodeGen/PowerPC/pr35688.ll
M llvm/test/CodeGen/PowerPC/pr36292.ll
M llvm/test/CodeGen/PowerPC/pr40922.ll
M llvm/test/CodeGen/PowerPC/pr45448.ll
M llvm/test/CodeGen/PowerPC/sat-add.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/uaddo-32.ll
M llvm/test/CodeGen/PowerPC/uaddo-64.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
Log Message:
-----------
Revert "[PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (#116984)"
This reverts commit 7763119c6eb0976e4836f81c9876c49a36d46d73 (leaving the modifications from 03cb46d248b08)..
Commit: d804c838933b1f35ae56343afac669ffe3bbd957
https://github.com/llvm/llvm-project/commit/d804c838933b1f35ae56343afac669ffe3bbd957
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 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:
-----------
[clang] Lower modf builtin using `llvm.modf` intrinsic (#126750)
This updates the existing `modf[f|l]` builtin to be lowered via the
`llvm.modf.*` intrinsic (rather than directly to a library call).
Commit: 2b340c10a611d929fee25e6222909c8915e3d6b6
https://github.com/llvm/llvm-project/commit/2b340c10a611d929fee25e6222909c8915e3d6b6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang-rt/lib/runtime/io-api-minimal.cpp
Log Message:
-----------
flang: Fix build with latest libc++ (#127362)
I think this first stopped working with
954836634abb446f18719b14120c386a929a42d1. This patch fixes the following
error:
/home/runner/work/llvm-project/llvm-project/flang/runtime/io-api-minimal.cpp:153:11:
error: '__libcpp_verbose_abort' is missing exception specification
'noexcept'
153 | void std::__libcpp_verbose_abort(char const *format, ...) {
| ^
| noexcept
/mnt/build/bin/../include/c++/v1/__verbose_abort:30:28: note: previous
declaration is here
30 | __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format,
...) _LIBCPP_VERBOSE_ABORT_NOEXCEPT;
| ^
1 error generated.
Commit: d6c6bde9dbcf332b5092ebcee8c7fe6fbb5aa2ae
https://github.com/llvm/llvm-project/commit/d6c6bde9dbcf332b5092ebcee8c7fe6fbb5aa2ae
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/docs/Directives.md
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Integration/unroll_and_jam.f90
A flang/test/Lower/unroll_and_jam.f90
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang] Implement !DIR$ UNROLL_AND_JAM [N] (#125046)
This patch implements support for the UNROLL_AND_JAM directive to enable
or disable unrolling and jamming on a `DO LOOP`.
It must be placed immediately before a `DO LOOP` and applies only to the
loop that follows. N is an integer that specifying the unrolling factor.
This is done by adding an attribute to the branch into the loop in LLVM
to indicate that the loop should unrolled and jammed.
Commit: 0b63dfb06698ea1a78ba09506f83a1d427a868b1
https://github.com/llvm/llvm-project/commit/0b63dfb06698ea1a78ba09506f83a1d427a868b1
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
Log Message:
-----------
[MLIR][NFC] Use base alias for constructor inheritance (#127756)
During my previous cleanup (#127403), I did not notice that we defined a
type alias for the base class. This type alias allows us to use the
shorter form Base::Base, and this PR switches to that.
Commit: fb5a87e1a6febb2a81fd85f800e78c2e6dff5715
https://github.com/llvm/llvm-project/commit/fb5a87e1a6febb2a81fd85f800e78c2e6dff5715
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/generic/lib/math/ep_log.cl
Log Message:
-----------
[libclc][NFC] Reformat ep_log.cl
Commit: 26a83994176fcdca6e77be4f221a15f561681621
https://github.com/llvm/llvm-project/commit/26a83994176fcdca6e77be4f221a15f561681621
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
Log Message:
-----------
[clang][Sema] Fix initialization of `NonTypeTemplateParmDecl`... (#121768)
...when there are invalid constraints.
When attaching a `TypeConstraint`, in case of error, the trailing
pointer that is supposed to point to the constraint is left
uninitialized.
Sometimes the uninitialized value will be a `nullptr`, but at other
times it will not. If we traverse the AST (for instance, dumping it, or
when writing the BMI), we may get a crash depending on the value that
was left. The serialization may also contain a bogus value.
In this commit, we always initialize the `PlaceholderTypeConstraint`
with `nullptr`, to avoid accessing this uninitialized memory.
This does not affect only modules, but it causes a segfault more
consistently when they are involved.
The test case was reduced from `mp-units`.
---------
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 4624087328961b2ad50935799e3b5eee49e90c23
https://github.com/llvm/llvm-project/commit/4624087328961b2ad50935799e3b5eee49e90c23
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test
M llvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test
M llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll
M llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll
M llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll
M llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll
M llvm/tools/llvm-dwarfdump/Statistics.cpp
Log Message:
-----------
[llvm-dwarfdump] Print number of out-of-line functions described by DWARF (#127233)
Some of the functions in `#functions` may have several inlined
instances, but also an out-of-line definition.
Therefore, for complex enough DWARF input, `#functions` - `#inlined
functions` would not give us the number of out-of-line function
definitions.
`llvm-dwarfdump`, however, already keeps track of those; print it as
part of the statistics, as this number is useful in certain scenarios.
Commit: 826af1757c99e98c5816fc3ffdb1cece78107991
https://github.com/llvm/llvm-project/commit/826af1757c99e98c5816fc3ffdb1cece78107991
Author: c8ef <c8ef at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
M libc/include/llvm-libc-macros/endian-macros.h
Log Message:
-----------
[libc] add `LLVM_LIBC_CAST` macro. (#127319)
related: #127238
This patch adds a macro called `LLVM_LIBC_CAST`, similar to
`__BIONIC_CAST`, for type conversion in `endian.h`.
Commit: 80ccf01c337f09146a2c502fe624f07c4b04b848
https://github.com/llvm/llvm-project/commit/80ccf01c337f09146a2c502fe624f07c4b04b848
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
Log Message:
-----------
[Clang] Do not try to transform invalid bindings (#125658)
In the presence of an invalid structured binding decomposition, some
binding packs may be invalid and trying to transform them would produce
a recovery expression that does not contains a pack, leading to
assertions in places where we would expect a pack at that stage.
Fixes #125165
Commit: 888c09986ce0b1a02ba904b167a3650b1d7eee2d
https://github.com/llvm/llvm-project/commit/888c09986ce0b1a02ba904b167a3650b1d7eee2d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] Add release note for #127623 (#127815)
While reviewing #127623, I missed that it didn’t have a release note.
Commit: 3e61c1ab7f5d9666db88069d49c8916c40fae5ea
https://github.com/llvm/llvm-project/commit/3e61c1ab7f5d9666db88069d49c8916c40fae5ea
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++] Avoid code duplication in strings operator+ overloads (#126048)
Commit: 2f2295cfae971a9564a3ba25b5c2338cfb36f154
https://github.com/llvm/llvm-project/commit/2f2295cfae971a9564a3ba25b5c2338cfb36f154
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Analysis/AssumeBundleQueries.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127743)
Commit: c23256ecbd29103c800d24f83649057ae84acb09
https://github.com/llvm/llvm-project/commit/c23256ecbd29103c800d24f83649057ae84acb09
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated hash lookups (NFC) (#127744)
Commit: af922cf9f7e7f126f2efaf9660ceea8e5eba21b5
https://github.com/llvm/llvm-project/commit/af922cf9f7e7f126f2efaf9660ceea8e5eba21b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/WinEHPrepare.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#127745)
Commit: 1bb72f0d7dd623e1c75dbe9e6a7f6b41f5284474
https://github.com/llvm/llvm-project/commit/1bb72f0d7dd623e1c75dbe9e6a7f6b41f5284474
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[Object] Avoid repeated hash lookups (NFC) (#127746)
Commit: bb75a96900ad52b01e51fc42c3533a6febf97e27
https://github.com/llvm/llvm-project/commit/bb75a96900ad52b01e51fc42c3533a6febf97e27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/DebugCounter.h
Log Message:
-----------
[Support] Avoid repeated hash lookups (NFC) (#127747)
Commit: fc5849de6abba74dd0bb9a062b207ba4fcd7a37d
https://github.com/llvm/llvm-project/commit/fc5849de6abba74dd0bb9a062b207ba4fcd7a37d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86PadShortFunction.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#127748)
Commit: 9743b99cd1d1775f9f367e5f1c6d40ba09ec523b
https://github.com/llvm/llvm-project/commit/9743b99cd1d1775f9f367e5f1c6d40ba09ec523b
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/modf.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
Log Message:
-----------
[libclc] Explicitly qualify private address spaces (#127823)
Doing so provides stability when compiling the builtins in a mode in
which unqualified pointers may be interpreted as being in the generic
address space, such as in OpenCL 3.0.
We eventually want to provide 'generic' overloads of the builtins in
libclc so this prepares the ground a little better.
It could be argued that having the internal CLC helper functions be
unqualified is more flexible, in case it's better for a target to have
the pointers in the generic address space. This commits to the private
address space for more stability across different OpenCL environments.
Commit: 65998ab2cb5069871799cd6d0977954f14cbb93e
https://github.com/llvm/llvm-project/commit/65998ab2cb5069871799cd6d0977954f14cbb93e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Target/ThreadPlanTracer.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Commands/CommandObjectGUI.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
Log Message:
-----------
[lldb] Make GetOutputStreamSP and GetErrorStreamSP protected (#127682)
This makes GetOutputStreamSP and GetErrorStreamSP protected members of
Debugger. Users who want to print to the debugger's stream should use
GetAsyncOutputStreamSP and GetAsyncErrorStreamSP instead and the few
remaining stragglers have been migrated.
Commit: e2ba1b6ffde4ec607342b1b746d1b57f0f04390a
https://github.com/llvm/llvm-project/commit/e2ba1b6ffde4ec607342b1b746d1b57f0f04390a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/as_type.cl
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
Log Message:
-----------
Revert "Reapply [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)"
This reverts commit 0fab404ee874bc5b0c442d1841c7d2005c3f8729.
Seems to break LTO builds of clang on Windows, see comments on
https://github.com/llvm/llvm-project/pull/125880
Commit: 70e693c77f0044643f3a301a0b7bc334a6e558c9
https://github.com/llvm/llvm-project/commit/70e693c77f0044643f3a301a0b7bc334a6e558c9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/StreamAsynchronousIO.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/StreamAsynchronousIO.cpp
Log Message:
-----------
[lldb] Gardening in StreamAsynchronousIO (NFC) (#127717)
A handful of minor improvements to StreamAsynchronousIO:
- Document the class.
- Use a named enum value to distinguishing between stdout and stderr.
- Add missing period to comment.
- Clear the string instead of assigning to it.
- Eliminate color argument.
Commit: ab3d793982acb946afc2028ca41304913879c6c9
https://github.com/llvm/llvm-project/commit/ab3d793982acb946afc2028ca41304913879c6c9
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__bit_reference
A libcxx/test/benchmarks/algorithms/move.bench.cpp
A libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
Log Message:
-----------
[libc++] Optimize ranges::move{,_backward} for vector<bool>::iterator (#121109)
As a follow-up to #121013 (which optimized `ranges::copy`) and #121026
(which optimized `ranges::copy_backward`), this PR enhances the
performance of `std::ranges::{move, move_backward}` for
`vector<bool>::iterator`, addressing a subtask outlined in issue #64038.
The optimizations bring performance improvements analogous to those
achieved for the `{copy, copy_backward}` algorithms: up to 2000x for
aligned moves and 60x for unaligned moves. Moreover, comprehensive
tests covering up to 4 storage words (256 bytes) with odd and even bit
sizes are provided, which validate the proposed optimizations in this
patch.
Commit: 210036a22eefa2e33d1a76a62d4ec6f5bc66a92b
https://github.com/llvm/llvm-project/commit/210036a22eefa2e33d1a76a62d4ec6f5bc66a92b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#127240)
Previous PR https://github.com/llvm/llvm-project/pull/122950 get
reverted since it hit the buildbot failure. Another patch get merged
when this PR is under review, and thus causing one test not up to date.
repen this PR and fixed the issue.
Commit: e7bf54d62771219145171c66584578972edf0e30
https://github.com/llvm/llvm-project/commit/e7bf54d62771219145171c66584578972edf0e30
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
Log Message:
-----------
[flang] AliasAnalysis: Handle fir.load on hlfir.designate (#127107)
For example, determine that the address in `obj%p` below cannot alias
the address of `v`:
```
module m
type :: ty
real, pointer :: p
end type ty
end module m
subroutine test()
use m
real, target :: t
real :: v
type(ty) :: obj
obj%p => t
v = obj%p
end subroutine test
```
Commit: fda0e63e7331debacf9f36a64dad76339ad86482
https://github.com/llvm/llvm-project/commit/fda0e63e7331debacf9f36a64dad76339ad86482
Author: Jakub Ficek <jakub.ficek at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/CodeGen/pragma-fenv_access.c
Log Message:
-----------
[clang] handle fp options in __builtin_convertvector (#125522)
This patch allows using fpfeatures pragmas with __builtin_convertvector:
- added TrailingObjects with FPOptionsOverride and methods for handling
it to ConvertVectorExpr
- added support for codegen, node dumping, and serialization of
fpfeatures contained in ConvertVectorExpr
Commit: ddf24086f119cacf2a0fc489773f8af302f4a489
https://github.com/llvm/llvm-project/commit/ddf24086f119cacf2a0fc489773f8af302f4a489
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Remove unused variables. NFC
Commit: 75ea7aed93ec8afa43634a41c2e94380ba0d671e
https://github.com/llvm/llvm-project/commit/75ea7aed93ec8afa43634a41c2e94380ba0d671e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/CIR/emit-actions.cpp
Log Message:
-----------
[CIR] Add additional frontend actions (#127249)
Add frontend actions to support emitting assembly, bitcode, and object
files when compiling with ClangIR. This change also correctly sets and
propagates the target triple in the MLIR and LLVM modules, which was a
necessary prerequisite for emitting assembly and object files.
Commit: 8fc03e4ff1b33816364dda6986032cbbe99a9462
https://github.com/llvm/llvm-project/commit/8fc03e4ff1b33816364dda6986032cbbe99a9462
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] avoid extra instructions in foldSelectICmpAnd (#127398)
Disable fold when it will result in more instructions.
Commit: 0ffe270d0e1dadc3e16f8fa79882fc3b31d28559
https://github.com/llvm/llvm-project/commit/0ffe270d0e1dadc3e16f8fa79882fc3b31d28559
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lld/test/ELF/aarch64-feature-gcs.s
M lld/test/ELF/allow-shlib-undefined-weak.s
M lld/test/ELF/allow-shlib-undefined.s
M lld/test/ELF/arm-cmse-diagnostics.s
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/duplicated-synthetic-sym.s
M lld/test/ELF/linkerscript/discard-section.s
M lld/test/ELF/linkerscript/input-relative.s
M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
M lld/test/ELF/lto/archive-mixed.test
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel.ll
M lld/test/ELF/non-abs-reloc.s
M lld/test/ELF/print-archive-stats.s
M lld/test/ELF/remap-inputs.test
M lld/test/ELF/reproduce-deplibs.s
M lld/test/ELF/reproduce-lto.s
M lld/test/ELF/riscv-attributes.s
M lld/test/ELF/unknown-section.test
M lld/test/ELF/why-extract.s
Log Message:
-----------
[ELF,test] Remove unneeded -o /dev/null
When the script has executed `cd %t`, it is fine to to use the output
file `a.out`.
(We don't want to rely on lit's default PWD to support lit compatible
runners. Therefore -o /dev/null is used when PWD has not been changed
to a %t derived path.)
Commit: 8ecd78832437d45c269a361d9360abf0de92984f
https://github.com/llvm/llvm-project/commit/8ecd78832437d45c269a361d9360abf0de92984f
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
Remove header file spuriously added by 9905728e2fb4ebe9b7518dfd73a0574eea0a2083.
Commit: aa847ced0721bcfc411b8827e54f1681edb9cc8c
https://github.com/llvm/llvm-project/commit/aa847ced0721bcfc411b8827e54f1681edb9cc8c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] handle trunc to i1 in foldSelectICmpAndBinOp (#127390)
for `trunc nuw` saves a instruction and otherwise only other
instructions without the select, same behavior as for bit test before.
proof: https://alive2.llvm.org/ce/z/a6QmyV
Commit: e1d1bb93d208c5772c385549c7efaa3d83459d2e
https://github.com/llvm/llvm-project/commit/e1d1bb93d208c5772c385549c7efaa3d83459d2e
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lld/test/ELF/aarch64-relocs.s
Log Message:
-----------
[ELF,test] Clean up aarch64-relocs.s
Commit: 3e8db13ced157995d681ee067a121061afcdf808
https://github.com/llvm/llvm-project/commit/3e8db13ced157995d681ee067a121061afcdf808
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll
Log Message:
-----------
[SLP][NFC]Replace undefs by zeroinitializer
Commit: ad87d5f23d921bd4a8d9677f7db563c649a1f5c3
https://github.com/llvm/llvm-project/commit/ad87d5f23d921bd4a8d9677f7db563c649a1f5c3
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
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/pstl.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
Log Message:
-----------
[libc++][test] Refactor tests for std::{copy, move, fill} algorithms (#120909)
This refactor includes the following changes:
- Refactor similar tests using `types::for_each` to remove redundant code;
- Explicitly include the missing header `type_algorithms.h` in some test files;
- Some tests scattered in different test functions with ad-hoc names
(e.g., `test5()`, `test6()`) but belong to the same kind are now grouped
into one function (`test_struct_array()`).
Commit: 5450954a06425c6e50261d9c64778706a36f2cc6
https://github.com/llvm/llvm-project/commit/5450954a06425c6e50261d9c64778706a36f2cc6
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
Include test folder in the Clang Static Analyzer team mentions (#127810)
See
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689
Commit: a96444af440a309592fe1043885a51ac0a5fb125
https://github.com/llvm/llvm-project/commit/a96444af440a309592fe1043885a51ac0a5fb125
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/test/Transforms/LoopVectorize/loop-form.ll
Log Message:
-----------
[VPlan] Remove dead exit block handling code in HCFGBuilder.
The mapping of IR ExitBB to a VPBB isn't used. It also sets an incorrect
VPBB for the ExitBB; the regions successor is the middle block, no the
exit block.
It also unnecessarily triggers an assertion after 38376dee922.
Commit: d1889cf935db1c04da6d477a2476d95bae529160
https://github.com/llvm/llvm-project/commit/d1889cf935db1c04da6d477a2476d95bae529160
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShuffleChain - provide list of combined shuffle nodes, replace HasVariableMask bool arg. NFC. (#127826)
Minor NFC refactor before making better variable mask combining decisions - isTargetShuffleVariableMask doesn't discriminate between fast (AND, PSHUFB etc.) and slow (VPERMV3 etc.) variable shuffles, so an opaque HasVariableMask is only of limited use.
Commit: ccd3defd8f7da2e825f167e488827efa0df6b62c
https://github.com/llvm/llvm-project/commit/ccd3defd8f7da2e825f167e488827efa0df6b62c
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
Log Message:
-----------
[clangd] Avoid round-trip from SourceLocation to clangd::Range and back in SymbolCollector::handleMacros() (#127757)
Commit: 1d829f6a0bc9fefc489d44449c6ae4c8e509a7a3
https://github.com/llvm/llvm-project/commit/1d829f6a0bc9fefc489d44449c6ae4c8e509a7a3
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
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
Log Message:
-----------
[mlir][tosa] Align check variables naming to use capitals (#127830)
Move in using capital letters for variable capture in LIT
Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: 9ebb618d03cb29c37e3178428dcf52e1ac4f1cc2
https://github.com/llvm/llvm-project/commit/9ebb618d03cb29c37e3178428dcf52e1ac4f1cc2
Author: foxtran <39676482+foxtran at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[Clang] [Sema] Combine fallout warnings to just one warning (#127546)
This merges several falloff and noreturn-related warnings and
removes unused diagnostic arguments.
Changes:
- `warn_maybe_falloff_nonvoid_function` and
`warn_falloff_nonvoid_function`, `warn_maybe_falloff_nonvoid_coroutine`
and `warn_falloff_nonvoid_coroutine`,
`warn_maybe_falloff_nonvoid_lambda` and `warn_falloff_nonvoid_lambda`
were combined into `warn_falloff_nonvoid`,
- `err_maybe_falloff_nonvoid_block` and `err_falloff_nonvoid_block` were
combined into `err_falloff_nonvoid`
- `err_noreturn_block_has_return_expr` and
`err_noreturn_lambda_has_return_expr` were merged into
`err_noreturn_has_return_expr` with the same semantics as
`warn_falloff_nonvoid` or `err_falloff_nonvoid`.
- Removed some diagnostic args that weren’t being used by the diagnostics.
Commit: 2bf473bd546e65f8fc2f0d5006b8c8ef07259e24
https://github.com/llvm/llvm-project/commit/2bf473bd546e65f8fc2f0d5006b8c8ef07259e24
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
Log Message:
-----------
[GlobalOpt] Don't query TTI on a llvm.memcpy declaration. (#127760)
Querying TTI creates a Subtarget object, but an llvm.memcpy declaration
doesn't have target-cpu and target-feature attributes like functions
with definitions. This can cause a warning to be printed on RISC-V
because the target-abi in the Module requires floating point, but the
subtarget features don't enable floating point. So far we've only seen
this in LTO when an -mcpu is not supplied for the TargetMachine.
To fix this, get TTI for the calling function instead.
Fixes the issue reported here
https://github.com/llvm/llvm-project/issues/69780#issuecomment-2665273161
Commit: a6f48ed01292d0007e19a2605cba1acd4ecd123a
https://github.com/llvm/llvm-project/commit/a6f48ed01292d0007e19a2605cba1acd4ecd123a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/MC/MCRegister.h
Log Message:
-----------
[MC] Remove MCRegister::isStackSlot. (#127755)
Stack slots should only be stored in Register. The only caller was
Register::isStackSlot so just inline it there.
Commit: d57479cfbe9a6b4dccedfd1221c04973ad90ec97
https://github.com/llvm/llvm-project/commit/d57479cfbe9a6b4dccedfd1221c04973ad90ec97
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
Log Message:
-----------
[mlir][tosa] Update SelectOp's input names to match TOSA specification (#127833)
Updated:
- pred to input1
- on_true to input2
- on_false to input3
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 1841bcd5d16310c052c424dec3bcf2b703badd40
https://github.com/llvm/llvm-project/commit/1841bcd5d16310c052c424dec3bcf2b703badd40
Author: David Goldman <dallasftball at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] Update XRefs to support overridden ObjC methods (#127109)
- Support finding implementors of a protocol and discovering subclasses for ObjC interfaces via the implementations call
- Support jumping to the overridden method when you trigger goto definition on an override
- Properly find references to overridden methods
Commit: 8337d01e3058e7f47675f5b2b908b4e7821895d7
https://github.com/llvm/llvm-project/commit/8337d01e3058e7f47675f5b2b908b4e7821895d7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix doc build (NFC)
Commit: 36eaf0daf5d6dd665d7c7a9ec38ea22f27709fed
https://github.com/llvm/llvm-project/commit/36eaf0daf5d6dd665d7c7a9ec38ea22f27709fed
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.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/clamp.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
Log Message:
-----------
AMDGPU: Don't canonicalize fminnum/fmaxnum if targets support IEEE fminimum(maximum)_num (#127711)
For targets that support IEEE fminimum_num/fmaximum_num, the
corresponding *_min_num_fXY/*_max_num_fXY instructions themselves
already did the canonicalization for the inputs. As a result, we do not
need to explicitly canonicalize the inputs for fminnum/fmaxnum.
Commit: 85e23fe9c71f97280c804a139c3d014092b30c7f
https://github.com/llvm/llvm-project/commit/85e23fe9c71f97280c804a139c3d014092b30c7f
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
[Modules] Add `clang/Lex/HLSLRootSignatureTokenKinds.def` to clang's `modulemap` (#127839)
b41b86a907f653f79bab10d4c80b3a41d146c71b added a new textual header
`clang/Lex/HLSLRootSignatureTokenKinds.def` but did not add it to
`clang`'s module map. This causes build failure when building llvm with
`-DLLVM_ENABLE_MODULES=ON`. This PR adds the new textual header to the
module map and fixes the build break.
Fixing rdar://145148093.
Commit: 1c762c288ff4ff613cf26833ef55100fd0da0a34
https://github.com/llvm/llvm-project/commit/1c762c288ff4ff613cf26833ef55100fd0da0a34
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/and.hlsl
A clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
Log Message:
-----------
[HLSL] Implement the 'and' HLSL function (#127098)
Addresses #125604
- Implements `and` as an HLSL builtin function
- The `and` HLSL builtin function gets lowered to the the LLVM `and`
instruction
Commit: 5caefe261fb20a70497772c24bf4e9af0ff52aef
https://github.com/llvm/llvm-project/commit/5caefe261fb20a70497772c24bf4e9af0ff52aef
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[MLIR][LLVMIR] Add support for asin acos atan intrinsics op (#127317)
This is similar to https://github.com/llvm/llvm-project/pull/125748
Commit: c3ebbfd7368ec3e4737427eef602296a868a4ecd
https://github.com/llvm/llvm-project/commit/c3ebbfd7368ec3e4737427eef602296a868a4ecd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
A llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
A llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
[RISCV] Add a pass to remove ADDI by reassociating to fold into load/store address. (#127151)
SelectionDAG will not reassociate adds to the end of a chain if
there are multiple users of later additions. This prevents isel
from folding the immediate into a load/store address.
One easy way to see this is accessing an array in a struct with
two different indices. An ADDI will be used to get to the start
of the array then 2 different SHXADD instructions will be used to
add the scaled indices. Finally the SHXADD will be used by different
load instructions. We can remove the ADDI by folding the offset into
each load.
This patch adds a new pass that analyzes how an ADDI constant
propagates through address arithmetic. If the arithmetic is only
used by a load/store and the offset is small enough, we can adjust
the load/store offset and remove the ADDI.
This pass is placed before MachineCSE to allow cleanups if some
instructions become common after removing offsets from their inputs.
This pass gives ~3% improvement on dynamic instruction count on
541.leela_r and 544.nab_r from SPEC2017 for the train data set. There's
a ~1% improvement on 557.xz_r.
Commit: b1f882f86a5ba87ac77ed0f31e06e77a34f8303b
https://github.com/llvm/llvm-project/commit/b1f882f86a5ba87ac77ed0f31e06e77a34f8303b
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused clock function types and globals (#127684)
Commit: 851177c2e35e17d5bca68521a473f0dad1ad29ec
https://github.com/llvm/llvm-project/commit/851177c2e35e17d5bca68521a473f0dad1ad29ec
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused __kmp_dispatch_lock global (#127686)
Commit: dca73063653ca7d35afb3226ae66623495086204
https://github.com/llvm/llvm-project/commit/dca73063653ca7d35afb3226ae66623495086204
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/lit.site.cfg.in
Log Message:
-----------
[clang][perf-training] Support excluding LLVM build from PGO training (#126876)
Using LLVM build itself for PGO training is convenient and a great
starting point but it also has several issues:
* LLVM build implicitly depends on tools other than CMake and C/C++
compiler and if those tools aren't available in PATH, the build will
fail.
* LLVM build also requires standard headers and libraries which may not
always be available in the default location requiring an explicit
sysroot.
* Building a single configuration (-DCMAKE_BUILD_TYPE=Release) only
exercises the -O3 pipeline and can pesimize other configurations.
* Building for the host target doesn't exercise all other targets.
* Since LLVMSupport is a static library, this doesn't exercise the
linker (beyond what the CMake itself does).
Rather than using LLVM build, ideally we would provide a more minimal,
purpose built corpus. While we're working on building such a corpus,
provide a CMake option that lets vendors disable the use LLVM build for
PGO training.
Commit: 4a411eb4ee673e2687d38fda16d6db6b907f37d2
https://github.com/llvm/llvm-project/commit/4a411eb4ee673e2687d38fda16d6db6b907f37d2
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR] Fix rewrite of ops with vector operands to LLVM on GPU (#127844)
There was a discrepancy between the type-converter and rewrite-pattern
parts of conversion to LLVM used in various GPU targets, at least ROCDL
and NVVM:
- The TypeConverter part was handling vectors of arbitrary rank,
converting them to nests of `!llvm.array< ... >` with a vector at the
inner-most dimension:
https://github.com/llvm/llvm-project/blob/8337d01e3058e7f47675f5b2b908b4e7821895d7/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp#L629-L655
- The rewrite pattern part was not handling `llvm.array`:
https://github.com/llvm/llvm-project/blob/8337d01e3058e7f47675f5b2b908b4e7821895d7/mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp#L594-L596
That led to conversion failures when lowering `math` dialect ops on
rank-2 vectors, as in the testcase being added in this PR.
This PR fixes this by reusing a shared utility already used in other
conversions to LLVM:
https://github.com/llvm/llvm-project/blob/8337d01e3058e7f47675f5b2b908b4e7821895d7/mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp#L80-L104
---------
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 1987f93d03cec41f2599752cb63c9d130b901de3
https://github.com/llvm/llvm-project/commit/1987f93d03cec41f2599752cb63c9d130b901de3
Author: vporpo <vporpodas at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/lib/SandboxIR/BasicBlock.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] OpaqueValue (#127699)
This patch implements a new subclass of the Value class used for Sandbox
IR Values that we don't support, like metadata or inline asm. The goal
is to never have null sandboxir::Value objects, because this is not the
expected behavior.
Commit: 37d0f20593a65c552d717561efb64c8cf29c1d3c
https://github.com/llvm/llvm-project/commit/37d0f20593a65c552d717561efb64c8cf29c1d3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
R llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
R llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
Revert "[RISCV] Add a pass to remove ADDI by reassociating to fold into load/store address. (#127151)"
This reverts commit c3ebbfd7368ec3e4737427eef602296a868a4ecd.
Seeing some test failures on the build bot.
Commit: c9ff8399647cd15cdb9f8853b45854920de17162
https://github.com/llvm/llvm-project/commit/c9ff8399647cd15cdb9f8853b45854920de17162
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
Log Message:
-----------
[mlir][Linalg] Fix linalg.generic iteration domain collapse for dynamic dims (#118208)
This pr fixes how iteration domain of linalg.generic is collapsed when
fusing with tensor.expand_shape. Previously, the output_shape for
tensor.expand shape was infered, which doesn't always work except some
special cases.
This patch makes the logic explicitly set the bounds of the new
collapsed iteration domain, because we already know them.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 26e375046dbde27957548d5e9a9885c3eff29019
https://github.com/llvm/llvm-project/commit/26e375046dbde27957548d5e9a9885c3eff29019
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
A llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
A llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
Recommit "[RISCV] Add a pass to remove ADDI by reassociating to fold into load/store address. (#127151)"
Tests have been re-generated with recent scheduler changes.
Original message:
SelectionDAG will not reassociate adds to the end of a chain if
there are multiple users of later additions. This prevents isel
from folding the immediate into a load/store address.
One easy way to see this is accessing an array in a struct with
two different indices. An ADDI will be used to get to the start
of the array then 2 different SHXADD instructions will be used to
add the scaled indices. Finally the SHXADD will be used by different
load instructions. We can remove the ADDI by folding the offset into
each load.
This patch adds a new pass that analyzes how an ADDI constant
propagates through address arithmetic. If the arithmetic is only
used by a load/store and the offset is small enough, we can adjust
the load/store offset and remove the ADDI.
This pass is placed before MachineCSE to allow cleanups if some
instructions become common after removing offsets from their inputs.
This pass gives ~3% improvement on dynamic instruction count on
541.leela_r and 544.nab_r from SPEC2017 for the train data set. There's
a ~1% improvement on 557.xz_r.
Commit: 84eacd302e54a8a1b2b56684efb422911707c6af
https://github.com/llvm/llvm-project/commit/84eacd302e54a8a1b2b56684efb422911707c6af
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 26e375046dbd
Commit: c833746c6c062677a040d18d837c7fad71939171
https://github.com/llvm/llvm-project/commit/c833746c6c062677a040d18d837c7fad71939171
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Make iter order deterministic in removePartiallyOverlappedStores. NFC (#127678)
In removePartiallyOverlappedStores we iterate over
InstOverlapIntervalsTy which is a DenseMap. Change that map into using
MapVector to ensure that we apply the transforms in a deterministic
order. I've only seen that the order matters if starting to use names
for the instructions created when doing the transforms. But such things
are a bit annoying when debugging etc.
Commit: 1761066fc641be529ca45b3cfcf4788b8a7a688d
https://github.com/llvm/llvm-project/commit/1761066fc641be529ca45b3cfcf4788b8a7a688d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
Log Message:
-----------
[GlobalOpt] Remove Function* argument from tryWidenGlobalArrayAndDests. NFC (#127848)
This is only used to get the Module and the LLVMContext. We can get both
of those from the GlobalVariable*.
Commit: 1a6ed4d06e3c5b05e5ed9873888165c671292b06
https://github.com/llvm/llvm-project/commit/1a6ed4d06e3c5b05e5ed9873888165c671292b06
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][Vector] Deprecate vector.extractelement/vector.insertelement (#113829)
See
https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops/71116/6
for more information.
Commit: 92b07520bcba1134f60d368c3f0d9216ebbe76e5
https://github.com/llvm/llvm-project/commit/92b07520bcba1134f60d368c3f0d9216ebbe76e5
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Support cloning through recursive cycles (#127429)
In order to facilitate cloning of recursive cycles, we first identify
backedges using a standard DFS search from the root callers, then
initially defer recursively invoking the cloning function via those
edges. This is because the cloning opportunity along the backedge may
not be exposed until the current node is cloned for other non-backedge
callers that are cold after the earlier recursive cloning, resulting
in a cold predecessor of the backedge. So we recursively invoke the
cloning function for the backedges during the cloning of the current
node for its caller edges (which were sorted to enable handling cold
callers first).
There was no significant time or memory overhead measured for several
large applications.
Commit: 3836559e65b002579e2c6697969557ffbbb8cc7d
https://github.com/llvm/llvm-project/commit/3836559e65b002579e2c6697969557ffbbb8cc7d
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test for regession with trunc in foldSelectICmpAnd
Commit: c0c42c8b3213520700f15587ab8aa4477a286ff9
https://github.com/llvm/llvm-project/commit/c0c42c8b3213520700f15587ab8aa4477a286ff9
Author: vporpo <vporpodas at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/SandboxIR/Context.cpp
Log Message:
-----------
[SandboxIR][NFC] Change order of ifs in Context::getOrCreateValueInternal() (#127891)
Move the most common if statement to the top and the least common ones
to the bottom. This should save CPU cycles during compilation.
This patch also prefixes the llvm variables with the LLVM prefix to make
the naming convention in this function more uniform. For example `C` to
`LLVMC`.
Commit: 5f8b2568219d5e516928aed67f13b59de8ccee17
https://github.com/llvm/llvm-project/commit/5f8b2568219d5e516928aed67f13b59de8ccee17
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
A clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
A clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
Log Message:
-----------
Check the type of Objective-C++ instance variables in WebKit member variable checkers. (#127570)
Like a C++ member variable, every Objective-C++ instance variable must
be a RefPtr, Ref CheckedPtr, or CheckedRef to an object, not a raw
pointer or reference.
Commit: 8363b0a6bab041b54316962e3e8948098148baeb
https://github.com/llvm/llvm-project/commit/8363b0a6bab041b54316962e3e8948098148baeb
Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
Log Message:
-----------
[clang-tidy] add AllowedTypes option to misc-const-correctness (#122951)
Add option `AllowedTypes` which allow users to specify types they want
to exclude from const-correctness check.
Small real-world example:
```cpp
#include <mutex>
int main() {
std::mutex m;
std::lock_guard<std::mutex> l(m); // we want to ignore it since std::lock_guard is already immutable.
}
```
Closes issue https://github.com/llvm/llvm-project/issues/122592
Commit: 0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe
https://github.com/llvm/llvm-project/commit/0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/CodeGen/AArch64/cmpbr-branch-relaxation.mir
A llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir
A llvm/test/CodeGen/AArch64/cmpbr-reg-imm-at-bounds.ll
A llvm/test/CodeGen/AArch64/cmpbr-reg-imm.ll
A llvm/test/CodeGen/AArch64/cmpbr-reg-reg.ll
Log Message:
-----------
[AArch64][FEAT_CMPBR] Codegen for Armv9.6-a compare-and-branch (#116465)
This patch adds codegen for all Arm9.6-a compare-and-branch
instructions, that operate on full w or x registers. The instruction
variants operating on half-words (cbh) and bytes (cbb) are added in a
subsequent patch.
Since CB doesn't use standard 4-bit Arm condition codes but a reduced
set of conditions, encoded in 3 bits, some conditions are expressed by
modifying operands, namely incrementing or decrementing immediate
operands and swapping register operands. To invert a CB instruction it's
therefore not enough to just modify the condition code which doesn't
play particularly well with how the backend is currently organized. We
therefore introduce a number of pseudos which operate on the standard
4-bit condition codes and lower them late during codegen.
Commit: ef49760fa94d1d75cf42b0666b2ee29f9b13d5a2
https://github.com/llvm/llvm-project/commit/ef49760fa94d1d75cf42b0666b2ee29f9b13d5a2
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/unistd.yaml
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getsid.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getsid.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getsid_test.cpp
Log Message:
-----------
[libc][POSIX][unistd] implement getsid (#127341)
Fixes https://github.com/llvm/llvm-project/issues/126603
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 6342095bce61f18baf7c305716be3239a274fb6d
https://github.com/llvm/llvm-project/commit/6342095bce61f18baf7c305716be3239a274fb6d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Fix a warning
This patch fixes:
llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp:3409:8:
error: unused variable 'I' [-Werror,-Wunused-variable]
Commit: 0127f169dc8e0b5b6c2a24f74cd42d9d277916f6
https://github.com/llvm/llvm-project/commit/0127f169dc8e0b5b6c2a24f74cd42d9d277916f6
Author: Sebastian Jodłowski <jodelek at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
Log Message:
-----------
[CUDA] Add support for sm101 and sm120 target architectures (#127187)
Add support for sm101 and sm120 target architectures. It requires CUDA
12.8.
---------
Co-authored-by: Sebastian Jodlowski <sjodlowski at nuro.ai>
Commit: 6cc7ca084a5bbb7ccf606cab12065604453dde59
https://github.com/llvm/llvm-project/commit/6cc7ca084a5bbb7ccf606cab12065604453dde59
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/nvptxintrin.h
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
Log Message:
-----------
[Clang] Fix cross-lane scan when given divergent lanes (#127703)
Summary:
The scan operation implemented here only works if there are contiguous
ones in the executation mask that can be used to propagate the result.
There are two solutions to this, one is to enter 'whole-wave-mode' and
forcibly turn them back on, or to do this serially. This implementation
does the latter because it's more portable, but checks to see if the
parallel fast-path is applicable.
Needs to be backported for correct behavior and because it fixes a
failing libc test.
Commit: 5622f2232b3564e86e207401f6c196ba9ea01fb7
https://github.com/llvm/llvm-project/commit/5622f2232b3564e86e207401f6c196ba9ea01fb7
Author: youngd007 <davidayoung at meta.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-json-output.s
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-cu-lists-json-output.s
Log Message:
-----------
Add back deleted test for llvm-dwarfdump JSON output (#127685)
Looks like https://github.com/llvm/llvm-project/pull/124936 was reverted
(for modifying JSON output), but the test for JSON output with errors
was deleted in https://github.com/llvm/llvm-project/pull/126587 (to
attempt to fix failing build)
This will add back a test and a new one for llvm-dwarfdump to validate
the JSON for errors. One case where the sub-categories will eventually
appear and another where not.
test plan:
ninja check-llvm-tools-llvm-dwarfdump
Commit: b0e24d17f294ce421ebf7174d8c74cdae374d7e7
https://github.com/llvm/llvm-project/commit/b0e24d17f294ce421ebf7174d8c74cdae374d7e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vleff.ll
Log Message:
-----------
[RISCV] Use opaque pointers in some tests. NFC (#127906)
Commit: f62f13d5db212b4bebe6fc143fb9827703e88dfd
https://github.com/llvm/llvm-project/commit/f62f13d5db212b4bebe6fc143fb9827703e88dfd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/API/SBCommandReturnObject.h
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/include/lldb/ValueObject/ValueObjectList.h
M lldb/source/API/SBCommandReturnObject.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/ValueObject/ValueObjectList.cpp
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/target_var/TestTargetVar.py
Log Message:
-----------
[lldb] Store the return SBValueList in the CommandReturnObject (#127566)
There are a lot of lldb commands whose result is really one or more
ValueObjects that we then print with the ValueObjectPrinter. Now that we
have the ability to access the SBCommandReturnObject through a callback
(#125006), we can store the resultant ValueObjects in the return object,
allowing an IDE to access the SBValues and do its own rich formatting.
rdar://143965453
Commit: 9107ad41bb4a0a00db2a5fcc435a2907fa67c7bc
https://github.com/llvm/llvm-project/commit/9107ad41bb4a0a00db2a5fcc435a2907fa67c7bc
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
Log Message:
-----------
Apply clang-format to bitset_test_cases.h to make PR#120807 cleaner
Applying this formatting per reviewer comment on PR #120807: https://github.com/llvm/llvm-project/pull/120807/files#r1961834956
Commit: 86f0e6dc1177fe45ec6b0ed0707053b28c227321
https://github.com/llvm/llvm-project/commit/86f0e6dc1177fe45ec6b0ed0707053b28c227321
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/main.py
A libc/utils/hdrgen/tests/expected_output/test_small.json
M libc/utils/hdrgen/tests/test_integration.py
Log Message:
-----------
[libc] Add --json mode for hdrgen (#127847)
This adds a feature to hdrgen to emit JSON summaries of header
files for build system integration. For now the summaries have
only the basic information about each header that is relevant for
build and testing purposes: the standards and includes lists.
Commit: 131a3cfab46ff8eb03ae102a39ea35b7f5e11d1b
https://github.com/llvm/llvm-project/commit/131a3cfab46ff8eb03ae102a39ea35b7f5e11d1b
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/CIR/emit-actions.cpp
Log Message:
-----------
[CIR] updates test for 75ea7aed (#127917)
Commit: 19bad2ac4a4b809b5442023ac85fb0b7cf26dd7c
https://github.com/llvm/llvm-project/commit/19bad2ac4a4b809b5442023ac85fb0b7cf26dd7c
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
Log Message:
-----------
[BOLT][NFC] Fix an incorrect address used in a BOLT-INFO message (#127902)
Commit: 75bd46e01ff5c4f34e7b7fd8382f7f1028d81440
https://github.com/llvm/llvm-project/commit/75bd46e01ff5c4f34e7b7fd8382f7f1028d81440
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/GlobalsModRef.h
M llvm/lib/Analysis/GlobalsModRef.cpp
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
Log Message:
-----------
[globals-aa] Improved isNonEscapingGlobalNoAlias. (#127707)
A non-escaping global should never alias with non-pointer values
and `ptr null`. This should improve disambiguation of global
pointers with relation to Flang runtime calls (given that
`nosync nocallback` attributes are properly set).
It also seems to be an obvious improvement with little overhead.
Commit: 007f601f15059520b64c09a32b7bb9d99b845d7e
https://github.com/llvm/llvm-project/commit/007f601f15059520b64c09a32b7bb9d99b845d7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[Clang][Docs] Document -Xarch_ better (#127890)
Summary:
This argument is esoteric and previously didn't even work consistently
across the targets. Now that's fixed we should document it better.
---------
Co-authored-by: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Commit: 5d4998bc02cebd77e70f0fa712ab8e1eb8f643f0
https://github.com/llvm/llvm-project/commit/5d4998bc02cebd77e70f0fa712ab8e1eb8f643f0
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/global_none_meta.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/global_none_meta.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/global_none_meta.test
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
UpdateTestChecks: Don't check meta details in func definition w/--global none (#124205)
When --check-globals none, we skipped all the globals in check lines.
However, we are still checking the meta info in function defintion.
The generated checks are still sensitive to metadata changes.
This is to scrub the meta info and match them with {{.*}} instead.
Commit: f5b311e47de044160aeb25221095898c35c4847f
https://github.com/llvm/llvm-project/commit/f5b311e47de044160aeb25221095898c35c4847f
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Statically link clang with stage1 runtimes (#127268)
This change will cause clang and the other tools to statically link
against the runtimes built in stage1. This will make the built binaries
more portable by eliminating dependencies on system libraries like
libgcc and libstdc++.
Commit: ab7664c02cfe6791d20a887ae0bc0653223e3fbf
https://github.com/llvm/llvm-project/commit/ab7664c02cfe6791d20a887ae0bc0653223e3fbf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
Log Message:
-----------
[mlir][integer-range-analysis] expose helpers in header and fix ConstantIntRange print (#127888)
Commit: bf9b72e134bff7eb6861e07752d70cb33348b540
https://github.com/llvm/llvm-project/commit/bf9b72e134bff7eb6861e07752d70cb33348b540
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A clang/test/CodeGenCUDA/increment-index-for-thunks.cu
Log Message:
-----------
[NFC][Clang] Precommit test for VTable codegen (#124983)
Associated PR: https://github.com/llvm/llvm-project/pull/124989
Commit: a16fa3a965eac8966d5a6faba0bf373af1300f21
https://github.com/llvm/llvm-project/commit/a16fa3a965eac8966d5a6faba0bf373af1300f21
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/tools/libclang/CXString.cpp
Log Message:
-----------
Reland "[libclang] Always Dup in createRef(StringRef)" (#127078)
Reverts #127076 to reland #125020.
Use-after-free should be fixed here #127063
Commit: f178e51747b47a181cd6be8dc4ad8943ea5728b3
https://github.com/llvm/llvm-project/commit/f178e51747b47a181cd6be8dc4ad8943ea5728b3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
A llvm/test/CodeGen/PowerPC/llvm.modf.ll
Log Message:
-----------
[SDAG] Add missing ppc_fp128 ExpandFloatRes legalization for modf (#127895)
Should fix: https://lab.llvm.org/buildbot/#/builders/72/builds/8380
(`test_modf_ppcf128` is the test case that needed the additional
legalization)
Commit: 3e5ae5777d92b6f8c647c3f6969fbca0f0f769ff
https://github.com/llvm/llvm-project/commit/3e5ae5777d92b6f8c647c3f6969fbca0f0f769ff
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Disable Flang on x86_64 macOS (#127216)
The flang build was taking 2-3 hours and causing the entire job to
timeout, so we need to disable it.
Commit: 37c341df283fa028c6e3849d4c024456e4d197c5
https://github.com/llvm/llvm-project/commit/37c341df283fa028c6e3849d4c024456e4d197c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.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/clamp.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
Log Message:
-----------
Revert "AMDGPU: Don't canonicalize fminnum/fmaxnum if targets support IEEE fminimum(maximum)_num (#127711)"
This reverts commit 36eaf0daf5d6dd665d7c7a9ec38ea22f27709fed.
This is not a sound approach to dealing with this instruction change.
The new behavior is a different opcode pair, not a modifier on the
existing opcode.
Commit: 1fd280d0f2a31a41e74374c7757a8a4d01e116b5
https://github.com/llvm/llvm-project/commit/1fd280d0f2a31a41e74374c7757a8a4d01e116b5
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/test/Dialect/Affine/affine-data-copy.mlir
Log Message:
-----------
[MLIR][Affine] Add missing check in affine data copy nest generation (#127809)
Handle case where no lower or upper bound could be found for a
dimension. Invalid IR was being generated silently for a test case.
Fixes: https://github.com/llvm/llvm-project/issues/127808
Commit: f8bdbed5b3f12c5e1c38a29cd71df286a9e2725c
https://github.com/llvm/llvm-project/commit/f8bdbed5b3f12c5e1c38a29cd71df286a9e2725c
Author: David Olsen <dolsen at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/TypeEvaluationKind.h
A clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
R clang/test/CIR/hello.c
Log Message:
-----------
[CIR] Upstream simple function bodies (#127674)
Enable ClangIR generation for very simple functions. The functions have
to return `void` or an integral type, contain only compound statements
or `return` statements, and `return` statement expressions can only be
integral literals of the correct type. The functions can have
parameters, but those are currently ignored because there is no way to
access them.
This change intentionally focuses on breadth (introducing scopes,
statements, and expressions) rather than depth, because it enables
people to work on upstreaming in parallel without interference.
The new ClangIR ops in this change are `ReturnOp`, `YieldOp`, `ScopeOp`,
and `TrapOp`. These operations are complete (except for the
`ParentOneOf` property) and shouldn't require further upstreaming
changes. Significant additions were made to `FuncOp`, adding a type and
a region, but that operation is still far from complete.
The classes `ScalarExprEmitter` and `CIRGenFunction`, along with the
`emit*` functions in `CIRGenFunction` that generate ClangIR for
statements, are new in this change. All of these are very incomplete and
will be filled out in later upstreaming patches.
Existing test `hello.c` is removed and replaced by the new test
`func-simple.cpp`. This tests all forms of functions that are currently
supported.
Commit: c58011dc65719c4207c2e641a6e32af1c60cdbe8
https://github.com/llvm/llvm-project/commit/c58011dc65719c4207c2e641a6e32af1c60cdbe8
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Peek through copies in checkUsers (#127656)
Currently if a user of an instruction isn't a vector pseudo we bail. For
simple non-subreg virtual COPYs, we can peek through their uses by using
a worklist.
This is extracted from a loop in TSVC2 (s273) that contains a fcmp +
select, which produces a copy that doesn't seem to be coalesced away.
Commit: 557628dbe6a935b1ad5e1bcfd51ac3a65e35d874
https://github.com/llvm/llvm-project/commit/557628dbe6a935b1ad5e1bcfd51ac3a65e35d874
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
R llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Port RegAllocPriorityAdvisor analysis to NPM (#118462)
Similar to #117309.
The advisor and logger are accessed through the provider, which is
served by the new PM. Legacy PM forwards calls to the provider.
New PM is a machine function analysis that lazily initializes the
provider.
Commit: 58279d1ee1b567e8ca793d6d1eb6e0f1d5e7279e
https://github.com/llvm/llvm-project/commit/58279d1ee1b567e8ca793d6d1eb6e0f1d5e7279e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Host/Editline.h
M lldb/include/lldb/Host/File.h
M lldb/include/lldb/Host/StreamFile.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/IOHandler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/unittests/Editline/EditlineTest.cpp
Log Message:
-----------
[lldb] Synchronize the debuggers output & error streams
This patch improves the synchronization of the debugger's output and error
streams using two new abstractions: `LockableStreamFile` and
`LockedStreamFile`.
- `LockableStreamFile` is a wrapper around a `StreamFile` and a mutex. Client
cannot use the `StreamFile` without calling `Lock`, which returns a
`LockedStreamFile`.
- `LockedStreamFile` is an RAII object that locks the stream for the duration
of its existence. As long as you hold on to the returned object you are
permitted to write to the stream. The destruction of the object
automatically flush the output stream.
Commit: df96b56b9fad29ff0a8654730952d02e7ef6cc50
https://github.com/llvm/llvm-project/commit/df96b56b9fad29ff0a8654730952d02e7ef6cc50
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.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/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/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.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/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-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/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
Log Message:
-----------
[RISCV] Move VMV0 elimination past machine SSA opts (#126850)
This is the follow up to #125026 that keeps mask operands in virtual
register form for as long as possible throughout the backend.
The diffs in this patch are from MachineCSE/MachineSink/RISCVVLOptimizer
kicking in.
The invariant that the mask COPY never has a subreg no longer holds
after MachineCSE (it coalesces some copies), so it needed to be relaxed.
Commit: 95000fdb9e98a88b923fa7aa4bdeffbc618a323c
https://github.com/llvm/llvm-project/commit/95000fdb9e98a88b923fa7aa4bdeffbc618a323c
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
Log Message:
-----------
[CUDA] Increment VTable index for device thunks (#124989)
Currently, the clang frontend incorrectly emits the callee instead of
the thunk for the callee in the VTable. This is the case because the
thunk index is not incremented when their callees cannot be emitted.
This patch fixes the bug.
Commit: 62e4436bb80b82c836fb747b391696700f089e6b
https://github.com/llvm/llvm-project/commit/62e4436bb80b82c836fb747b391696700f089e6b
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
Log Message:
-----------
[NVPTX] Use appropriate operands in ReplaceImageHandles (NFC) (#127898)
Prior to this change NVPTXReplaceImageHandles replaced operands with
indices and populated a table matching these indices to strings to be
used in AsmPrinter. We can clean this up by simply inserting the correct
external symbol or global address operands during
NVPTXReplaceImageHandles, largely removing the need for the table.
Commit: 57bac14f4bcc8b43edc3e27be3d93609f7f4037b
https://github.com/llvm/llvm-project/commit/57bac14f4bcc8b43edc3e27be3d93609f7f4037b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Fix header include order in ScriptInterpreterPython.cpp
Should fix the following compile error on Windows:
C:\Python312\include\pyconfig.h(225): error C2371: 'pid_t': redefinition; different basic types
C:\buildbot\as-builder-10\lldb-x-aarch64\llvm-project\lldb\include\lldb/Host/windows/PosixApi.h(80): note: see declaration of 'pid_t'
Commit: 92ddbbd89fa2a904119267d3565bed8e95f4f8e2
https://github.com/llvm/llvm-project/commit/92ddbbd89fa2a904119267d3565bed8e95f4f8e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/RDFRegisters.cpp
Log Message:
-----------
[CodeGen] Remove static member functions Register::stackSlot2Index/isStackSlot. NFC
Migrate the few users to the nonstatic member functions.
Commit: 77a8338fa65b959794c4ab9b2afd1d08deed49fe
https://github.com/llvm/llvm-project/commit/77a8338fa65b959794c4ab9b2afd1d08deed49fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
Log Message:
-----------
[ARC] Update code after removal of Register::isStackSlot. NFC
Commit: 8b58cb853a3805e2c58177c2646d6320c8750c98
https://github.com/llvm/llvm-project/commit/8b58cb853a3805e2c58177c2646d6320c8750c98
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG][NFC] Refactor duplicate code into SDNode::bitcastToAPInt() (#127503)
Commit: a6eb7d6acc268bd9507bf1c6e2c433174d8fd0c2
https://github.com/llvm/llvm-project/commit/a6eb7d6acc268bd9507bf1c6e2c433174d8fd0c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
Log Message:
-----------
[ARC] Remove unneeded isStackSlot
Commit: 2130b9cea4c3274375be53c981d23b1838897e38
https://github.com/llvm/llvm-project/commit/2130b9cea4c3274375be53c981d23b1838897e38
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
Log Message:
-----------
[Coroutines] Avoid repeated hash lookups (NFC) (#127956)
Commit: 77183a46a5fd4e0b92ea91096c6d58bea7a7f43b
https://github.com/llvm/llvm-project/commit/77183a46a5fd4e0b92ea91096c6d58bea7a7f43b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
Log Message:
-----------
[CodeGen] Remove static member function Register::virtReg2Index. NFC (#127962)
Use the nonstatic member instead.
I'm pretty sure the code in SPRIV is a layering violation. MC layer
files are using a CodeGen header.
Commit: 7d03c8e256a78b67a645b78e3ca93287bee0cd37
https://github.com/llvm/llvm-project/commit/7d03c8e256a78b67a645b78e3ca93287bee0cd37
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][Parser] Fix use-after-free when parsing invalid reference to nested definition (#127778)
This commit fixes a use-after-free crash when parsing the following
invalid IR:
```mlir
scf.for ... iter_args(%var = %foo) -> tensor<?xf32> {
%foo = "test.inner"() : () -> (tensor<?xf32>)
scf.yield %arg0 : tensor<?xf32>
}
```
The `scf.for` parser was implemented as follows:
1. Resolve operands (including `%foo`).
2. Parse the region.
During operand resolution, a forward reference
(`unrealized_conversion_cast`) is added by the parser because `%foo` has
not been defined yet. During region parsing, the definition of `%foo` is
found and the forward reference is replaced with the actual definition.
(And the forward reference is deleted.) However, the operand of the
`scf.for` op is not updated because the `scf.for` op has not been
created yet; all we have is an `OperationState` object.
All parsers should be written in such a way that they first parse the
region and then resolve the operands. That way, no forward reference is
inserted in the first place. Before parsing the region, it may be
necessary to set the argument types if they are defined as part of the
assembly format of the op (as is the case with `scf.for`). Note: Ops in
generic format are parsed in the same way.
To make the parsing infrastructure more robust, this commit also delays
the erase of forward references until the end of the lifetime of the
parser. Instead of a use-after-free crash, users will then see more
descriptive error messages such as:
```
error: operation's operand is unlinked
```
Note: The proper way to fix the parser is to first parse the region,
then resolve the operands. The change to `Parser.cpp` is merely to help
users finding the root cause of the problem.
Commit: 2d6330f83a64a414f83d647bba7f23928f66aa5c
https://github.com/llvm/llvm-project/commit/2d6330f83a64a414f83d647bba7f23928f66aa5c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix indent for deref assume bundle note added in 65640c1d4c.
Fixes odd whitespace rendering.
Commit: 507e413a2d85fb25f70caa9ef843f7c7cffb94c6
https://github.com/llvm/llvm-project/commit/507e413a2d85fb25f70caa9ef843f7c7cffb94c6
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libunwind/src/CMakeLists.txt
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
R libunwind/src/cet_unwind.h
A libunwind/src/shadow_stack_unwind.h
Log Message:
-----------
[libunwind][NFC] Remove the CET keyword in shadow stack-related stuffs (#126663)
libunwind currently supports shadow stack based on the Intel CET and
AArch64 GCS technology, but throughout related codes, the Intel-specific
keyword, "CET", is used to refer to the generic concept of control-flow
integrity/shadow stack. This patch replaces such wordings with
architecture-neutral term "shadow stack" (abbr. "shstk") to allow future
implementation to avoid using the Intel-specific "CET" term.
Commit: 44dc5729b07890cbedae6b1bdb6fcef038021ebc
https://github.com/llvm/llvm-project/commit/44dc5729b07890cbedae6b1bdb6fcef038021ebc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/libunwind/src/BUILD.gn
Log Message:
-----------
[gn build] Port 507e413a2d85
Commit: 611a648327e9f6dad174e5c4427b27b8b7830fc0
https://github.com/llvm/llvm-project/commit/611a648327e9f6dad174e5c4427b27b8b7830fc0
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
Log Message:
-----------
[AMDGPU] Add llvm.amdgcn.dead intrinsic (#123190)
Shaders that use the llvm.amdgcn.init.whole.wave intrinsic need to
explicitly preserve the inactive lanes of VGPRs of interest by adding
them as dummy arguments. The code usually looks something like this:
```
define amdgcn_cs_chain void f(active vgpr args..., i32 %inactive.vgpr1, ..., i32 %inactive.vgprN) {
entry:
%c = call i1 @llvm.amdgcn.init.whole.wave()
br i1 %c, label %shader, label %tail
shader:
[...]
tail:
%inactive.vgpr.arg1 = phi i32 [ %inactive.vgpr1, %entry], [poison, %shader]
[...]
; %inactive.vgpr* then get passed into a llvm.amdgcn.cs.chain call
```
Unfortunately, this kind of phi node will get optimized away and the
backend won't be able to figure out that it's ok to use the active lanes
of `%inactive.vgpr*` inside `shader`.
This patch fixes the issue by introducing a llvm.amdgcn.dead intrinsic,
whose result can be used as a PHI operand instead of the poison. This
will be selected to an IMPLICIT_DEF, which the backend can work with.
At the moment, the llvm.amdgcn.dead intrinsic works only on i32 values.
Support for other types can be added later if needed.
Commit: 3df03db689f1072d04a815a8893c395010988c53
https://github.com/llvm/llvm-project/commit/3df03db689f1072d04a815a8893c395010988c53
Author: Narayan <32898329+vortex73 at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/lib/CGData/CodeGenData.cpp
Log Message:
-----------
[CodeGen] Refactor `warn()` to use StringRef (NFCI) (#127537)
closes #100064
Commit: 079115e6eac0412214104b593849ee805d8921ce
https://github.com/llvm/llvm-project/commit/079115e6eac0412214104b593849ee805d8921ce
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_modf.h
A libclc/clc/include/clc/math/unary_decl_with_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_ptr.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_modf.cl
A libclc/clc/lib/generic/math/clc_modf.inc
M libclc/generic/include/clc/math/modf.h
R libclc/generic/include/clc/math/modf.inc
M libclc/generic/lib/math/modf.cl
R libclc/generic/lib/math/modf.inc
Log Message:
-----------
[libclc] Move modf to the CLC library (#127828)
The "generic" unary_(def|decl)_with_ptr files are intended to be re-used
by the sincos and fract builtins in the future as they share an
identical type signature.
Commit: 684ad25dfc487476132b429dc92fca934460a8e3
https://github.com/llvm/llvm-project/commit/684ad25dfc487476132b429dc92fca934460a8e3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_frexp.h
A libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
M libclc/clc/include/clc/relational/clc_select.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_frexp.cl
A libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/generic/lib/math/frexp.cl
R libclc/generic/lib/math/frexp.inc
Log Message:
-----------
[libclc] Move frexp to CLC library; optimize half vecs (#127836)
This commit moves the frexp builtin to the CLC library.
It simultaneously optimizes the code generated for half vectors, which
was previously scalarizing and casting up to float. With this commit it
still casts up to float, but keeps it in the vector form.
Commit: 0cd5a1f3090beee88d34d22c6733c6df473877db
https://github.com/llvm/llvm-project/commit/0cd5a1f3090beee88d34d22c6733c6df473877db
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/AST/APValue.cpp
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[NFC][clang] Cleanup in APValue and SemaInit (#127790)
APValue:
Additional assignment of AllowConstexprUnknown is not required since it
will be handled by copy constructor called above.
SemaInit:
Remove unnecessary null check. DestRecordDecl can't be null due to being
obtained using `cast` and assertion that DestRecordType is present.
Spotted by a static analysis tool.
Commit: 62d77fcb3cebe80b3cf88588b5f94778799e86f3
https://github.com/llvm/llvm-project/commit/62d77fcb3cebe80b3cf88588b5f94778799e86f3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.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-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.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] combineX86ShuffleChain - don't combine to VPERM2W/VPERM2B from just any single variable mask (#127914)
Despite them being more expensive than other variable mask shuffles, we
were combining shuffle chains to VPERM2W/VPERM2B if any shuffle in the
chain was a variable shuffle - including very cheap shuffles like PSHUFB
or AND mask patterns.
This patch adjusts the BWI VPERMV3 threshold - it still always permits
the merge if the chain (of 2 or more shuffles) contains any
X86ISD::VPERMV/VPERMV3 shuffles (including DQ variants), but otherwise
only reduces the depth threshold based off the number of other variable
shuffles we'd fold away.
Commit: 2c022e3617ec9bab3c9ab17464610843563ed9ed
https://github.com/llvm/llvm-project/commit/2c022e3617ec9bab3c9ab17464610843563ed9ed
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Symbol/LineTable.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Replace LineTable::upper_bound with GetLineEntryIndexRange (#127806)
After (too) much deliberation, I came to the conclusion that this isn't
the right abstraction, as it doesn't behave completely like the standard
upper_bound method. What I really wanted was to get the range of line
entries for a given address range -- so I implement just that.
lower_bound is still useful as a primitive for building other kinds of
lookups.
Commit: e264317b45163f5c3ba7fc5375dcdecd827fce95
https://github.com/llvm/llvm-project/commit/e264317b45163f5c3ba7fc5375dcdecd827fce95
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Utility/RangeMap.h
M lldb/test/Shell/Commands/command-disassemble.s
M lldb/unittests/Utility/RangeMapTest.cpp
Log Message:
-----------
[lldb] Fix RangeDataVector::CombineConsecutiveEntriesWithEqualData (#127059)
Function was merging equal data even if they weren't adjecant. This
caused a problem in command-disassemble.s test because the two ranges
describing the function would be merged and "swallow" the function
between them.
This PR copies/adapts the algorithm from
RangeVector::CombineConsecutiveEntries (which does not have the same
problem) and also adds a call to ComputeUpperBounds as moving entries
around invalidates the binary tree. (The lack of this call wasn't
noticed until now either because we were not calling methods which rely
on upper bounds (right now, it's only the ill-named FindEntryIndexes
method), or because we weren't merging anything.
Commit: 55fa2fa3480928d2ce6e06336842f673ac92f9d3
https://github.com/llvm/llvm-project/commit/55fa2fa3480928d2ce6e06336842f673ac92f9d3
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
Log Message:
-----------
[SPIR-V] Add SPV_INTEL_bindless_images extension (#127737)
Adds instructions to convert convert unsigned integer handles to images,
samplers and sampled images.
Spec:
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_bindless_images.asciidoc
---------
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: 44feae869570201e9920c26b151ce7ce24f0418d
https://github.com/llvm/llvm-project/commit/44feae869570201e9920c26b151ce7ce24f0418d
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Mark some methods + arguments as const. NFC
Commit: a60675d22723d682ba66c769ccb2b42e0b825a04
https://github.com/llvm/llvm-project/commit/a60675d22723d682ba66c769ccb2b42e0b825a04
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
R clang/test/Analysis/builtin_signbit.cpp
A clang/test/CodeGen/builtin_signbit.cpp
Log Message:
-----------
[CodeGen][NFC] Move test builtin_signbit.cpp to CodeGen (#127814)
Because it is one of the three "misplaced" test files that appeared
under `/clang/test/Analysis` but were unrelated to the clang static
analyzer. For background see the following discourse thread:
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689/2
I placed this file in `clang/test/CodeGen` because as far as I see it
tests the code generated from `__builtin_signbit` (and there are many
other `builtin_*` test files in that directory); but I'm not familiar
with that area, so I'm not certain that it's the best place.
Commit: 6e047a5ab42698165a4746ef681396fab1698327
https://github.com/llvm/llvm-project/commit/6e047a5ab42698165a4746ef681396fab1698327
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
Add Wasm, RISC-V, BPF, and NVPTX targets back to Windows release packaging (#127794)
In #106059 we reduced the targets to those supported by Windows (X86 and
ARM) to avoid running into size limitations of the NSIS compiler.
Since then, people complained about the lack of Wasm [1], RISC-V [2],
BPF [3], and NVPTX [4]. These do seem to fit in the installer (at least
for 20.1.0-rc2), so let's add them back.
[1]
https://discourse.llvm.org/t/llvm-19-x-release-third-party-binaries/80374/26
[2]
https://discourse.llvm.org/t/llvm-19-x-release-third-party-binaries/80374/53
[3] https://github.com/llvm/llvm-project/issues/127120
[4]
https://github.com/llvm/llvm-project/pull/127794#issuecomment-2668677203
Commit: e09fc394b7c4606099b3466bb076a19327b9e16b
https://github.com/llvm/llvm-project/commit/e09fc394b7c4606099b3466bb076a19327b9e16b
Author: David <davidgmbb at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
[llvm] Make target triple in TLII const reference (#127718)
Commit: dc326d0b01f63e49f4f11c0c332369bf109721df
https://github.com/llvm/llvm-project/commit/dc326d0b01f63e49f4f11c0c332369bf109721df
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Clang][doc] -ffp-contract options and standard compliance (#127621)
We had an discussion about -ffp-contract, how it compared to GCC which defaults
to fast, and standard compliance. Looking at our docs, most information is
there, but this clarifies when this option is and isn't standard compliant.
Commit: d595fc91aeb35cb7fad8ad37fa84a70863b09f69
https://github.com/llvm/llvm-project/commit/d595fc91aeb35cb7fad8ad37fa84a70863b09f69
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 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 "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#127987)
Reverts llvm/llvm-project#126750
Revering while I investigate:
https://lab.llvm.org/buildbot/#/builders/72/builds/8406
Commit: 747588dc642b32210f918b6d5e3a31663167c382
https://github.com/llvm/llvm-project/commit/747588dc642b32210f918b6d5e3a31663167c382
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
Log Message:
-----------
[flang][Lower][OpenMP] Don't read moldarg for static sized array (#127838)
This should further reduce the number of spurious barriers
Commit: 97872409125bd9972ab7c74f1fe25539820f6631
https://github.com/llvm/llvm-project/commit/97872409125bd9972ab7c74f1fe25539820f6631
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/mask-exts-not.ll
Log Message:
-----------
[RISCV][test] Add tests for extending negated mask
Commit: 544a161c9a16283c3c1508bd5eec0f99d6614ac1
https://github.com/llvm/llvm-project/commit/544a161c9a16283c3c1508bd5eec0f99d6614ac1
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[NFC][SPIR-V] Remove unused variable (#127985)
Fix warning after https://github.com/llvm/llvm-project/pull/127737
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: 367ecc63338da1ff98d63a41bafc9b54d5c3eb6d
https://github.com/llvm/llvm-project/commit/367ecc63338da1ff98d63a41bafc9b54d5c3eb6d
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Renaissance LineTable sequences (#127800)
LineSeqeunce is basically a vector, except that users aren't supposed to
know that. This implements the same concept in a slightly simpler
fashion.
Commit: d7784a649e80d346ba57ccc39f5e2a3e2f7e0a51
https://github.com/llvm/llvm-project/commit/d7784a649e80d346ba57ccc39f5e2a3e2f7e0a51
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/threadprivate02.f90
Log Message:
-----------
[flang][OpenMP] Catch threadprivate common block vars that appear in equivalence (#127642)
Semantics were not checking for variables appearing in equivalence
statements when those were part of a threadprivate common block.
Fixes #122825
Commit: 0948fc85aa99a8fd193d2d66a517e31b8b639f20
https://github.com/llvm/llvm-project/commit/0948fc85aa99a8fd193d2d66a517e31b8b639f20
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/bool-increment-SFINAE.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
Log Message:
-----------
[clang] print correct context for diagnostics suppressed by deduction (#125453)
This patch makes it so the correct instantiation context is printed for
diagnostics suppessed by template argument deduction.
The context is saved along with the suppressed diagnostic, and when the
declaration they were attached to becomes used, we print the correct
context, instead of whatever context was at this point.
Commit: 66cf2a88a4cae8de25d7a36bce9dcc87a76010e2
https://github.com/llvm/llvm-project/commit/66cf2a88a4cae8de25d7a36bce9dcc87a76010e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/sext-vsetcc.ll
Log Message:
-----------
[X86] sext-vsetcc.ll - regenerate VPTERNLOG comments
Commit: 92a3192a963c75bdd60874e273403340acc9c8fc
https://github.com/llvm/llvm-project/commit/92a3192a963c75bdd60874e273403340acc9c8fc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
Log Message:
-----------
[X86] vector-shuffle-v192.ll - regenerate VPTERNLOG comments
Commit: 505d35aad3aa3989727fa7b49b7e8ced38071770
https://github.com/llvm/llvm-project/commit/505d35aad3aa3989727fa7b49b7e8ced38071770
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] getFauxShuffleMask - relax one use limit for insert_subvector concat splat pattern (#127981)
If we're splatting a subvector using a insert_subvector(insert_subvector(undef,sub,0),sub,c) pattern then permit multiuse of the sub as long as the insert_subvector nodes are the only users.
Commit: 9855d761f36f08a7d23e52c62cf1932e386669fc
https://github.com/llvm/llvm-project/commit/9855d761f36f08a7d23e52c62cf1932e386669fc
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 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/SIOptimizeExecMaskingPreRA.cpp
A llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.h
M llvm/test/CodeGen/AMDGPU/collapse-endcf-broken.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIOptimizeExecMaskingPreRA to NPM (#125351)
Commit: 458b1e9d2c61945f62b5bdfda93914d6a46b6cc7
https://github.com/llvm/llvm-project/commit/458b1e9d2c61945f62b5bdfda93914d6a46b6cc7
Author: Bruno De Fraine <brunodf at synopsys.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CodeGen/tbaa-pointers.c
Log Message:
-----------
[TBAA] Refine pointer-tbaa for void pointers by pointer depth (#126047)
Commit 77d3f8a avoids distinct tags for any pointers where the ultimate
pointee type is `void`, to solve breakage in real-world code that uses
(indirections to) `void*` for polymorphism over different pointer types.
While this matches the TBAA implementation in GCC, this patch implements
a refinement that distinguishes void pointers by pointer depth, as
described in the "strict aliasing" documentation included in the
aforementioned commit:
> `void*` is permitted to alias any pointer type, `void**` is permitted
> to alias any pointer to pointer type, and so on.
For example, `void**` is no longer considered to alias `int*` in this
refinement, but it remains possible to use `void**` for polymorphism
over pointers to pointers.
Commit: 54f14d96bb275a129321f9377987efcb43d773fa
https://github.com/llvm/llvm-project/commit/54f14d96bb275a129321f9377987efcb43d773fa
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Add test for incorrect predicate in capture analysis (NFC)
Commit: 6361a8a1b763d6915636eb8cfaf64f2d8fe60a03
https://github.com/llvm/llvm-project/commit/6361a8a1b763d6915636eb8cfaf64f2d8fe60a03
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[CaptureTracking] Check for equality predicate for null comparisons
The logic here is not valid for non-equality comparisons. E.g.
using slt will leak the sign bit, regardless of whether the
pointer is dereferenceable.
This fix is split out from https://github.com/llvm/llvm-project/pull/125880.
Commit: f4f7c71c55da442dc18e872d3c5db760a9ad43ba
https://github.com/llvm/llvm-project/commit/f4f7c71c55da442dc18e872d3c5db760a9ad43ba
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Move mayReadPastVL check into getMinimumVLForUser. NFC (#127972)
checkUsers currently does two things, a) work out the minimum VL read by
every user and b) check that the operand info of the MI and users match.
getMinimumVLForUser handles most of a), with the exception of the check
for instructions that read past VL e.g. vrgather which is still in
checkUsers.
This moves it into getMinimumVLForUser to keep all that logic in one
place and simplifies an upcoming patch.
Commit: 70ed381b1693697dec3efcaed161d3626d16cff1
https://github.com/llvm/llvm-project/commit/70ed381b1693697dec3efcaed161d3626d16cff1
Author: David Green <david.green at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Log Message:
-----------
[GlobalISel][AArch64] Fix fptoi.sat lowering. (#127901)
The SDAG version uses fminnum/fmaxnum, in converting it to fcmp+select
it appears the order of the operands was chosen badly. This switches the
conditions used to keep the constant on the RHS.
Commit: 58571c82ef93b32cd0ea757e23ec4ff83f8fc3c0
https://github.com/llvm/llvm-project/commit/58571c82ef93b32cd0ea757e23ec4ff83f8fc3c0
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
Log Message:
-----------
[lldb] Un-XFAIL TestDeadStrip.py on windows
I suspect it was fixed by #127059. aarch64 is the only windows bot we have now, so it's can't be certain it's fixed everywhere, but also I have no reason to believe otherwise.
Fixes #43774.
Commit: 0a8341fdb2f574019fb6cf99e207754e962dc81d
https://github.com/llvm/llvm-project/commit/0a8341fdb2f574019fb6cf99e207754e962dc81d
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/mask-exts-not.ll
Log Message:
-----------
[RISCV] Avoid VMNOT by swapping VMERGE operands for mask extensions (#126751)
Fold:
(select (not m), 1, 0) -> (select m, 0, 1)
(select (not m), -1, 0) -> (select m, 0, -1)
Commit: 0c809ea336143f6118339521cbebe9e182e7a5e5
https://github.com/llvm/llvm-project/commit/0c809ea336143f6118339521cbebe9e182e7a5e5
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
[Mips] Reserve hardware register HWR2 (#127775)
Fix pr https://github.com/llvm/llvm-project/pull/127553.
x86_64 failed to run readcyclecounter.ll when enable expensive_check,
it would error "Using an undefined physical register".
Commit: 12f8ed58a039ff3a3365591203f76ae07a179215
https://github.com/llvm/llvm-project/commit/12f8ed58a039ff3a3365591203f76ae07a179215
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Mark P1061 (Structured Bindings can introduce a Pack) as implemented (#127980)
Implemented in abc8812df02599fc413d9ed77b992f8236ed2af9
Commit: 8feb5bac3279f7c7fbbdd741a70d8debd519aa00
https://github.com/llvm/llvm-project/commit/8feb5bac3279f7c7fbbdd741a70d8debd519aa00
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
R libcxx/test/benchmarks/algorithms/copy.bench.cpp
R libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_if.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_n.bench.cpp
Log Message:
-----------
[libc++] Add benchmarks for copy algorithms (#127328)
This patch adds benchmarks for the copy family of algorithms (copy,
copy_n, copy_if, copy_backward).
Commit: f00b32e2d0ee666d32f1ddd0c687e269fab95b44
https://github.com/llvm/llvm-project/commit/f00b32e2d0ee666d32f1ddd0c687e269fab95b44
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
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
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
A libcxx/test/libcxx/xopen_source.gen.py
Log Message:
-----------
[libc++] Reduce the dependency of the locale base API on the base system from the headers (#117764)
Many parts of the locale base API are only required when building the
shared/static library, but not from the headers. Document those
functions and carve out a few of those that don't work when
_XOPEN_SOURCE is defined to something old.
Fixes #117630
Commit: a03f064b60f0ccfe9bf31046bc944087ed2fad6c
https://github.com/llvm/llvm-project/commit/a03f064b60f0ccfe9bf31046bc944087ed2fad6c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] combineX86ShufflesRecursively - peek through one use bitcasts to find additional (free) extract_subvector nodes
Commit: 41cece8c86399dd1ffcb6b7a8b50c10083fe5a40
https://github.com/llvm/llvm-project/commit/41cece8c86399dd1ffcb6b7a8b50c10083fe5a40
Author: David Truby <david.truby at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/optimization-remark.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
Log Message:
-----------
[flang] Add -f[no-]vectorize flags (#119718)
This patch adds the -fvectorize and -fno-vectorize flags to flang.
Note that this also changes the behaviour of `flang -fc1` to match that
of `clang -cc1`, which is that vectorization is only enabled in the
presence of the `-vectorize-loops` flag.
Additionally, this patch changes the behaviour of the default
optimisation levels to match clang, such that vectorization only happens
at the same levels as it does there.
This patch is in draft while I write an RFC to discuss the above two
changes.
Commit: 1c4e9863fa1cba6d28be92026e0912808b01780d
https://github.com/llvm/llvm-project/commit/1c4e9863fa1cba6d28be92026e0912808b01780d
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused debug lock (#127928)
Commit: 24cd933d02b820f73c4ee6e4277ed1b6e95b570a
https://github.com/llvm/llvm-project/commit/24cd933d02b820f73c4ee6e4277ed1b6e95b570a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] Add test for call slot opt with ret-only capture (NFC)
From: https://github.com/llvm/llvm-project/pull/125880#issuecomment-2671725079
Commit: 9ffab5637c803d1ff8aaf94972b9d40108d450c9
https://github.com/llvm/llvm-project/commit/9ffab5637c803d1ff8aaf94972b9d40108d450c9
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-type-struct.ll
Log Message:
-----------
[SPIR-V] Initial implementation of SPV_INTEL_long_composites (#126545)
This change introduces support of `OpTypeStructContinuedINTEL`
instruction.
Specification:
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_long_composites.html
Commit: 6eba2775e22fe812ebc2cbb73d71c1e989b9306c
https://github.com/llvm/llvm-project/commit/6eba2775e22fe812ebc2cbb73d71c1e989b9306c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Scale strides using type-size (NFC) (#124529)
Change getDependenceDistanceStrideAndSize to scale strides by
TypeByteSize, scaling the returned CommonStride and MaxStride. Even
though there is a seemingly-functional change of setting CommonStride
when scaled strides are equal, it ends up being a non-functional change
due to aggressive HasSameSize checking.
Commit: ae5785460dfdee82b9b3fe08fb5f2da73c91cec0
https://github.com/llvm/llvm-project/commit/ae5785460dfdee82b9b3fe08fb5f2da73c91cec0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/relational/clc_select_decl.inc
M libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/relational/select.h
M libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/shared/vload_half.inc
M libclc/generic/lib/shared/vstore_half.inc
Log Message:
-----------
[libclc] Define macros for users of gentype.inc (#128012)
Several users of (mostly math/) gentype.inc rely on types other than the
'gentype'. This is commonly intN as several maths builtins expose this
as a return or paramter type. We were previously explicitly defining
this type for every gentype.
Other implementations rely on integer types of the same size and element
width as the gentype, such as short/ushort for half, long/ulong for
double, etc.
Users might also rely on as_type or convert_type builtins to/from these
types.
The previous method we used to define intN was unscalable if we wanted
to expose more types and helpers.
This commit introduces a simpler system whereby several macros are
defined at the beginning of gentype.inc. These rely on concatenating
with the vector size. To facilitate this system, scalar gentypes now
define an empty vector size. It was previously undefined, which was
dangerous. An added benefit is that it matches how the integer
gentype.inc vector size has been working.
These macros will be especially helpful for the definitions of
logb/ilogb in an upcoming patch.
Commit: 3b9f9645e017a9160bf78ec1630420e181c7bd90
https://github.com/llvm/llvm-project/commit/3b9f9645e017a9160bf78ec1630420e181c7bd90
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
Log Message:
-----------
[LV] Regen a couple of tests with UTC (#127785)
Commit: 04b5c63ddfe9e7091b600ea8d768659705082697
https://github.com/llvm/llvm-project/commit/04b5c63ddfe9e7091b600ea8d768659705082697
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
Log Message:
-----------
[LV] Add inbounds to interleave test.
In preparation for https://github.com/llvm/llvm-project/pull/127543
Commit: 43f2968a028fbc6b4fac5ba6d18ad9d27eb4ef76
https://github.com/llvm/llvm-project/commit/43f2968a028fbc6b4fac5ba6d18ad9d27eb4ef76
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Recognize VLA shift pairs from shuffle masks (#127710)
If we have a shuffle mask which can be represented as two slides + some
conditional masking, we can emit a VLA sequence which is at most
O(2*LMUL). This is essentially a generalization of the existing
isElementRotate, but is staged to only introduce the new match for the
moment. A follow up change will start consolidating code - see the notes
below.
A couple of notes:
1) I'm excluding bit rotates mostly to keep the diffs manageable.
2) The existing isElementRotate logic is nearly redundant after this
change. However, we have some intersection between the bit rotate
and element rotate matching. To keep things simple, I left that in
place for now, and will merge/cleanup in a separate change.
3) The individual asVSlideup and asVSlidedown are closely related, but
the former looks through extracts and the later changes VL. I'm leaving
these in place for now, but hope to common them up a bit as well.
Commit: 1b78ff6972789d189fe0b403b403626328bf6a65
https://github.com/llvm/llvm-project/commit/1b78ff6972789d189fe0b403b403626328bf6a65
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/store.ll
A llvm/test/Transforms/PhaseOrdering/load-store-sameval.ll
Log Message:
-----------
[InstCombine] Simplify the pointer operand of store if writing to null is UB (#127979)
Proof: https://alive2.llvm.org/ce/z/mzVj-u
I will add some follow-up patches to avoid duplicate code, support more
memory instructions, and bypass gep instructions.
Commit: 1b610e69d9621e00714b126e646bebb912b1e9a1
https://github.com/llvm/llvm-project/commit/1b610e69d9621e00714b126e646bebb912b1e9a1
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Dialect/Math/canonicalize.mlir
Log Message:
-----------
[MLIR][Math] Add floating point value folders (#127947)
Commit: c2e51428bf86def5094a3f14029f75f3ac0e477e
https://github.com/llvm/llvm-project/commit/c2e51428bf86def5094a3f14029f75f3ac0e477e
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR][LLVM] Fold extract of constant (#127927)
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: 404af37175a5a1f2755fb5707487b39e83b1929d
https://github.com/llvm/llvm-project/commit/404af37175a5a1f2755fb5707487b39e83b1929d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
A llvm/test/Transforms/LoopVectorize/loop-with-constant-exit-condition.ll
Log Message:
-----------
[VPlan] Remove stale assertion in HCFG builder.
The assertion was left over from a time when VPBBs still had an
associated condition bit. This is not the case any more (comment was
stale). In case a branch on condition is needed, a BranchOnCond
VPInstruction is added when constructing recipes. That's also where it
is checked if the condition is available.
Exposed by 38376dee9.
Commit: 60c620272db2b3cb71b973c9ae45a639aa492164
https://github.com/llvm/llvm-project/commit/60c620272db2b3cb71b973c9ae45a639aa492164
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
M llvm/unittests/ADT/SetOperationsTest.cpp
Log Message:
-----------
[ADT] Add set_intersects to check if there is any intersection (#127907)
Add a facility to check if there is any intersection between 2 sets.
This will be used in some follow on changes to MemProf.
Commit: a72616de18c0814ad37b5748d6bdc60b825dd889
https://github.com/llvm/llvm-project/commit/a72616de18c0814ad37b5748d6bdc60b825dd889
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/docs/Dialects/Linalg/_index.md
M mlir/python/mlir/dialects/LinalgOps.td
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[mlir][python] fix linalg.pack/unpack (#127729)
This PR https://github.com/llvm/llvm-project/pull/123902 broke python
bindings for `tensor.pack`/`unpack`. This PR fixes that. It also
1. adds convenience wrappers for pack/unpack
2. cleans up matmul-like ops in the linalg bindings
3. fixes linalg docs missing pack/unpack
Commit: 81ed48531d51754fe4aac7a149ee4534a9ffda1b
https://github.com/llvm/llvm-project/commit/81ed48531d51754fe4aac7a149ee4534a9ffda1b
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/utils/perf-training/CMakeLists.txt
Log Message:
-----------
[CMake] Fix variable name (#127967)
This was accidentaly introduced in #126876.
Commit: c48e0c182c5a9e19062677cbca17c89ea586e033
https://github.com/llvm/llvm-project/commit/c48e0c182c5a9e19062677cbca17c89ea586e033
Author: kper <kevin.per at protonmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
A lldb/test/API/functionalities/gdb_remote_client/basic_eh_frame-riscv64.yaml
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/Shell/Register/Inputs/riscv64-gp-read.cpp
A lldb/test/Shell/Register/riscv64-gp-read.test
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lldb][RISC-V] Extended if conditions to support alias names for registers (#124475)
Extending the conditionals in `AugmentRegisterInfo` to support
alternative names for lldb.
Fixes #124023
There is an exception with register `X8` which is not covered here but
more details can be found in the issue
https://github.com/llvm/llvm-project/issues/127900.
Commit: 81bc28d0bcaca3e7386ced2138566e4d0a838ad5
https://github.com/llvm/llvm-project/commit/81bc28d0bcaca3e7386ced2138566e4d0a838ad5
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
A lldb/test/API/macosx/thread_start_bps/Makefile
A lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
A lldb/test/API/macosx/thread_start_bps/main.c
Log Message:
-----------
[lldb] Update PlatformDarwin list of libraries with thread functions (#127922)
Recent versions of the system changed where these functions live.
Commit: 609732cc2e6572b25ce195cc009e2b4bae42dcda
https://github.com/llvm/llvm-project/commit/609732cc2e6572b25ce195cc009e2b4bae42dcda
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix warnings
This patch fixes:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5723:24: error: captured
structured bindings are a C++20 extension
[-Werror,-Wc++20-extensions]
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5728:76: error: captured
structured bindings are a C++20 extension
[-Werror,-Wc++20-extensions]
Commit: ff99af7ea03b3be46bec7203bd2b74048d29a52a
https://github.com/llvm/llvm-project/commit/ff99af7ea03b3be46bec7203bd2b74048d29a52a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/LiveInterval.cpp
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
Log Message:
-----------
[CodeGen] Remove static member function Register::isVirtualRegister. NFC (#127968)
Use nonstatic member instead. This requires explicit conversions, but
many will go away as we continue converting unsigned to Register.
In a few places where it was simple, I changed unsigned to Register.
Commit: 1e1bf7971b1b8c74aa4de2c055c402d0085e87b8
https://github.com/llvm/llvm-project/commit/1e1bf7971b1b8c74aa4de2c055c402d0085e87b8
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[mlir][emitc] Add an option to cast array type to ptr type (#126385)
Commit: e83ad816992838781c70d0af895100a5c78268d1
https://github.com/llvm/llvm-project/commit/e83ad816992838781c70d0af895100a5c78268d1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libcxx/src/experimental/tzdb.cpp
Log Message:
-----------
[NFC][libc++][TZDB] Fixes formatting.
This was broken by #127339
Commit: c0c172213b6124a672ee64786260f8860027413f
https://github.com/llvm/llvm-project/commit/c0c172213b6124a672ee64786260f8860027413f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127955)
Commit: 506b31ec36746732b84fb0e9cd74af3ca885fa86
https://github.com/llvm/llvm-project/commit/506b31ec36746732b84fb0e9cd74af3ca885fa86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/PartialInlining.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#127957)
Commit: c612f7961219adfad617a05b3d5f07bb05d52df3
https://github.com/llvm/llvm-project/commit/c612f7961219adfad617a05b3d5f07bb05d52df3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
Log Message:
-----------
[ObjectYAML] Avoid repeated hash lookups (NFC) (#127958)
Commit: 4a8f41456515953cb8a5f9f1b927c9f60436f56a
https://github.com/llvm/llvm-project/commit/4a8f41456515953cb8a5f9f1b927c9f60436f56a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#127959)
Commit: be51ef4518ad3375e267667a89d379ce46efc4bb
https://github.com/llvm/llvm-project/commit/be51ef4518ad3375e267667a89d379ce46efc4bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
Log Message:
-----------
[WebAssembly] Avoid repeated hash lookups (NFC) (#127960)
Commit: 02e8fd7a30903d65c85b3cfb56e8039b71c31972
https://github.com/llvm/llvm-project/commit/02e8fd7a30903d65c85b3cfb56e8039b71c31972
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
Log Message:
-----------
[ARM,AArch64] Fix ABI bugs with over-sized bitfields (#126774)
This fixes two bugs in the ABI for over-sized bitfields for ARM and
AArch64:
The container type picked for an over-sized bitfield already contributes
to the alignment of the structure, but it should also contribute to the
"unadjusted alignment" which is used by the ARM and AArch64 PCS.
AAPCS64 defines the bitfield layout algorithm for over-sized bitfields
as picking a container which is the fundamental integer data type with
the largest size less than or equal to the bit-field width. Since
AAPCS64 has a 128-bit integer fundamental data type, we need to consider
Int128 as a container type for AArch64.
Commit: 726c4b9f77862d83b6e5e16c8d5a2fc4fb1589a2
https://github.com/llvm/llvm-project/commit/726c4b9f77862d83b6e5e16c8d5a2fc4fb1589a2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower match_all_sync functions to nvvm intrinsics (#127940)
Commit: f7a10f0e8d46085cfebfbd53c3ab19a5ab37774f
https://github.com/llvm/llvm-project/commit/f7a10f0e8d46085cfebfbd53c3ab19a5ab37774f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/test/Index/comment-to-html-xml-conversion.cpp
Log Message:
-----------
[Index] Un-XFAIL test with msan
Passing after #127078.
Commit: 52ded67249210db8762a282a662fe8249c1f4331
https://github.com/llvm/llvm-project/commit/52ded67249210db8762a282a662fe8249c1f4331
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
M llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
Log Message:
-----------
[LAA] Always require non-wrapping pointers for runtime checks. (#127543)
Currently we only check if the pointers involved in runtime checks do
not wrap if we need to perform dependency checks. If that's not the
case, we generate runtime checks, even if the pointers may wrap (see
test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll).
If the pointer wraps, then we swap start and end of the runtime check,
leading to incorrect checks.
An Alive2 proof of what the runtime checks are checking conceptually (on
i4 to have it complete in reasonable time) showing the incorrect result
should be https://alive2.llvm.org/ce/z/KsHzn8
Depends on https://github.com/llvm/llvm-project/pull/127410 to avoid
more regressions.
PR: https://github.com/llvm/llvm-project/pull/127543
Commit: 2fab6db72811e52cf18d172caf243e22f8bd3851
https://github.com/llvm/llvm-project/commit/2fab6db72811e52cf18d172caf243e22f8bd3851
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldSelectShuffle - remove extra adds of old shuffles to worklist (#127999)
We already push the old shuffles to the worklist as part of the replaceValue calls, so we shouldn't need to add them to the deferred list as well - my guess is this was to ensure that the instructions got erased first to help cleanup unused instructions, but eraseInstruction should handle this now.
Commit: 00f5aaf841cbd6e2df9158538e36d66632af9cd5
https://github.com/llvm/llvm-project/commit/00f5aaf841cbd6e2df9158538e36d66632af9cd5
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
Log Message:
-----------
[libc]: Clean up unnecessary function pointers in scanf (#121215)
Resolves #115394
1. Move definitions of cross-platform `getc` `ungetc` to `reader.h`.
2. Remove function pointer members to define them once per platform in
`.h`
3. Built in overlay mode in macOS m1
4. Remove `reader.cpp` as it's empty now
Also, full build doesn't yet build on macos m1 AFAIK
Commit: 9ba438d3217505c48a7b9fb4cbe75ab9e055093f
https://github.com/llvm/llvm-project/commit/9ba438d3217505c48a7b9fb4cbe75ab9e055093f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Remove some unnecessary casts from int64_t to uint64_t. NFC
We have a lot of casts near this to avoid undefined behavior or
arithmetic on arbitrary signed integers, but the casts removed here
don't appear to be necessary.
Commit: 10b99e97ff866b43569531b890c11b4a3011f6a2
https://github.com/llvm/llvm-project/commit/10b99e97ff866b43569531b890c11b4a3011f6a2
Author: vporpo <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][BottomUpVec] Separate vectorization decisions from code generation (#127727)
Up until now the generation of vector instructions was taking place
during the top-down post-order traversal of vectorizeRec(). The issue
with this approach is that the vector instructions emitted during the
traversal can be reordered by the scheduler, making it challenging to
place them without breaking the def-before-uses rule.
With this patch we separate the vectorization decisions (done in
`vectorizeRec()`) from the code generation phase (`emitVectors()`). The
vectorization decisions are stored in the `Actions` vector and are used
by `emitVectors()` to drive code generation.
Commit: 2a7d3f055d4ea86354e314c5cd1f682a4ad5853f
https://github.com/llvm/llvm-project/commit/2a7d3f055d4ea86354e314c5cd1f682a4ad5853f
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] Add release notes for -Wunsafe-buffer-usage-in-libc-call (#126975)
`-Wunsafe-buffer-usage-in-libc-call` is a subgroup of
`-Wunsafe-buffer-usage` that warns about unsafe libc function calls.
Commit: 19af8581d51b8144f6d041ae1d948443084d8d0b
https://github.com/llvm/llvm-project/commit/19af8581d51b8144f6d041ae1d948443084d8d0b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CMakeLists.txt
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
A 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/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/CodeGenHLSL/cbuf.hlsl
R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
A clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
Log Message:
-----------
[HLSL] Constant Buffers CodeGen (#124886)
Translates `cbuffer` declaration blocks to `target("dx.CBuffer")` type. Creates global variables in `hlsl_constant` address space for all `cbuffer` constant and adds metadata describing which global constant belongs to which constant buffer. For explicit constant buffer layout information an explicit layout type `target("dx.Layout")` is used. This might change in the future.
The constant globals are temporary and will be removed in upcoming pass that will translate `load` instructions in the `hlsl_constant` address space to constant buffer load intrinsics calls off a CBV handle (#124630, #112992).
See [Constant buffer design
doc](https://github.com/llvm/wg-hlsl/pull/94) for more details.
Fixes #113514, #106596
Commit: 6e7da07c73c179396e21fb729ac14d6b2a1c3152
https://github.com/llvm/llvm-project/commit/6e7da07c73c179396e21fb729ac14d6b2a1c3152
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Enable New Premerge on PRs (#127894)
This patch gets rid of the file restriction for running the new premerge
Github workflow on PRs. This will cause the jobs to be run on all the
PRs. Currently the jobs will succeed regardless of build/test failure
results. This will let us test the new infra hopefully without too much
disruption before eventually letting jobs fail when builds/tests fail
and deprecating the existing premerge system.
This is part of the launch plan as outlined in
https://discourse.llvm.org/t/googles-plan-for-the-llvm-presubmit-infrastructure/78940.
Commit: b0210fee94bc29a507f900da1fb97f0e50ab2637
https://github.com/llvm/llvm-project/commit/b0210fee94bc29a507f900da1fb97f0e50ab2637
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M compiler-rt/test/hwasan/TestCases/libc_thread_freeres.c
M compiler-rt/test/ubsan/TestCases/Misc/Posix/diag-stacktrace.cpp
M compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp
Log Message:
-----------
[Clang] [NFC] Fix more `-Wreturn-type` warnings in tests everywhere (#123470)
With the goal of eventually being able to make `-Wreturn-type` default to an
error in all language modes, this is a follow-up to #123464 and updates even
more tests, mainly clang-tidy and clangd tests.
Commit: 5fadb3d680909ab30b37eb559f80046b5a17045e
https://github.com/llvm/llvm-project/commit/5fadb3d680909ab30b37eb559f80046b5a17045e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/LiveRangeCalc.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
Log Message:
-----------
[CodeGen] Remove static member function Register::isPhysicalRegister. NFC
Prefer the nonstatic member by converting unsigned to Register instead.
Commit: b10ddfafcacf9d8f9cfa7e23f65730be60261554
https://github.com/llvm/llvm-project/commit/b10ddfafcacf9d8f9cfa7e23f65730be60261554
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
Log Message:
-----------
[libc] Fix missing includes in GPU scanf reader (#128049)
In #121215 the reader was reorganized and the definitions of the
internal getc and ungetc functions were moved, but the includes that the
GPU builder depends on were not. This patch moves the includes to the
correct new place.
Commit: 5bc51611446ee3a9fc3538623ee87f18aada30c3
https://github.com/llvm/llvm-project/commit/5bc51611446ee3a9fc3538623ee87f18aada30c3
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/fircg-as-sources.fir
Log Message:
-----------
[flang] Add support to fir::cg in alias analysis (#127827)
Currently the alias analysis doesn't trace the source whenever there are
operations from fir::cg dialect. This PR added support for
fir::cg::XEmboxOp, fir::cg::XReboxOp, fir::cg::XDeclareOp for a specific
application i'm working on.
Commit: 29361b326bd865f7c4f07d9fc5a908d3f2b177fc
https://github.com/llvm/llvm-project/commit/29361b326bd865f7c4f07d9fc5a908d3f2b177fc
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
Log Message:
-----------
[Clang] Fix failing clang-tidy test (#128051)
#123470 broke one of the clang-tidy tests; this fixes that.
Commit: 6d84fae60ed2c227dfcb349a144cbc0cdd3bcc4b
https://github.com/llvm/llvm-project/commit/6d84fae60ed2c227dfcb349a144cbc0cdd3bcc4b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 19af8581d51b
Commit: 78d82d3ae7ac99833e1b9c0b529c256f90b6c6cc
https://github.com/llvm/llvm-project/commit/78d82d3ae7ac99833e1b9c0b529c256f90b6c6cc
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Breakpoint/BreakpointOptions.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb] Store StreamAsynchronousIO in a unique_ptr (NFC) (#127961)
Make StreamAsynchronousIO an unique_ptr instead of a shared_ptr. I tried
passing the class by value, but the llvm::raw_ostream forwarder stored
in the Stream parent class isn't movable and I don't think it's worth
changing that. Additionally, there's a few places that expect a
StreamSP, which are easily created from a StreamUP.
Commit: 0ba391a85f03541635c337ab5648704175e19bec
https://github.com/llvm/llvm-project/commit/0ba391a85f03541635c337ab5648704175e19bec
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/test/AArch64/data-in-code.s
Log Message:
-----------
[BOLT] Improve constant island disassembly (#127971)
* Add label that identifies constant island.
* Support cases where the island is located after the function.
Commit: 2e5ec1cc5b8ef30f04f53d927860184acf7150b3
https://github.com/llvm/llvm-project/commit/2e5ec1cc5b8ef30f04f53d927860184acf7150b3
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
Log Message:
-----------
[flang] Add FLANG_PARALLEL_COMPILE_JOBS option (#127364)
This is a re-apply of 083c683969b2436afdc45becadc955841f5f4d31 with a
fix for the flang runtime build.
This works the same way as LLVM_PARALLEL_COMPILE_JOBS except that it is
specific to the flang source rather than for the whole project.
Configuring with -DFLANG_PARALLEL_COMPILE_JOBS=1 would mean that there
would only ever be one flang source being compiled at a time.
Some of the flang sources require large amounts of memory to compile, so
this option can be used to avoid OOM erros when compiling those files
while still allowing the rest of the project to compile using the
maximum number of jobs.
Update flang/CMakeLists.txt
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: df427992da4492a664b60ba5201bb2f4b5275228
https://github.com/llvm/llvm-project/commit/df427992da4492a664b60ba5201bb2f4b5275228
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/CMakeLists.txt
Log Message:
-----------
Adding dependency to FIRCodeGen to fix buildbots (#128053)
Commit: f34f21a1f61b0413dd5ac90db58b4685ff492367
https://github.com/llvm/llvm-project/commit/f34f21a1f61b0413dd5ac90db58b4685ff492367
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix mlir python build after a72616de18c0814ad37b5748d6bdc60b825dd889
Commit: 5bf37484c6b0fc38a63465a36890a11494e4fc07
https://github.com/llvm/llvm-project/commit/5bf37484c6b0fc38a63465a36890a11494e4fc07
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][hlsl][Sema] Simplify CBuffer Legacy Size Calculation Control Flow (#127921)
NFC: Small refactor to `calculateLegacyCbufferSize()`'s control flow to
make each branch easier to flow/more visually distinct from each other
Commit: 11468c3b072c111a69290852e1157e1f30e853c3
https://github.com/llvm/llvm-project/commit/11468c3b072c111a69290852e1157e1f30e853c3
Author: TatWai Chong <78814694+tatwaichong at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
A mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
A mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/Tosa/CMakeLists.txt
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
A mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
A mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
A mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
A mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
A mlir/test/lib/Dialect/Tosa/TestAvailability.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/CMakeLists.txt
A mlir/tools/mlir-tblgen/TosaUtilsGen.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][tosa] Add profile-based operation validation (#126992)
TOSA MLIR profile-based validation is designed to identify the
profile/extension requirements for each operation in TOSA MLIR graph,
ensuring that TOSA operators conform to the profiles and extensions
enabled by the target implementation.
The available profiles/extensions are reflected in the availability
property attached to each TOSA operator in the dialect. The design of
availability, the profile/extension classes, and their interface, is
inspired by the SPIRV implementation.
This patch includes the following changes:
- Introduces profile and extension knowledge within the dialect and
establishes an interface to query this information.
- Implements profile-based validation logic in the pass.
- Adds a TargetEnv class that represents the capabilities enabled in the
target implementation, such as profiles, extensions, and levels.
- Adds a set of tests to ensure that profile and extension requirements
are properly attached to the operations and that validation correctly
verifies the requirements of a given operation against the target
implementation.
Commit: df9d3c20fa0a68a6aeb3174d15279e5e6cf41436
https://github.com/llvm/llvm-project/commit/df9d3c20fa0a68a6aeb3174d15279e5e6cf41436
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
R flang/test/Analysis/AliasAnalysis/fircg-as-sources.fir
Log Message:
-----------
Reverting commits 5bc51611446ee3a9fc353 and df427992da4492a664b6 (#128057)
Commit: cc45365ab9065bc9e8ea48744f761b7ac30a5634
https://github.com/llvm/llvm-project/commit/cc45365ab9065bc9e8ea48744f761b7ac30a5634
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.h
Log Message:
-----------
[clang][NFC] Update isAuxBuiltinID comment (#128038)
Clarify behavior of the function when the builtin is also supported on
the main target.
Based on feedback from https://github.com/llvm/llvm-project/pull/126324
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 87bf23216fc1257e88e0d38730df2d0187ff5bc6
https://github.com/llvm/llvm-project/commit/87bf23216fc1257e88e0d38730df2d0187ff5bc6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Add missing dependencies on `getc` and `ungetc` for GPU (#128069)
Summary:
These are required because we don't use the `file` interface.
Commit: d1dde17ab079152d8cf2d8953b90cdbf5a1dd78c
https://github.com/llvm/llvm-project/commit/d1dde17ab079152d8cf2d8953b90cdbf5a1dd78c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Fix failing NVPTX tests due to removed internal LLVM option
Summary:
This was removed but forgot to remove it in this one place. So it
errors.
Commit: 84c8848f816f4cad70ba2b00fea5c0cd33cb0600
https://github.com/llvm/llvm-project/commit/84c8848f816f4cad70ba2b00fea5c0cd33cb0600
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower match_any_sync functions to nvvm intrinsics (#127942)
Commit: 5981335d75412977862003816d67d9b01fcd04b6
https://github.com/llvm/llvm-project/commit/5981335d75412977862003816d67d9b01fcd04b6
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Fix scanf cmake for targets without FILE (#128056)
Another followup fix to #121215
The new cmake wouldn't define the readerat all if the target wasn't GPU
or didn't have a definition of FILE. This patch rewrites the cmake to be
more general.
As a followup, I'd like to make `use_system_file` consistent between
/test and /src. Currently in /src it includes the `COMPILE_OPTIONS` and
in /test it does not.
Commit: a67566b185c56ce84f6b858e431e4d412b40fdaa
https://github.com/llvm/llvm-project/commit/a67566b185c56ce84f6b858e431e4d412b40fdaa
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Semantics/check-cuda.cpp
A flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
Allow do concurrent inside cuf kernel directive (#127693)
Allow do concurrent inside cuf kernel directive to avoid the following
Lowering error:
```
void {anonymous}::FirConverter::genFIR(const Fortran::parser::CUFKernelDoConstruct&): Assertion `bounds && "Expected bounds on the loop construct"' failed.
```
---------
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: 309e3ca08130f04ef6b0b320ee3e43575fa7bf99
https://github.com/llvm/llvm-project/commit/309e3ca08130f04ef6b0b320ee3e43575fa7bf99
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/LiveRangeCalc.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
Log Message:
-----------
Revert "[CodeGen] Remove static member function Register::isPhysicalRegister. NFC"
This reverts commit 5fadb3d680909ab30b37eb559f80046b5a17045e.
Commit: 08c69b2ef6eeba19956ad24fb7e9d29e9778cbaa
https://github.com/llvm/llvm-project/commit/08c69b2ef6eeba19956ad24fb7e9d29e9778cbaa
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/LiveInterval.cpp
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
Log Message:
-----------
Revert "[CodeGen] Remove static member function Register::isVirtualRegister. NFC (#127968)"
This reverts commit ff99af7ea03b3be46bec7203bd2b74048d29a52a.
Commit: 74c6111631ceb14a70bf833da66df9fb5d871436
https://github.com/llvm/llvm-project/commit/74c6111631ceb14a70bf833da66df9fb5d871436
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lld/test/wasm/data-segments.ll
M lld/wasm/OutputSections.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Skip BSS when combining data segments (#127735)
In most circumstances BSS segments are not required in the output binary
but combineOutputSegments was erroneously including them. This meant
that PIC binaries were including the BSS data as zero in the binary.
Fixes: https://github.com/emscripten-core/emscripten/issues/23683
Commit: dcc08a17c781a5066ab17b9791e1c455f7cedbf7
https://github.com/llvm/llvm-project/commit/dcc08a17c781a5066ab17b9791e1c455f7cedbf7
Author: Martin Storsjö <martin at martin.st>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
A llvm/test/tools/llvm-dlltool/Inputs/gnu_foo_lib_h.yaml
A llvm/test/tools/llvm-dlltool/Inputs/gnu_foo_lib_s00000.yaml
A llvm/test/tools/llvm-dlltool/Inputs/gnu_foo_lib_t.yaml
A llvm/test/tools/llvm-dlltool/Inputs/llvm_foo_dll_1.yaml
A llvm/test/tools/llvm-dlltool/Inputs/llvm_foo_dll_2.yaml
A llvm/test/tools/llvm-dlltool/Inputs/llvm_foo_dll_3.yaml
A llvm/test/tools/llvm-dlltool/identify.test
Log Message:
-----------
[llvm-dlltool] Implement the --identify option (#127465)
This option prints the name of the DLL that gets imported, when linking
against an import library.
This is implemented using the same strategy as GNU dlltool does; looking
for the contents of .idata$6 or .idata$7 chunks. The right section name
to check for is chosen by identifying whether the library is GNU or LLVM
style. In the case of GNU import libraries, the DLL name is in an
.idata$7 chunk. However there are also other chunks with that section
name (for entries for the IAT or ILT); identify these by looking for
whether a chunk contains relocations.
Alternatively, one could also just look for .idata$2 chunks, look for
relocations at the right offset, and locate data at the symbol that the
relocation points at (which may be in the same or in another object
file).
Commit: f83ef281b5d3cf4d93ea58122280d47a8595a2bd
https://github.com/llvm/llvm-project/commit/f83ef281b5d3cf4d93ea58122280d47a8595a2bd
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Remove redundant addressing mode instrs (#128044)
Remove load and store instructions which do not include an immediate,
and just use the immediate variants in all cases. These variants will be
emitted exactly the same when the immediate offset is 0. Removing the
non-immediate versions allows for the removal of a lot of code and would
make any MachineIR passes simpler.
Commit: a1a10732e417020269b1cafcbdaba7bc217c5299
https://github.com/llvm/llvm-project/commit/a1a10732e417020269b1cafcbdaba7bc217c5299
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Remove all matching nodes from bundle
This fixes a bug where `SchedBundle::eraseFromBundle()` would not erase all
matching nodes but just the first one.
Commit: 1ca93b15482d3bfa1560b35960ab46fea65b3074
https://github.com/llvm/llvm-project/commit/1ca93b15482d3bfa1560b35960ab46fea65b3074
Author: Martin Storsjö <martin at martin.st>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
Log Message:
-----------
[llvm-dlltool] Add a missing dependency
This was missed in dcc08a17c781a5066ab17b9791e1c455f7cedbf7.
Commit: 2ff80d2448f87429b1fb55ea4c112eb9a974298f
https://github.com/llvm/llvm-project/commit/2ff80d2448f87429b1fb55ea4c112eb9a974298f
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Fix reassignment of SchedBundle to DGNode
When assigning a bundle to a DAG Node that is already assigned to a
SchedBundle we need to remove the node from the old bundle.
Commit: 62c209b728d4babbc0009dc681a31e175c2505b6
https://github.com/llvm/llvm-project/commit/62c209b728d4babbc0009dc681a31e175c2505b6
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] add test of scalar mul op (#128088)
This patch adds a lit test for mul op of scalar input1 and input2 but
rank-1 shift operand to make sure output is still scalar
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 4d92975b5cf04ac36e7757a4f221b4f5ece6646f
https://github.com/llvm/llvm-project/commit/4d92975b5cf04ac36e7757a4f221b4f5ece6646f
Author: vporpo <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Don't allow rescheduling of already scheduled (#128050)
This patch implements the check for not allowing re-scheduling of
instructions that have already been scheduled in a scheduling bundle.
Rescheduling should only happen if the instructions were temporarily
scheduled in singleton bundles during a previous call to
`trySchedule()`.
Commit: 3c46debe6b0143932d1fc3ac0d566c7f159f364d
https://github.com/llvm/llvm-project/commit/3c46debe6b0143932d1fc3ac0d566c7f159f364d
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR] Fix 0-dimensional case of conversion of vector ops to GPU (#128075)
This is a follow-up to #127844. That PR got vectors of arbitrary rank
working, but I hadn't thought about the rank-0 case.
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 9fa77c18548a4878cf53a5195f69d15a2d1d567f
https://github.com/llvm/llvm-project/commit/9fa77c18548a4878cf53a5195f69d15a2d1d567f
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M bolt/include/bolt/Core/Linker.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
Log Message:
-----------
[BOLT][Linker][NFC] Remove lookupSymbol() in favor of lookupSymbolInfo() (#128070)
Sometimes we need to know the size of a symbol besides its address, so
maybe we can start using the existing `BOLTLinker::lookupSymbolInfo()`
(that returns symbol address and size) and remove
`BOLTLinker::lookupSymbol()` (that only returns symbol address). And for
both we need to check return value as it is wrapped in `std::optional<>`,
which makes the difference even smaller.
Commit: 776cddacb1ab8fd92bcb3aa42f9c0b348d8aa2ba
https://github.com/llvm/llvm-project/commit/776cddacb1ab8fd92bcb3aa42f9c0b348d8aa2ba
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/default_cbuffer.hlsl
Log Message:
-----------
[HLSL] Implement default constant buffer `$Globals` (#125807)
All variable declarations in the global scope that are not resources,
static or empty are implicitly added to implicit constant buffer
`$Globals`. They are created in `hlsl_constant` address space and
collected in an implicit `HLSLBufferDecl` node that is added to the AST
at the end of the translation unit. Codegen is the same as for explicit
constant buffers.
Fixes #123801
Commit: 7c2ebe5dbb4d5cfae7670036394a6f23dcbe4bf7
https://github.com/llvm/llvm-project/commit/7c2ebe5dbb4d5cfae7670036394a6f23dcbe4bf7
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/MC/AMDGPU/gfx950_err.s
Log Message:
-----------
AMDGPU: Restrict src0 to VGPRs only for certain cvt scale opcodes. (#127464)
The Src0 operand width higher that 32-bits of cvt_scale opcodes
operating on FP6/BF6/FP4 need to be restricted to take only VGPRs.
Commit: 6e5f26bba87be02ea4c1220898031c441c2562fc
https://github.com/llvm/llvm-project/commit/6e5f26bba87be02ea4c1220898031c441c2562fc
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
Log Message:
-----------
Revert "[HLSL] Implement default constant buffer `$Globals`" (#128112)
Reverts llvm/llvm-project#125807
Reverting this change because of failing tests.
Commit: 24c06a19be7bcf28b37e5eabbe65df95a2c0265a
https://github.com/llvm/llvm-project/commit/24c06a19be7bcf28b37e5eabbe65df95a2c0265a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/pr127943.cppm
Log Message:
-----------
[C++20] [Modules] handling selectAny attribute for vardecl
Close https://github.com/llvm/llvm-project/issues/127963
The root cause of the problem seems to be that we didn't realize it
simply.
Commit: f27081ba6a12685b403181e51a00a3d6f3360ca5
https://github.com/llvm/llvm-project/commit/f27081ba6a12685b403181e51a00a3d6f3360ca5
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[FIR] Avoid generating llvm.undef for dummy scoping info (#128098)
Dummy scoping operations are generated to keep track of scopes for
purpose of Fortran level analyses like Alias Analysis. For codegen, the
scoping info is converted to a fir.undef during pre-codegen rewrite.
Then during declare lowering, this info is no longer used - but it is
still translated to llvm.undef. I cleaned up so it is simply erased. The
generated LLVM should now no longer have a stray undef which looks off
when trying to make sense of the IR.
Co-authored-by: Razvan Lupusoru <rlupusoru at nvidia.com>
Commit: 89e80abbc58b5d92f3a0eaa393a0b095aac11ec2
https://github.com/llvm/llvm-project/commit/89e80abbc58b5d92f3a0eaa393a0b095aac11ec2
Author: wanglei <wanglei at loongson.cn>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/Shell/Register/Inputs/loongarch64-gp-read.cpp
A lldb/test/Shell/Register/loongarch64-gp-read.test
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lldb][LoongArch] Complete register alias name in `AugmentRegisterInfo`
Fixes: https://github.com/llvm/llvm-project/issues/123903
Reviewed By: DavidSpickett, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/124059
Commit: 204dcafec0ecf0db81d420d2de57b02ada6b09ec
https://github.com/llvm/llvm-project/commit/204dcafec0ecf0db81d420d2de57b02ada6b09ec
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in BCIS_AfterColon and `ColumnLimit: 0` (#127964)
Fixes #127622
Commit: 22f526811bdc2a223cf021a58f20b4eb1676ab8d
https://github.com/llvm/llvm-project/commit/22f526811bdc2a223cf021a58f20b4eb1676ab8d
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add infer shape test of scalar mul op (#128091)
This adds a tosa-infer-shapes test for scalar mul op
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 35d7bf21b6d665e8107288a6372fe9dfe0f0c329
https://github.com/llvm/llvm-project/commit/35d7bf21b6d665e8107288a6372fe9dfe0f0c329
Author: laichunfeng <laichunfeng at tencent.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Analysis/DataFlowFramework.cpp
Log Message:
-----------
[mlir] Remove unused outer loop (NFC) (#127998)
The program will exit the outer loop directly if inner loop ends, so the
outer do {} while() is redundant.
Commit: e729dc759d052de122c8a918fe51b05ac796bb50
https://github.com/llvm/llvm-project/commit/e729dc759d052de122c8a918fe51b05ac796bb50
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
Log Message:
-----------
AMDGPU: Widen f16 minimum/maximum to v2f16 on gfx950 (#128121)
Unfortunately we only have the vector versions of v2f16 minimum3
and maximum. Widen to v2f16 so we can lower as minimum333(x, y, y).
Commit: cc46d00a86f89b57008ca878e89538d724b7df90
https://github.com/llvm/llvm-project/commit/cc46d00a86f89b57008ca878e89538d724b7df90
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
Log Message:
-----------
AMDGPU: Form v2f16 minimum3/maximum3 on gfx950 (#128123)
Commit: cc675c635bf0016111050531e75f8082d0ea120b
https://github.com/llvm/llvm-project/commit/cc675c635bf0016111050531e75f8082d0ea120b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[utils] Use stricter SSA regexp for CHECK-SAME. (#128083)
When CHECK-SAME checks are split across multiple lines,
the '.*' regexp for the SSA variable name may cause problems, e.g.:
```
// CHECK_LABEL: func.func @whatever(
// CHECK-SAME: %[[VAL_0:.*]]: i32,
// CHECK-SAME: %[[VAL_1:.*]]: i32,
// CHECK-SAME: %[[VAL_2:.*]]: i64)
```
This will not work for `func.func @whatever(%0: i32, %1: i32, %2: i64)`,
because VAL_0 will match to `0: i32, %1`.
Commit: f0134e6d312e8a805b8fe799ec27d936c8658cb2
https://github.com/llvm/llvm-project/commit/f0134e6d312e8a805b8fe799ec27d936c8658cb2
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
Log Message:
-----------
[MLIR][Math] Add lowering for isnan and isfinite (#128125)
Co-authored-by: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Commit: fd5d1cbb75e4278d9074ff105efd3ab48f778b4b
https://github.com/llvm/llvm-project/commit/fd5d1cbb75e4278d9074ff105efd3ab48f778b4b
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Index/IndexTypeSourceInfo.cpp
Log Message:
-----------
[clang][Index] Use HeuristicResolver in IndexTypeSourceInfo as well (#128106)
Commit: e3c8408593f8edbf1a627969346f03268abb1ced
https://github.com/llvm/llvm-project/commit/e3c8408593f8edbf1a627969346f03268abb1ced
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Apply symbol scope modifiers explicitly for -hidden-lx.
We had been abusing the setOverrideObjectFlagsWithResponsibilityFlags method to
do this. Handling it explicitly ensures that flags are only modified on the
intended files, and not accedintally modified elsewhere.
Commit: 6c90f87b744533d5fa44f51f92a3bbd5613b708d
https://github.com/llvm/llvm-project/commit/6c90f87b744533d5fa44f51f92a3bbd5613b708d
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
Log Message:
-----------
[ORC-RT] Add -num-threads=0 to testcase.
This testcase depends on stable output, which isn't guaranteed when
concurrent linking is enabled (the default).
Commit: 36d304d2146a481f3844b56d78befb0f212d2635
https://github.com/llvm/llvm-project/commit/36d304d2146a481f3844b56d78befb0f212d2635
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[RegAllocFast][NPM] Make RegAllocFastPassOptions a nested class (#127984)
Making all reg alloc classes have an `::Option` class makes things nicer
to construct them.
Commit: 43d71baae36c8d8b5a9995aa35efebe09cc9c2d6
https://github.com/llvm/llvm-project/commit/43d71baae36c8d8b5a9995aa35efebe09cc9c2d6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix build after @11468c3, @f0134e6.
- https://github.com/llvm/llvm-project/commit/11468c3b072c111a69290852e1157e1f30e853c3
- https://github.com/llvm/llvm-project/commit/f0134e6d312e8a805b8fe799ec27d936c8658cb2
Commit: 3302bef5b41a99547f10b91d0aabe59aa3dc7fb0
https://github.com/llvm/llvm-project/commit/3302bef5b41a99547f10b91d0aabe59aa3dc7fb0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/rint-conv.ll
Log Message:
-----------
[X86] Combine FRINT + FP_TO_SINT to LRINT (#126477)
Based on Craig's suggestion on #126217
Alive2: https://alive2.llvm.org/ce/z/9XNpWt
Commit: 6757cf4e6f1c7767d605e579930a24758c0778dc
https://github.com/llvm/llvm-project/commit/6757cf4e6f1c7767d605e579930a24758c0778dc
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
A llvm/test/CodeGen/RISCV/machine-outliner-call-x5-liveout.mir
Log Message:
-----------
[RISCV] [MachineOutliner] Analyze all candidates (#127659)
#117700 made a change from analyzing all the candidates to analyzing
just the first candidate before deciding to either delete or keep all of
them.
Even though the candidates all have the same instructions, the basic
blocks in which they are present are different and we will need to check
each of them before deciding whether to keep or erase them.
Particularly, `isAvailableAcrossAndOutOfSeq` checks to see if the
register (x5 in this case) is available from the end of the MBB to the
beginning of the candidate and not checking this for each candidate led
to incorrect candidates being outlined resulting in correctness issues
in a few downstream benchmarks.
Similarly, deleting all the candidates if the first one is not viable
will result in missed outlining opportunities.
Commit: d46902e31b29974e56285bbc6932c90656f6dd12
https://github.com/llvm/llvm-project/commit/d46902e31b29974e56285bbc6932c90656f6dd12
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
Log Message:
-----------
[Hexagon] Simplify an array of physical register ids. NFC (#128066)
Make the array const. Use MCPhysReg, which is uint16_t, to reduce its
size. Remove NoRegister terminator by using a range-based for loop to
access.
Commit: 581599096e8a1a89ccd3e053a1209c69a9079083
https://github.com/llvm/llvm-project/commit/581599096e8a1a89ccd3e053a1209c69a9079083
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Expand IR Attribute table to handle longer names (NFC)
Commit: af64f0a6c2e26b3fd1979c1fa380136e5528c9b3
https://github.com/llvm/llvm-project/commit/af64f0a6c2e26b3fd1979c1fa380136e5528c9b3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
Log Message:
-----------
[FrameLowering] Use MCRegister instead of Register in CalleeSavedInfo. NFC (#128095)
Callee saved registers should always be phyiscal registers. They are
often passed directly to other functions that take MCRegister like
getMinimalPhysRegClass or TargetRegisterClass::contains.
Unfortunately, sometimes the MCRegister is compared to a Register which
gave an ambiguous comparison error when the MCRegister is on the LHS.
Adding a MCRegister==Register comparison operator created more ambiguous
comparison errors elsewhere. These cases were usually comparing against
a base or frame pointer register that is a physical register in a
Register. For those I added an explicit conversion of Register to
MCRegister to fix the error.
Commit: 97ed2019c41f2c0208699ab3593b681487754d58
https://github.com/llvm/llvm-project/commit/97ed2019c41f2c0208699ab3593b681487754d58
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
A clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
Log Message:
-----------
[clang][bytecode] Use ExtendingDecl mechanism for primitives as well (#128141)
... when creating the temporary variables for a
MaterializeTemporaryExpr.
Commit: ad3f7d2c71b062dd1c2fb1fa78e81cc7b3ba53e9
https://github.com/llvm/llvm-project/commit/ad3f7d2c71b062dd1c2fb1fa78e81cc7b3ba53e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
Log Message:
-----------
[clang][bytecode][test] Qualify a std::move call
Try to fix the test failures introduced by 97ed2019c41f2c0208699ab3593b681487754d58
See https://github.com/llvm/llvm-project/pull/128141
Commit: 30ae485835fbcc789ed0180f2ff03335e7f27c53
https://github.com/llvm/llvm-project/commit/30ae485835fbcc789ed0180f2ff03335e7f27c53
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/utils/libcxx/test/dsl.py
Log Message:
-----------
[libcxx] Work around picolibc argv handling in tests. (#127662)
This fixes some test failures when the libcxx tests are run against an
up-to-date picolibc on embedded Arm, because those tests depend on an
unsupported locale but the `hasAnyLocale` preliminary check wrongly
concluded that the locale _was_ supported.
`hasAnyLocale` passes a set of locale strings to a test program via the
command line, and checks if the libc under test reports that any of the
locales can be successfully set via setlocale(). In some invocations one
of the locale names contains a space, e.g. the Windows-style locale name
"English_United States.1252".
Unfortunately picolibc's crt0, when running under Arm semihosting,
fetches the single command string from the host and then splits it up at
spaces without implementing any kind of quoting. So it simply isn't
possible to get a space into an argv word. As a result, we end up
testing for the locale (in this example) "English_United". In up-to-date
versions of picolibc, this is actually accepted, since it contains no
objectionable character set specification (or indeed any at all). So the
lit check wrongly concludes that libc supports that locale, and enables
some locale tests, which fail.
This patch works around the issue entirely within `hasAnyLocale()`, by
abandoning the use of argv completely, and instead encoding the list of
locales to check as an array of strings inside the test program.
Commit: db9876760f227cbe30fb882797c9b5e5e00523f2
https://github.com/llvm/llvm-project/commit/db9876760f227cbe30fb882797c9b5e5e00523f2
Author: David Green <david.green at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/select-to-and-zext.ll
M llvm/test/CodeGen/AArch64/select-with-and-or.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/select_const.ll
M llvm/test/CodeGen/AArch64/select_fmf.ll
M llvm/test/CodeGen/AArch64/selectcc-to-shiftand.ll
Log Message:
-----------
[AArch64][GlobalISel] Add some gisel test coverage for existing select tests. NFC
Commit: 0a913b5e3a234d3261ccca54f9458715c00fae3b
https://github.com/llvm/llvm-project/commit/0a913b5e3a234d3261ccca54f9458715c00fae3b
Author: João Gouveia <jtalonegouveia at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/combine-i64-trunc-srl-add.ll
Log Message:
-----------
[X86] Fold some (truncate (srl (add X, C1), C2)) patterns to (add (truncate (srl X, C2)), C1') (#126448)
Addresses the poor codegen identified in #123239 and a few extra cases.
This transformation is correct for `eq`
(https://alive2.llvm.org/ce/z/qZhwtT), `ne`
(https://alive2.llvm.org/ce/z/6gsmNz), `ult`
(https://alive2.llvm.org/ce/z/xip_td) and `ugt`
(https://alive2.llvm.org/ce/z/39XQkX).
Fixes #123239
Commit: aad74dc971f789b2974fde4181f87ee20db2998d
https://github.com/llvm/llvm-project/commit/aad74dc971f789b2974fde4181f87ee20db2998d
Author: l0rinc <pap.lorinc at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
Log Message:
-----------
[compiler-rt] FuzzedDataProvider: modernize outdated trait patterns (#127811)
Commit: d6858dd9bd4afab14ffbf0b9eca1ec6188d77a05
https://github.com/llvm/llvm-project/commit/d6858dd9bd4afab14ffbf0b9eca1ec6188d77a05
Author: Danial Klimkin <dklimkin at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
R mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h
A mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rename TosaComplianceData.h to TosaComplianceData.h.inc (#128153)
The file can't be parsed on it's own, except when included in the .cc.
Should be .h.inc to avoid build errors.
Commit: 6d5ba79c6604a6f66400d573b8aabc34cb75d0b5
https://github.com/llvm/llvm-project/commit/6d5ba79c6604a6f66400d573b8aabc34cb75d0b5
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M compiler-rt/lib/asan/tests/asan_test.cpp
Log Message:
-----------
[compiler-rt][asan] Re-enable ManyThreadsTest on AArch64 (#127795)
Disabled in 2ab51bf13a1f6ca96823b755c036227dfd0892f9, doesn't hang for
me on AArch64 (Graviton 3, tested 1000 iterations). May still be an
issue, but hard to know unless we enable it again to find out.
n.b. test was also disabled on PowerPC in
467afc5f847f72221a42d9142c5b4733b44b52dc for same reason and it has also
been observed on x86:
https://lists.llvm.org/pipermail/llvm-dev/2016-January/094607.html
Fixes: https://github.com/llvm/llvm-project/issues/24763
Commit: 73ad78cc57e10b932bddaa9034237f59bb566e6b
https://github.com/llvm/llvm-project/commit/73ad78cc57e10b932bddaa9034237f59bb566e6b
Author: Urvi Rav <94829943+ravurvi20 at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (#125648)
This PR replaces the `default` clause with the `otherwise` clause for
the `metadirective` in OpenMP. The `otherwise` clause serves as a
fallback condition when no directive from the `when` clauses is
selected. In the `when` clause, context selectors define traits
evaluated to determine the directive to be applied.
Commit: 6bd88bb3ac82c4c4bd11b70cd01a2000c08db32d
https://github.com/llvm/llvm-project/commit/6bd88bb3ac82c4c4bd11b70cd01a2000c08db32d
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/tcgen05-cp.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-shift.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add Ops for tcgen05 cp and shift (#127798)
PR #127669 adds intrinsics for tcgen05.cp/shift.
This PR adds NVVM Dialect Ops for the same.
lit tests are added to verify the lowering
to the intrinsics.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: bd16a87d05d33655a6f51f89fa4c5663c72c648e
https://github.com/llvm/llvm-project/commit/bd16a87d05d33655a6f51f89fa4c5663c72c648e
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 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/SIPostRABundler.cpp
A llvm/lib/Target/AMDGPU/SIPostRABundler.h
M llvm/test/CodeGen/AMDGPU/postra-bundle-memops.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIPostRABundler to NPM (#123717)
Commit: b9622e84b48117ac4b11ec7dc98bfc119c23eece
https://github.com/llvm/llvm-project/commit/b9622e84b48117ac4b11ec7dc98bfc119c23eece
Author: David Green <david.green at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
Log Message:
-----------
[TTI][AArch64] Detect OperandInfo from scalable splats. (#122469)
Pulled out of #122236, this allows Splats constants to be recognized by
getOperandInfo, allowing "better" costs for instructions like divides by
constants to be produced (which are expanded into mul+add+shift). Some
of the costs are not very accurate yet, but the comparison of scalar vs
fixed-width vs scalable for the same div can become more accurate,
especially with patches like #122236.
Commit: 6de5d1e46d1812de2bbbbe8d8d2c811e4d16acbe
https://github.com/llvm/llvm-project/commit/6de5d1e46d1812de2bbbbe8d8d2c811e4d16acbe
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
A mlir/test/Dialect/Linalg/elementwise/generalize_named_ops.mlir
A mlir/test/Dialect/Linalg/elementwise/invalid.mlir
A mlir/test/Dialect/Linalg/elementwise/round-trip.mlir
Log Message:
-----------
[mlir][linalg] Extend elementwise (#124661)
Implements Linalg elemwise named-op following the proposal and
discussions in RFC:
https://discourse.llvm.org/t/rfc-extend-linalg-elemwise-named-ops-semantics/83927/1
Commit: 41437a6067b2f9dc8e7c458ff6417397796be31c
https://github.com/llvm/llvm-project/commit/41437a6067b2f9dc8e7c458ff6417397796be31c
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
A llvm/test/Transforms/LoopSimplifyCFG/pr117537.ll
Log Message:
-----------
[LoopSimplifyCFG] Fix SCEV invalidation after removing dead exit (#127536)
Fixes #127534
Commit: 25e12726f74cf00a5ad9c8686635a6c11aebe35d
https://github.com/llvm/llvm-project/commit/25e12726f74cf00a5ad9c8686635a6c11aebe35d
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Move OpAsmOpInterface.h.inc from hdrs to srcs
This file internal to the target and should not be exposed as a public (textual) header.
Commit: 8a3222d8da5012501d6f091beaab31b510ade6f1
https://github.com/llvm/llvm-project/commit/8a3222d8da5012501d6f091beaab31b510ade6f1
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/IR/invalid-ops.mlir
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
Log Message:
-----------
[mlir][Parser] Fix crash when resolving invalid operands with missing location (#128163)
When `resolveOperands` reports an error and no valid `SMLoc` was
provided, report the error at the beginning of the op instead of
crashing.
```
Assert `Ptr >= BufStart && Ptr <= Buffer->getBufferEnd()' in llvm/lib/Support/SourceMgr.cpp:llvm::SourceMgr::SrcBuffer::getLineNumberSpecialized failed
```
E.g., this is currently the case when parsing the following op with a
type but without any operands:
```
let assemblyFormat = "$str (`,` $args^)? attr-dict (`:` type($args)^)?";
```
Reported error (with this PR):
```
within split at mlir/test/IR/invalid-ops.mlir:122 offset :4:1: error: custom op 'test.variadic_args_types_split' number of operands and types do not match: got 0 operands and 1 types
test.variadic_args_types_split "hello_world" : i32
^
```
In the ODS-generated C++, the `SMLoc` is populated when parsing the
optional group containing `$args`. However, this group is missing in the
test case.
There are likely additional hand-written parsers that suffer from the
same problem.
Note: I tried emitting a second `SMLoc` for the optional type group in
the `OpFormatGen.cpp`, but this adds quite a bit of complexity in the
code base for little improvement in user experience.
Commit: fc2f31c9494c2d29c5d7103ac36956aa15a51f09
https://github.com/llvm/llvm-project/commit/fc2f31c9494c2d29c5d7103ac36956aa15a51f09
Author: Alexander Weinrauch <aweinrau at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 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 op for raw.ptr.buffer.load.lds (#127988)
This PR adds raw.ptr.buffer.load.lds op to ROCDL to expose buffer loads
directly to LDS.
The op is converted to the corresponding intrinsic call during the
translation from MLIR to LLVM IR.
Commit: c78cb30283635cdc8abf0ccd11823e6530fb95e8
https://github.com/llvm/llvm-project/commit/c78cb30283635cdc8abf0ccd11823e6530fb95e8
Author: Alexander Weinrauch <aweinrau at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[MLIR][ROCDL] Fix accessedOperands for Rocdl_RawPtrBufferLoadOp (#127983)
`getAccessedOperands` should return all accessed pointer operands. In
the case for BufferLoads this is the source buffer and not the result.
Commit: a5f759ed9d119f4bf28f6f4c32487917fb93ec5e
https://github.com/llvm/llvm-project/commit/a5f759ed9d119f4bf28f6f4c32487917fb93ec5e
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A lldb/source/Plugins/Platform/AIX/CMakeLists.txt
A lldb/source/Plugins/Platform/AIX/PlatformAIX.cpp
A lldb/source/Plugins/Platform/AIX/PlatformAIX.h
M lldb/source/Plugins/Platform/CMakeLists.txt
Log Message:
-----------
[lldb][AIX] Added PlatformAIX plugin (#121273)
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
Details:
--------------
Adding PlatformAIX plugin for a basic lldb build support. The 1st commit
is the original version as in the draft PR which is a PlatformLinux
copy. I have removed some of the code in the next commits.
Please let me know all the other changes required to push the
PlatformAIX changes and avoid any duplication.
Commit: 02c804dd70d73c353d003b80191bbf39b018c7c3
https://github.com/llvm/llvm-project/commit/02c804dd70d73c353d003b80191bbf39b018c7c3
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Log Message:
-----------
[mlir][linalg] Silence unused variable warning
Commit: 8616c873350a2fd91c0c8028065daf8026ce515f
https://github.com/llvm/llvm-project/commit/8616c873350a2fd91c0c8028065daf8026ce515f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/arm64x-altnames.s
Log Message:
-----------
[LLD][COFF] Support alternate names in both symbol tables on ARM64X (#127619)
The `.drectve` directive applies only to the namespace in which it is
defined, while the command-line argument applies only to the EC
namespace.
Commit: 71af48fafdb6319da38ee7e5f04e16ff548fe57e
https://github.com/llvm/llvm-project/commit/71af48fafdb6319da38ee7e5f04e16ff548fe57e
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Symbol/Function.cpp
A lldb/test/Shell/Commands/command-source-list.s
Log Message:
-----------
[lldb] Fixing edge cases in "source list" (#126526)
While looking at how to make Function::GetEndLineSourceInfo (which is
only used in "command source") work with discontinuous functions, I
realized there are other corner cases that this function doesn't handle.
The code assumed that the last line entry in the function will also
correspond to the last source line. This is probably true for
unoptimized code, but I don't think we can rely on the optimizer to
preserve this property. What's worse, the code didn't check that the
last line entry belonged to the same file as the first one, so if this
line entry was the result of inlining, we could end up using a line from
a completely different file.
To fix this, I change the algorithm to iterate over all line entries in
the function (which belong to the same file) and find the max line
number out of those. This way we can naturally handle the discontinuous
case as well.
This implementation is going to be slower than the previous one, but I
don't think that matters, because:
- this command is only used rarely, and interactively
- we have plenty of other code which iterates through the line table
I added some basic tests for the function operation. I don't claim the
tests to be comprehensive, or that the function handles all edge cases,
but test framework created here could be used for testing other
fixes/edge cases as well.
Commit: 894935cb5146fd2ac6334cc8b11e6d6e0e264fe6
https://github.com/llvm/llvm-project/commit/894935cb5146fd2ac6334cc8b11e6d6e0e264fe6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/remarks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/SLP-cmp-cost-query.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-reduced-value-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
M llvm/test/Transforms/SLPVectorizer/X86/perfect-matched-reused-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-as-operand-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-schedule-use-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
Log Message:
-----------
[SLP]Represent SLP graph as a tree
We can stop using a graph representation of the SLP structure and switch
directly to tree by relying on a single user of each tree node. If the
node has multiple uses, other uses must be represented as a separate
gather/buildvector node, which then will be combined with the existing
vectorized node(s) uoon cost estimation/codegen.
This allow to simplify inner structure and turn in some extra
optimizations, which could not be turned on for the nodes with multi
users (reordering, minbitwidth analysis).
AVX512, -O3+LTO
Metric: size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 253453.00 254253.00 0.3%
test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test 251411.00 252051.00 0.3%
test-suite :: SingleSource/Benchmarks/Misc/oourafft.test 19114.00 19146.00 0.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1399200.00 1399520.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1399200.00 1399520.00 0.0%
test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test 304310.00 304326.00 0.0%
test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test 304662.00 304678.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12566919.00 12567511.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1146300.00 1146316.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1159864.00 1159880.00 0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 9407880.00 9407864.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 9407880.00 9407864.00 -0.0%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1011612.00 1011596.00 -0.0%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 280584.00 280536.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 93016.00 93000.00 -0.0%
ASCI_Purple/SMG2000 - extra code vectorized, small variations
CFP2006/444.namd - small variations, less shuffles
Benchmarks/Misc/oourafft - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations, less shuffles
LCALS/SubsetALambdaLoops - less shuffles
LCALS/SubsetARawLoops - less shuffles
CFP2017rate/526.blender_r - small variations, extra vector code
CFP2006/453.povray - small variations
CFP2017rate/511.povray_r - small variations
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - small variations
Benchmarks/tramp3d-v4 - small variations
Prolangs-C/TimberWolfMC - small variations
DOE-ProxyApps-C++/miniFE - extra code vectorized, small variations
DOE-ProxyApps-C++/CLAMR - extra code vectorized, small variations
ASCI_Purple/SMG2000 - no significant changes
RISCV, -O3+LTO
Metric: size..text
results results0 diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr28982b.test 1812.00 1866.00 3.0%
test-suite :: MultiSource/Benchmarks/Olden/health/health.test 3946.00 4016.00 1.8%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 513180.00 513550.00 0.1%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 513180.00 513550.00 0.1%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7672198.00 7672202.00 0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7672198.00 7672202.00 0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 746060.00 746044.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9497716.00 9497364.00 -0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 948266.00 948214.00 -0.0%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 89874.00 89862.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 835492.00 835346.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 66230.00 66202.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 946090.00 944206.00 -0.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1136404.00 1131854.00 -0.4%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1136404.00 1131854.00 -0.4%
gcc-c-torture/execute/GCC-C-execute-pr28982b - better vector code
Olden/health - extra vector code
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - small variation + improvements in reordering, @pixel_hadamard_ac stopped
being vectorized because of some non-effective shuffle recognition by
the compiler
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - small variations
CFP2017rate/508.namd_r - small variations
CFP2017rate/526.blender_r - small variations
CFP2006/453.povray - extra vector code
Benchmarks/7zip - extra vector code
DOE-ProxyApps-C++/miniFE - small variations
CFP2017rate/511.povray_r - extra vector code
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - extra vector code
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/126771
Commit: 917ed99d815a4cc6bde249d292376f75dbe3700c
https://github.com/llvm/llvm-project/commit/917ed99d815a4cc6bde249d292376f75dbe3700c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/test/API/functionalities/thread/step_until/TestStepUntil.py
Log Message:
-----------
[lldb] Fix "in function" detection in "thread until" (#123622)
The implementation has an optimization which detects the range of line
table entries covered by the function and then only searches for a
matching line between them.
This optimization was interfering with the logic for detecting whether a
line belongs to the function because the first call to FindLineEntry was
made with exact=false, which meant that if the function did not contain
any exact matches, we would just pick the closest line number in that
range, even if it was very far away.
This patch fixes that by first attempting an inexact search across the
entire line table, and then use the (potentially inexact) result of that
for searching within the function. This makes the optimization a less
effective, but I don't think we can differentiate between a line that
belongs to the function (but doesn't have any code) and a line outside
the function without that.
The patch also avoids the use of (deprecated) Function::GetAddressRange
by iterating over the GetAddressRanges result to find the full range of
line entries for the function.
Commit: 884b79a478c35a44cf724f1760410bad552a48fb
https://github.com/llvm/llvm-project/commit/884b79a478c35a44cf724f1760410bad552a48fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] Relax vbroadcast(vector load X) -> vbroadcast_load(X) to all types (#128039)
There's no need for a AVX1-only 32/64-bit scalar size limit - if the X86ISD::VBROADCAST node type is supported, X86ISD::VBROADCAST_LOAD will be as well.
Commit: e11ca593a29d143ab35f9f19dd6fb56f7c394941
https://github.com/llvm/llvm-project/commit/e11ca593a29d143ab35f9f19dd6fb56f7c394941
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Shuffle the order of pre-commit CI jobs a bit (#128008)
I've recently noticed that our CI is bottlenecked around platforms on
which we don't have a lot of capacity like macOS (mostly) and Windows.
To try to alleviate that, this patch moves the macOS builds and the
Windows builds further down the pipeline so that they will get triggered
less often (if an earlier job fails).
Commit: 5e26fb169936ca1e24da6698ce895fec99af06c2
https://github.com/llvm/llvm-project/commit/5e26fb169936ca1e24da6698ce895fec99af06c2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__functional/function.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/unordered_map
M libcxx/include/variant
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/std_stream.h
M libcxx/src/thread.cpp
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
R libcxx/test/tools/clang_tidy_checks/qualify_declval.cpp
R libcxx/test/tools/clang_tidy_checks/qualify_declval.hpp
M libcxx/test/tools/clang_tidy_checks/robust_against_adl.cpp
Log Message:
-----------
[libc++] Qualify calls to nullary functions like __throw_foo (#122465)
This is technically not necessary in most cases to prevent issues with ADL,
but let's be consistent. This allows us to remove the libcpp-qualify-declval
clang-tidy check, which is now enforced by the robust-against-adl clang-tidy check.
Commit: 4d6167ed96d324cb1decb350c6d6d31090182040
https://github.com/llvm/llvm-project/commit/4d6167ed96d324cb1decb350c6d6d31090182040
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/test/CMakeLists.txt
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
[Clang] [Tests] Canonicalise CLANG_ENABLE_OBJC_REWRITER properly (#125117)
Canonicalise this CMake variable properly as suggested in
https://github.com/llvm/llvm-project/pull/119269#discussion_r1935034073
Commit: bff6b926e2a42c15451058828fca313ff40e36dd
https://github.com/llvm/llvm-project/commit/bff6b926e2a42c15451058828fca313ff40e36dd
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Map `teams loop` to `teams distribute` when required. (#127489)
This extends support for generic `loop` rewriting by:
1. Preventing nesting multiple worksharing loops inside each other. This
is checked by walking the `teams loop` region searching for any `loop`
directive whose `bind` modifier is `parallel`.
2. Preventing convert to worksharing loop if calls to unknow functions
are found in the `loop` directive's body.
We walk the `teams loop` body to identify either of the above 2
conditions, if either of them is found to be true, we map the `loop`
directive to `distribute`.
Commit: b732e14cb5681abff78e3873987a2a8b39549c83
https://github.com/llvm/llvm-project/commit/b732e14cb5681abff78e3873987a2a8b39549c83
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
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] Default the warning for chained comparison to an error. (#128145)
Boolean constructs of the form `a < b < c`
never express the likely intent of the user and
we have been warning on them since clang 19.
WG21 is likely to deprecate or make that construct in the future. To
gain more experience and to improve safety, this patches preempt future
language evolution by turning
warn_consecutive_comparison in an error, by default (which can be
disabled with `-Wno-error=parentheses`)
Commit: d2b3912002693008141ed8a15c0f2fdb6e861f84
https://github.com/llvm/llvm-project/commit/d2b3912002693008141ed8a15c0f2fdb6e861f84
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpressionList.h
Log Message:
-----------
[lldb] Remove commented out declaration in DWARFExpressionList
Commit: d578dbf9fdb4ce5cba13dda88393c2a67e61a30c
https://github.com/llvm/llvm-project/commit/d578dbf9fdb4ce5cba13dda88393c2a67e61a30c
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc][NFC] Add type clarification to the description for the emitc.global op (#127997)
Co-authored-by: Marius Brehler <marius.brehler at gmail.com>
Commit: 34167f99668ce4d4d6a1fb88453a8d5b56d16ed5
https://github.com/llvm/llvm-project/commit/34167f99668ce4d4d6a1fb88453a8d5b56d16ed5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/issue48473.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
A llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure0.mir
A llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure1.ll
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
M llvm/test/CodeGen/X86/inline-asm-assertion.ll
Log Message:
-----------
RegAlloc: Fix verifier error after failed allocation (#119690)
In some cases after reporting an allocation failure, this would fail
the verifier. It picks the first allocatable register and assigns it,
but didn't update the liveness appropriately. When VirtRegRewriter
relied on the liveness to set kill flags, it would incorrectly add
kill flags if there was another overlapping kill of the virtual
register.
We can't properly assign the register to an overlapping range, so
break the liveness of the failing register (and any other interfering
registers) instead. Give the virtual register dummy liveness by
effectively deleting all the uses by setting them to undef.
The edge case not tested here which I'm worried about is if the read
of the register is a def of a subregister. I've been unable to come up
with a test where this occurs.
https://reviews.llvm.org/D122616
Commit: 3ce2a7dc32a60238c7cf286aecba4cc9a4e794f5
https://github.com/llvm/llvm-project/commit/3ce2a7dc32a60238c7cf286aecba4cc9a4e794f5
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
Log Message:
-----------
[flang][OpenMP] Support `parallel loop` construct. (#127588)
Extends support for the `loop` directive by adding support for `parallel
loop` combined directive.
Parent PR: #127489. Only the latest commit is relevant.
Commit: 481e1eba3a3daf8f5796615c3092659c425ad25f
https://github.com/llvm/llvm-project/commit/481e1eba3a3daf8f5796615c3092659c425ad25f
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/licm-xxsplti.ll
Log Message:
-----------
[NFC] add a pre-commit test case for patch #127121 that hoists xxsplitib out of loop (#127701)
This is a pre-commit test case for patch
https://github.com/llvm/llvm-project/pull/127121 that hoists xxsplitib
out of loop
Commit: d2d1f143e5087e9490416bd98e49fd2f8fb5dd01
https://github.com/llvm/llvm-project/commit/d2d1f143e5087e9490416bd98e49fd2f8fb5dd01
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
A clang/test/Preprocessor/zos-target.c
Log Message:
-----------
[z/OS] Add option to target older versions of LE on z/OS (#123399)
Add an option similar to the -qtarget option in XL to allow the user to
say they want to be able to run the generated program on an older
version of the LE environment. This option will do two things:
- set the `__TARGET_LIBS` macro so the system headers exclude newer
interfaces when targeting older environments
- set the arch level to match the minimum arch level for that older
version of LE. It doesn't happen right now since all of the supported LE
versions have a the same minimum ach level. So the option doesn't change
this yet.
The user can specify three different kinds of arguments:
1. -mzos-target=zosv*V*r*R* - where V & R are the version and release
2. -mzos-target=0x4vrrmmmm - v, r, m, p are the hex values for the
version, release, and modlevel
3. -mzos-target=current - uses the latest version of LE the system
headers have support for
Commit: 6dca33ce20693381beab9817c12d512dfdac0b02
https://github.com/llvm/llvm-project/commit/6dca33ce20693381beab9817c12d512dfdac0b02
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Check for mutability better (#127843)
This PR adds a function to determine if a type "looks" mutable. Since
it's impossible to be totally sure if something can or can't be modified
in C++, this makes a best-effort attempt to determine if variables of
that type can be modified or not.
The motivation for this change is the -Wunique-object-duplication
warning, which had a false positive due to a missed case while checking
for mutability. Pulling the logic into a separate function allows it to
be written much more cleanly. There should be no behavior change, except
that we no longer report function references to be mutable.
Commit: ce5c702d8443fa91524cd768ee9998f3f101bad8
https://github.com/llvm/llvm-project/commit/ce5c702d8443fa91524cd768ee9998f3f101bad8
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
A mlir/test/Dialect/Linalg/elementwise/generalize-named-ops.mlir
R mlir/test/Dialect/Linalg/elementwise/generalize_named_ops.mlir
M mlir/test/Dialect/Linalg/elementwise/invalid.mlir
R mlir/test/Dialect/Linalg/elementwise/round-trip.mlir
A mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir
Log Message:
-----------
[mlir][linalg][nfc] Fix formatting for linalg.elementwise
Follow-up to #124661 to address minor formatting inconsistencies.
**Changes:**
1. Standardized test file names by using hyphens (`-`) instead of
underscores (`_`).
2. Renamed `"round-trip.mlir"` to `"roundtrip.mlir"` for consistency
with similar tests.
3. Normalized indentation.
For **(3)**, I ensured we follow the pre-existing formatting style
introduced with `linalg.generic`, where all new lines are indented by
**8 spaces**. Thus, the formatting is now:
```mlir
%r = linalg.elementwise
kind=#linalg.elementwise_kind<sub>
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
affine_map<(d0, d1) -> (d0, d1)>,
affine_map<(d0, d1) -> (d0, d1)>]
ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>)
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
```
instead of:
```mlir
%r = linalg.elementwise
kind=#linalg.elementwise_kind<sub>
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
affine_map<(d0, d1) -> (d0, d1)>,
affine_map<(d0, d1) -> (d0, d1)>]
ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>)
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
```
Submitting this without a review, as these are straightforward changes,
and I want to reduce PR traffic/noise. However, please let me know if
you prefer changes like these to go through a formal PR review.
Commit: 50fcb743ecb98b778c4fa9f927e6d2a5d79e3073
https://github.com/llvm/llvm-project/commit/50fcb743ecb98b778c4fa9f927e6d2a5d79e3073
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/aix-rpath.c
M clang/test/Driver/at_file_missing.c
Log Message:
-----------
[Clang] Add support for -rpath on AIX (#89279)
Add support for existing -rpath option to AIX. Prior to this PR,
if -rpath is passed on AIX it gets passed to the linker and crashes as
the linker on AIX cannot process it.
Commit: a1163d8fd350b54852e9f9c0735b6f4858384b45
https://github.com/llvm/llvm-project/commit/a1163d8fd350b54852e9f9c0735b6f4858384b45
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
Log Message:
-----------
[NVPTX][NFC] Rename hasAAFeatures() (#127990)
This patch renames hasAAFeatures() to hasArchAccelFeatures()
and updates its usages in tablegen files.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: bd034ab1113cd3705fedf75d870dc4b7388d8f70
https://github.com/llvm/llvm-project/commit/bd034ab1113cd3705fedf75d870dc4b7388d8f70
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-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-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - always combine to a new VPERMV node if the root shuffle was a VPERMV node (#128183)
Similar to what we already do for VPERMV3 nodes - if we're trying to create a new unary variable shuffle and we started with a VPERMV node then always create a new one if it reduces the shuffle chain depth
Commit: 8a39214b7e6e79e65135b7dbcc98b427a032d5fb
https://github.com/llvm/llvm-project/commit/8a39214b7e6e79e65135b7dbcc98b427a032d5fb
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[Support] Apply `constexpr` to `getTypeName` (#127893)
This is a followup to 003a721c1c9e3a99d6d0c1a6755443b260235537, which we
noticed increased binary size a small but noticable amount. The increase
seems to be due to code size from each `llvm::getTypeName<T>` wrapper,
which adds up if there are a lot of types.
The original motivation was to improve runtime and avoid `getTypeName`
being recomputed each time. The implementation is simple enough that we
can make it fully constexpr, which addresses the size increase, but also
further improves runtime: we directly reference the data instead of
jumping through a guard variable to see if we've computed it already.
Commit: 6bfedfa0ba31a8ac8fd7fcfd2d33afaa5eabe0e5
https://github.com/llvm/llvm-project/commit/6bfedfa0ba31a8ac8fd7fcfd2d33afaa5eabe0e5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp:1136:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp:1388:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: ad0c7da95373a052f282596f736e35417b2fa65b
https://github.com/llvm/llvm-project/commit/ad0c7da95373a052f282596f736e35417b2fa65b
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/include/stdbit.yaml
Log Message:
-----------
[libc] Add missing stdc_first_trailing_zero_ to stdbit.yaml (#128101)
These declarations were missing in the generated header. Make sure to
add them, otherwise <stdbit.h> inclusion fails, since the subsequently
included "stdbit-macros.h" expects these declarations to be present.
Co-authored-by: Alexey Samsonov <samsonov at google.com>
Commit: 0181af2f32e51c2ac45d96bd194884d7adfd10ca
https://github.com/llvm/llvm-project/commit/0181af2f32e51c2ac45d96bd194884d7adfd10ca
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/AsmParser/Parser.h
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[MLIR] Imporve location tracking for `parseElementsLiteralType` (#127992)
This commit improves line location tracking in case of error reporting
to the user in `parseElementsLiteralType`. There are two cases: the type
is already parsed [1] or not yet parsed [2]. With these changes we print
the error at the attribute's location in both cases to ensure
consistency.
Case 1)
```mlir
memref<i32> = dense<[3]>
^
```
Case 2)
```mlir
dense<[3]> : memref<i32>
^
```
Note that today for a simple:
```mlir
func.func @main() {
%0 = arith.constant dense<[3]> : i32
return
}
```
we print the error after the constant:
```
./bin/c.mlir:3:3: error: elements literal must be a shaped type
return
^
```
Commit: aa6d3ff80d93b2f4635ace198e42e66a42184315
https://github.com/llvm/llvm-project/commit/aa6d3ff80d93b2f4635ace198e42e66a42184315
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
[libc++] Re-enable the FreeBSD CI job (#127687)
Technical issues have apparently been resolved and the node should be
back online.
Closes #117780
Commit: d12a4d45dd43410b50aa0e86015f5224dac5cf92
https://github.com/llvm/llvm-project/commit/d12a4d45dd43410b50aa0e86015f5224dac5cf92
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove section numbers in operator tablegen (#128048)
The section numbers don't currently match what is in the v1.0
spec(https://www.mlplatform.org/tosa/tosa_spec.html) It can be a burden
to remember to update these, and they didn't seem to have much use, so
proposing to remove these comments.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 5a7ee431fda7b337b64999e60e669c52aecfee16
https://github.com/llvm/llvm-project/commit/5a7ee431fda7b337b64999e60e669c52aecfee16
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/X86/math-builtins.c
Log Message:
-----------
[clang] Add `__builtin_sincospi` that lowers to `llvm.sincospi.*` (#127065)
This (only) adds the `__builtin` variant which lowers to the
`llvm.sincospi.*` intrinsic when `-fno-math-errno` is set.
Commit: cf50936b23ac25c786d66be6d7b9277398cddde5
https://github.com/llvm/llvm-project/commit/cf50936b23ac25c786d66be6d7b9277398cddde5
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/gps_clock.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/chrono
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/gps_time.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/from_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/now.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp
A libcxx/test/std/time/time.syn/formatter.gps_time.pass.cpp
Log Message:
-----------
[libc++][chrono] implements GPS clock. (#125921)
Completes:
- LWG3359 <chrono> leap second support should allow for negative leap
seconds
- P1361R2 Integration of chrono with text formatting
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
Fixes: #100432
Fixes: #100014
Commit: 6e457c20016ae1ed7249dd28ce4b3c7993a91275
https://github.com/llvm/llvm-project/commit/6e457c20016ae1ed7249dd28ce4b3c7993a91275
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lld/ELF/OutputSections.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/Thunks.cpp
A lld/test/ELF/aarch64-execute-only.s
A lld/test/ELF/aarch64-thunk-bti-execute-only.s
A lld/test/ELF/aarch64-thunk-execute-only.s
M lld/test/ELF/input-section-flags.s
Log Message:
-----------
[LLD][ELF][AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (3/3) (#125689)
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. The
output section only has the `SHF_AARCH64_PURECODE` flag set if all input
sections have it set.
Related PRs:
* LLVM: https://github.com/llvm/llvm-project/pull/125687
* Clang: https://github.com/llvm/llvm-project/pull/125688
Commit: 506deb0cce3fe503f61ef1a1a08a40770ef4b978
https://github.com/llvm/llvm-project/commit/506deb0cce3fe503f61ef1a1a08a40770ef4b978
Author: foxtran <39676482+foxtran at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/ValueObject/DILLexer.cpp
Log Message:
-----------
[lldb] Fix GCC's `-Wreturn-type` warnings (#127974)
This patch fixes `-Wreturn-type` warnings which happens if LLVM is built
with GCC compiler (14.1 is used for detecting)
Warnings:
```
llvm-project/lldb/source/ValueObject/DILLexer.cpp: In static member function ‘static llvm::StringRef lldb_private::dil::Token::GetTokenName(Kind)’:
llvm-project/lldb/source/ValueObject/DILLexer.cpp:33:1: warning: control reaches end of non-void function [-Wreturn-type]
33 | }
| ^
```
and:
```
llvm-project/lldb/source/DataFormatters/TypeSummary.cpp: In member function ‘virtual std::string lldb_private::TypeSummaryImpl::GetSummaryKindName()’:
llvm-project/lldb/source/DataFormatters/TypeSummary.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
62 | }
| ^
```
Technically, it is a bug in Clang (see #115345), however, UBSan with
Clang should detect these places, therefore it would be nice to provide
a return statement for all possible inputs (even invalid).
Commit: ab166d4d10f5b23262acb7448eb32c056595a0cd
https://github.com/llvm/llvm-project/commit/ab166d4d10f5b23262acb7448eb32c056595a0cd
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A mlir/include/mlir/Conversion/MPIToLLVM/MPIToLLVM.h
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/MPIToLLVM/CMakeLists.txt
A mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
A mlir/test/Conversion/MPIToLLVM/ops.mlir
Log Message:
-----------
[mlir][mpi] Lowering Mpi To LLVM (#127053)
* The first set of patterns to convert the MPI dialect to LLVM.
* Further conversion pattern will be added in future PRs.
* Supports MPICH compatible MPI implementations and openMPI, selectable through DLTI attribute on module
---------
Co-authored-by: Anton Lydike <me at antonlydike.de>
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: a66376b0dc3b2ea8a84fda26faca287980986f78
https://github.com/llvm/llvm-project/commit/a66376b0dc3b2ea8a84fda26faca287980986f78
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lld/CMakeLists.txt
Log Message:
-----------
[lld,CMake] Include Version.inc when LLVM_DISTRIBUTION_COMPONENTS contains lld-headers (#127946)
Without this inc file `getLLDVersion` cannot be called; see
https://github.com/llvm/llvm-project/blob/main/lld/include/lld/Common/Version.h#L16.
Fixes incomplete solution introduced by
https://github.com/llvm/llvm-project/pull/127123.
Commit: 209252f3d5bf66c8bff0863ba7617e37ead4fff8
https://github.com/llvm/llvm-project/commit/209252f3d5bf66c8bff0863ba7617e37ead4fff8
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M bolt/lib/Passes/Inliner.cpp
A bolt/test/X86/skip-inline.s
Log Message:
-----------
[BOLT] Introduce skip-inline flag (#128135)
Introduce exclusion list for inlining, allowing more fine-grained
control than using skip-funcs.
Test Plan: added skip-inline.s
Commit: ab098a7ebf07227a371df95ce65bd4aa135dee9a
https://github.com/llvm/llvm-project/commit/ab098a7ebf07227a371df95ce65bd4aa135dee9a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Analysis/CGSCCPassManager.cpp
A llvm/test/Other/largest-scc-stat.ll
Log Message:
-----------
[CGSCC] Add statistic on largest SCC visited (#128073)
To help debugging long compile times.
Commit: 115672f57edb05717684126ada86ff89e3ec0ee8
https://github.com/llvm/llvm-project/commit/115672f57edb05717684126ada86ff89e3ec0ee8
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove now redundant isElementRotate shuffle lowering [NFCI] (#128064)
This is the first cleanup following the introduction of the new
isMaskedSlidePair lowering in 43f2968. As mentioned in that review, the
new code is a generalization of the existing isElementRotate, but was
staged to make diffs manageable.
This change removes isElementRotate. The tricky bit is making sure that
a) the same shuffles hit the same lowering paths (in particular, two
element shuffles can match multiple ways) and 2) avoiding DAG
canonicalization changes.
Commit: 7c7fb9442f9f3ca1cf302ca2ff2906de7452a846
https://github.com/llvm/llvm-project/commit/7c7fb9442f9f3ca1cf302ca2ff2906de7452a846
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/warn-unreachable.cpp
Log Message:
-----------
Revert "Reapply "[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression" (#127338)" (#128205)
This reverts commit d235b72178adc710bf704078fbe0cd687642f3e0.
Commit: 0c50054820799578be8f62b6fd2cc3fbc751c01e
https://github.com/llvm/llvm-project/commit/0c50054820799578be8f62b6fd2cc3fbc751c01e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/issue48473.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
R llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure0.mir
R llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure1.ll
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
M llvm/test/CodeGen/X86/inline-asm-assertion.ll
Log Message:
-----------
Revert "RegAlloc: Fix verifier error after failed allocation (#119690)"
This reverts commit 34167f99668ce4d4d6a1fb88453a8d5b56d16ed5.
Different set of verifier errors appears after other regalloc failure
tests with EXPENSIVE_CHECKS.
Commit: 9546afe86c69c2a9421898025a5443e51f00969c
https://github.com/llvm/llvm-project/commit/9546afe86c69c2a9421898025a5443e51f00969c
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
Log Message:
-----------
[MLIR][XeGPU]Add MemoryEffect to xegpu.atomic_rmw op (#128076)
Commit: fb25216209c4d6f686bcb9f7fbc3ac0a8f5a61fa
https://github.com/llvm/llvm-project/commit/fb25216209c4d6f686bcb9f7fbc3ac0a8f5a61fa
Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-cs-chain.ll
Log Message:
-----------
[AMDGPU] Enhance verification of amdgcn.cs.chain intrinsic (#128162)
Make sure that this intrinsic is being followed by unreachable.
This LLVM defect was identified via the AMD Fuzzing project.
Thanks to @rovka for helping me solve this issue!
Commit: 13ca6050b07e64f2de08e19bd7be1e1d81207358
https://github.com/llvm/llvm-project/commit/13ca6050b07e64f2de08e19bd7be1e1d81207358
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
Revert "default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (#125648)"
This reverts commit 73ad78cc57e10b932bddaa9034237f59bb566e6b.
Breaks check-clang, see comments on
https://github.com/llvm/llvm-project/pull/125648
Commit: 2d38be5fd4da0fea72d413d5953764a76067934b
https://github.com/llvm/llvm-project/commit/2d38be5fd4da0fea72d413d5953764a76067934b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strip redundant casts (NFC) (#128177)
Commit: 45798bd4841649c1c41ca48701536f1bc808e1a6
https://github.com/llvm/llvm-project/commit/45798bd4841649c1c41ca48701536f1bc808e1a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Simplify the debug messages in the disassembler. (#128102)
Move the printing of "table" to the macro instantiation.
Don't use string concatenation in the macro. Print DESC as it own
string. This allows the "Trying " and " table:" to only appear in the
binary once instead of being part of every string.
Remove "custom opcode" from the messages, I don't think it provides much
value after mentioning the vendor.
I'm hoping to replace the macros with a table of features, decoder table
pointer, and string that we can iterate over.
Commit: affbb4d9cf6fc48ce44af4eee61fdb6528473788
https://github.com/llvm/llvm-project/commit/affbb4d9cf6fc48ce44af4eee61fdb6528473788
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/include/__atomic/atomic.h
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
M libcxx/test/std/atomics/types.pass.cpp
Log Message:
-----------
[libc++] std::atomic primary template should not have a `difference_type` member type (#123236)
The test would not check its absence and the code path intended for
pointer was never actually instantiated.
I added a few pointer types since there was no coverage.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 9738f20bb03c1a53f64dce5626972f4f6c1b815e
https://github.com/llvm/llvm-project/commit/9738f20bb03c1a53f64dce5626972f4f6c1b815e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port cf50936b23ac
Commit: 4bb04d417669be7a3d0359dfd313f0bf4f7ca531
https://github.com/llvm/llvm-project/commit/4bb04d417669be7a3d0359dfd313f0bf4f7ca531
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
A clang/test/Modules/local-submodule-visibility-transitive-import.c
Log Message:
-----------
[clang][modules] Fix local submodule visibility of macros from transitive import (#122955)
When we mark a module visible, we normally mark all of its non-explicit
submodules and other exports as visible. However, when we first enter a
submodule we should not make them visible to the submodule itself until
they are actually imported. Marking exports visible before import would
cause bizarre behaviour with local submodule visibility, because it
happened before we discovered the submodule's transitive imports and
could fail to make them visible in the parent module depending on
whether the submodules involved were explicitly defined (module X) or
implicitly defined from an umbrella (module *).
rdar://136524433
Commit: 7c1f679c387a68defbc2b240cb58eb9152252c25
https://github.com/llvm/llvm-project/commit/7c1f679c387a68defbc2b240cb58eb9152252c25
Author: foxtran <39676482+foxtran at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb][cmake] Use STATUS instead of explicit '--' in message logging (#128196)
Currently, configuring lldb with cmake with separated stdout and stderr
gives some unnecessary output in stderr which happens since message
statement is used without `[mode]` (See
https://cmake.org/cmake/help/v3.31/command/message.html). This patch
adds mode `STATUS` instead of explicit `--` at the beginning of
messages.
Commit: 386a45c6bd6358128f1e8e0819bacc92767f8db6
https://github.com/llvm/llvm-project/commit/386a45c6bd6358128f1e8e0819bacc92767f8db6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
include/c++/14/bits/unique_ptr.h:93:2: error: delete called on
non-final '(anonymous namespace)::MPICHImplTraits' that has virtual
functions but non-virtual destructor
[-Werror,-Wdelete-non-abstract-non-virtual-dtor]
Commit: 976641062e7750f26ea12eedf22287f9c2250bff
https://github.com/llvm/llvm-project/commit/976641062e7750f26ea12eedf22287f9c2250bff
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
Log Message:
-----------
[flang][NFC] AliasAnalysis: Use Indirect not Unknown for LoadOp (#127845)
As mentioned at
<https://github.com/llvm/llvm-project/pull/126156#discussion_r1953523892>:
PR #126156 causes AliasAnalysis::getSource to sometimes return
SourceKind::Unknown when it used to return SourceKind::Indirect for a
LoadOp. This patch restores that part of the old behavior. It should not
affect user-visible behavior because AliasAnalysis::alias treats
SourceKind::Unknown and SourceKind::Indirect equivalently, but it does
improve debugging output.
Commit: ef6e3ed14ebc799a0bb266c46eb53e7bfe66d4a4
https://github.com/llvm/llvm-project/commit/ef6e3ed14ebc799a0bb266c46eb53e7bfe66d4a4
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/ab166d4d10f5b23262acb7448eb32c056595a0cd
Commit: 7e4fef69f9f945d550981e16b80e77138c4035cd
https://github.com/llvm/llvm-project/commit/7e4fef69f9f945d550981e16b80e77138c4035cd
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang-rt/README.md
Log Message:
-----------
[flang-rt][NFC] Fix grammar
Commit: 00637b7dfb15b6e4f94a29ac8ab9226d1e9c0788
https://github.com/llvm/llvm-project/commit/00637b7dfb15b6e4f94a29ac8ab9226d1e9c0788
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
Log Message:
-----------
[libc] Add strftime_l (#127767)
This is a (no-op) locale version of strftime.
Fixes: https://github.com/llvm/llvm-project/issues/106630
Commit: 449f84fea652e31de418c3087d7e3628809241b4
https://github.com/llvm/llvm-project/commit/449f84fea652e31de418c3087d7e3628809241b4
Author: David Truby <david.truby at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/test/Fir/struct-passing-aarch64-byval.fir
Log Message:
-----------
[flang] fix AArch64 PCS for struct following pointer (#127802)
Pointers are already handled as taking up a register in the ABI
handling, but the handling for structs was not taking this into account.
This patch changes the struct handling to acknowledge that pointer
arguments take up an integer register.
Fixes #123075
Commit: c896f7bdaa0909f7dbc554c28f814a7ef76d34f0
https://github.com/llvm/llvm-project/commit/c896f7bdaa0909f7dbc554c28f814a7ef76d34f0
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] build_vector pattern in true16 (#118904)
build_vector pattern in true16 SDAG
Commit: b0443507014273bb95eb90af0f9859a8fa3111c9
https://github.com/llvm/llvm-project/commit/b0443507014273bb95eb90af0f9859a8fa3111c9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#128126)
This patch eliminates repeated hash lookups at three levels:
- RegToSlotIdx of DenseMap
- Reloads of DenseMap
- Reloads[MBB] of SmallSet
Commit: f964377df76f9ba3ee025fdae4620f79fb81e809
https://github.com/llvm/llvm-project/commit/f964377df76f9ba3ee025fdae4620f79fb81e809
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128127)
Commit: 34cebaf73ad6ca8f493866fd125d38e2dbbfc40d
https://github.com/llvm/llvm-project/commit/34cebaf73ad6ca8f493866fd125d38e2dbbfc40d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[Instrumentation] Avoid repeated hash lookups (NFC) (#128128)
Commit: 8c1207bee3c65baab784574a0440f154d325b6c6
https://github.com/llvm/llvm-project/commit/8c1207bee3c65baab784574a0440f154d325b6c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV] Avoid repeated map lookups (NFC) (#128129)
Commit: 8a58f83b041693b9373a1724af97a82bd844a899
https://github.com/llvm/llvm-project/commit/8a58f83b041693b9373a1724af97a82bd844a899
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#128130)
Commit: b11e1baf22a4a5d061a112c490f54f5e767f79e4
https://github.com/llvm/llvm-project/commit/b11e1baf22a4a5d061a112c490f54f5e767f79e4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
Log Message:
-----------
[llvm-readtapi] Avoid repeated hash lookups (NFC) (#128131)
Dylibs is a StringMap, which takes StringRef as the key type, so
NormalizedPath.str() is good enough. We don't need to create a null
terminated string. Neither do we need to recompute the string length
as part of StringRef construction.
Commit: 741f923fac33880d24e9990f0b90c77daa2fb4b6
https://github.com/llvm/llvm-project/commit/741f923fac33880d24e9990f0b90c77daa2fb4b6
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
M llvm/test/Transforms/MemProfContextDisambiguation/indirectcall.ll
M llvm/test/Transforms/MemProfContextDisambiguation/inlined.ll
Log Message:
-----------
[MemProf] Minor fixes to dot graph printing (#128217)
Two misc cleanup/improvements to the dot printing.
Remove a redundant "style=filled" in the Node attributes. No effect on
resulting graph.
Add a "color" attribute to the Edge, with the same color name as
"fillcolor". The latter only fills in the arrowhead, and the former is
what affects the line. This makes the edge colors more visible,
previously it was a black edge with a colored in arrowhead.
For the second change, I added the new Edge color attributes to the
checking in the two "basic.ll" tests, so we get some testing coverage of
the full printing. For the other affected tests I removed the final "]'"
after the fillcolor so it matches up through that attribute and ignores
the rest of the line.
Commit: 45ca39d8e1a2b2cc9d67f7a1999e39dc2f77f342
https://github.com/llvm/llvm-project/commit/45ca39d8e1a2b2cc9d67f7a1999e39dc2f77f342
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[Support] Fix for non-constexpr `__PRETTY_FUNCTION__` on older gcc (#128212)
Prior to gcc version 9, the `__PRETTY_FUNCTION__` macro was not declared
constexpr. In that case, don't declare this as constexpr, and switch the
static asserts to runtime asserts.
Verified this should work on all supported compilers:
https://godbolt.org/z/T77rvPW5z
Followup to #127893 / 8a39214b7e6e79e65135b7dbcc98b427a032d5fb
Commit: b0f0ac3cad2d43deaf88038eb48c93f5a8c936a7
https://github.com/llvm/llvm-project/commit/b0f0ac3cad2d43deaf88038eb48c93f5a8c936a7
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
Add overload of DIBuilder::createArrayType (#125229)
DICompositeType has an attribute representing the name of a type, but
currently it isn't possible to set this for array types via the
DIBuilder method. This patch adds a new overload of
DIBuilder::createArrayType that allows "full" construction of an array
type. This is useful for Ada, where arrays are a bit more first-class
than C.
Commit: e65d3882af6fcc15342451ad4f9494b1ba6b9b9d
https://github.com/llvm/llvm-project/commit/e65d3882af6fcc15342451ad4f9494b1ba6b9b9d
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/ScopedPrinter.h
Log Message:
-----------
[Support] Ensure complete type DelimitedScope (#127459)
`JSONScopedPrinter` has a `std::unique_ptr<DelimitedScope>` member and
defaulted constructor argument, so it needs a complete type. This
resolves one of the many build errors with C++23 using Clang.
Commit: 123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af
https://github.com/llvm/llvm-project/commit/123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[Utils] Consolidate `LockstepReverseIterator` into own header (NFC) (#116657)
Common code has been unified and generalized. Not sure if it may be
worth to generalize this further, since it looks closely tied to Blocks
(might make sense to rename it in `LockstepReverseInstructionIterator`).
Commit: c0a6f7acf8b630df438fc0de04028148af093cf1
https://github.com/llvm/llvm-project/commit/c0a6f7acf8b630df438fc0de04028148af093cf1
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/DIE.h
Log Message:
-----------
Use precise types in DWARF BestForm methods (#126309)
I noticed that DIEInteger::BestForm used a cast to char:
if ((char)Int == SignedInt)
If 'char' happens to be unsigned, this will not behave correctly. Then I
also noticed that this code assumes the size of 'short' and 'int'.
This patch changes this code to use more precise types. No functional
change should be visible on ordinary hosts.
Commit: 3fad640f06989c1ed5fd5d97868ad9fd807c86dc
https://github.com/llvm/llvm-project/commit/3fad640f06989c1ed5fd5d97868ad9fd807c86dc
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Skip scanf internals when no file available (#128097)
A temporary fix based on discussions in #128079
Currently, baremetal targets are failing to build because the scanf
internals require FILE* (either from the system's libc or our libc).
Normally we'd just turn off the broken entrypoint, but since the scanf
internals are built separately that doesn't work. This patch adds extra
conditions to building those internals, which we can hopefully remove
once we have a proper way to build scanf for embedded.
Commit: 210ecfdf35ed2cd260b401fe834dd810fd2190d0
https://github.com/llvm/llvm-project/commit/210ecfdf35ed2cd260b401fe834dd810fd2190d0
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A clang/test/CodeGen/hwasan-stack-safety-analysis-with-array-bounds.c
Log Message:
-----------
[NFC] test interaction between array-bounds and hwaddress (#128218)
we want the stack safety analysis to be able to skip array accesses that
are already checked by array-bounds.
Commit: 438b9102534a28d8167831f113f2c180d1703594
https://github.com/llvm/llvm-project/commit/438b9102534a28d8167831f113f2c180d1703594
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Disassembler/Xtensa/boolean.txt
A llvm/test/MC/Xtensa/boolean.s
Log Message:
-----------
[Xtensa] Implement Xtensa Boolean Option. (#126022)
Commit: c3d5070086d604452336fc9dc6666559e420aad9
https://github.com/llvm/llvm-project/commit/c3d5070086d604452336fc9dc6666559e420aad9
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Refactor backedge computation and invoke earlier (#128226)
Invoke the backedge computation (refactored as a new method) at the end
of the graph construction, instead of at the start of cloning. That
makes more logical sense, and it also makes it easier to look at the
results in the postbuild dot graph with a follow on change to display
those differently.
Commit: 236fa506d4f166882b63029915333d9599014644
https://github.com/llvm/llvm-project/commit/236fa506d4f166882b63029915333d9599014644
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
R llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
Revert "[Utils] Consolidate `LockstepReverseIterator` into own header (NFC) (#116657)"
This reverts commit 123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af.
This breaks building on macOS with clang and multiple build bots,
including https://lab.llvm.org/buildbot/#/builders/175/builds/13585
llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
2503 | LockstepReverseIterator<true> LRI(UnconditionalPreds);
| ^~~~~~~~~~~~~~~~~~~~~~~
Commit: 374c470cd19381caef4a06f6c794703c47cf3752
https://github.com/llvm/llvm-project/commit/374c470cd19381caef4a06f6c794703c47cf3752
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/IO.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Semantics/check-io.cpp
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/unsigned-errors.f90
Log Message:
-----------
[Flang] Give a more specific error message for expressions where an IO Unit is expected (#126970)
This PR fixes #125446 by specializing the error message that is
generated when an arbitrary expression is used as an IO Unit. See the
tests for specific examples, but the general gist is that if you use a
non-variable expression as the IO unit argument to a read or write, you
now get a more specific error message indicating the the expression
could have been a scalar integer expression or character variable.
Commit: 74084ae73196441446c2beb5b9b57dd58eeeb3fe
https://github.com/llvm/llvm-project/commit/74084ae73196441446c2beb5b9b57dd58eeeb3fe
Author: Vincent Lee <leevince at meta.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[FatLTO] Allow -fno-fat-lto-objects to override -ffat-lto-objects (#128157)
For builds that cannot be easily modified and enabled with
`-ffat-lto-objects`, `-fno-fat-lto-objects` acts as an escape hatch to
disable this option (which is standard to how clang and lld flags are
used).
Commit: 2b06ceebb5b7482d3c7a497f553d37bef4b40d1e
https://github.com/llvm/llvm-project/commit/2b06ceebb5b7482d3c7a497f553d37bef4b40d1e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align operator descriptions with the spec (#128046)
This commit aligns the operator descriptions to the v1.0 spec
(https://www.mlplatform.org/tosa/tosa_spec.html)
Co-authored-by: Peng Sun <[peng.sun at arm.com](mailto:peng.sun at arm.com)>
Signed-off-by: Luke Hutton
<[luke.hutton at arm.com](mailto:luke.hutton at arm.com)>
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Peng Sun <peng.sun at arm.com>
Commit: 61c6e0061cfb9a1685bb7e564cbd5fbeb586c096
https://github.com/llvm/llvm-project/commit/61c6e0061cfb9a1685bb7e564cbd5fbeb586c096
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] flat/global/scratch load/store pseudo for true16 (#127945)
T16D16 table is implemented in
https://github.com/llvm/llvm-project/pull/127673
this is a follow up patch to add load/store pseudo for:
flat_store
global_load/global_store
scratch_load/scratch_store
in true16 mode and updated the codegen test file
Commit: 7f5a2cbe765235509055afe7ae620b9afad97b0e
https://github.com/llvm/llvm-project/commit/7f5a2cbe765235509055afe7ae620b9afad97b0e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[libc][bazel] add targets to build the scanf family (#128082)
Now that scanf is a little cleaner, this patch adds rules to build it
via bazel.
Commit: 6b3e7657cfede8c47f8c703881fce295ee26f5eb
https://github.com/llvm/llvm-project/commit/6b3e7657cfede8c47f8c703881fce295ee26f5eb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/docs/gpu/support.rst
Log Message:
-----------
[libc] Enable 'strftime' for the GPU targets (#128220)
Summary:
These should allow us to build with locale support for libcxx.
Commit: ca0406dd1c77e62b9d94a385ceeda551df1f3e26
https://github.com/llvm/llvm-project/commit/ca0406dd1c77e62b9d94a385ceeda551df1f3e26
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
DeveloperPolicy: Update commit access requirements (#127006)
See https://discourse.llvm.org/t/rfc-commit-access-criteria/84073
Commit: 79261d4aab4f7a0f56f5ea32a5ac06241c5cd94a
https://github.com/llvm/llvm-project/commit/79261d4aab4f7a0f56f5ea32a5ac06241c5cd94a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/alloca.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[NVPTX][InferAS] assume alloca instructions are in local AS (#121710)
Commit: 92e02ad9dc5e8adf92fd5ab2a1aec328ba139414
https://github.com/llvm/llvm-project/commit/92e02ad9dc5e8adf92fd5ab2a1aec328ba139414
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Display backedges with dotted line in dot graphs (#128235)
Add checking of this behavior in the postbuild dot graphs, facilitated
by PR128226 which marked these edges at the end of the graph building.
Commit: 8ffdc3b2078ea170ce96138f1d4e9c8139e575fb
https://github.com/llvm/llvm-project/commit/8ffdc3b2078ea170ce96138f1d4e9c8139e575fb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
Log Message:
-----------
[SLP]Fix a crash when checking a scalar in a reordered buildvector node
Need to check reordered scalars, not the original ones, to correctly
check proper scalar.
Commit: 6038fd44d4007d818ab024c2d3a18ef8006d2cff
https://github.com/llvm/llvm-project/commit/6038fd44d4007d818ab024c2d3a18ef8006d2cff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower atomiccas, atomicxor and atomicexch (#128242)
Lower atomiccas, atomicxor and atomicexch to corresponding llvm atomic
operations.
Commit: 5d0c5c638ad2f34552f1188c6e9b9ff5406580f9
https://github.com/llvm/llvm-project/commit/5d0c5c638ad2f34552f1188c6e9b9ff5406580f9
Author: Zahi Moudallal <zahi at openai.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[MLIR][ARITH] Adds missing foldings for truncf (#128096)
This patch is mainly to deal with folding `truncf`, as follows:
`truncf(extf(a))` -> `a`, if `a` has the same bitwidth as the result
`truncf(extf(a))` -> `truncf(a)`, if `a` has larger bitwidth than the
result
Commit: aef63c506be7ba791d0e0befc48f7837638a233a
https://github.com/llvm/llvm-project/commit/aef63c506be7ba791d0e0befc48f7837638a233a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
A llvm/test/MC/RISCV/xrivosvizip-invalid.s
A llvm/test/MC/RISCV/xrivosvizip-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Assembler support for XRivosVizip (#127694)
This implements assembler support for the XRivosVizip custom/vendor
extension from Rivos Inc. which is defined in:
https://github.com/rivosinc/rivos-custom-extensions (See
src/xrivosvizip.adoc)
Codegen support will follow in a separate change.
Commit: 7cfab6c4eb93f479e024f73647d86f9fc7f4b73f
https://github.com/llvm/llvm-project/commit/7cfab6c4eb93f479e024f73647d86f9fc7f4b73f
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
Log Message:
-----------
[HLSL] add parentheses in assertion to eliminate -Wparentheses warning (#128246)
Fixes #128210
Commit: d175aed4fddeef91ceee55072e3f1782ebc5bf83
https://github.com/llvm/llvm-project/commit/d175aed4fddeef91ceee55072e3f1782ebc5bf83
Author: Mosè Giordano <mose at gnu.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
Log Message:
-----------
[Tosa] Add necessary `unordered_map` header file (#128248)
Ref:
https://github.com/llvm/llvm-project/pull/126992#discussion_r1966320748
Commit: 5f8da7e7738f043dbde447e48622e9b2afb5ba92
https://github.com/llvm/llvm-project/commit/5f8da7e7738f043dbde447e48622e9b2afb5ba92
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/PR51512.ll
Log Message:
-----------
[DA] remove wrap-around check from affine definition (#116632)
Fix https://github.com/llvm/llvm-project/issues/51512
by reverting a part of commit
https://github.com/llvm/llvm-project/commit/c0661aeaf8daf371023cf5669be4bd9b428882d0
that modified the definition affine subscripts.
Commit: 93b2e47f12649bd33b99b88f25beb277a181274a
https://github.com/llvm/llvm-project/commit/93b2e47f12649bd33b99b88f25beb277a181274a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
[flang][cuda] Avoid assign element mismatch when doing data transfer from a constant (#128252)
Currently when we do a CUDA data transfer from a constant, we embox it
and delegate the assignment to the runtime. When the type of the
constant is not exactly the same as the destination descriptor, the
runtime will emit an assignment mismatch error.
Convert the constant when necessary so the assignment is fine.
Commit: 1bb43068f187141f20066a83675531161ed45051
https://github.com/llvm/llvm-project/commit/1bb43068f187141f20066a83675531161ed45051
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.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_system.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/idot8u.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-mixed-cases.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
M llvm/test/CodeGen/Thumb2/mve-vabdus.ll
M llvm/test/CodeGen/Thumb2/mve-vld2.ll
M llvm/test/CodeGen/Thumb2/mve-vld3.ll
M llvm/test/CodeGen/Thumb2/mve-vld4.ll
M llvm/test/CodeGen/Thumb2/mve-vldst4.ll
M llvm/test/CodeGen/Thumb2/mve-vst2.ll
M llvm/test/CodeGen/Thumb2/mve-vst3.ll
M llvm/test/CodeGen/Thumb2/mve-vst4-post.ll
M llvm/test/CodeGen/Thumb2/mve-vst4.ll
Log Message:
-----------
PeepholeOpt: Allow introducing subregister uses on reg_sequence (#127052)
This reverts d246cc618adc52fdbd69d44a2a375c8af97b6106. We now handle
composing subregister extracts through reg_sequence.
Commit: 998b28f19672ba49925e25f1a78c1252f017c247
https://github.com/llvm/llvm-project/commit/998b28f19672ba49925e25f1a78c1252f017c247
Author: John Harrison <harjohn at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
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
M lldb/test/Shell/DAP/TestOptions.test
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactoring lldb-dap port listening mode to allow multiple connections. (#116392)
This adjusts the lldb-dap listening mode to accept multiple clients.
Each client initializes a new instance of DAP and an associated
`lldb::SBDebugger` instance.
The listening mode is configured with the `--connection` option and
supports listening on a port or a unix socket on supported platforms.
When running in server mode launch and attach performance should
be improved by lldb sharing symbols for core libraries between debug
sessions.
Commit: 3ec83f5774f391076cef094249fe9fa48cdc61fc
https://github.com/llvm/llvm-project/commit/3ec83f5774f391076cef094249fe9fa48cdc61fc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-i64-trunc-srl-add.ll
Log Message:
-----------
[X86][DAGCombiner] Fix assertion failure in `combinei64TruncSrlAdd` (#128194)
Closes https://github.com/llvm/llvm-project/issues/128158.
Commit: 646e4f2eede9a39e46012dde9430cd289682e83c
https://github.com/llvm/llvm-project/commit/646e4f2eede9a39e46012dde9430cd289682e83c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/pr128143.ll
Log Message:
-----------
[DAGCombiner] visitFREEZE: Early exit when N is deleted (#128161)
`N` may get merged with existing nodes inside the loop. Early exit when
it is deleted to avoid the crash.
Alternative solution: use `DAGNodeDeletedListener` to refresh the value
of N.
Closes https://github.com/llvm/llvm-project/issues/128143.
Commit: 434d86ac929a37b2e992329d4e81fa0fbcacd2a9
https://github.com/llvm/llvm-project/commit/434d86ac929a37b2e992329d4e81fa0fbcacd2a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
lldb/tools/lldb-dap/lldb-dap.cpp:5184:9: error: 'scoped_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
lldb/tools/lldb-dap/lldb-dap.cpp:5200:7: error: 'unique_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
lldb/tools/lldb-dap/lldb-dap.cpp:5222:5: error: 'scoped_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
lldb/tools/lldb-dap/lldb-dap.cpp:5236:3: error: 'unique_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
Commit: ffc61dc393e4224899c2496871f3ec3b3a1babf1
https://github.com/llvm/llvm-project/commit/ffc61dc393e4224899c2496871f3ec3b3a1babf1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Allow specifying the language for `.h` files (#128122)
Closes #128119
Commit: 444859634f365cb4bd716fcc587f5b1ea96915df
https://github.com/llvm/llvm-project/commit/444859634f365cb4bd716fcc587f5b1ea96915df
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
Log Message:
-----------
[MachineVerifier] Use Register instead of unsigned for DenseSet key. NFC (#128234)
Commit: dc72a93d2b4c80d93d51a4de83d2c0080be19742
https://github.com/llvm/llvm-project/commit/dc72a93d2b4c80d93d51a4de83d2c0080be19742
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
Log Message:
-----------
[MLIR][Affine] Add check for 'affine.for' Bound Map Results (#127105)
Fixes issue #120001.
Add missing check in affine.for op's verifier for lower/upper bound maps
to have at least one result.
Commit: 39d1bd85862a68c7f6379817a93fffab94c5db4b
https://github.com/llvm/llvm-project/commit/39d1bd85862a68c7f6379817a93fffab94c5db4b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unused VPseudo tablegen class. NFC
I think this was once used for whole register move pseudos that we
deleted a while ago.
Commit: 86ef031b64fae51666b677ee3a700ecb1c428edd
https://github.com/llvm/llvm-project/commit/86ef031b64fae51666b677ee3a700ecb1c428edd
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Conversion/FuncToSPIRV/func-ops-to-spirv.mlir
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/load-store-invalid.mlir
Log Message:
-----------
[MLIR][Affine] Fix affine memory op verifiers to check valid dim/symbols properly (#127375)
The checks only checked if the operands were either valid dims and
symbols without checking which ones should be valid dims and which
should be valid symbols. The necessary methods to check already existed.
With this fix, for some existing tests, it leads to a more accurate
error message. In other cases, invalid IRs are caught as shown in the
test case added.
Related to: https://github.com/llvm/llvm-project/issues/120189
Commit: c645981f2d6b18d4ac93cb4132e1da54b11ce5d6
https://github.com/llvm/llvm-project/commit/c645981f2d6b18d4ac93cb4132e1da54b11ce5d6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/include/mlir/InitAllExtensions.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/ab166d4d10f5b23262acb7448eb32c056595a0cd
Second attempt.
Commit: 2c00b3b859d9fca6d5565af7b3f4574013c7330e
https://github.com/llvm/llvm-project/commit/2c00b3b859d9fca6d5565af7b3f4574013c7330e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Silently reject ctors of invalid decls (#128290)
The follow-up diagnostic would otherwise be:
array.cpp:111:33: note: undefined constructor '(unnamed struct at
array.cpp:111:11)' cannot be used in a constant expression
array.cpp:111:11: note: declared here
111 | constexpr struct { Unknown U; } InvalidCtor;
| ^
... and complaining about the undefined constructor of a class that is
invalid anyway doesn't make much sense.
Commit: 60f3fdde880745ae4330c26eefe5f440986983f3
https://github.com/llvm/llvm-project/commit/60f3fdde880745ae4330c26eefe5f440986983f3
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV][Outliner] Use MCRegister. NFC (#128291)
Commit: 126016b6620e1e64e1685e06f4c6bb1e5a2508ed
https://github.com/llvm/llvm-project/commit/126016b6620e1e64e1685e06f4c6bb1e5a2508ed
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/nonnull-select.ll
M llvm/test/Transforms/PhaseOrdering/load-store-sameval.ll
A llvm/test/Transforms/PhaseOrdering/memset-combine.ll
Log Message:
-----------
[InstCombine] Simplify nonnull pointers (#128111)
This patch is the follow-up of
https://github.com/llvm/llvm-project/pull/127979. It introduces a helper
`simplifyNonNullOperand` to avoid duplicate logic. It also addresses the
one-use issue in `visitLoadInst`, as discussed in
https://github.com/llvm/llvm-project/pull/127979#issuecomment-2671013972.
The `nonnull` attribute is also supported. Proof:
https://alive2.llvm.org/ce/z/MCKgT9
Commit: 876174ffd7533dc220f94721173bb767b659fa7f
https://github.com/llvm/llvm-project/commit/876174ffd7533dc220f94721173bb767b659fa7f
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Test for ephemeral nonnull load. (NFC)
Commit: bac4171073399352e5bd0ba541820e2a9b3f37d7
https://github.com/llvm/llvm-project/commit/bac4171073399352e5bd0ba541820e2a9b3f37d7
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/Headers/intrin.h
A clang/test/Headers/no-xend.cpp
Log Message:
-----------
Remove xbegin and _xend (#126952)
`intrin.h` contains declarations for both `xbegin` and `_xend`, but they
should already be included transitively from `rtmintrin.h` via
`immintrin.h` and/or `x86intrin.h`. Having them in both places causes
problems if both headers are included.
Furthermore, the `intrin.h` declaration of `xbegin` seems to be bugged
anyway, since it's missing its leading underscore.
Fixes #95133
Commit: f4e8f6da41a5ca3e03808d86bce0bcde339b9414
https://github.com/llvm/llvm-project/commit/f4e8f6da41a5ca3e03808d86bce0bcde339b9414
Author: cooperp <peter_cooper at apple.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
Log Message:
-----------
[Reassociate] Use a reference to DataLayout instead of copying the underlying string data (NFC) (#128269)
I noticed this when looking at all allocations by clang. For a medium
sized file this was around 6000 calls to operator new, although i
suspect there were more allocations in total as the SmallVectors in
DataLayout may have their own allocations in some cases.
In a follow-up i'm tempted to make the DataLayout copy constructor
private, to avoid this in future. There are a few tests which copy the
DataLayout, and perhaps need to (I didn't check yet), but we could
provide a clone() method for them if needed. Its only accidental copying
I think we should consider avoiding, not people who really do need to
copy it for reasons.
Commit: f0088ee87cecfb442921251b4a70f96cf3474a15
https://github.com/llvm/llvm-project/commit/f0088ee87cecfb442921251b4a70f96cf3474a15
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
Log Message:
-----------
[analyzer] Delay the checker constructions after parsing (#127409)
If we were to delay checker constructions after we have a filled
ASTContext, then we could get rid of a bunch of "lazy initializers" in
checkers.
Turns out in the register functions of the checkers we could transfer
the ASTContext and all other things to checkers, so those could benefit
from in-class initializers and const fields.
For example, if a checker would take the ASTContext as the first field,
then the rest of the fields could use it in their in-class initializers,
so the ctor of the checker would only need to set a single field!
This would open uup countless opportunities for cleaning up the
asthetics of our checkers.
I attached a single use-case for the AST and the PP as demonstrating
purposes. You can imagine the rest.
**FYI: This may be a breaking change** to some downstream users that may
had some means to attach different listeners and what not to e.g. the
Preprocessor inside their checker register functions. Since we delay the
calls to these register fns after parsing is already done, they would of
course miss the parsing Preprocessor events.
Commit: 8f7e34b0af5f15219b9369f6430fc091dbadff6c
https://github.com/llvm/llvm-project/commit/8f7e34b0af5f15219b9369f6430fc091dbadff6c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
Log Message:
-----------
[clang-offload-packager] Avoid repeated hash lookups (NFC) (#128297)
Commit: 7c7e11b0fd9688da723f8abd008e8f27da638a1e
https://github.com/llvm/llvm-project/commit/7c7e11b0fd9688da723f8abd008e8f27da638a1e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#128298)
Commit: 94b810661a39b19f952a4e218085bc2fe67e46b3
https://github.com/llvm/llvm-project/commit/94b810661a39b19f952a4e218085bc2fe67e46b3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128301)
Commit: 48bccee6b3aceaed79df9e83e8226e53cd340488
https://github.com/llvm/llvm-project/commit/48bccee6b3aceaed79df9e83e8226e53cd340488
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#128302)
Commit: 3747ba48477a9592979fed0cd6bdcf29235eacbc
https://github.com/llvm/llvm-project/commit/3747ba48477a9592979fed0cd6bdcf29235eacbc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#128303)
Commit: b09dfbd6995bf83ce9546807ccc285c6d957f6db
https://github.com/llvm/llvm-project/commit/b09dfbd6995bf83ce9546807ccc285c6d957f6db
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Add support for x86_64 archives on ARM64X (#128241)
If the ECSYMBOLS section is missing in the archive, the archive could be
either a native-only ARM64 or x86_64 archive. Check the machine type of
the object containing a symbol to determine which symbol table to use.
Commit: 48a6df36040d59a4807b0fa9ac46c343900e5225
https://github.com/llvm/llvm-project/commit/48a6df36040d59a4807b0fa9ac46c343900e5225
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
Reapply "[Utils] Consolidate `LockstepReverseIterator` into own header (NFC)"
Common code has been unified and generalized.
Original commit: 123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af
Previously reverted due to accidentally merged incompletely. The issue has
been addressed by restoring missing code.
Commit: 34172bba115d3d65f7a2df245a4d82024090bc0c
https://github.com/llvm/llvm-project/commit/34172bba115d3d65f7a2df245a4d82024090bc0c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#128300)
Commit: 93b263a01cf898e609d3896edd0ce95789491bcd
https://github.com/llvm/llvm-project/commit/93b263a01cf898e609d3896edd0ce95789491bcd
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Drop unused `LockstepReverseIterator` class (NFC)
Unmaintained code has been removed.
Commit: 26afa2deea1240febccaa635eed50db097a7fac1
https://github.com/llvm/llvm-project/commit/26afa2deea1240febccaa635eed50db097a7fac1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Create VPInstructions after setting preds in HCFG builder (NFC)
Set VPBBs predecessors before creating VPInstructions, as setting
incoming values for non-header phis directly there will require
predecessors to be available.
Commit: db836edf47f36ed04cab919a7a2c4414f4d0d7e6
https://github.com/llvm/llvm-project/commit/db836edf47f36ed04cab919a7a2c4414f4d0d7e6
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
Log Message:
-----------
Revert "[analyzer] Delay the checker constructions after parsing" (#128350)
Reverts llvm/llvm-project#127409
This caused a test failure:
LLVM Buildbot has detected a new failure on builder
`sanitizer-aarch64-linux-bootstrap-hwasan` running on
`sanitizer-buildbot11` while building `clang` at step 2 "annotate".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/55/builds/7431
<details>
<summary>Here is the relevant piece of the build log for the
reference</summary>
```
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 86643 tests, 72 workers --
Testing:
FAIL: Clang :: Analysis/cxx11-crashes.cpp (1006 of 86643)
******************** TEST 'Clang :: Analysis/cxx11-crashes.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/cxx11-crashes.cpp.script: line 1: 1936960 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
--
********************
Testing:
FAIL: Clang :: Analysis/stack-block-returned.cpp (1505 of 86643)
******************** TEST 'Clang :: Analysis/stack-block-returned.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/stack-block-returned.cpp.script: line 1: 1940139 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
59.70s: Clang :: Driver/fsanitize.c
48.34s: Clang :: Preprocessor/riscv-target-features.c
41.66s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
40.68s: Clang :: OpenMP/target_update_codegen.cpp
39.21s: Clang :: Driver/arm-cortex-cpus-2.c
38.19s: Clang :: Driver/arm-cortex-cpus-1.c
36.55s: Clang :: Preprocessor/arm-target-features.c
Step 11 (stage2/hwasan check) failure: stage2/hwasan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 86643 tests, 72 workers --
Testing:
FAIL: Clang :: Analysis/cxx11-crashes.cpp (1006 of 86643)
******************** TEST 'Clang :: Analysis/cxx11-crashes.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/cxx11-crashes.cpp.script: line 1: 1936960 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
--
********************
Testing:
FAIL: Clang :: Analysis/stack-block-returned.cpp (1505 of 86643)
******************** TEST 'Clang :: Analysis/stack-block-returned.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/stack-block-returned.cpp.script: line 1: 1940139 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
59.70s: Clang :: Driver/fsanitize.c
48.34s: Clang :: Preprocessor/riscv-target-features.c
41.66s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
40.68s: Clang :: OpenMP/target_update_codegen.cpp
39.21s: Clang :: Driver/arm-cortex-cpus-2.c
38.19s: Clang :: Driver/arm-cortex-cpus-1.c
36.55s: Clang :: Preprocessor/arm-target-features.c
```
</details>
Commit: 8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a
https://github.com/llvm/llvm-project/commit/8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
Log Message:
-----------
[mlir][vector] Skip uniform vectorization for non scalar type (#128294)
Commit: f5d153ef26a9a206ab6eb4307de24c16b600c0d9
https://github.com/llvm/llvm-project/commit/f5d153ef26a9a206ab6eb4307de24c16b600c0d9
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/ARM/fold-binop-of-reductions.ll
M llvm/test/Transforms/VectorCombine/fold-binop-of-reductions.ll
Log Message:
-----------
[VectorCombine] Fold binary op of reductions. (#121567)
Replace binary of of two reductions with one reduction of the binary op
applied to vectors. For example:
```
%v0_red = tail call i32 @llvm.vector.reduce.add.v16i32(<16 x i32> %v0)
%v1_red = tail call i32 @llvm.vector.reduce.add.v16i32(<16 x i32> %v1)
%res = add i32 %v0_red, %v1_red
```
gets transformed to:
```
%1 = add <16 x i32> %v0, %v1
%res = call i32 @llvm.vector.reduce.add.v16i32(<16 x i32> %1)
```
Commit: b74413bf91bd57877e47aa3e58c4c3d6f64d2ebe
https://github.com/llvm/llvm-project/commit/b74413bf91bd57877e47aa3e58c4c3d6f64d2ebe
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Use VPSingleDef instead of VPValue in HCFG builder (NFC).
Use VPSingleDef to remove unneeded casts to a recipe type.
Commit: c0d140353ec9e99371df54ae61d2aa0f304e043d
https://github.com/llvm/llvm-project/commit/c0d140353ec9e99371df54ae61d2aa0f304e043d
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libcxx/docs/index.rst
Log Message:
-----------
[libc++][docs][NFC] Update supported OpenXL version (#127072)
According to the documentation:
The base LLVM version was changed between minor versions:
- 17.1.2 is based on LLVM17
- 17.1.3 is based on LLVM19
https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.2?topic=whats-new
https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.3?topic=whats-new
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: cbd3801acfa4ace50df8d0eba275fc3bd6d3f1ac
https://github.com/llvm/llvm-project/commit/cbd3801acfa4ace50df8d0eba275fc3bd6d3f1ac
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.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/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/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer] Allow overriding Unknown memspaces using a ProgramState trait (#123003)
In general, if we see an allocation, we associate the immutable memory
space with the constructed memory region.
This works fine if we see the allocation.
However, with symbolic regions it's not great because there we don't
know anything about their memory spaces, thus put them into the Unknown
space.
The unfortunate consequence is that once we learn about some aliasing
with this Symbolic Region, we can't change the memory space to the
deduced one.
In this patch, we open up the memory spaces as a trait, basically
allowing associating a better memory space with a memregion that
was created with the Unknown memory space.
As a side effect, this means that now queriing the memory space of a
region depends on the State, but many places in the analyzer, such as
the Store, doesn't have (and cannot have) access to the State by design.
This means that some uses must solely rely on the memspaces of the
region, but any other users should use the getter taking a State.
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: e23ab73335c857d1a4c6e695cb25a5cffb1329c6
https://github.com/llvm/llvm-project/commit/e23ab73335c857d1a4c6e695cb25a5cffb1329c6
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
A llvm/test/CodeGen/RISCV/rvv/vl-opt-evl-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
Log Message:
-----------
[VPlan] Don't convert widen recipes to VP intrinsics in EVL transform (#127180)
This is a copy of #126177, since it was automatically and permanently
closed because I messed up the source branch on my remote
This patch proposes to avoid converting widening recipes to VP
intrinsics during the EVL transform.
IIUC we initially did this to avoid `vl` toggles on RISC-V. However we
now have the RISCVVLOptimizer pass which mostly makes this redundant.
Emitting regular IR instead of VP intrinsics allows more generic
optimisations, both in the middle end and DAGCombiner, and we generally
have better patterns in the RISC-V backend for non-VP nodes. Sticking to
regular IR instructions is likely a lot less work than reimplementing
all of these optimisations for VP intrinsics, and on SPEC CPU 2017 we get
noticeably better code generation.
Commit: 4e44bd027bf4e490380be770172994561616bd2d
https://github.com/llvm/llvm-project/commit/4e44bd027bf4e490380be770172994561616bd2d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/test/IR/invalid.mlir
Log Message:
-----------
[mlir][Parser] Fix crash after block parsing failure (#128011)
Fix a crash when parsing malformed block that defines values that
preceding operations refer to (which would be a dominance error).
Previously: Producer multiple error messages and then crashes as
follows:
```
LLVM ERROR: operation destroyed but still has uses
```
Now: Report an error that the block is malformed. No crash.
Commit: 7981c2997c370c6f1b2c9de3d6364e9121136f20
https://github.com/llvm/llvm-project/commit/7981c2997c370c6f1b2c9de3d6364e9121136f20
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/lib/Headers/lzcntintrin.h
M clang/test/CodeGen/X86/lzcnt-builtins.c
Log Message:
-----------
[X86] Allow using the lzcnt intrinsics for non-LZCNT targets (#128284)
Similar to D14748, we can relax lzcnt intrinsics too, especially with
improved BSR lowering by #123623
Commit: fa64a210b801352a9f164759be3cd33e9928365a
https://github.com/llvm/llvm-project/commit/fa64a210b801352a9f164759be3cd33e9928365a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
A llvm/test/CodeGen/X86/vector-llrint-f16.ll
A llvm/test/CodeGen/X86/vector-lrint-f16.ll
Log Message:
-----------
[X86][FP16] Adding lowerings for FP16 ISD::LRINT and ISD::LLRINT (#127382)
Address comment in #126477
Commit: 268853e5689b0e6630cdd672b03813f113266c48
https://github.com/llvm/llvm-project/commit/268853e5689b0e6630cdd672b03813f113266c48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/cmake/caches/NVPTX.cmake
Log Message:
-----------
[libcxx] Enable localization for the GPU in the config files (#128224)
Summary:
After adding `strftime` in the LLVM `libc` build we can turn this on.
Commit: 9d6f2647ded4c72b82ab329cffce11b9e7cccafa
https://github.com/llvm/llvm-project/commit/9d6f2647ded4c72b82ab329cffce11b9e7cccafa
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
Log Message:
-----------
[MemProf] Print internal context id when reporting bytes hinted (#128188)
During the whole program reporting of contexts when hinted byte
reporting is enabled via -memprof-report-hinted-sizes, also print the
internal context id. This is useful for debugging, as well as for
guiding the dot file dumping with some upcoming changes that will
accept a context id to focus the graph on a context of interest.
Commit: eb9215739930cdffde4201a9be42a788ea46c63f
https://github.com/llvm/llvm-project/commit/eb9215739930cdffde4201a9be42a788ea46c63f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/dot.ll
Log Message:
-----------
[MemProf] Add ability to export or highlight only a portion of graph (#128255)
To simplify debugging and analysis, particularly for very large
applications with large graphs, this patch adds support for either
highlighting a single context id or allocation's context ids, and/or
only exporting the nodes/edges for a single context id or allocation's
context ids. When highlighting, the specified nodes and edges are a
brighter color and larger.
This can be controlled by the new -memprof-dot-scope={all,alloc,context}
flag which controls how much to export, along with two companion flags:
-memprof-dot-alloc-id=ID
-memprof-dot-context-id=ID
These two are interpreted differently depending on the value of
-memprof-dot-scope (where "all" is the default).
If exporting all, one of the above flags can optionally be passed to
highlight the nodes/edges for the given context id or allocation's
context ids.
If exporting alloc scope, an alloc id must be provided. A context id can
optionally be provided to highlight that context.
If exporting context scope, a context id must be provided.
The ids to use can be obtained either by looking at the full graph, or a
context id can be identified from the -memprof-report-hinted-sizes
output after PR128188 is merged.
Commit: 31824b2a11a8aa3e1d5c699cd0786ad666999abf
https://github.com/llvm/llvm-project/commit/31824b2a11a8aa3e1d5c699cd0786ad666999abf
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/support/increasing_allocator.h
Log Message:
-----------
[libc++] Fix shrink_to_fit to swap buffer only when capacity is strictly smaller (#127321)
The current implementation of the `shrink_to_fit()` function of
`basic_string` swaps to the newly allocated buffer when the new buffer
has the same capacity as the existing one. While this is not incorrect,
it is truly unnecessary to swap to an equally-sized buffer. With equal
capacity, we should keep using the existing buffer and simply deallocate
the new one, avoiding the extra work of copying elements.
The desired behavior was documented in the following comment within the
function:
https://github.com/llvm/llvm-project/blob/61ad08792a86e62309b982189a600f4342a38d91/libcxx/include/string#L3560-L3566
However, the existing implementation did not exactly conform to this
guideline, which is a QoI matter.
This PR modifies the `shrink_to_fit()` function to ensure that the
buffer is only swapped when the new allocation is strictly smaller than
the existing one. When the capacities are equal, the new buffer will be
discarded without copying the elements. This is achieved by including
the `==` check in the above conditional logic.
Commit: 91c0aa5c1038ea9f4b1565b2f9894d5e8b10e85a
https://github.com/llvm/llvm-project/commit/91c0aa5c1038ea9f4b1565b2f9894d5e8b10e85a
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
Log Message:
-----------
[mlir][tensor][nfc] Clarify comments for `createPadHighOp`
While reviewing this code, I realised that the rationale behind the
assert was not very clear, so I updated the comments to clarify it.
Relaxing the assert (i.e., allowing `resType.getNumDynamicDims() !=
dynOutDims.size()`) would require generating a mapping between
`dynOutDims` and the dynamic dimensions of the output tensor. At the
moment, this additional complexity is unnecessary.
To minimize PR noise, I am submitting this without a review. However,
please ping me if you believe this or similar changes should be reviewed
before merging.
Commit: e21a1737f3523488a04169096fa27d0914a142a7
https://github.com/llvm/llvm-project/commit/e21a1737f3523488a04169096fa27d0914a142a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineBROADCAST_LOAD - merge across chains (#128209)
Remove the restriction when reusing wider BROADCAST_LOAD nodes that both nodes couldn't have uses of their load chains - use makeEquivalentMemoryOrdering to merge the chains instead.
Commit: ae28a375d0d700ea73052828f5d7fbbb5f5159b2
https://github.com/llvm/llvm-project/commit/ae28a375d0d700ea73052828f5d7fbbb5f5159b2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M lldb/source/Commands/CommandObjectProcess.cpp
Log Message:
-----------
[lldb] Document <run-args> behavior in process launch help (#128215)
Commit: bb6a273d9ab9ee90dbb957e541f4d810fffb22ee
https://github.com/llvm/llvm-project/commit/bb6a273d9ab9ee90dbb957e541f4d810fffb22ee
Author: Jordan R AW <ajordanr at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M lldb/cmake/modules/FindCursesAndPanel.cmake
Log Message:
-----------
[lldb] Fix manual CURSES_LIBRARIES tinfo finding (#128245)
Commit: 30f44c96277e9d68926b9d6e27f232da6302c955
https://github.com/llvm/llvm-project/commit/30f44c96277e9d68926b9d6e27f232da6302c955
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Set values for non-header phis at construction. (NFC)
Update HCFG builder to set the incoming values directly at construction
for non-header phis.
Simplification/clarification as suggested independently in
https://github.com/llvm/llvm-project/pull/126388.
Commit: 62c78919c678915936fcc08212b02db23738dd4d
https://github.com/llvm/llvm-project/commit/62c78919c678915936fcc08212b02db23738dd4d
Author: ur4t <ur4t at protonmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[CMake] Fix some breakages when using ninja multi config (#65451)
When using multi-config generator to build `libLLVM.so` like `cmake -G
'Ninja Multi-Config' -Sllvm -B/tmp/out/ninja-multi
-DCMAKE_CONFIGURATION_TYPES='Debug;Release' -DLLVM_LINK_LLVM_DYLIB=on
-DLLVM_TARGETS_TO_BUILD=host && cmake --build /tmp/out/ninja-multi
--config Debug`, `lld` complains `error: cannot find version script
/tmp/out/ninja-multi/Debug/lib/tools/llvm-shlib/simple_version_script.map`.
This patch adds multi-config compatibility when configuring
`simple_version_script.map`.
Fixes #63800.
When using multi-config generator, clang's headers is not copied to
proper directories, which is fixed as well.
Commit: 9e8d11d2df1476eeb56f00da21448c1f8d8d565c
https://github.com/llvm/llvm-project/commit/9e8d11d2df1476eeb56f00da21448c1f8d8d565c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/v8i1-masks.ll
Log Message:
-----------
[X86] Check that the type is integer before calling isUnsignedIntSetCC in combineExtSetcc. (#128263)
SETULT can be an unsigned less than integer compare or a unordered less
than FP compare. We need to check the VT to distinguish them.
Fixes on of the issues from #128237.
Commit: b9e25f65a83ee1cd955e15be487a546fa1baa7f4
https://github.com/llvm/llvm-project/commit/b9e25f65a83ee1cd955e15be487a546fa1baa7f4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Name Premerge Jobs Experimental (#128227)
As discussed on Discourse
(https://discourse.llvm.org/t/googles-plan-for-the-llvm-presubmit-infrastructure/78940/8),
this patch renames the premerge jobs to include experimental in them to
hopefully better signal that these are still a prototype. This patch
does not mark the MacOS job as experimental as that is being used in
production on the release branch.
Commit: 559cb6ba631367f98728f3a29d0849618eadd1cb
https://github.com/llvm/llvm-project/commit/559cb6ba631367f98728f3a29d0849618eadd1cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Fix scanf dependencies on the GPU build
Summary:
The GPU build doesn't have `file` as a struct but does use these
targets. We need to add an escape for this.
Commit: 7e10b6f175775a2e209bc36bc4f89d3e47d8374a
https://github.com/llvm/llvm-project/commit/7e10b6f175775a2e209bc36bc4f89d3e47d8374a
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
A mlir/test/Dialect/Linalg/decompose-pack-tile.mlir
A mlir/test/Dialect/Linalg/decompose-pack.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-pack-tile.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/decompose-unpack-tile.mlir
A mlir/test/Dialect/Linalg/decompose-unpack.mlir
Log Message:
-----------
[mlir][linalg][nfc] Rename test files for linalg.{un}pack
Following on from #123902, removes "tensor" from test file names for
`linalg.pack` and `linalg.unpack` (which prior to #123902 were Tensor
dialect Ops).
To minimize PR noise, I am submitting this without a review. However,
please ping me if you believe this or similar changes should be reviewed
before merging.
Commit: 75bb25b682527f7ebb4818502625cee8b36d2d46
https://github.com/llvm/llvm-project/commit/75bb25b682527f7ebb4818502625cee8b36d2d46
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
Log Message:
-----------
[Xtensa] Use asMCReg after #128095
Commit: f404047ab2ab7fc4755374692bb1159827e887f2
https://github.com/llvm/llvm-project/commit/f404047ab2ab7fc4755374692bb1159827e887f2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
Log Message:
-----------
[DirectX][OpLowering] Simplify named struct handling (#128247)
This removes "replaceFunctionWithNamedStructOp" and folds its
functionality into "replaceFunctionWithOp". It turns out we were
overcomplicating things and this is trivial to handle generically.
Fixes #113192
Commit: 6db96c9ecc781c742f546d2863632d44e9c9b435
https://github.com/llvm/llvm-project/commit/6db96c9ecc781c742f546d2863632d44e9c9b435
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Always reject ctors of invalid parent decls (#128295)
The copy constructor of an invalid declaration might still be perfectly
valid, but we still need to reject it.
Commit: d2616cc3926ec0ac73ec547e04b64e045035bd3c
https://github.com/llvm/llvm-project/commit/d2616cc3926ec0ac73ec547e04b64e045035bd3c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
Log Message:
-----------
[analyzer] Fix use after scope after #123003 (#128372)
In #123003 make_first_range was applied to temporarily.
Commit: 0859df4e42ba742b41827ae1a653a8eb2f2674d3
https://github.com/llvm/llvm-project/commit/0859df4e42ba742b41827ae1a653a8eb2f2674d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Use operands from initial VPInstructions directly (NFC).
Use operands from VPInstructions directly during recipe creation.
Follow-up as discussed and planned after
https://github.com/llvm/llvm-project/pull/124432.
Commit: 9b7bf1fdd3e7727cdde7ca5bb2f95a8f4f26471c
https://github.com/llvm/llvm-project/commit/9b7bf1fdd3e7727cdde7ca5bb2f95a8f4f26471c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Set the SEW field in the VPseudoTiedBinaryRoundingMode.
Noticed some oddities in the InversePseudo table. TIED pseudos are
in there but sorted differently than their non-TIED version. I think
we always check non-zero SEW first which should hit the non-tied version.
I'm working on a larger patch to remove _MASK and _TIED from the
InversePseudo table.
Commit: f5f55ade3aa7d793f04aaf94f7d7e89aab97f301
https://github.com/llvm/llvm-project/commit/f5f55ade3aa7d793f04aaf94f7d7e89aab97f301
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Common a check in getShufleCost [nfc]
None of the vector costings apply if we're scalarizing. Pull that check
into an early guard instead.
Commit: a7d578dcce30345e343cba32beb44e573a753cb0
https://github.com/llvm/llvm-project/commit/a7d578dcce30345e343cba32beb44e573a753cb0
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Avoid complicated fallthrough in getShuffleCost [nfc]
Just making the control flow easier to follow.
Commit: bac6e7b65178181a3af17020840604d5e9e13178
https://github.com/llvm/llvm-project/commit/bac6e7b65178181a3af17020840604d5e9e13178
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOpt] Put vmclr/vmset back in the RISCVVPseudo table. (#128293)
This allows them to be supported by the VLOptimizer.
Commit: 50b0669e8468279518ae0be27c8b6a134c4d95d1
https://github.com/llvm/llvm-project/commit/50b0669e8468279518ae0be27c8b6a134c4d95d1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[X86] combineBROADCAST_LOAD - merge across chains" (#128380)
Reverts llvm/llvm-project#128209
Introduces "AddressSanitizer: use-after-poison".
Commit: 6fe780ce63acf947826289e4a7e0ecbe91cbf4ed
https://github.com/llvm/llvm-project/commit/6fe780ce63acf947826289e4a7e0ecbe91cbf4ed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAllocGreedy] Use Register() instead of 0 for invalid Register. NFC
Commit: 0bd66c4194d0f30bd07bca35127686f5946256e4
https://github.com/llvm/llvm-project/commit/0bd66c4194d0f30bd07bca35127686f5946256e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAllocGreedy] Remove unnecessary conversion from MCRegister to Register. NFC
Commit: 6e611264c6d7e6dd5f746360a74f8edf656dbf32
https://github.com/llvm/llvm-project/commit/6e611264c6d7e6dd5f746360a74f8edf656dbf32
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir] AMDGPUToROCDL: handle 1-element vectors (#128266)
Buffer intrinsics doesn't support 1-element vectors, cast them to
scalars.
Commit: ccad5e77442f7f237939395ebce1ae7adf187380
https://github.com/llvm/llvm-project/commit/ccad5e77442f7f237939395ebce1ae7adf187380
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers-assertion-after-ra-failure.xfail.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
Log Message:
-----------
AMDGPU: Respect amdgpu-no-agpr in functions and with calls (#128147)
Remove the MIR scan to detect whether AGPRs are used or not,
and the special case for callable functions. This behavior was
confusing, and not overridable. The amdgpu-no-agpr attribute was
intended to avoid this imprecise heuristic for how many AGPRs to
allocate. It was also too confusing to make this interact with
the pending amdgpu-num-agpr replacement for amdgpu-no-agpr.
Also adds an xfail-ish test where the register allocator asserts
after allocation fails which I ran into.
Future work should reintroduce a more refined MIR scan to estimate
AGPR pressure for how to split AGPRs and VGPRs.
Commit: dbd219aef4be56754c793589c60bd787b7de60c2
https://github.com/llvm/llvm-project/commit/dbd219aef4be56754c793589c60bd787b7de60c2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-i64-trunc-srl-add.ll
Log Message:
-----------
[DAGCombiner][X86] Correctly clean up high bits in `combinei64TruncSrlAdd` (#128353)
A counterexample for original implementation:
https://alive2.llvm.org/ce/z/7ieYLg
This patch uses zext instead of anyext to fix the original issue.
BTW, we should keep low `64 - shamt` bits instead of `shamt - 32`:
https://alive2.llvm.org/ce/z/ruQP_Z
Some codes are simplified to avoid confusion.
Proof: https://alive2.llvm.org/ce/z/z_jdHD
Closes https://github.com/llvm/llvm-project/issues/128309.
Commit: 0963f0d6459c50f3dc7e4628b3b1160fd6c2fa92
https://github.com/llvm/llvm-project/commit/0963f0d6459c50f3dc7e4628b3b1160fd6c2fa92
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#128393)
Commit: a26fd0b75f3c277b1b546a1191d8565c53ea644a
https://github.com/llvm/llvm-project/commit/a26fd0b75f3c277b1b546a1191d8565c53ea644a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
Log Message:
-----------
[LivePhysReg] Fix off by 1 error in an assert. NFC (#128379)
Reg should not be equal to the number of registers.
Commit: 57b445862db120b4b954ae34fcdca80859d03c36
https://github.com/llvm/llvm-project/commit/57b445862db120b4b954ae34fcdca80859d03c36
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegUnits.h
Log Message:
-----------
[LiveRegUnits] Use MCRegister instead of MCPhysReg in interface. NFC (#128232)
Commit: 228dbd254a5addeaa638b23e2e7a63ba4efc763e
https://github.com/llvm/llvm-project/commit/228dbd254a5addeaa638b23e2e7a63ba4efc763e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
Log Message:
-----------
[RegAllocGreedy] Use MCRegister instead of Register for functions that return a physical register.
The callers of these functions return the value as an MCRegister
so this removes some casts from Register to MCRegister.
Commit: b38d4720557846a720ab605fcf158a078ba22df0
https://github.com/llvm/llvm-project/commit/b38d4720557846a720ab605fcf158a078ba22df0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
Log Message:
-----------
[ARM] Prevent converting a virtual register to MCRegister. NFC
Commit: 4efad490af2b96af58fc84f7562c9e643b6a160e
https://github.com/llvm/llvm-project/commit/4efad490af2b96af58fc84f7562c9e643b6a160e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
Log Message:
-----------
[WebAssembly] Use Register instead of unsigned. NFC
Commit: 21939c4c2eb51a0561e8c22c77073e762b722133
https://github.com/llvm/llvm-project/commit/21939c4c2eb51a0561e8c22c77073e762b722133
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
Log Message:
-----------
[ORC] Fix type name in comments. NFC.
Commit: 33f2686beda0a5e677eb0e4c386e5f72b8c2573c
https://github.com/llvm/llvm-project/commit/33f2686beda0a5e677eb0e4c386e5f72b8c2573c
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Only use candidate library extensions during library search.
While processing library link options that check search paths (-lx, -hidden-lx,
etc.) we shouldn't generate candidate paths with extensions that are invalid
for the option being visited (e.g. -hidden-lx only applies to archives, so we
shouldn't generate candidates with `.so` extensions).
Note: Candidate extensions should probably be further filtered based on the OS
of the executing process. This patch is a step in the right direction though.
Commit: 8ff4d27fe6b32ea1a127758c121cc2a980439833
https://github.com/llvm/llvm-project/commit/8ff4d27fe6b32ea1a127758c121cc2a980439833
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
Log Message:
-----------
[MLIR][Affine] NFC. Fix outdated comment in affine analysis utils (#128406)
Commit: 0968df9c3a5562f6a8d9f7948065848f3a273b81
https://github.com/llvm/llvm-project/commit/0968df9c3a5562f6a8d9f7948065848f3a273b81
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add the C language instead of treating it like C++ (#128287)
Closes #128120
Commit: 2ff3b18554b115b17d5085b9a4cd779eeafd278a
https://github.com/llvm/llvm-project/commit/2ff3b18554b115b17d5085b9a4cd779eeafd278a
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
Log Message:
-----------
Allow option to ignore module load errors in ScriptedProcess (#127153)
Current state in scripted process expects [all the
modules](https://github.com/llvm/llvm-project/blob/912b154f3a3f8c3cebf5cc5731fd8b0749762da5/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp#L498)
passed into "get_loaded_images" to load successfully else none of them
load. Even if a module loads fine, [but has already been
appended](https://github.com/llvm/llvm-project/blob/912b154f3a3f8c3cebf5cc5731fd8b0749762da5/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp#L495)
it still fails. This is restrictive and does not help our usecase.
**Usecase**: We have a parent scripted process using coredump +
tombstone.
1) Scripted process uses child elf-core process to read memory dump
2) Uses tombstones to pass thread names and modules.
We do not know whether the modules will be successfully downloaded
before creating the scripted process. We use [python module
callbacks](https://github.com/llvm/llvm-project/blob/a57e58dbfaae0e86eb5cafeddf8b598f14b96e36/lldb/source/Target/Platform.cpp#L1593)
to download a module from symbol server at LLDB load time when the
scripted process is being created. The issue is that if one of the
symbol is not found from the list specified in tombstone, none of the
modules load in scripted process. Even if we ensure symbols are present
in symbol server before creating the scripted process, if the load
address is wrong or if the module is already appended, all module loads
are skipped.
**Solution**: Pass in a custom boolean option arg for every module from
python scripted process plugin which will indicate whether to ignore the
module load error. This will provide the flexibility to user for loading
the successfully fetched modules into target while ignoring the failed
ones
---------
Co-authored-by: rchamala <rachamal at fb.com>
Commit: b0d1c51a1778120fb6b5871202333fcd873a6d70
https://github.com/llvm/llvm-project/commit/b0d1c51a1778120fb6b5871202333fcd873a6d70
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128395)
Commit: 9dd8c1444371c2df39b882ab6962b225f08be1ea
https://github.com/llvm/llvm-project/commit/9dd8c1444371c2df39b882ab6962b225f08be1ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
Log Message:
-----------
[IR] Avoid repeated map lookups (NFC) (#128396)
Commit: fb19bddbc5d55d80785709303df8d950a527f6e9
https://github.com/llvm/llvm-project/commit/fb19bddbc5d55d80785709303df8d950a527f6e9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#128398)
Commit: 929d70a38dadce82a48261d562784d53d286354f
https://github.com/llvm/llvm-project/commit/929d70a38dadce82a48261d562784d53d286354f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
Log Message:
-----------
[llvm-jitlink] Avoid repeated hash lookups (NFC) (#128399)
Commit: a8fb2d0c1c0d7fd719dd8078bc1c52214298ace1
https://github.com/llvm/llvm-project/commit/a8fb2d0c1c0d7fd719dd8078bc1c52214298ace1
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] adding unlink/unlinkat interception. (#128292)
Commit: 2ebc69a52120e62826b924874a560c5620f39934
https://github.com/llvm/llvm-project/commit/2ebc69a52120e62826b924874a560c5620f39934
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/nonnull-select.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/PhaseOrdering/memset-combine.ll
Log Message:
-----------
[InstCombine] Add support for GEPs in `simplifyNonNullOperand` (#128365)
Alive2: https://alive2.llvm.org/ce/z/2KE8zG
Commit: 96c723374a28c0f81e4a9512a48b784db0bf4cd0
https://github.com/llvm/llvm-project/commit/96c723374a28c0f81e4a9512a48b784db0bf4cd0
Author: Yeaseen <yeaseen.arafat96 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-early-ifcvt.ll
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/X86/mbp-false-cfg-break.ll
M llvm/test/CodeGen/X86/misched-aa-mmos.ll
M llvm/test/CodeGen/X86/multiple-loop-post-inc.ll
M llvm/test/CodeGen/X86/phi-bit-propagation.ll
M llvm/test/CodeGen/X86/pr18846.ll
M llvm/test/CodeGen/X86/remat-fold-load.ll
M llvm/test/CodeGen/X86/selectiondag-cse.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcall-ssp-split-debug.ll
M llvm/test/CodeGen/X86/taildup-crash.ll
M llvm/test/CodeGen/X86/vaargs-prolog-insert.ll
Log Message:
-----------
[llvm] Remove `br i1 undef` from some `llvm/test/CodeGen` tests (#128272)
Commit: 2071ea24a27c7009feac699e3e70ee50f185134f
https://github.com/llvm/llvm-project/commit/2071ea24a27c7009feac699e3e70ee50f185134f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
A llvm/test/Transforms/CorrelatedValuePropagation/loop.ll
M llvm/test/Transforms/JumpThreading/ddt-crash.ll
Log Message:
-----------
[LVI] Skip self loops in `solveBlockValueNonLocal` (#127763)
We cannot infer more information from backedges in
`solveBlockValueNonLocal`. However, since DT is unavailable in LVI,
there is not a precise way to check whether a BB edge is a backedge.
This patch only skips self loops to unblock the range analysis.
The motivating case is extracted from
https://github.com/llvm/llvm-project/pull/127663.
Compile-time impact is high:
https://llvm-compile-time-tracker.com/compare.php?from=84ddda58c870681dd12ed765e9d59d5e00567f94&to=af032f1351358f2f5b5d9f4e87c5601c23b9bd37&stat=instructions:u
Commit: c38befd94ffe84e7d0d01ae9af10e32319f3ef12
https://github.com/llvm/llvm-project/commit/c38befd94ffe84e7d0d01ae9af10e32319f3ef12
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix delete[] dtor order (#128411)
As always, call array dtors in reverse order.
Commit: 0f8769086e8eec684559eaceccf0cbe8e9a11bc0
https://github.com/llvm/llvm-project/commit/0f8769086e8eec684559eaceccf0cbe8e9a11bc0
Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
Log Message:
-----------
[clang-tidy][NFC][docs] Use single tick for 'false' and 'true' values in options (#128362)
Unify doc style for options that use `true` or `false` as default
values.
Commit: 8102fec00bb90969eee1c2160829866aa5c8a32f
https://github.com/llvm/llvm-project/commit/8102fec00bb90969eee1c2160829866aa5c8a32f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Reject calls to pure virtual functions (#128412)
Commit: b72bbfc293f40380f08198ef344f032126e838e1
https://github.com/llvm/llvm-project/commit/b72bbfc293f40380f08198ef344f032126e838e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Remove fixHeaderPhis (NFC).
Removes unneeded code after https://github.com/llvm/llvm-project/pull/124432.
Commit: 06cc9681b00807fd66a504b85689ddf39082d816
https://github.com/llvm/llvm-project/commit/06cc9681b00807fd66a504b85689ddf39082d816
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 2ff3b18554b115b17d5085b9a4cd779eeafd278a
Commit: 9e82ee5274ece4f0638bc665fbb418d730a16d0a
https://github.com/llvm/llvm-project/commit/9e82ee5274ece4f0638bc665fbb418d730a16d0a
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/ErrorOr.h
M llvm/include/llvm/Support/TrailingObjects.h
Log Message:
-----------
[Support] Remove AlignedCharArrayUnion from Expected and ErrorOr, NFCI. (#127407)
They were instantiated with only a single type and union-members
themselves. By putting the types directly into a union, they are still
left uninitialized by default.
Commit: 72791fef6d6c84b72cb961b288b25283bea97310
https://github.com/llvm/llvm-project/commit/72791fef6d6c84b72cb961b288b25283bea97310
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Remove unused buildPlainCFG from unit tests (NFC).
Also clarify the name of buildHCFG -> buildVPlan.
Commit: cafad2b75a6e1c4957db1967cadeb002339887e3
https://github.com/llvm/llvm-project/commit/cafad2b75a6e1c4957db1967cadeb002339887e3
Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-init-exec-from-input.ll
Log Message:
-----------
[AMDGPU] Add verification for amdgcn.init.exec.from.input (#128172)
Check that the input register is an inreg argument to the parent
function. (See the comment in `IntrinsicsAMDGPU.td`.)
This LLVM defect was identified via the AMD Fuzzing project.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 9d1fbbd2b9a00248eb8ea578c4047af4ec4da990
https://github.com/llvm/llvm-project/commit/9d1fbbd2b9a00248eb8ea578c4047af4ec4da990
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[SROA][NFC] Remove Unused Parameter in `promoteAllocas()` (#128382)
Removing it because `Function &F` is not used by `promoteAllocas()`.
Commit: 303825d2ab077ee7fc5ef6871741b5512ba7449b
https://github.com/llvm/llvm-project/commit/303825d2ab077ee7fc5ef6871741b5512ba7449b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#128394)
Commit: 15860446a8c3db5c39f92bb371236778e8b00fb0
https://github.com/llvm/llvm-project/commit/15860446a8c3db5c39f92bb371236778e8b00fb0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.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.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/support/min_allocator.h
Log Message:
-----------
[libc++] Fix basic_string not allowing max_size() elements to be stored (#125423)
Without this patch `basic_string` cannot be properly resized to be
`max_size()` elements in size, even if an allocation is successful.
`__grow_by` allocates one less element than required, resulting in an
out-of-bounds access. At the same time, `max_size()` has an off-by-one
error, since there has to be space to store the null terminator, which
is currently ignored.
Commit: 34387fc63b5bc66f4edb611c36e74ec4c9b2eae0
https://github.com/llvm/llvm-project/commit/34387fc63b5bc66f4edb611c36e74ec4c9b2eae0
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[AsmPrinter] Simplify $local after D131429. NFC
setType is unneeded (and AsmPrinter tries not to modify symbols).
AsmPrinter. MCSA_ELF_TypeFunction is available on all
targets using getSymbolPreferLocal.
Pull Request: https://github.com/llvm/llvm-project/pull/128138
Commit: 65e44b4301eb1ae6838ad101f35a7d987949e13b
https://github.com/llvm/llvm-project/commit/65e44b4301eb1ae6838ad101f35a7d987949e13b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
Log Message:
-----------
[LV] Add tests with deref assumptions and non-constant sizes.
Commit: 8ea6b735a64da7d97a556832209c0bb70ea00a21
https://github.com/llvm/llvm-project/commit/8ea6b735a64da7d97a556832209c0bb70ea00a21
Author: lntue <lntue at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M libc/test/UnitTest/HermeticTestUtils.cpp
Log Message:
-----------
[libc] Fix alignment issue for HermeticTestUtils.cpp. (#128426)
Full build precommit bots were failing due to mis-alignment of atomics
in hermetic tests. This PR enforces the alignment for the bump allocator
of hermetic test framework.
Fixes https://github.com/llvm/llvm-project/issues/128185.
Commit: 3e284554a80a6d1eae7ac7603184bd4cbb3c80b8
https://github.com/llvm/llvm-project/commit/3e284554a80a6d1eae7ac7603184bd4cbb3c80b8
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/acosf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosf16.cpp
M libc/test/src/math/CMakeLists.txt
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
Log Message:
-----------
[libc][math][c23] Add acosf16() function (#127731)
- Implementation of acosf16 (inverse cosine) function for 16-bit inputs.
- Exhaustive tests across the 16-bit input range.
Commit: 0b84d72c520993c631bc8b4e8ed4f2153213c6b1
https://github.com/llvm/llvm-project/commit/0b84d72c520993c631bc8b4e8ed4f2153213c6b1
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/csky-toolchain.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
Log Message:
-----------
[Driver] Replace /usr/lib/../$OSLibDir with /usr/$OSLibDir (#128428)
The latter is simpler and generalizes the OpenEmbedded special case
introduced in https://reviews.llvm.org/D48862
(they have /usr/lib64 but not /usr/lib)
Commit: 78bac7f0a6757880b9d43e0e3030ff4c0f669bc4
https://github.com/llvm/llvm-project/commit/78bac7f0a6757880b9d43e0e3030ff4c0f669bc4
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[MC] Remove unneeded getMemtagAttr()
Commit: 14f33c6bc130495f591cebc8133089dff7a3e665
https://github.com/llvm/llvm-project/commit/14f33c6bc130495f591cebc8133089dff7a3e665
Author: Dmitry Nechitaev <nechda6 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
A llvm/test/tools/llvm-objcopy/MachO/Inputs/macho_sections.s
A llvm/test/tools/llvm-objcopy/MachO/update-section-object.test
M llvm/test/tools/llvm-objcopy/MachO/update-section.test
Log Message:
-----------
[llvm-objcopy][mach-o] Fix section finding logic for object files (#127604)
Fix section finding logic for object files.
As by product, make --update-section functional when the input is an object file.
This PR fixes #127495
Commit: 40b0619a53231eafaa879d085b7a7a10441c7f34
https://github.com/llvm/llvm-project/commit/40b0619a53231eafaa879d085b7a7a10441c7f34
Author: Vincent Lee <leevince at meta.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[FatLTO] Detect LLD linker more reliably (#128285)
It's possible to have an `ld-path` point to a linker that doesn't have
the `ld.lld` filename (e.g. linker wrapper that may emit telemetry
before invoking the linker). This was causing mis-compilations with
fatLTO since the check couldn't reliably detect that it was using lld.
Instead, rely on the value from `-fuse-ld` to determine whether lld is
enabled.
Commit: 03610af3d58d82a958bf65903c4cbda258f121cb
https://github.com/llvm/llvm-project/commit/03610af3d58d82a958bf65903c4cbda258f121cb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
Log Message:
-----------
[RISCV] Remove Inst bits from Pseudo tablegen class. NFC
Pseudods shouldn't have encoding information so these bits should
never be used.
Commit: 1794dfbb0fcc549aff99764ea11309532e5553d1
https://github.com/llvm/llvm-project/commit/1794dfbb0fcc549aff99764ea11309532e5553d1
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
Log Message:
-----------
[mlir] Fix integration test when `%host_cc` path contains spaces (#128439)
Commit: 4d928d5b5858de18f47f68c0d309dafd24cea875
https://github.com/llvm/llvm-project/commit/4d928d5b5858de18f47f68c0d309dafd24cea875
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] stat api interception. (#128430)
Commit: d0e37d9723314199e08e3bb8a61f9b7e033b1ff4
https://github.com/llvm/llvm-project/commit/d0e37d9723314199e08e3bb8a61f9b7e033b1ff4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/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/CompletionsHandler.cpp
A lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ContinueRequestHandler.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/RequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor request handlers (NFC) (#128262)
Currently, all request handlers are implemented as free functions in
lldb-dap.cpp. That file has grown to over 5000 lines and is starting to
become hard to maintain. This PR moves the request handlers into their
own class (and file), together with their documentation.
This PR migrates about a third of the request handlers and the rest will
be migrated in subsequent commits. I'm merging this in an incomplete
state because almost any lldb-dap change is going to result in merge
conflicts and migrating request handlers one by one is easier to review.
Commit: 8c917f3ccdefe77c180aebc6de41c6828d7aa548
https://github.com/llvm/llvm-project/commit/8c917f3ccdefe77c180aebc6de41c6828d7aa548
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
Log Message:
-----------
[NFC][sanitizer] Add test for length sub-specifier "z" (#128448)
Commit: 3aef599d072bea70fb07a6e47bdfb49099e2199c
https://github.com/llvm/llvm-project/commit/3aef599d072bea70fb07a6e47bdfb49099e2199c
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/test/Dialect/Affine/loop-fusion-2.mlir
M mlir/test/Dialect/Affine/loop-fusion-3.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Affine/loop-fusion-inner.mlir
M mlir/test/Examples/mlir-opt/loop_fusion_options.mlir
Log Message:
-----------
[MLIR][Affine] NFC. Drop redundant fusion- suffix from fusion pass options (#128405)
NFC. Drop redundant fusion- suffix from fusion pass options. The pass
already has 'fusion' in its name. Shorten the option names avoiding
repetition.
Commit: 8b1d38480b9de8992e6db742c17b3d41cb57b1c0
https://github.com/llvm/llvm-project/commit/8b1d38480b9de8992e6db742c17b3d41cb57b1c0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
Log Message:
-----------
[sanitizer] Support "bB" printf GLIBC extension (#128449)
https://www.gnu.org/software/libc/manual/html_node/Table-of-Output-Conversions.html
Without the patch llc triggers non-fatal Asan warning.
Commit: 6053ca004a58ed6a1bd10c5c470857cb6a2c0db7
https://github.com/llvm/llvm-project/commit/6053ca004a58ed6a1bd10c5c470857cb6a2c0db7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/MC/MCRegister.h
Log Message:
-----------
[MC][CodeGen] Move FirstStackSlot and VirtualRegFlag from MCRegister to Register. NFC (#128444)
These concepts don't exist for MCRegister.
I think there is a need for virtual registers in MCRegister for NVPTX,
SPIR-V and WebAssembly, but those should not be confused with Register's
virtual register. I will try to make a separate proposal for that with a
real interface.
Commit: 58035b5ef5bbdf121d7083c64ac5b4eb04abbeaa
https://github.com/llvm/llvm-project/commit/58035b5ef5bbdf121d7083c64ac5b4eb04abbeaa
Author: Chris Apple <cja-private at pm.me>
Date: 2025-02-24 (Mon, 24 Feb 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:
-----------
Revert "[compiler-rt][rtsan] stat api interception." (#128465)
Reverts llvm/llvm-project#128430
Reverting this as I could repro the failure here:
> Hi @devnexen I believe this change is causing failures on a bot. Any
idea what might be causing the problems?
> https://lab.llvm.org/staging/#/builders/202/builds/1324
https://github.com/llvm/llvm-project/pull/128430#issuecomment-2677298624
Commit: a3093e56fc096f4ed4ea764bf0ee874c1057fc19
https://github.com/llvm/llvm-project/commit/a3093e56fc096f4ed4ea764bf0ee874c1057fc19
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
[NFC][llvm-mt] Move XmlDeleter declaration
Commit: 9d191056013d27db086f284ac9b2dc1f5fd2ed89
https://github.com/llvm/llvm-project/commit/9d191056013d27db086f284ac9b2dc1f5fd2ed89
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[lldb][bazel] Port https://github.com/llvm/llvm-project/commit/d0e37d9723314199e08e3bb8a61f9b7e033b1ff4
Commit: 86cb0bd3a23740787fd160bcacceb06c0df0511b
https://github.com/llvm/llvm-project/commit/86cb0bd3a23740787fd160bcacceb06c0df0511b
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir
R mlir/test/Target/LLVMIR/nvvm/tcgen05-barriers.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-commit.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-cp.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-fence-wait.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-shift.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_prefetch.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
Log Message:
-----------
[MLIR][NVVM] [NFC] Update test cmd-lines and doc links (#128207)
For the NVVM Dialect tests under Target/LLVMIR/nvvm/ dir,
we verify the lowering to the intrinsics using mlir-translate.
Remove the -verify-diagnostics option from the cmd-line
for these tests since all the verifier checks are tested through
the nvvmir-invalid.mlir file. Similarly, remove the split-input-file
option which is not relevant here.
Update a few remaining links in the NVVMOps.td file.
All the reference links follow the same style now.
Rename the tcgen05-barriers.mlir file to tcgen05-commit.mlir
and move the wait/fence tests to a separate file.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 850b49297615a613ac83adca2c9cf823a4b8ef95
https://github.com/llvm/llvm-project/commit/850b49297615a613ac83adca2c9cf823a4b8ef95
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/MCPlusBuilder.h
A bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/CMakeLists.txt
A bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
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
Log Message:
-----------
[BOLT][binary-analysis] Add initial pac-ret gadget scanner (#122304)
This adds an initial pac-ret gadget scanner to the
llvm-bolt-binary-analysis-tool.
The scanner is taken from the prototype that was published last year at
https://github.com/llvm/llvm-project/compare/main...kbeyls:llvm-project:bolt-gadget-scanner-prototype,
and has been discussed in RFC
https://discourse.llvm.org/t/rfc-bolt-based-binary-analysis-tool-to-verify-correctness-of-security-hardening/78148
and in the EuroLLVM 2024 keynote "Does LLVM implement security
hardenings correctly? A BOLT-based static analyzer to the rescue?"
[Video](https://youtu.be/Sn_Fxa0tdpY)
[Slides](https://llvm.org/devmtg/2024-04/slides/Keynote/Beyls_EuroLLVM2024_security_hardening_keynote.pdf)
In the spirit of incremental development, this PR aims to add a minimal
implementation that is "fully working" on its own, but has major
limitations, as described in the bolt/docs/BinaryAnalysis.md
documentation in this proposed commit. These and other limitations will
be fixed in follow-on PRs, mostly based on code already existing in the
prototype branch. I hope incrementally upstreaming will make it easier
to review the code.
Note that I believe that this could also form the basis of a scanner to
analyze correct implementation of PAuthABI.
Commit: 11fdeadbdff245531f8d2ee9dd7141fe966a077f
https://github.com/llvm/llvm-project/commit/11fdeadbdff245531f8d2ee9dd7141fe966a077f
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc][NFC] Add an example to the description of the emitc.literal operation (#128005)
Co-authored-by: Marius Brehler <marius.brehler at gmail.com>
Commit: 6b5bde697bb6f2ec8564c9b35bbf9f2d5b703f13
https://github.com/llvm/llvm-project/commit/6b5bde697bb6f2ec8564c9b35bbf9f2d5b703f13
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/test/Analysis/ftime-trace.cpp
Log Message:
-----------
[analyzer] Refine TimeTrace name for dispatchWorkItem (#128352)
Fixes
https://github.com/llvm/llvm-project/pull/125508#discussion_r1965038954
Commit: f89a986153a5907468f8f1f1e7f9f9bccfa4bb93
https://github.com/llvm/llvm-project/commit/f89a986153a5907468f8f1f1e7f9f9bccfa4bb93
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc][NFC] Add an example to the description of the emitc.verbatim operation (#128004)
The official page provides an explanation of the **new** functionality
of `emitc.verbatim`, but a classic example in the `.td` file for this
operation is still missing.
Commit: 4db54e9f1ac61e52c4318f17fa5d921501504a97
https://github.com/llvm/llvm-project/commit/4db54e9f1ac61e52c4318f17fa5d921501504a97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#128458)
Commit: 71b7b1f79f8eab5b4d4eb0354d5b74ce3addd977
https://github.com/llvm/llvm-project/commit/71b7b1f79f8eab5b4d4eb0354d5b74ce3addd977
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Log Message:
-----------
[GlobalISel] Avoid repeated hash lookups (NFC) (#128461)
Commit: ea248365fa1539262c82943f50e28ed47687033d
https://github.com/llvm/llvm-project/commit/ea248365fa1539262c82943f50e28ed47687033d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
Log Message:
-----------
[IPO] Avoid repeated map lookups (NFC) (#128462)
Commit: abcb66d18e3898ee42d3d313b46e18b97639a3cc
https://github.com/llvm/llvm-project/commit/abcb66d18e3898ee42d3d313b46e18b97639a3cc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#128463)
Commit: 1dc8578df700aaf9ba6bff6c79665a05fd0a30e9
https://github.com/llvm/llvm-project/commit/1dc8578df700aaf9ba6bff6c79665a05fd0a30e9
Author: David Green <david.green at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
Log Message:
-----------
[AArch64] Add vrev shuffle cost tests. NFC
Commit: 89824547ecdcab53734c02621b92f901f1615393
https://github.com/llvm/llvm-project/commit/89824547ecdcab53734c02621b92f901f1615393
Author: David Green <david.green at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
Log Message:
-----------
[AArch64] Add rev codegen tests for bfloat16. NFC
Commit: 0770afb88ec150e58498c0653c7818664d07ca71
https://github.com/llvm/llvm-project/commit/0770afb88ec150e58498c0653c7818664d07ca71
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
Log Message:
-----------
[bolt] Remove unnecessary include.
... which introduced a testing dependency in
https://github.com/llvm/llvm-project/commit/850b49297615a613ac83adca2c9cf823a4b8ef95
Commit: 7cda365e12f782d018195556b8fbd32428a0b886
https://github.com/llvm/llvm-project/commit/7cda365e12f782d018195556b8fbd32428a0b886
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for f32 in redux.sync Op (#128137)
This change adds support for the f32 variants of the `redux.sync`
instruction in the NVVM Dialect through the newly added intrinsics for
the same.
Commit: 19a39e98ffdd93dce98557d07cff40cc1799f568
https://github.com/llvm/llvm-project/commit/19a39e98ffdd93dce98557d07cff40cc1799f568
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Handle non-primitive array index expressions (#128479)
By rejecting them instead of asserting in `classifyPrim()`.
Commit: 5c6453da8db5deed1ee22215c7def86fc270ecb9
https://github.com/llvm/llvm-project/commit/5c6453da8db5deed1ee22215c7def86fc270ecb9
Author: David Green <david.green at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
Log Message:
-----------
[AArch64] Add BF16 REV costs.
Same as FP16 costs, these full reverse shuffles can use REV or REV+EXT.
Commit: 6ad55f15176d10cd094c960807eac4ee2aa68a89
https://github.com/llvm/llvm-project/commit/6ad55f15176d10cd094c960807eac4ee2aa68a89
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128459)
Commit: 47656dc765aabed8079c650261a79a7e85c4370c
https://github.com/llvm/llvm-project/commit/47656dc765aabed8079c650261a79a7e85c4370c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#128464)
Commit: 229dcf9d3456e95dff2aa0a8eef0a707bd2106c1
https://github.com/llvm/llvm-project/commit/229dcf9d3456e95dff2aa0a8eef0a707bd2106c1
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.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/MachineLateInstrsCleanup.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NPM] Port MachineLateInstrsCleanup to NPM (#128160)
There are no standalone tests for this pass for backends implementing
the NPM yet.
Commit: 301fe4797191e528d23dcaf52b8e47649d2bf555
https://github.com/llvm/llvm-project/commit/301fe4797191e528d23dcaf52b8e47649d2bf555
Author: Florin Popa <popa.florin at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lld/test/ELF/aarch64-relocs.s
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/MC/AArch64/align-code.s
Log Message:
-----------
[AArch64][ELF] Section alignment of 4 for AArch64 instruction (#114031)
The integrated assembler sets a minimum alignment for the .text section
of 4. However user defined sections get an alignment of 1. Unlike the
GNU assembler which raises the section alignment to 4 if an AArch64
instruction is used, the integrated assembler leaves the alignment at 1
---------
Co-authored-by: Florin Popa <florin.popa at arm.com>
Commit: 7a9f53cecf5774a0696586961184835b01cab02c
https://github.com/llvm/llvm-project/commit/7a9f53cecf5774a0696586961184835b01cab02c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineBROADCAST_LOAD - merge across chains (REAPPLIED) (#128209)
Remove the restriction when reusing wider BROADCAST_LOAD nodes that both nodes couldn't have uses of their load chains - use makeEquivalentMemoryOrdering to merge the chains instead.
Reapplied - move makeEquivalentMemoryOrdering prior to the CombineTo call to ensure that the original node hasn't already been removed.
Fixes asan use-after-poison error reported in #128380 / 50b0669e8468279518ae0be27c8b6a134c4d95d1.
Commit: 6c2d418027be6906733972256e379a844f88fc06
https://github.com/llvm/llvm-project/commit/6c2d418027be6906733972256e379a844f88fc06
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
[libclc] Fix int<->float conversion builtins (#126905)
While working on moving the conversion builtins to the CLC library in
25c05541 it was discovered that many weren't passing the OpenCL-CTS
tests.
As it happens, the clspv-specific code for conversion implementations
between integer and floating-point types was more correct. However:
* The clspv code was generating 'sat' conversions to floating-point
types, which are not legal
* The clspv code around rtn/rtz conversions needed tweaking as it wasn't
validating when sizeof(dst) > sizeof(src), e.g., int -> double.
With this commit, the CTS failures seen before have been resolved.
This also assumes that the new implementations are correct also for
clspv. If this is the case, then 'clc' and 'clspv' modes are mutually
exclusive and we can simplify the build process for conversions by not
building clc-clspv-convert.cl.
Commit: c5f40bf024ee2d62478c8036fb174d75ecabe51f
https://github.com/llvm/llvm-project/commit/c5f40bf024ee2d62478c8036fb174d75ecabe51f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
Log Message:
-----------
[InstCombine] Fold `X!=Y ? ctz(X^Y, true) : BW -> ctz(X^Y, false)` (#128483)
Proof: https://alive2.llvm.org/ce/z/mzL6W2
Closes https://github.com/llvm/llvm-project/issues/128441.
Commit: 35c90bfdda0d7021c7ec7e6603e5b5753fcc8069
https://github.com/llvm/llvm-project/commit/35c90bfdda0d7021c7ec7e6603e5b5753fcc8069
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV] Remove virtual from getOutliningTypeImpl override. NFC (#128482)
Commit: 3532651b6fc1cd637d2e0ab5d979343b24d422f7
https://github.com/llvm/llvm-project/commit/3532651b6fc1cd637d2e0ab5d979343b24d422f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
RegAllocGreedy: Add braces
Commit: e7ad07ffb846a9812d9567b8d4b680045dce5b28
https://github.com/llvm/llvm-project/commit/e7ad07ffb846a9812d9567b8d4b680045dce5b28
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/internal/math/clc_sw_fma.h
A libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/include/clc/math/math.h
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
A libclc/clc/lib/generic/math/clc_sw_fma.cl
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/math/fma.cl
R libclc/generic/include/math/clc_fma.h
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fma.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_hypot.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
M libclc/generic/lib/math/fma.cl
R libclc/generic/lib/math/fma.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/spirv/lib/SOURCES
M libclc/spirv/lib/math/fma.cl
R libclc/spirv/lib/math/fma.inc
Log Message:
-----------
[libclc] Move fma to the CLC library (#126052)
This builtin is a little more involved than others as targets deal with
fma in various different ways.
Fundamentally, the CLC __clc_fma builtin compiles to
__builtin_elementwise_fma, which compiles to the @llvm.fma intrinsic.
However, in the case of fp32 fma some targets call the __clc_sw_fma
function, which provides a software implementation of the builtin. This
in principle is controlled by the __CLC_HAVE_HW_FMA32 macro and may be a
runtime decision, depending on how the target defines that macro.
All targets build the CLC fma functions for all types. This is to the
CLC library can have a reliable internal implementation for its own
purposes.
For AMD/NVPTX targets there are no meaningful changes to the generated
LLVM bytecode. Some blocks of code have moved around, which confounds
llvm-diff.
For the clspv and SPIR-V/Mesa targets, only fp32 fma is of interest. Its
use in libclc is tightly controlled by checking __CLC_HAVE_HW_FMA32
first. This can either be a compile-time constant (1, for clspv) or a
runtime function for SPIR-V/Mesa.
The SPIR-V/Mesa target only provided fp32 fma in the OpenCL layer. It
unconditionally mapped that to the __clc_sw_fma builtin, even though the
generic version in theory had a runtime toggle through
__CLC_HAVE_HW_FMA32 specifically for that target. Callers of fma,
though, would end up using the ExtInst fma, *not* calling the _Z3fmafff
function provided by libclc.
This commit keeps this system in place in the OpenCL layer, by mapping
fma to __clc_sw_fma. Where other builtins would previously call fma
(i.e., result in the ExtInst), they now call __clc_fma. This function
checks the __CLC_HAVE_HW_FMA32 runtime toggle, which selects between the
slow version or the quick version. The quick version is the LLVM fma
intrinsic which llvm-spirv translates to the ExtInst.
The clspv target had its own software implementation of fp32 fma, which
it called unconditionally - even though __CLC_HAVE_HW_FMA32 is 1 for
that target. This is potentially just so its library ships a software
version which it can fall back on. In the OpenCL layer, the target
doesn't provide fp64 fma, and maps fp16 fma to fp32 mad.
This commit keeps this system roughly in place: in the OpenCL layer it
maps fp32 fma to __clc_sw_fma, and fp16 fma to mad. Where builtins would
previously call into fma, they now call __clc_fma, which compiles to the
LLVM intrinsic. If this goes through a translation to SPIR-V it will
become the fma ExtInst, or the intrinsic could be replaced by the
_Z3fmafff software implementation.
The clspv and SPIR-V/Mesa targets could potentially be cleaned up later,
depending on their needs.
Commit: 3dc159431be7a8c5f1a26a8bd57794f1c7008969
https://github.com/llvm/llvm-project/commit/3dc159431be7a8c5f1a26a8bd57794f1c7008969
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/Reusables.h
Log Message:
-----------
[analyzer] Clean up slightly the messed up ownership model of the analyzer (#128368)
Well, yes. It's not pretty.
At least after this we would have a bit more unique pointers than
before.
This is for fixing the memory leak diagnosed by:
https://lab.llvm.org/buildbot/#/builders/24/builds/5580
And that caused the revert of #127409.
After these uptrs that patch can re-land finally.
Commit: 5a2bee04d08868d1b8c2ddb1719be1cee0f577bf
https://github.com/llvm/llvm-project/commit/5a2bee04d08868d1b8c2ddb1719be1cee0f577bf
Author: Ruoyu Qiu <cabbaken at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/private-headers.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump]Correct .dynstr finding of getDynamicStrTab() (#127975)
The dynamic string table used by the dynamic section is referenced by
the sh_link field of that section, so we should use that directly,
rather than going via the dynamic symbol table.
More info:
https://github.com/llvm/llvm-project/pull/125679#discussion_r1961333454
Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
Commit: 61fb9541095316db352f0e4da855305d1715da10
https://github.com/llvm/llvm-project/commit/61fb9541095316db352f0e4da855305d1715da10
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Improve support for vector.extract(broadcast) (#116234)
This patch improves support for vector.extract(broadcast) dynamic
dimension folders. This is mostly a matter of moving a conservative
condition for dynamic dimensions. The broadcast folder for
vector.extract now covers the cases that the vector.extractelement +
broadcast folder does.
This patch also improves test coverage for vector.extract + broadcast
folders/canonicalizers. The folders/canonicalizers now enumerate every
supported / unsupported case.
Commit: 9cbdcfcafdc0646cef27c94ee22770b2d7aebf6a
https://github.com/llvm/llvm-project/commit/9cbdcfcafdc0646cef27c94ee22770b2d7aebf6a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
Log Message:
-----------
[CaptureTracking] Remove StoreCaptures parameter (NFC)
The implementation doesn't use it, and is unlikely to use it in
the future.
The places that do set StoreCaptures=false, do so incorrectly and
would be broken if the parameter actually did anything.
Commit: 7de64925da9f09d1a66230c5e118fe127a6c49e3
https://github.com/llvm/llvm-project/commit/7de64925da9f09d1a66230c5e118fe127a6c49e3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/ARM/vpadd.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
Log Message:
-----------
[DAG] shouldReduceLoadWidth - hasOneUse should check just the loaded value - not the chain (#128167)
The hasOneUse check was failing in any case where the load was part of a chain - we should only be checking if the loaded value has one use, and any updates to the chain should be handled by the fold calling shouldReduceLoadWidth.
I've updated the x86 implementation to match, although it has no effect here yet (I'm still looking at how to improve the x86 implementation) as the inner for loop was discarding chain uses anyway.
By using SDValue::hasOneUse instead this patch exposes a missing dependency on the LLVMSelectionDAG library in a lot of tools + unittests, which resulted in having to make SDNode::hasNUsesOfValue inline.
Noticed while fighting the x86 regressions in #122671
Commit: db40592de60f579afa18db3a06a4505c8e63de65
https://github.com/llvm/llvm-project/commit/db40592de60f579afa18db3a06a4505c8e63de65
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
MachineFunction: Remove null check on TargetRegisterInfo (#128480)
Targets are required to define this, it is not optional. Make the method
pure virtual to enforce this
Commit: 9b52d9e18662160d14b882371a9c749770fd99bf
https://github.com/llvm/llvm-project/commit/9b52d9e18662160d14b882371a9c749770fd99bf
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Prevent loop wrapper translation crashes (#115475)
This patch updates the `convertOmpOpRegions` translation function to
prevent calling it for a loop wrapper region from causing a compiler
crash due to a lack of terminator operations.
This problem is currently not triggered because there are no cases for
which the region of a loop wrapper is passed to that function. This
will have to change in order to support composite construct translation
to LLVM IR.
Commit: 6aea6308d125c15b05bf10766eb831f32140968a
https://github.com/llvm/llvm-project/commit/6aea6308d125c15b05bf10766eb831f32140968a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/atomic-optimizer-promote-i8.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
Log Message:
-----------
AMDGPU: Fix creating illegally typed readfirstlane in atomic optimizer (#128388)
We need to promote 8/16-bit cases to 32-bit. Unfortunately we are
missing demanded bits optimizations on readfirstlane, so we end up
emitting
an and instruction on the input. I'm also surprised this pass isn't
handling
half or bfloat yet.
Commit: e1cc5e9f9ab628f501bb88488e865c2a039321e4
https://github.com/llvm/llvm-project/commit/e1cc5e9f9ab628f501bb88488e865c2a039321e4
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] Fix build after 3dc159431be7a8c5f1a26a8bd57794f1c7008969
Commit: c80b99d98ad0c7a3c185b4f09d2b60affb34cad1
https://github.com/llvm/llvm-project/commit/c80b99d98ad0c7a3c185b4f09d2b60affb34cad1
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
R clang/test/Analysis/uninit-asm-goto.cpp
R clang/test/Analysis/uninit-sometimes.cpp
A clang/test/SemaCXX/uninit-asm-goto.cpp
A clang/test/SemaCXX/uninit-sometimes.cpp
Log Message:
-----------
[Sema][NFC] Move two misplaced uninit tests to clang/test/SemaCXX (#128013)
Because they are the last two remaining test files that appeared under
`clang/test/Analysis` but were unrelated to the clang static analyzer.
For background see the following discourse thread:
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689/2
I placed them in in `clang/test/SemaCXX` because they are testing the
`-Wuninitialized` warning family and the other tests of this feature can
be found there (or in `Sema`, `SemaObjC` depending on the language).
Note that `clang/test/Analysis` contains many other test files named
`uninit-*`, but those test the uninitialized value handling of the clang
static analyzer, which is independent of the (non-path-sensitive)
compiler warnings that are tested in the two files that I'm moving.
Also note that the implementation of the `-Wuninitialized`-like warnings
relies on the source files `clang/lib/Analysis/UninitializedValues.cpp`
and `clang/lib/Sema/AnalysisBasedWarnings.cpp`, and this would
theoretically justify leaving their tests in the "Analysis" directory;
but in practice the "Analysis" directory is almost exclusively used by
the static analyzer, so I still decided to relocate these two tests for
the sake of consistency.
Commit: 1ed359e6826590cc77f62af906b6cf4b5354a7fb
https://github.com/llvm/llvm-project/commit/1ed359e6826590cc77f62af906b6cf4b5354a7fb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
R cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py
Log Message:
-----------
[Dexter] Remove clang-opt-bisect analyzer tool (#128165)
The idea behind this tool was that you'd instrument a source file to
measure its debug-info quality, then watch as it progressively got worse
with more optimisations being enabled in clang. However we've since
stripped the "building" portions of Dexter out as they were ill placed,
which makes this tooling redundant. The lack of __init__.py adjacent to
it means it couldn't be run anyway.
The core idea behind this is still sound; just it's best placed on the
other side of the build system, something that Dexter shouldn't try to
solve.
Commit: 971fc42254706b7a0cdeaf8183478d1e2a9aee51
https://github.com/llvm/llvm-project/commit/971fc42254706b7a0cdeaf8183478d1e2a9aee51
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
Log Message:
-----------
TargetTransformInfo: Add missing consts to a couple of methods (#128492)
Commit: aca8a5cb2325767859f38894f42ce47732cbb53e
https://github.com/llvm/llvm-project/commit/aca8a5cb2325767859f38894f42ce47732cbb53e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
[libclc] Remove clspv-specific clc conversions (#128500)
The clc and clc+clspv modes produced the same conversions code, so this
patch simplifies the process. It further simplifies the internal checks
the script makes by assuming the mutual exclusivity.
Commit: 0f34b656f01a3774f28436e8dee4d99c6a7bc2cc
https://github.com/llvm/llvm-project/commit/0f34b656f01a3774f28436e8dee4d99c6a7bc2cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
InstCombine: Remove a check for pointer bitcasts (#128491)
Commit: 72768d9bb8ad3e97a852270726f04d7167d9ef50
https://github.com/llvm/llvm-project/commit/72768d9bb8ad3e97a852270726f04d7167d9ef50
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/transfer-samesign-facts.ll
Log Message:
-----------
[ConstraintElim] Teach checkAndReplaceCondition about samesign (#128168)
`samesign upred` is equivalent to `spred`:
https://alive2.llvm.org/ce/z/57iaEC
Commit: c83bdc7c111f8100d8fdf9e7a87d05b5a1a3ae94
https://github.com/llvm/llvm-project/commit/c83bdc7c111f8100d8fdf9e7a87d05b5a1a3ae94
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
Log Message:
-----------
[MLIR][OpenMP] Normalize lowering of omp.loop_nest (#127217)
This patch refactors the translation of `omp.loop_nest` operations into
LLVM IR so that it is handled similarly to other operations. Before this
change, the responsibility of translating the loop nest fell into each
loop wrapper, causing code duplication. This patch centralizes that
handling of the loop. One consequence of this was fixing an issue
lowering non-inclusive `omp.simd` loops.
As a result, it is now expected that the handling of composite
constructs is performed collaboratively among translating functions for
each operation involved. At the moment, only `do/for simd` is supported
by ignoring SIMD information, and this behavior is preserved.
The translation of loop wrapper operations needs access to the
`llvm::CanonicalLoopInfo` loop information structure in order to apply
transformations to it. This is now created in the nested call to
`convertOmpLoopNest`, so it needs to be passed up to all associated loop
wrapper translation functions. This is done via the creation of an
`OpenMPLoopInfoStackFrame` within `convertHostOrTargetOperation`,
associated to the outermost loop wrapper. This structure is updated by
`convertOmpLoopNest`, making the result available to all loop wrappers
after their body has been translated.
Commit: d5148f000a9213d5e64f49c67d0e861e8b303d92
https://github.com/llvm/llvm-project/commit/d5148f000a9213d5e64f49c67d0e861e8b303d92
Author: Daniel Zabawa <daniel.zabawa at intel.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/isel-extract-subvector-non-pow2-elems.ll
Log Message:
-----------
[X86] Fix arithmetic error in extractVector (#128052)
The computation of the element count for the result VT in extractVector
is incorrect when vector width does not divide VT.getSizeInBits(), which
can occur when the source vector element count is not a power of two,
e.g. extracting a vectorWidth 256b vector from a 384b source.
This rewrites the expression so the division is exact given that
vectorWidth is a multiple of the source element size.
Commit: 4ba3ebef642eaa4d46567a972c5ee1badb2ebadf
https://github.com/llvm/llvm-project/commit/4ba3ebef642eaa4d46567a972c5ee1badb2ebadf
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
On Windows, remove the UCRT libraries from the release script (#128378)
Since the 19.0 release, the UCRT dlls shouldn't be included anymore in the Windows distribution, as we link the CRT
statically into all distributed binaries.
https://discourse.llvm.org/t/llvm-x86-64-pc-windows-msvc-binaries-no-longer-need-msvc-runtime-dlls-since-19-x/84465
Commit: 8199c2d427fcf72e39aa29dd457eebca8a985af8
https://github.com/llvm/llvm-project/commit/8199c2d427fcf72e39aa29dd457eebca8a985af8
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
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-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
R flang/test/Lower/array-expression.f90
M flang/test/Lower/call-by-value-attr.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/derived-assignments.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/forall/scalar-substring.f90
Log Message:
-----------
[flang][NFC] update some old tests to HLFIR lowering (#127230)
Update some LIT tests that are using the legacy lowering to use HLFIR.
This makes testing more modular and is a step towards getting rid of the
legacy lowering (that is only kept because of the tests).
There are many more.
I deleted a couple file that were very specific to the legacy lowering
(e.g. array-copy).
Commit: de473fcdea7024a70dd5ff5f929049c904457b07
https://github.com/llvm/llvm-project/commit/de473fcdea7024a70dd5ff5f929049c904457b07
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libcxx/utils/ci/run-buildbot-container
Log Message:
-----------
[libc++] Synchronize Docker container SHA in run-buildbot-container (#128225)
We should really find a way to have a canonical location for that SHA,
but last time I looked into it I failed to find a way to share it.
Commit: 363bfd6090b0755fc133250ba3470b420902d976
https://github.com/llvm/llvm-project/commit/363bfd6090b0755fc133250ba3470b420902d976
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
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/module.modulemap
Log Message:
-----------
[libc++] Use the new locale base API on Linux (#128007)
This follows the lead for what we did on all other platforms.
Commit: aa770857eead289bedc19237a0a4657d3311668d
https://github.com/llvm/llvm-project/commit/aa770857eead289bedc19237a0a4657d3311668d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/Transforms/MergeFunc/linkonce_odr.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr-used.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr-weak-odr-mixed-used.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr.ll
A llvm/test/Transforms/MergeFunc/merge-weak-odr-used.ll
A llvm/test/Transforms/MergeFunc/merge-weak-odr.ll
Log Message:
-----------
[MergeFunc] Add tests for (merging weak|linkonce)_odr functions.
Tests for https://github.com/llvm/llvm-project/pull/125050.
Commit: 96c87a16a507207e839f20b668ccd51dd2db6123
https://github.com/llvm/llvm-project/commit/96c87a16a507207e839f20b668ccd51dd2db6123
Author: lorenzo chelini <lchelini at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/IR/Region.cpp
Log Message:
-----------
[MLIR][NFC] Fix comment in `Region.cpp`
BlockAndValueMapping has been renamed to IRMapping
Commit: 22a5bb32b787443b70476cc1359709b6c888b591
https://github.com/llvm/llvm-project/commit/22a5bb32b787443b70476cc1359709b6c888b591
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
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/Store.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/region-store.cpp
M clang/unittests/StaticAnalyzer/StoreTest.cpp
Log Message:
-----------
[analyzer] Limit Store by region-store-binding-limit (#127602)
In our test pool, the max entry point RT was improved by this change:
1'181 seconds (~19.7 minutes) -> 94 seconds (1.6 minutes)
BTW, the 1.6 minutes is still really bad. But a few orders of magnitude
better than it was before.
This was the most servere RT edge-case as you can see from the numbers.
There are are more known RT bottlenecks, such as:
- Large environment sizes, and `removeDead`. See more about the failed
attempt on improving it at:
https://discourse.llvm.org/t/unsuccessful-attempts-to-fix-a-slow-analysis-case-related-to-removedead-and-environment-size/84650
- Large chunk of time could be spend inside `assume`, to reach a fixed
point. This is something we want to look into a bit later if we have
time.
We have 3'075'607 entry points in our test set.
About 393'352 entry points ran longer than 1 second when measured.
To give a sense of the distribution, if we ignore the slowest 500 entry
points, then the maximum entry point runs for about 14 seconds. These
500 slow entry points are in 332 translation units.
By this patch, out of the slowest 500 entry points, 72 entry points were
improved by at least 10x after this change.
We measured no RT regression on the "usual" entry points.

(The dashed lines represent the maximum of their RT)
CPP-6092
Commit: eb14d2a1d48fe76c5faed71a08547135a35ee742
https://github.com/llvm/llvm-project/commit/eb14d2a1d48fe76c5faed71a08547135a35ee742
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/bv-matched-node-reorder.ll
Log Message:
-----------
[SLP]Fix check for matched gather node, if it is a subvector node
If the gather node is a subvector node, it may match the existing
vector/gather node in the graph, but still may require reordering. in
this case need to fully check its dependencies to prevent a compiler
crash.
Fixes #128401
Commit: 7262a1ea313699c733ec24925fe83c8f8e60334c
https://github.com/llvm/llvm-project/commit/7262a1ea313699c733ec24925fe83c8f8e60334c
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang] Set compile definitions for flang-rt build on AIX (#127919)
After commit b55f751, the flang-rt build on AIX is missing `-D_LARGE_FILE_API
-D_XOPEN_SOURCE=700` in compiling the source. This patch is to add the
compile definitions.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: a88167a60d0b5529b2a5ab185680f25c3c983ec3
https://github.com/llvm/llvm-project/commit/a88167a60d0b5529b2a5ab185680f25c3c983ec3
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[MLIR] Improve error handling when parsing dense attributes (#128523)
Avoid triggering assertions when we expect to parse a string but
encounter a different type. Instead, handle the mismatch gracefully by
emitting a parser error.
Commit: 2dfb29a9b2f63e8dcbace2bf9b73ecc770f62b4d
https://github.com/llvm/llvm-project/commit/2dfb29a9b2f63e8dcbace2bf9b73ecc770f62b4d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_nan.h
A libclc/clc/include/clc/math/clc_nan.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_nan.cl
A libclc/clc/lib/generic/math/clc_nan.inc
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
Log Message:
-----------
[libclc] Move nan to the CLC library (#128521)
Commit: 3a6108bcac26016b791cabce86424c1f1dcf3056
https://github.com/llvm/llvm-project/commit/3a6108bcac26016b791cabce86424c1f1dcf3056
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
Log Message:
-----------
[SLP][REVEC] Fix scalar mask is passed to getScalarizationOverhead but the type is vector. (#128476)
Fix "Vector size mismatch".
Commit: 0b52aa1bdbc7416592e9c81d9a44ce411c21e081
https://github.com/llvm/llvm-project/commit/0b52aa1bdbc7416592e9c81d9a44ce411c21e081
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
Log Message:
-----------
[flang] Unsupported rounding modes (#128240)
Two new ieee_round_type values were added in f18 beyond the four values
defined in f03 and f08: ieee_away and ieee_other. Contemporary hardware
typically does not have support for these rounding modes, so flang does
not support them. ieee_support_rounding calls for these values return
false. Current generated code handles some attempts to set the rounding
mode to one of these unsupported values by setting the mode to
ieee_nearest. Update the code to explicitly do this in all cases.
Commit: 16f9c5da45b88ace429064b4823e94491b0ea9b1
https://github.com/llvm/llvm-project/commit/16f9c5da45b88ace429064b4823e94491b0ea9b1
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/read_image.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
Log Message:
-----------
[SPIR-V] Stop generating StorageImageReadWithoutFormat and StorageImageWriteWithoutFormat for the Unknown image format in the OpenCL environment (#128497)
This PR resolves the issue of the SPIR-V specification, requiring
Shader-coupled capabilities to read/write images in the OpenCL SPIR-V
environment, from the perspective of the LLVM SPIR-V backend. See
https://github.com/KhronosGroup/SPIRV-Headers/issues/487 for details and
discussion.
Current implementation correctly reproduces requirements of the SPIR-V
specification, however, since the requirements are problematic, out
current implementation blocks generation of valid SPIR-V code for
compute environments. This PR is to implement a solution discussed at
the SPIR-V WG to allow proceeding with generation of valid SPIR-V code
for the OpenCL environment and do not impact Vulkan environment at the
same time.
Commit: 529b3d16daf2c7970f6f0b1f97e8ed09891c726a
https://github.com/llvm/llvm-project/commit/529b3d16daf2c7970f6f0b1f97e8ed09891c726a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Remove SK_Select from manual splitting in getShuffleCost
We have general splitting logic for this kind just below, which to my
knowledge is both correct and precise. Given no test changes, either
a) the adhoc logic works out the same, or b) we have no coverage. I
did not investigate which.
Commit: 17ccaf4fa82ed6d081144f91b5580e24e44d435c
https://github.com/llvm/llvm-project/commit/17ccaf4fa82ed6d081144f91b5580e24e44d435c
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M offload/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[NFC][Offload] Fix typo to output architecture (#128527)
Commit: b66ec64b5b634cbf760d69d1629e462268aa1cbd
https://github.com/llvm/llvm-project/commit/b66ec64b5b634cbf760d69d1629e462268aa1cbd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
RegAllocGreedy: Remove unnecessary null register class check (#128487)
Commit: 538b898a836ac6efc3b0ec12cf27b511608d2e64
https://github.com/llvm/llvm-project/commit/538b898a836ac6efc3b0ec12cf27b511608d2e64
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-02-24 (Mon, 24 Feb 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/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcilia-invalid.s
A llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcilia (Large Immediate Arithmetic) extension (#124706)
This extension adds eight 48 bit large arithmetic instructions.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
Commit: cebb8f72b7937548bd17c7972297f2efafa1e958
https://github.com/llvm/llvm-project/commit/cebb8f72b7937548bd17c7972297f2efafa1e958
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMPIRBuilder] Add support for distribute constructs (#127816)
This patch adds the `OpenMPIRBuilder::createDistribute()` function and
updates `OpenMPIRBuilder::applyStaticWorkshareLoop()` in preparation for
adding `distribute` support to flang.
Co-authored-by: Dominik Adamski <dominik.adamski at amd.com>
Commit: 5bddadf783c177943fa4f86fa0d295d4e88e7dea
https://github.com/llvm/llvm-project/commit/5bddadf783c177943fa4f86fa0d295d4e88e7dea
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[CodingStandard] Rework anonymous namespace section to cover visibility more broadly (#126775)
- Rename anonymous namespace section and rework it to
cover visibility more broadly.
- Add language suggesting restricting visibility as much as
possible, using various C++ facilities.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 4defac91dbdf4d54aa40a47851c48e9c587fb7e9
https://github.com/llvm/llvm-project/commit/4defac91dbdf4d54aa40a47851c48e9c587fb7e9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir][GPUToNVVM] Add `benefit` to `populate` functions (#128484)
Certain GPU->NVVM patterns compete with Arith->LLVM patterns. (The ones
that lower to libdevice.) Add an optional `benefit` parameter to all
`populate` functions so that users can give preference to GPU->NVVM
patterns.
Commit: 7a4cb9bac50c8c19ec0d4ab7f186ef086064a549
https://github.com/llvm/llvm-project/commit/7a4cb9bac50c8c19ec0d4ab7f186ef086064a549
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang/include/clang/Sema/HeuristicResolver.h
M clang/lib/Sema/HeuristicResolver.cpp
Log Message:
-----------
[clang-tidy][NFC] Expose HeuristicResolver::lookupDependentName() and use it in StandaloneEmptyCheck (#128391)
The use replaces CXXRecordDecl::lookupDependentName() which
HeuristicResolver aims to supersede.
Commit: ff7790e6dde7859b993b7d9abb4a2ec4fe2ae779
https://github.com/llvm/llvm-project/commit/ff7790e6dde7859b993b7d9abb4a2ec4fe2ae779
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[MLIR][OpenMP] Simplify definition of the BlockArgOpenMPOpInterface, NFC (#128198)
This patch removes code duplication from the definition of methods of
the `BlockArgOpenMPOpInterface` and makes the order relationship between
entry block argument generating clauses explicit.
The goal of this change is to make the addition of clauses and methods
to the interface less error-prone.
Commit: aab07d8ca64495600ce9e7fe4825ca7ff9057c28
https://github.com/llvm/llvm-project/commit/aab07d8ca64495600ce9e7fe4825ca7ff9057c28
Author: sommersun <50041042+sommersun at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
fixed #95641 pointless string copy (#127325)
fixed #95641 by using std::move for T&&.
Commit: e89cd500b252c02dd18a5b7e1f5065df7a878ff4
https://github.com/llvm/llvm-project/commit/e89cd500b252c02dd18a5b7e1f5065df7a878ff4
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Port 7a4cb9bac50c8c19ec0d4ab7f186ef086064a549
Commit: 63af27190be70c3ea94bf913b93cb82db9eca25c
https://github.com/llvm/llvm-project/commit/63af27190be70c3ea94bf913b93cb82db9eca25c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/test/CodeGen/memtag-globals-asm.cpp
Log Message:
-----------
[NFC] [test] assert padding in memtag-globals test (#128259)
Commit: 20fd7f0a76ae97e7cd645412ef5ca1a9e9614578
https://github.com/llvm/llvm-project/commit/20fd7f0a76ae97e7cd645412ef5ca1a9e9614578
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Remove floating-point working group meeting (#128258)
This meeting never quite took off the way I had hoped, and I haven't had
time for it in quite a while, so I am removing it from the Getting
Involved page.
Commit: f1252f539ca203a979d61b616186e9be9d612f96
https://github.com/llvm/llvm-project/commit/f1252f539ca203a979d61b616186e9be9d612f96
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
A llvm/test/MC/PowerPC/case-insensitive-regs.s
Log Message:
-----------
[PPC][MC] Restore support for case-insensitive register names (#128525)
Lowercase the name before calling MatchRegisterName(), to restore
support for using `%R3` instead of `%r3` and similar, matching the GNU
assembler.
Fixes https://github.com/llvm/llvm-project/issues/126786.
Commit: cc7f22ee6ccb2c1ad79834e06d5b18d8f014d140
https://github.com/llvm/llvm-project/commit/cc7f22ee6ccb2c1ad79834e06d5b18d8f014d140
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/ObjectYAML/WasmYAML.h
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/test/ObjectYAML/wasm/dylink_section.yaml
M llvm/tools/obj2yaml/wasm2yaml.cpp
Log Message:
-----------
[object][WebAssembly] Add support for RUNTIME_PATH to yaml2obj and obj2yaml (#126080)
This is the first step of adding RPATH support for wasm.
See corresponding update to the WebAssembly/tool-conventions repo on dynamic
linking: https://github.com/WebAssembly/tool-conventions/pull/246
Commit: 36fdeb2aded08a776fcffefa73cb7667e7fc6c2d
https://github.com/llvm/llvm-project/commit/36fdeb2aded08a776fcffefa73cb7667e7fc6c2d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
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/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
A flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/array-temp.f90
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
Log Message:
-----------
[flang] Set LLVM specific attributes to fir.call's of Fortran runtime. (#128093)
This change is inspired by a case in facerec benchmark, where
performance
of scalar code may improve by about 6%@aarch64 due to getting rid of
redundant
loads from Fortran descriptors. These descriptors are corresponding
to subroutine local ALLOCATABLE, SAVE variables. The scalar loop nest
in LocalMove subroutine contains call to Fortran runtime IO functions,
and LLVM globals-aa analysis cannot prove that these calls do not modify
the globalized descriptors with internal linkage.
This patch sets and propagates llvm.memory_effects attribute for
fir.call
operations calling Fortran runtime functions. In particular, it tries
to set the Other memory effect to NoModRef. The Other memory effect
includes accesses to globals and captured pointers, so we cannot set
it for functions taking Fortran descriptors with one exception
for calls where the Fortran descriptor arguments are all null.
As long as different calls to the same Fortran runtime function may have
different attributes, I decided to attach the attributes to the calls
rather than functions. Moreover, attaching the attributes to func.func
will require propagating these attributes to llvm.func, which is not
happening right now.
In addition to llvm.memory_effects, the new pass sets llvm.nosync
and llvm.nocallback attributes that may also help LLVM alias analysis
(e.g. see #127707). These attributes are ignored currently.
I will support them in LLVM IR dialect in a separate patch.
I also added another pass for developers to be able to print
declarations/calls of all Fortran runtime functions that are recognized
by the attributes setting pass. It should help with maintenance
of the LIT tests.
Commit: a6abbe03094a7afc85d4d35c24e6cedd1cfc4ef2
https://github.com/llvm/llvm-project/commit/a6abbe03094a7afc85d4d35c24e6cedd1cfc4ef2
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
Log Message:
-----------
[test] Remove `-emit-llvm` from the `and-errors.hlsl` test to avoid writing to a potentially write-protected directory (#128047)
@mikaelholmen
[mentioned](https://github.com/llvm/llvm-project/pull/127098#discussion_r1962897888)
that the `-emit-llvm` argument isn't necessary for the `and-errors.hlsl`
test and may cause issues due to writing to the current (potentially
write-protected) directory.
This PR removes the `-emit-llvm` argument from clang in the RUN lines of
the test.
Commit: 7f6f186736c81ab3ca1881ed9d5569ffc1050df8
https://github.com/llvm/llvm-project/commit/7f6f186736c81ab3ca1881ed9d5569ffc1050df8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
Log Message:
-----------
[SPIRV] Stop including SPIRVInstrInfo.h in MCTargetDesc. NFC (#128443)
SPIRVInstrInfo.h is a CodeGen layer file, it should not be used in MC
layer files.
This required adding a new enum for MCInst flags and a conversion from
MachineInstr's AsmPrinter flags in SPIRVMCInstLower.
Commit: a0be17dc91d054290910b5787f41900fb6ef0d6e
https://github.com/llvm/llvm-project/commit/a0be17dc91d054290910b5787f41900fb6ef0d6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unnecessary entries from RISCVVInversePseudosTable. NFC (#128376)
The inverse pseudos table contained entries that map back to the
unmasked and masked pseudo, but the lookup only returns the first one.
Add a new FilterClassField to remove the unnecessary entries.
This reduces the size of the llvm-mca binary by ~32KB.
Commit: 664cbd1b5db190724ceea498d1f520eb66d78d69
https://github.com/llvm/llvm-project/commit/664cbd1b5db190724ceea498d1f520eb66d78d69
Author: John Harrison <harjohn at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
Log Message:
-----------
[lldb-dap] skip TestDAP_server on windows to unblock CI. (#128278)
This should fix the tests running on windows.
https://lab.llvm.org/buildbot/#/builders/141/builds/6506 is the failure,
the error message does not clearly indicate why the connection failed,
but they are passing for me locally on macOS and passed on linux in the
CI.
Commit: 571b787b83cb1bfc7d4c8214b296ec965e7bb7e2
https://github.com/llvm/llvm-project/commit/571b787b83cb1bfc7d4c8214b296ec965e7bb7e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/ARC/ARCInstrInfo.cpp
M llvm/lib/Target/ARC/ARCInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb1InstrInfo.h
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.h
M llvm/lib/Target/BPF/BPFInstrInfo.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.h
M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
M llvm/lib/Target/CSKY/CSKYInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
M llvm/lib/Target/Lanai/LanaiInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
M llvm/lib/Target/MSP430/MSP430InstrInfo.h
M llvm/lib/Target/Mips/Mips16InstrInfo.cpp
M llvm/lib/Target/Mips/Mips16InstrInfo.h
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/VE/VEInstrInfo.cpp
M llvm/lib/Target/VE/VEInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
Log Message:
-----------
[CodeGen] Change copyPhysReg interface to use Register instead of MCRegister. (#128473)
NVPTX, SPIRV, and WebAssembly pass virtual registers to this function
since they don't perform register allocation. We need to use Register to
avoid a virtual register being converted to MCRegister by the caller.
Commit: 8dbc393e447299d1a4d35b96c6e66542a5928cff
https://github.com/llvm/llvm-project/commit/8dbc393e447299d1a4d35b96c6e66542a5928cff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang][cuda][NFC] Remove shared alloc addr space (#128535)
Commit: e298fc2da97120a30ee2f120ac184ab209fc1eb4
https://github.com/llvm/llvm-project/commit/e298fc2da97120a30ee2f120ac184ab209fc1eb4
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Metadata.def
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
A llvm/test/Bitcode/subrange_type.ll
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
Add DISubrangeType (#126772)
An Ada program can have types that are subranges of other types. This
patch adds a new DIType node, DISubrangeType, to represent this concept.
I considered extending the existing DISubrange to do this, but as
DISubrange does not derive from DIType, that approach seemed more
disruptive.
A DISubrangeType can be used both as an ordinary type, but also as the
type of an array index. This is also important for Ada.
Ada subrange types can also be stored using a bias. Representing this in
the DWARF required the use of an extension. GCC has been emitting this
extension for years, so I've reused it here.
Commit: d9d1f241f27bab3c7b8914196316a6e6202cc61e
https://github.com/llvm/llvm-project/commit/d9d1f241f27bab3c7b8914196316a6e6202cc61e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port d0e37d972331 (llvm-dap tweaks)
Commit: 9638d08af96c4cb8cf16785eed92179b2658bdfe
https://github.com/llvm/llvm-project/commit/9638d08af96c4cb8cf16785eed92179b2658bdfe
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
A llvm/test/CodeGen/NVPTX/cmpxchg.py
M llvm/test/CodeGen/NVPTX/lit.local.cfg
Log Message:
-----------
[NVPTX] Support for memory orderings for cmpxchg (#126159)
So far, all cmpxchg instructions were lowered to atom.cas. This change
adds support for memory orders in lowering. Specifically:
- For cmpxchg which are emulated, memory ordering is enforced by adding
fences around the emulation loops.
- For cmpxchg which are lowered to PTX directly, where the memory order
is supported in ptx, lower directly to the correct ptx instruction.
- For seq_cst cmpxchg which are lowered to PTX directly, use a sequence
(fence.sc; atom.cas.acquire) to provide the semantics that we want.
Also adds tests for all possible combinations of (size, memory ordering,
address space, SM/PTX versions)
This also adds `atomicOperationOrderAfterFenceSplit` in TargetLowering,
for specially handling seq_cst atomics.
Commit: 51ce6c437fec1fe0170d077424e1cbc141d05c2b
https://github.com/llvm/llvm-project/commit/51ce6c437fec1fe0170d077424e1cbc141d05c2b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Fix error C2065: 'PATH_MAX': undeclared identifier
This should fix the Windows build.
Commit: d9b0571b5c408b3c699143a8870d04414351d28d
https://github.com/llvm/llvm-project/commit/d9b0571b5c408b3c699143a8870d04414351d28d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 363bfd6090b0
Commit: 41cd6d2b1d6323bebfb20349d9f45b9c0ea75ada
https://github.com/llvm/llvm-project/commit/41cd6d2b1d6323bebfb20349d9f45b9c0ea75ada
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 850b49297615
Commit: 823a597d2ad0a76e8d5278a789f37a07b393cd2a
https://github.com/llvm/llvm-project/commit/823a597d2ad0a76e8d5278a789f37a07b393cd2a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
Log Message:
-----------
[flang] Workaround build failure.
https://lab.llvm.org/buildbot/#/builders/140/builds/17587
Looks like it is related to some specific version of the build compiler.
Commit: 4d536169010e4a1c70523edbdec5c6dfcbd49fda
https://github.com/llvm/llvm-project/commit/4d536169010e4a1c70523edbdec5c6dfcbd49fda
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
Log Message:
-----------
Revert "[flang] Workaround build failure."
This reverts commit 823a597d2ad0a76e8d5278a789f37a07b393cd2a.
Commit: 69cc16fb55089f624aba106a714aaf3f1a5504f5
https://github.com/llvm/llvm-project/commit/69cc16fb55089f624aba106a714aaf3f1a5504f5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
R flang/include/flang/Optimizer/Transforms/RuntimeFunctions.inc
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
R flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/array-temp.f90
R flang/test/Transforms/set-runtime-call-attributes.fir
R flang/test/Transforms/verify-known-runtime-functions.fir
R flang/test/Utils/generate-checks-for-runtime-funcs.py
Log Message:
-----------
Revert "[flang] Set LLVM specific attributes to fir.call's of Fortran runtime. (#128093)"
This reverts commit 36fdeb2aded08a776fcffefa73cb7667e7fc6c2d.
Commit: ab9cd53b86e84cc2db47d312232de4789c15adc4
https://github.com/llvm/llvm-project/commit/ab9cd53b86e84cc2db47d312232de4789c15adc4
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
Log Message:
-----------
[Wunsafe-buffer-usage] False positives for & expression indexing constant size array (arr[anything & 0]) (#112284)
Do not warn when a constant sized array is indexed with an expression
that contains bitwise and operation
involving constants and it always results in a bound safe access.
(rdar://136684050)
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 4ac43b541c067e6b888948900d01521e58a00eca
https://github.com/llvm/llvm-project/commit/4ac43b541c067e6b888948900d01521e58a00eca
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Restrict widest induction type to be IntegerType (NFC) (#128173)
As the name of the function suggests, convertPointerToIntegerType should
return an IntegerType instead of a Type, and should only ever be called
with integer or ptr type. Fix the callers getWiderType, and
addInductionPhi to narrow the type of WidestIndTy to IntegerType,
stripping unclear casts. While at it, rename convertPointerToIntegerType
and getWiderType for clarity.
Commit: be5c66d97d7977bd9fa31b1a0e78196ecbb6e52b
https://github.com/llvm/llvm-project/commit/be5c66d97d7977bd9fa31b1a0e78196ecbb6e52b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Serialization/ModuleManager.cpp
M clang/test/Modules/explicit-build.cpp
Log Message:
-----------
[clang] Improve module out of date error message (#128103)
When a pcm file has a different size or modification time than it had
when it was written to another module's IMPORT table Clang emits:
`<pcm> is out of date and needs to be rebuilt: module file out of date`
This is difficult to understand what's happening because there are a lot
of reasons that a module file can be out of date. This changes the
latter part of that message to:
`module file has a different size or mtime than expected`
Which makes it clearer what the issue is. For future work it would be
nice if a more detailed explanation of the issue could be emitted as a
note instead.
Commit: 607a1f2ace77fffb67a1f62df5ac6caa1c568f51
https://github.com/llvm/llvm-project/commit/607a1f2ace77fffb67a1f62df5ac6caa1c568f51
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
A clang/include/clang/CIR/Passes.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global.cir
M clang/test/CMakeLists.txt
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/cir-opt/CMakeLists.txt
A clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Add cir-opt tool to exercise CIR dialect parsing (#128254)
We need to be able to read in and parse files using the ClangIR dialect
in order to test this part of the functionality.
This change adds the minimum cir-opt tool needed to read and parse cir
files and write them back to text. This tool will later be extended to
add features for lowering from CIR to other MLIR dialects and to run CIR
passes as they are upstreamed.
Commit: 4c9e14b3ad64b04addc9a706663ac9ac129d7451
https://github.com/llvm/llvm-project/commit/4c9e14b3ad64b04addc9a706663ac9ac129d7451
Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
Log Message:
-----------
[AMDGPU] Update PromoteAlloca to handle GEPs with variable offset. (#122342)
In case of variable offset of a GEP that can be optimized out, promote
alloca is updated to use the refereshed index to avoid an assertion.
Issue found by fuzzer.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 82264d23a1cc2ad9334f9a277cb92043a8bac446
https://github.com/llvm/llvm-project/commit/82264d23a1cc2ad9334f9a277cb92043a8bac446
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor stepping related request handlers (NFC) (#128453)
Continuation of the work started in #128262.
Commit: 0182b23fe144d9b8a539f2b9d8fa5741eb1223a2
https://github.com/llvm/llvm-project/commit/0182b23fe144d9b8a539f2b9d8fa5741eb1223a2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 82264d23a1cc
Commit: 9fac59a0db7c7adaa354a47df385cd35d761ec77
https://github.com/llvm/llvm-project/commit/9fac59a0db7c7adaa354a47df385cd35d761ec77
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
Log Message:
-----------
[HLSL] Allow arrays to be returned by value in HLSL (#127896)
Enable Arrays to be returned in HLSL, and a test for this.
Closes #126568
Commit: e55f1a7ef8d3e698144b013c8715a18c88912d81
https://github.com/llvm/llvm-project/commit/e55f1a7ef8d3e698144b013c8715a18c88912d81
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/spillcost.ll
Log Message:
-----------
[SLP] Add test for getSpillCost fix
Commit: 8ce17c15577d223e14b62f9198d4b2ae9856b9fb
https://github.com/llvm/llvm-project/commit/8ce17c15577d223e14b62f9198d4b2ae9856b9fb
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/CXXInheritance.cpp
Log Message:
-----------
[clang][NFC] Remove CXXRecordDecl::lookupDependentName() and its helpers (#128392)
This function has been superseded by
HeuristicResolver::lookupDependentName(), which implements the same
heuristics and more.
Porting note for any out-of-tree callers:
```
RD->lookupDependentName(Name, Filter);
```
can be replaced with:
```
HeuristicResolver(RD->getASTContext())->lookupDependentName(Name, Filter);
```
Commit: 988480323d5ef9bb658f13ac598d4ce2aa23c782
https://github.com/llvm/llvm-project/commit/988480323d5ef9bb658f13ac598d4ce2aa23c782
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor custom & testing related request handlers (NFC) (#128549)
Continuation of the work started in
https://github.com/llvm/llvm-project/pull/128262. Builds on top of
#128453.
Commit: cec35077025da73bd2d8bf78d5bb62c43f3ccd0a
https://github.com/llvm/llvm-project/commit/cec35077025da73bd2d8bf78d5bb62c43f3ccd0a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-24 (Mon, 24 Feb 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/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[alpha.webkit.UnretainedLocalVarsChecker] Add a checker for local variables to NS and CF types. (#127554)
This PR adds alpha.webkit.UnretainedLocalVarsChecker by generalizing
RawPtrRefLocalVarsChecker. It checks local variables to NS or CF types
are guarded with a RetainPtr or not. The new checker is effective for NS
and CF types in Objective-C++ code without ARC, and it's effective for
CF types in code with ARC.
Commit: 55c76ea391225bce1e0b1c1eba57bbd846c671a1
https://github.com/llvm/llvm-project/commit/55c76ea391225bce1e0b1c1eba57bbd846c671a1
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
Log Message:
-----------
[BOLT] pacret-scanner: fix regression tests... (#128565)
by making the regex to match basic block names more general. See failing
test case that was reported on some system in comment
https://github.com/llvm/llvm-project/pull/122304#issuecomment-2679460678
These test cases were introduced in PR #122304, commit
850b49297615a613ac83adca2c9cf823a4b8ef95 .
Commit: b335d5a8303250cb49901ecae7570adf61abbd3c
https://github.com/llvm/llvm-project/commit/b335d5a8303250cb49901ecae7570adf61abbd3c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 988480323d5e
Commit: f63c5f36c3e390fa43ba91c6d7812d0439b5203a
https://github.com/llvm/llvm-project/commit/f63c5f36c3e390fa43ba91c6d7812d0439b5203a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
Log Message:
-----------
Revert "[mlir] Fix integration test when `%host_cc` path contains spaces" (#128573)
Reverts llvm/llvm-project#128439
Builtbot are broken, see:
https://lab.llvm.org/buildbot/#/builders/138/builds/10710
Commit: 53c08dfc18163ab50a94da344fd93fddac179495
https://github.com/llvm/llvm-project/commit/53c08dfc18163ab50a94da344fd93fddac179495
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
[llvm-mt] Use XmlDeleter to free xmlFreeDoc (#128472)
Fixes memory leak on error in llvm-mt.
Previous https://reviews.llvm.org/D37321 missed this spot.
Commit: 23aca2f88dd5d2447e69496c89c3ed42a56f9c31
https://github.com/llvm/llvm-project/commit/23aca2f88dd5d2447e69496c89c3ed42a56f9c31
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
Log Message:
-----------
Revert "Symbolize line zero as if no source info is available (#124846)"
This commit creates an inconsistency on `__sanitizer_symbolize_pc` API. Before this change, this API always uses the filename from debug info when the line number is 0. After this change, the filename becomes invalid when line number is 0. The sanitizer might fall back to use base filename from symbol table. So, this API may return either `??:0` or `{filename from symbol table}:0` depending on if the symbol table has the filename for it. Make sure this inconsistency is resolved before relanding the commit.
Commit: e063365a9732551b2d7b6c2b0d81e79d224a61e8
https://github.com/llvm/llvm-project/commit/e063365a9732551b2d7b6c2b0d81e79d224a61e8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
Revert "[llvm-mt] Use XmlDeleter to free xmlFreeDoc" (#128578)
Reverts llvm/llvm-project#128472
Breaks build bots.
Commit: 6c61c557569a1def56747c7b7db1926c538ec576
https://github.com/llvm/llvm-project/commit/6c61c557569a1def56747c7b7db1926c538ec576
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
Log Message:
-----------
[BOLT] pacret-scanner: fix regression test failure (#128576)
... which is caused by a seemingly recent change in BOLTs basic block
calculation, where function calls seem to be ending basic blocks? I
don't have a pointer to the commit that caused this change. I'll be
looking for that later. For now, I'm trying to get the regression tests
passing again.
Commit: 1e85e5abb327317777cfe0d5d97d6dc211dbc1e3
https://github.com/llvm/llvm-project/commit/1e85e5abb327317777cfe0d5d97d6dc211dbc1e3
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Driver/wasm-toolchain.c
Log Message:
-----------
[clang][WebAssembly] Always have `-pthread` imply `--shared-memory` linker flag (#127939)
Unlike `-lpthread` this flag should not be suppressed by `-nostdlib`.
Commit: 9bfe48695ed837bdc788b1ba0e877726ce83befb
https://github.com/llvm/llvm-project/commit/9bfe48695ed837bdc788b1ba0e877726ce83befb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
Log Message:
-----------
[libc] Initial support for parsing SPIR-V for GPU libc (#128570)
Summary:
Some day we'd like to support this, add some initial support for parsing
the triple so it will at least attempt to build.
Commit: bef4e5204adae9aa7d7f3268a4cf75cd0394c0d7
https://github.com/llvm/llvm-project/commit/bef4e5204adae9aa7d7f3268a4cf75cd0394c0d7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix type mismatch in atomiccas (#128548)
Commit: 47822c80c1b259973c29521315e3c355d1d553ad
https://github.com/llvm/llvm-project/commit/47822c80c1b259973c29521315e3c355d1d553ad
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify that the pointer after an object must be valid. (#127892)
In some places, we rely on the assumption that the pointer after the
object must also be valid and not overflow, but it does not seem to be
spelled out clearly in LangRef, unless I missed a reference.
The GetElementPtr section mentions that the maximum object size is half
the pointer index type space, but then the pointer past the object may
wrap. Clarify that the pointer after the object must also be valid.
This should match Alive2's semantics:
https://alive2.llvm.org/ce/z/Dk8QFL
(https://github.com/AliveToolkit/alive2/blob/master/tools/transform.cpp#L1288)
PR: https://github.com/llvm/llvm-project/pull/127892
Commit: 1b15a89a23c631a8e2d096dad4afe456970572c0
https://github.com/llvm/llvm-project/commit/1b15a89a23c631a8e2d096dad4afe456970572c0
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Revert "[Offload] Fix assumptions on symbols after #124846 (#126238)"
The dependency commit was reverted at https://github.com/llvm/llvm-project/commit/23aca2f88dd5d2447e69496c89c3ed42a56f9c31. Reverting this as well.
Commit: d3623194044452e2f1b4e81c213bc8cbbe49c2a8
https://github.com/llvm/llvm-project/commit/d3623194044452e2f1b4e81c213bc8cbbe49c2a8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
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
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor breakpoint related request handlers (NFC) (#128550)
Continuation of the work started in #128262. Builds on top of #128549.
Commit: a018788687c8715b0abbd24cb3258d2dd1d1740d
https://github.com/llvm/llvm-project/commit/a018788687c8715b0abbd24cb3258d2dd1d1740d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port d36231940444
Commit: df14dbd8750fba7851a3fd8878db3692c20a28d1
https://github.com/llvm/llvm-project/commit/df14dbd8750fba7851a3fd8878db3692c20a28d1
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXInstrInfo.h
M llvm/lib/Target/DirectX/DirectXRegisterInfo.cpp
M llvm/lib/Target/DirectX/DirectXRegisterInfo.h
M llvm/lib/Target/DirectX/DirectXSubtarget.h
Log Message:
-----------
[DirectX] Fix build breaks (#128556)
1. Fix build break caused by #126772 by adding `writeDISubrangeType`
stub to `DXILBitcodeWriter.cpp`
2. Fix build break caused by #128480 by adding implementation of pure
virtual method `TargetSubtargetInfo::getRegisterInfo`
Commit: baa77e30f0f2599763f3d6142cc67a96d6e6709b
https://github.com/llvm/llvm-project/commit/baa77e30f0f2599763f3d6142cc67a96d6e6709b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Remove some redundant casts (NFC).
Commit: eabe2eb933556bf3e0db0d2d98e96f962bde14dc
https://github.com/llvm/llvm-project/commit/eabe2eb933556bf3e0db0d2d98e96f962bde14dc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libc/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libc] Remove special full build handling for GPU (#128572)
Summary:
Currently we default to non-fullbuild for all targets, but realistically
we should do this depending on the target OS. Some OS's like the GPU or
upcoming UEFI have no existing hosted system, so they cannot be built
with an overlay build. These are already errors so there's no reason to
complicate things and require passing it in through the runtimes build.
Commit: e5ce0304335dc1cae6856c880d1d4e14dcf8265d
https://github.com/llvm/llvm-project/commit/e5ce0304335dc1cae6856c880d1d4e14dcf8265d
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
R mlir/test/Dialect/XeGPU/XeGPUOps.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
A mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[mlir][xegpu] Improve XeGPU op verification logic for SIMT flavor and update tests. (#127920)
This PR adds required changes for XeGPU ops to support the SIMT
distribution.
1. Adds verification logic for SIMT flavor for load_nd, store_nd, dpas,
load_gather and store_scatter ops.
2. Adds test cases to cover the SIMT version of these ops along with
their VC counter parts.
---------
Co-authored-by: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Commit: 38d7cf1a81431933b732350b0141790ca94aa20a
https://github.com/llvm/llvm-project/commit/38d7cf1a81431933b732350b0141790ca94aa20a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/ScopesRequestHandler.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/ThreadsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor remaining request handlers (NFC)Remaining request handlers (#128551)
Continuation of the work started in #128262. Builds on top of #128550.
Commit: b248817ad60953f500b070726a6c1973882bcb56
https://github.com/llvm/llvm-project/commit/b248817ad60953f500b070726a6c1973882bcb56
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 38d7cf1a8143
Commit: 31915248c06da7d132f642e4a2a3bb37df6fdab5
https://github.com/llvm/llvm-project/commit/31915248c06da7d132f642e4a2a3bb37df6fdab5
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/cmake/modules/CMakeLists.txt
Log Message:
-----------
[mlir] NFC: fix typos and improve commentary regarding generation of MLIRConfig.cmake (#127712)
Commit: d6ec32c8f25975ae31ec9ca7e67d942adadc3898
https://github.com/llvm/llvm-project/commit/d6ec32c8f25975ae31ec9ca7e67d942adadc3898
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fprofile-continuous.c
Log Message:
-----------
[profile] runtime counter relocation is needed on windows-msvc targets (#127858)
Continuous profile syncing is supported on windows, and it also relies on runtime counter relocation (based on this
test [1])
Thanks to @anhtuyenibm for pointing it out to me.
[1] https://github.com/llvm/llvm-project/blob/main/compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 0caa8f42be0b2d00527ad2d94144dcbb2a427605
https://github.com/llvm/llvm-project/commit/0caa8f42be0b2d00527ad2d94144dcbb2a427605
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
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/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
A flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/array-temp.f90
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
Log Message:
-----------
Reland "[flang] Set LLVM specific attributes to fir.call's of Fortran runtime. (#128093)"
This change is inspired by a case in facerec benchmark, where
performance
of scalar code may improve by about 6%@aarch64 due to getting rid of
redundant
loads from Fortran descriptors. These descriptors are corresponding
to subroutine local ALLOCATABLE, SAVE variables. The scalar loop nest
in LocalMove subroutine contains call to Fortran runtime IO functions,
and LLVM globals-aa analysis cannot prove that these calls do not modify
the globalized descriptors with internal linkage.
This patch sets and propagates llvm.memory_effects attribute for
fir.call
operations calling Fortran runtime functions. In particular, it tries
to set the Other memory effect to NoModRef. The Other memory effect
includes accesses to globals and captured pointers, so we cannot set
it for functions taking Fortran descriptors with one exception
for calls where the Fortran descriptor arguments are all null.
As long as different calls to the same Fortran runtime function may have
different attributes, I decided to attach the attributes to the calls
rather than functions. Moreover, attaching the attributes to func.func
will require propagating these attributes to llvm.func, which is not
happening right now.
In addition to llvm.memory_effects, the new pass sets llvm.nosync
and llvm.nocallback attributes that may also help LLVM alias analysis
(e.g. see #127707). These attributes are ignored currently.
I will support them in LLVM IR dialect in a separate patch.
I also added another pass for developers to be able to print
declarations/calls of all Fortran runtime functions that are recognized
by the attributes setting pass. It should help with maintenance
of the LIT tests.
Commit: 594919c263122e1d0468dfecee6eb5962e892b44
https://github.com/llvm/llvm-project/commit/594919c263122e1d0468dfecee6eb5962e892b44
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/test/Target/SPIRV/selection.mlir
A mlir/test/Target/SPIRV/selection.spv
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir][spirv] Split conditional basic blocks during deserialization (#127639)
With the current design some of the values are sank into a selection
region, despite them being also used outside that region. This is
because the current deserializer logic sinks the entire basic block
containing a conditional branch forming a header of a selection
construct, without accounting for some values being used outside. This
manifests as (for example):
```
<unknown>:0: error: 'spirv.Variable' op failed control flow structurization: it has uses outside of the enclosing selection/loop construct
<unknown>:0: note: see current operation: %0 = "spirv.Variable"()<{storage_class = #spirv.storage_class<Function>}> : () -> !spirv.ptr<vector<4xf32>, Function>
```
The proposed solution to this problem is to split the conditional basic
block into two, one block containing just the conditional branch, and
other the rest of instructions. By doing this, the logic that structures
selection regions, only sinks the comparison, keeping the rest of
instructions outside the selection region.
A SPIR-V test is required, as the problem can happen only during
deserialization and cannot be tested with `--test-spirv-roundtrip`. An
MLIR test exhibiting the problematic behaviour would be an incorrect
MLIR in the first place.
This solution is proposed as an alternative to an unfinished PR #123371,
that is unlikely to be merged in the foreseeable future, as the author
"stepped away from this for a time being". There is also a Discourse
thread:
https://discourse.llvm.org/t/spir-v-uses-outside-the-selection-region/84494
that tried to solicit some feedback on the topic.
Commit: 36b339b84a98afe7bdf470747a776d0d5f348b64
https://github.com/llvm/llvm-project/commit/36b339b84a98afe7bdf470747a776d0d5f348b64
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Relax assertion for atomicexch (#128582)
atomicexch interfaces accepts also floating point numbers. Relax the
assertion so float are also accepted.
Commit: 6b444271a011c4e3c92a62aaed9347ad508843a2
https://github.com/llvm/llvm-project/commit/6b444271a011c4e3c92a62aaed9347ad508843a2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
Reland "[llvm-mt] Use XmlDeleter to free xmlFreeDoc"" (#128579)
Reverts llvm/llvm-project#128578 to reland llvm/llvm-project#128472.
Commit: 00a0b0be4b180a9458f477a8bf76d2377056d9d1
https://github.com/llvm/llvm-project/commit/00a0b0be4b180a9458f477a8bf76d2377056d9d1
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/lit.cfg.py
Log Message:
-----------
Reland [mlir] Fix integration test when %host_cc path contains spaces (#128542)
Reland https://github.com/llvm/llvm-project/pull/128439
Some builders have spaces at the end of the `host_cc` path.
Commit: e8f1623a223adf5446e9999403aa6ce827a9b6dc
https://github.com/llvm/llvm-project/commit/e8f1623a223adf5446e9999403aa6ce827a9b6dc
Author: John Harrison <harjohn at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
Log Message:
-----------
[lldb-dap] Addressing the order of events during disconnect to flush output. (#128583)
The TestDAP_ouput test is flaky due to the order of events during
shutdown. We were stopping the output and error handle redirection after
we finished the disconnect request, which can cause us to miss output
events due to timing. Moving when we stop the redirection to ensure we
have consistent output prior to disconnect responding.
Fixes #128567
Commit: 911e94c6516926b462bc6d1d4a77dcc701b7e3db
https://github.com/llvm/llvm-project/commit/911e94c6516926b462bc6d1d4a77dcc701b7e3db
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.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/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Finish refactoring the request handlers (NFC) (#128553)
Completes the work started in #128262. This PR removes the
old way of register request handlers with callbacks and makes
the operator const.
Commit: 6d0cfbc9c0e25f9e652f5f8b3bca2d7a0768619e
https://github.com/llvm/llvm-project/commit/6d0cfbc9c0e25f9e652f5f8b3bca2d7a0768619e
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
A llvm/test/Transforms/Inline/PowerPC/inline-target-attr.ll
Log Message:
-----------
[PPC] Implement `areInlineCompatible` (#126562)
After the default implementation swap from
https://github.com/llvm/llvm-project/pull/117493, where
`areInlineCompatible` checks if the callee features are a subset of
caller features. This is not a safe assumption in general on PPC. We
fallback to check for strict feature set equality for now, and see what
improvements we can make.
Commit: 162eb32e747819683d747de29d7fad99f1279063
https://github.com/llvm/llvm-project/commit/162eb32e747819683d747de29d7fad99f1279063
Author: John Harrison <harjohn at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
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/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Add 'source' references to stack frames without source files. (#128268)
This adds 'source' references to all stack frames. When opening a stack
frame users will see the disassembly of the frame if the source is not
available.
This works around the odd behavior of navigating frames without the
VSCode disassembly view open, which causes 'step' to step in the first
frame with a source instead of the active frame.
This fixes #128260
Old behavior:
https://github.com/user-attachments/assets/3f40582d-ac96-451a-a5ae-498a323bf30e
New behavior:
https://github.com/user-attachments/assets/3a3f9ac6-3e6c-4795-9bb2-1132b3916b6f
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f6a30021249c3b6aac20f108559915e74943540f
https://github.com/llvm/llvm-project/commit/f6a30021249c3b6aac20f108559915e74943540f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Remove unused headers (NFC)
Commit: 1824bb47c2b5874d92cc5456c57d434ea39739e7
https://github.com/llvm/llvm-project/commit/1824bb47c2b5874d92cc5456c57d434ea39739e7
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M offload/test/sanitizer/kernel_trap.c
Log Message:
-----------
[Offload][OpenMP] Fix check-prefix (#128599)
Commit: fc09550bf4982253a93088bf1668f7a917584464
https://github.com/llvm/llvm-project/commit/fc09550bf4982253a93088bf1668f7a917584464
Author: Ali Raeisdanaei <57504158+aliraeisdanaei at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus.py
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
A llvm/utils/mlgo-utils/mlgo/corpus/flags.py
Log Message:
-----------
[MLGO] Refactored verbosity flag in mlgo-utils to common location (#128541)
add common lib file to setup arguments for parser #107898
This is my first pull request to LLVM, so I would appreciate your
feedback :)
Fixes #107898.
---------
Co-authored-by: Aiden Grossman <agrossman154 at yahoo.com>
Commit: ccbb8882ac75e73e23f31ad60588a2914ebeef04
https://github.com/llvm/llvm-project/commit/ccbb8882ac75e73e23f31ad60588a2914ebeef04
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/source/API/SBFrame.cpp
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
[lldb] do not show misleading error when there is no frame (#119103)
I am using VSCode with the official vscode-lldb extension. When I try to
list the breakpoints in the debug console get the message:
```
br list
can't evaluate expressions when the process is running.
```
I know that this is wrong and you need to use
```
`br list
(lldb) br list
No breakpoints currently set.
```
but the error message is misleading. I cleaned up the code and now the
error message is
```
br list
sbframe object is not valid.
```
which is still not perfect, but at least it's not misleading.
Commit: 49c31201278ae5949694ed78b69ffbbca6a1826a
https://github.com/llvm/llvm-project/commit/49c31201278ae5949694ed78b69ffbbca6a1826a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
Log Message:
-----------
[MachineSched] Add a first valid reason [nfc]
For debugging, distinguish the first valid candidate encountered and
a preference decision driven by node number.
Commit: 305d2738944f77f8defefe79217120bb8aafab75
https://github.com/llvm/llvm-project/commit/305d2738944f77f8defefe79217120bb8aafab75
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
A clang/test/CodeGenSPIRV/Builtins/reflect.c
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reflect.ll
A llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll
Log Message:
-----------
Reland "[HLSL] Implement the reflect HLSL function" (#125599)
This PR relands #122992.
A reland was attempted before (#123853), but it [failed to pass the
`sanitizer-aarch64-linux-bootstrap-hwasan`
buildbot](https://github.com/llvm/llvm-project/pull/123853#issuecomment-2608389396)
due to the test `llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll`
The issue has since been patched thanks to @vitalybuka, so the PR is
safe to reland without any changes.
See
https://github.com/llvm/llvm-project/pull/125599#discussion_r1966650839
and
https://github.com/llvm/llvm-project/pull/125599#discussion_r1966650839
Commit: 724b91b46783e68ff42fa0c9450449629cc47c65
https://github.com/llvm/llvm-project/commit/724b91b46783e68ff42fa0c9450449629cc47c65
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
Log Message:
-----------
[flang-rt] Fixed freestanding memmove. (#128604)
Commit: 62ec7b8de97a197c2522177a52bdc78205579930
https://github.com/llvm/llvm-project/commit/62ec7b8de97a197c2522177a52bdc78205579930
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[LLDB][NFC]Renaming functions to be consistent with LLDB naming style (#128574)
Commit: a60e8a2c2579252d66a0656c387af29475e9b908
https://github.com/llvm/llvm-project/commit/a60e8a2c2579252d66a0656c387af29475e9b908
Author: Nikhil Kalra <nkalra at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir] Python: write bytecode to a file path (#127118)
The current `write_bytecode` implementation necessarily requires the
serialized module to be duplicated in memory when the python `bytes`
object is created and sent over the binding. For modules with large
resources, we may want to avoid this in-memory copy by serializing
directly to a file instead of sending bytes across the boundary.
Commit: 28002dd50fb7ec97da1770a11f9c6a99dd9aecb9
https://github.com/llvm/llvm-project/commit/28002dd50fb7ec97da1770a11f9c6a99dd9aecb9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Replace some undef pointer uses in test
Commit: 688064498a015e833bd24f5cd429462ca9126a54
https://github.com/llvm/llvm-project/commit/688064498a015e833bd24f5cd429462ca9126a54
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
Log Message:
-----------
[ORC] Remove unused header. NFC.
Commit: 253e11695ba8d77e4339d0c43758f192b149db1e
https://github.com/llvm/llvm-project/commit/253e11695ba8d77e4339d0c43758f192b149db1e
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
A llvm/include/llvm/ExecutionEngine/Orc/GetTapiInterface.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
A llvm/lib/ExecutionEngine/Orc/GetTapiInterface.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_Foo.tbd
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_main_ret_foo.s
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_weak_link.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC][llvm-jitlink] Add support for emulating ld64 -weak-lx / -weak_library.
Linking libraries in ld64 with -weak-lx / -weak_library causes all references
to symbols in those libraries to be made weak, allowing the librarie to be
missing at runtime.
This patch extends EPCDynamicLibrarySearchGenerator with support for emulating
this behavior: If an instance is constructed with an Allow predicate but no
dylib handle then all symbols matching the predicate are immediately resolved
to null.
The llvm-jitlink tool is updated with -weak-lx / -weak_library options for
testing. Unlike their ld64 counterparts these options take a TBD file as input,
and always resolve all exports in the TBD file to null.
Commit: c7101188fb3f17176e9152b1d733da6d7199d317
https://github.com/llvm/llvm-project/commit/c7101188fb3f17176e9152b1d733da6d7199d317
Author: apple-fcloutier <75502309+apple-fcloutier at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/FormatString.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaObjC.cpp
A clang/test/Sema/format-string-matches.c
M clang/test/Sema/format-strings.c
Log Message:
-----------
[clang] Implement __attribute__((format_matches)) (#116708)
This implements ``__attribute__((format_matches))``, as described in the
RFC:
https://discourse.llvm.org/t/rfc-format-attribute-attribute-format-like/83076
The ``format`` attribute only allows the compiler to check that a format
string matches its arguments. If the format string is passed
independently of its arguments, there is no way to have the compiler
check it. ``format_matches(flavor, fmtidx, example)`` allows the
compiler to check format strings against the ``example`` format string
instead of against format arguments. See the changes to AttrDocs.td in
this diff for more information.
Implementation-wise, this change subclasses CheckPrintfHandler and
CheckScanfHandler to allow them to collect specifiers into arrays, and
implements comparing that two specifiers are equivalent.
`checkFormatStringExpr` gets a new `ReferenceFormatString` argument that
is piped down when calling a function with the `format_matches`
attribute (and is `nullptr` otherwise); this is the string that the
actual format string is compared against.
Although this change does not enable -Wformat-nonliteral by default,
IMO, all the pieces are now in place such that it could be.
Commit: 8009c1fd81ad0b6ac65724d2b134a92db48f8fbf
https://github.com/llvm/llvm-project/commit/8009c1fd81ad0b6ac65724d2b134a92db48f8fbf
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[LV][VPlan] Prevent calculate cost for skiped instructions in precomputeCosts(). (#127966)
Skip calculating instruction costs for exit conditions in
precomputeCosts() when it should be skipped.
Reported from:
https://github.com/llvm/llvm-project/issues/115744#issuecomment-2670479463
Godbolt for reduced test cases: https://godbolt.org/z/fr4YMeqcv
Commit: aa902a0380c167ceb68c998c25780945da99edfa
https://github.com/llvm/llvm-project/commit/aa902a0380c167ceb68c998c25780945da99edfa
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
Log Message:
-----------
[ORC] Add dependence on TextAPI to reflect changes in 253e11695ba.
Commit: 2c7780a96d24e1e23657057fb735e13e2ba5d2ce
https://github.com/llvm/llvm-project/commit/2c7780a96d24e1e23657057fb735e13e2ba5d2ce
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 253e11695ba8
Commit: 862595cab67b7fa71ea035e1090725bdf39d291b
https://github.com/llvm/llvm-project/commit/862595cab67b7fa71ea035e1090725bdf39d291b
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[MachineBasicBlock][NFC] Decouple SplitCriticalEdges from pass manager (#128151)
New clients should use this overload that accepts analyses directly.
Commit: 06f30792353a5d7bacc9110294db7cca49b4eafa
https://github.com/llvm/llvm-project/commit/06f30792353a5d7bacc9110294db7cca49b4eafa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/si-fold-operands-commute-same-operands-assert.mir
Log Message:
-----------
AMDGPU: More consistently use the fold list instead of direct mutation (#127612)
There were 2 parallel fold check mechanisms, so consistently use the
fold list. The worklist management here is still not good. Other types
of folds are not using it, and we should probably rewrite the pass to
look more like peephole-opt.
This should be an alternative fix to skipping commute if the operands
are the same (#127562). The new test is still not broken as-is, but
demonstrates failures in a future patch.
Commit: 366daddfad9aa38ebb7d40055cf65f4ecb7dd6f9
https://github.com/llvm/llvm-project/commit/366daddfad9aa38ebb7d40055cf65f4ecb7dd6f9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
Log Message:
-----------
[Serialization] Update DECL_LAST
Address post commit review at
https://github.com/llvm/llvm-project/pull/119333#pullrequestreview-2637471908
Commit: b3c51db292f05cf89201911cbcca6cba83caadd6
https://github.com/llvm/llvm-project/commit/b3c51db292f05cf89201911cbcca6cba83caadd6
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
A llvm/test/CodeGen/AArch64/expand-load-got-pseudo.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-expand-pseudo LOADgot expansion (#128081)
The aarch64-expand-pseudo pass expands the LOADgot instruction to an
ADRP instruction and a LDRXui instruction. If the LOADgot had a
debug-instr-number, the pass doesn't preserve this to the new expansion.
This patch fixes the issue by making sure the debug-instr-number is
correctly applied to the LDRXui instruction generated.
Commit: eab6f2d7a90cd9be7d622c7724d1131f9a9128b4
https://github.com/llvm/llvm-project/commit/eab6f2d7a90cd9be7d622c7724d1131f9a9128b4
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Examples/mlir-opt/loop_fusion_options.mlir
Log Message:
-----------
[MLIR][Affine] Fix fusion in the presence of cyclic deps in source nests (#128397)
Fixes: https://github.com/llvm/llvm-project/issues/61820
Fix affine fusion in the presence of cyclic deps in the source nest. In
such cases, the nest being fused can't be executed multiple times. Add a
utility to check for dependence cycles and use it in fusion. This fixes
both sibling as well as producer consumer fusion where nests with cyclic
dependences (typically reductions) were being in some cases incorrectly
fused in.
The test case also exercises/required a fix to the check for the
redundant computation being within the specified threshold.
Commit: 5deb2aa9eb454db266fb1ad38502dc6fac92ae48
https://github.com/llvm/llvm-project/commit/5deb2aa9eb454db266fb1ad38502dc6fac92ae48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Make is.shared and is.private propagate poison (#128617)
Commit: d85685eb863641dce62a9f858ebcd6bab56c605b
https://github.com/llvm/llvm-project/commit/d85685eb863641dce62a9f858ebcd6bab56c605b
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
Log Message:
-----------
[AArch64][NPM] Chalk out the CodeGenPassBuilder for NPM (#128471)
This allows for testing AArch64 passes with the new pass manager.
Commit: b9cf684d7c39a9c36c562b67e6e53882f645fe74
https://github.com/llvm/llvm-project/commit/b9cf684d7c39a9c36c562b67e6e53882f645fe74
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
Log Message:
-----------
[mlir][scf] Fix typo of square brackets(NFC) (#128455)
Commit: 83ddb43cad3ee32b0df81aa641c4c0275334729d
https://github.com/llvm/llvm-project/commit/83ddb43cad3ee32b0df81aa641c4c0275334729d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
Log Message:
-----------
Revert "[AArch64][NPM] Chalk out the CodeGenPassBuilder for NPM (#128471)"
This reverts commit d85685eb863641dce62a9f858ebcd6bab56c605b.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/128471
Commit: ecc7e6ce4cd57a614985e95daf7027918cb8723e
https://github.com/llvm/llvm-project/commit/ecc7e6ce4cd57a614985e95daf7027918cb8723e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Handle instantiating captures in addInstantiatedCapturesToScope() (#128478)
addInstantiatedCapturesToScope() might be called when transforming a
lambda body. In this situation, it would look into all the lambda's
parents and figure out all the instantiated captures. However, the
instantiated captures are not visible from lambda's class decl until the
lambda is rebuilt (i.e. after the lambda body transform). So this patch
corrects that by also examining the LambdaScopeInfo, serving as a
workaround for not having deferred lambda body instantiation in Clang
20, to avoid regressing some real-world use cases.
Fixes #128175
Commit: 6e3b47597fabb8df8cf822331461cecbac907c6f
https://github.com/llvm/llvm-project/commit/6e3b47597fabb8df8cf822331461cecbac907c6f
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
Reland "[mlir] Silence -Wdangling-assignment-gsl in OperationSupport.h"
This warning is causing lots of build spam when I use a recent Clang as
my host compiler. It's a potential false positive, so silence it until
https://github.com/llvm/llvm-project/issues/126600 is resolved.
Reland of https://github.com/llvm/llvm-project/pull/126140 with fix for
non-Clang compilers (the preprocessor doesn't short-circuit conditionals
the way I thought it did).
Commit: f58fde585775a7c25dc673076db914f8d1866081
https://github.com/llvm/llvm-project/commit/f58fde585775a7c25dc673076db914f8d1866081
Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
Log Message:
-----------
Exclude RedirectingFileSystem with null OverlayFileDir in VFSUsage (#128267)
This is to avoid assertion failures like the following when
RedirectingFileSystem's are created and used outside
createVFSFromOverlayFiles.
```
Assertion failed: VFSUsage.size() == getHeaderSearchOpts().VFSOverlayFiles.size() && "A different number of RedirectingFileSystem's were present than " "-ivfsoverlay options passed to Clang!", file S:\SourceCache\llvm-project\clang\lib\Lex\HeaderSearch.cpp, line 162
```
Commit: e67cd152cf4d0344efba19985b005dae15e6bde0
https://github.com/llvm/llvm-project/commit/e67cd152cf4d0344efba19985b005dae15e6bde0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/tools/llvm-size/llvm-size.cpp
Log Message:
-----------
[llvm-size] Initialize Radix to correct value (#128447)
Without the patch, invalid --radix, makes Radix to be 0, and result
in invalid format specifier ` %#7 `, instead of e.g ` %#7x `.
Commit: 9b298a1d3d2280c2b09f4a905d079bab008b5290
https://github.com/llvm/llvm-project/commit/9b298a1d3d2280c2b09f4a905d079bab008b5290
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
Log Message:
-----------
[WebAssembly] Use Register instead of unsigned. NFC
Commit: d7903c9f28bdfd17fcc2d5be1096c504b6a94ec1
https://github.com/llvm/llvm-project/commit/d7903c9f28bdfd17fcc2d5be1096c504b6a94ec1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
Log Message:
-----------
AMDGPU: Add more codegen tests for readfirstlane
Commit: f5d80c335d79d0b35741bfc762f8157a24f5491a
https://github.com/llvm/llvm-project/commit/f5d80c335d79d0b35741bfc762f8157a24f5491a
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
Log Message:
-----------
[lldb] Avoid Function::GetAddressRange in SymbolFileCTF (#128517)
SymbolFileCTF never creates discontinuous functions, so this is
technically NFC, but it takes us one step closer to removing the
deprecated API.
Commit: d3dae841c05c9447b665a8334aa3cfeac904d749
https://github.com/llvm/llvm-project/commit/d3dae841c05c9447b665a8334aa3cfeac904d749
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Switch to imm offset variants for LDG and LDU (#128270)
Commit: 3872503d6eb3eed7f2b2db13daad27307369f0be
https://github.com/llvm/llvm-project/commit/3872503d6eb3eed7f2b2db13daad27307369f0be
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Don't hand out UnwindPlan::Row shared_ptrs (#128181)
The whole unwind plan is already stored in a shared pointer, and there's
no need to persist Rows individually. If there's ever a need to do that,
there are at least two options:
- copy the row (they're not that big, and they're being copied left and
right during construction already)
- use the shared_ptr subobject constructor to create a shared_ptr which
points to a Row but holds the entire unwind plan alive
This also changes all of the getter functions to return const Row
pointers, which is important for safety because all of these objects are
cached and potentially accessed from multiple threads. (Technically one
could hand out `shared_ptr<const Row>`s, but we don't have a habit of
doing that.)
As a next step, I'd like to remove the internal UnwindPlan usages of the
shared pointer, but I'm doing this separately to gauge feedback, and
also because the patch got rather big.
Commit: 6c17380ea896e9966645958ad3d76441cc25430c
https://github.com/llvm/llvm-project/commit/6c17380ea896e9966645958ad3d76441cc25430c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
Log Message:
-----------
[lldb] Fix TestDiagnoseDereferenceFunctionReturn on linux (#128512)
The test was failing because it was looking up the immediate value from
the call instruction as a load address, whereas in fact it was a file
address. This worked on darwin because (with ASLR disabled) the two
addresses are generally the same. On linux, this depends on the build
mode, but with the default (PIE) build type, the two are never the same.
The test also fails on a mac with ASLR enabled.
This path fixes the code to look up the value as a file address.
Commit: 3083aea4441493b11b72218207564bf54516bf3e
https://github.com/llvm/llvm-project/commit/3083aea4441493b11b72218207564bf54516bf3e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Log Message:
-----------
[GlobalISel] Avoid repeated hash lookups (NFC) (#128633)
Commit: 5088e1b435fd06de2bfccd3894dcc2f2c326630f
https://github.com/llvm/llvm-project/commit/5088e1b435fd06de2bfccd3894dcc2f2c326630f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/source/Target/ThreadPlanStepRange.cpp
Log Message:
-----------
[lldb] Avoid Function::GetAddressRange in ThreadPlanStepRange::InSymbol (#128515)
The existing implementation would probably produce false positives for
discontinuous functions. I haven't tried reproducing it because setting
up discontinuous functions (and executing them, in particular) is pretty
complex and there's nothing particularly interesting happening here.
Commit: d254fa877f419e61e54709f0a6f2e891da893a60
https://github.com/llvm/llvm-project/commit/d254fa877f419e61e54709f0a6f2e891da893a60
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang-rt] Make `FLANG_RT_INSTALL_RESOURCE_PATH` configurable (#128561)
Make it possible to change the path used to install flang-rt library.
This is particularly necessary for standalone builds, where the CMake
script currently hardwires the default clang install path, and therefore
is incorrect for distributions that override it. However, for
consistency I have made it configurable unconditionally, preserving the
current defaults.
Commit: 5114b9b386ca69058d19d9c3dac53b4b429c71a6
https://github.com/llvm/llvm-project/commit/5114b9b386ca69058d19d9c3dac53b4b429c71a6
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/GetDylibInterface.h
R llvm/include/llvm/ExecutionEngine/Orc/GetTapiInterface.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
R llvm/lib/ExecutionEngine/Orc/GetTapiInterface.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC][llvm-jitlink] Extend weak-linking emulation to real dylibs.
Commit 253e11695ba added support for emulating weak-linking against dylibs
that are (under the emulation) absent at runtime. This commit extends emulated
weak linking support to allow a real dylib to supply the interface (i.e.
-weak-lx / -weak_library can be pointed at a dylib, in which case they should
be read as "weak-link against this dylib, behavining as if it weren't actually
present at runtime").
Commit: ea4e19df53abb21a1f1df725e3728fabec902978
https://github.com/llvm/llvm-project/commit/ea4e19df53abb21a1f1df725e3728fabec902978
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
A llvm/test/CodeGen/PowerPC/llvm.sincos.ll
Log Message:
-----------
[SDAG] Add missing ppc_fp128 ExpandFloatRes for sincos[pi] (#128514)
Commit: 0087523e1a273b738b94a15547dbf308d0470283
https://github.com/llvm/llvm-project/commit/0087523e1a273b738b94a15547dbf308d0470283
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Add missing check on fusion compute tolerance on a path (#128454)
When profitability analysis can't be performed, we should still be
respecting the compute tolerance specified. Refactor to pull the
additional computation factor computation and check.
Fixes: https://github.com/llvm/llvm-project/issues/54541
Commit: 49f60b4e098493f5128ba4276b3fbb985b0c61c8
https://github.com/llvm/llvm-project/commit/49f60b4e098493f5128ba4276b3fbb985b0c61c8
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
Log Message:
-----------
[AMDGPU][NFC] Added test for live-in CSR SGPR used partially giving MachineVerifier error (#126696)
Commit: 674dbcfe8f400db65f0d066ea638e977e8b82781
https://github.com/llvm/llvm-project/commit/674dbcfe8f400db65f0d066ea638e977e8b82781
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.comp/equal.pass.cpp
Log Message:
-----------
[libc++][NFC] Use TEST_STD_VER instead of _LIBCPP_STD_VER in re.tokiter.comp/equal.pass.cpp
Commit: d7211693af27760c939b6610f0c79a3ecd2790d2
https://github.com/llvm/llvm-project/commit/d7211693af27760c939b6610f0c79a3ecd2790d2
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port e5ce0304335dc1cae6856c880d1d4e14dcf8265d
Commit: 60cc3af0d93ecb8bfc9d6bebc6cbc395df3bb4b6
https://github.com/llvm/llvm-project/commit/60cc3af0d93ecb8bfc9d6bebc6cbc395df3bb4b6
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir][xegpu] Fix bazel build failure (#128595)
Removes unnecessary headers creating wrong dependencies.
Commit: 275eeb56ddc4c236219f7df9618e7b03ff12e9fb
https://github.com/llvm/llvm-project/commit/275eeb56ddc4c236219f7df9618e7b03ff12e9fb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 5114b9b386ca
Commit: 87dc245f3e65ee926081e575ffb2e57a32a91ba3
https://github.com/llvm/llvm-project/commit/87dc245f3e65ee926081e575ffb2e57a32a91ba3
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
Log Message:
-----------
[analyzer] Partial revert of #127017 (#128642)
This assertion was hit, as reported by a user.
https://github.com/llvm/llvm-project/issues/128427#issuecomment-2677724438
Ideally, we would reduce and add a regression test for this, but I don't
have the bandwidth for it.
See the summary of the issue #128427 for the reproducer.
Commit: a4656bbc595839b57e6f021aa2a728b4cf321d54
https://github.com/llvm/llvm-project/commit/a4656bbc595839b57e6f021aa2a728b4cf321d54
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Allow conv ops zero point to be variable (#128533)
The TOSA specification allows the zero point of conv ops to be variable
when the dynamic extension is being used, but information about which
extensions are in use is only known when the validation pass is run. A
variable zero point should be allowed in the conv ops verifiers.
In terms of testing, there didn't seem to be an existing set of tests
for the verifiers to add this check to, so the opportunity has been
taken to run the verifiers on the tests in `ops.mlir`. Since the conv2d
test there had variable zero points, this change in functionality is
being tested.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: b36a18df96f9b8f206ec4b7f1036bdd4701c117e
https://github.com/llvm/llvm-project/commit/b36a18df96f9b8f206ec4b7f1036bdd4701c117e
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
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
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-all.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-bti.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-gcs.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pac.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pauthabi.ll
A llvm/test/CodeGen/AArch64/build-attributes-all.ll
A llvm/test/CodeGen/AArch64/build-attributes-bti.ll
A llvm/test/CodeGen/AArch64/build-attributes-gcs.ll
A llvm/test/CodeGen/AArch64/build-attributes-pac.ll
A llvm/test/CodeGen/AArch64/build-attributes-pauthabi.ll
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-all.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-bti.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-attrs.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-headers.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-gcs.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-none.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-numerical-tags.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-out-of-order.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-pac.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections-err.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-aeabi-known.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-bti.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-err-attrs.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-err-headers.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-gcs.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-mixed.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-none.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-numerical-tags.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-out-of-order.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-pac.s
A llvm/test/MC/AArch64/build-attributes-asm-non_aeabi-err.s
A llvm/test/MC/AArch64/build-attributes-asm-non_aeabi.s
Log Message:
-----------
[AArch64][Build Attributes] Improve Parsing and Formatting (#126530)
- Removed assertion for duplicate values as adding them is valid.
- Fix parsing: reject strings for unknown tags, allow any value for
Tag_PAuth_Platform and Tag_PAuth_Schema.
- Print tags by using numbers with comments to reduce compiler-assembler
dependencies.
- Parsing error messages now only point to the symbol (^) instead of
printing it.
Commit: 547a8bc2365d9f1dc7bce52580a3ab64d69c80ed
https://github.com/llvm/llvm-project/commit/547a8bc2365d9f1dc7bce52580a3ab64d69c80ed
Author: Alcaro <floating at muncher.se>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Headers/cpuid.h
M clang/test/Headers/cpuid.c
Log Message:
-----------
[clang][x86] Support -masm=intel in cpuid.h (#127331)
Fixes #127271
Testing mostly done in Compiler Explorer https://godbolt.org/z/q1h3ohxr7
Commit: 85cf95876c4b21ee6ecd0253a2c9de0e90c4a521
https://github.com/llvm/llvm-project/commit/85cf95876c4b21ee6ecd0253a2c9de0e90c4a521
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64] Improve codegen for some fixed-width partial reductions (#126529)
This patch teaches optimizeExtendOrTruncateConversion to bail out
if the user of a zero-extend is a partial reduction intrinsic
that we know will get lowered efficiently to a udot instruction.
Commit: 2a0946bc0dffca89d16cd9d5208ec9416ed8100e
https://github.com/llvm/llvm-project/commit/2a0946bc0dffca89d16cd9d5208ec9416ed8100e
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN][NFC] Match coding standards (#128683)
As per LLVM coding standards
"Variable names should be nouns (as they represent state).
The name should be camel case, and start with an upper
case letter (e.g. Leader or Boats)."
Commit: 7ff87af533a7acf47134eabe656702180d8ad171
https://github.com/llvm/llvm-project/commit/7ff87af533a7acf47134eabe656702180d8ad171
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Host lowering of standalone distribute (#127817)
This patch adds MLIR to LLVM IR translation support for standalone
`omp.distribute` operations, as well as `distribute simd` through
ignoring SIMD information (similarly to `do/for simd`).
Co-authored-by: Dominik Adamski <dominik.adamski at amd.com>
Commit: 88163ca79cab1a9a2be1cfa71000f43fd642d91e
https://github.com/llvm/llvm-project/commit/88163ca79cab1a9a2be1cfa71000f43fd642d91e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (#127818)
This patch adds codegen for `kmpc_dist_for_static_init` runtime calls,
used to support worksharing a single loop across teams and threads. This
can be used to implement `distribute parallel for/do` support.
Commit: 9fc2f786934599c51427cf6f581450ee951ece4a
https://github.com/llvm/llvm-project/commit/9fc2f786934599c51427cf6f581450ee951ece4a
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/llvm.acos.ll
M llvm/test/CodeGen/X86/llvm.asin.ll
M llvm/test/CodeGen/X86/llvm.atan.ll
M llvm/test/CodeGen/X86/llvm.atan2.ll
A llvm/test/CodeGen/X86/llvm.cos.ll
M llvm/test/CodeGen/X86/llvm.cosh.ll
A llvm/test/CodeGen/X86/llvm.sin.ll
M llvm/test/CodeGen/X86/llvm.sinh.ll
M llvm/test/CodeGen/X86/llvm.tan.ll
M llvm/test/CodeGen/X86/llvm.tanh.ll
Log Message:
-----------
[X86][NFC] Added/Updated Trigonometric functions testcases (#127094)
- Added sin/cos testcases.
- Added i686 checks for all testcases.
- Moved fp16 and fp128 cases into separate files.
- Dropped tests for ppc_fp128 type.
- Added global-isel runs as precommit testing for #126931
Commit: 446899e7bed5555c2bacfe0d09c4f4f00c41bc0f
https://github.com/llvm/llvm-project/commit/446899e7bed5555c2bacfe0d09c4f4f00c41bc0f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Host lowering of distribute-parallel-do/for (#127819)
This patch adds support for translating composite `omp.parallel` +
`omp.distribute` + `omp.wsloop` loops to LLVM IR on the host. This is
done by passing an updated `WorksharingLoopType` to the call to
`applyWorkshareLoop` associated to the lowering of the `omp.wsloop`
operation, so that `__kmpc_dist_for_static_init` is called at runtime in
place of `__kmpc_for_static_init`.
Existing translation rules take care of creating a parallel region to
hold the workshared and workdistributed loop.
Commit: 48397fe41ee67557e00f13f35d60c3c9b8485e89
https://github.com/llvm/llvm-project/commit/48397fe41ee67557e00f13f35d60c3c9b8485e89
Author: David Green <david.green at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
Log Message:
-----------
[AArch64] Add cost model for REV shuffles. (#128498)
These patterns represent rev instructions, which reverse inside a
portion of the full vector. See llvm/test/CodeGen/AArch64/arm64-rev.ll
for codegen tests.
Commit: 56975b4ecd188a77b4f9420ff8aa5d5a72e4e076
https://github.com/llvm/llvm-project/commit/56975b4ecd188a77b4f9420ff8aa5d5a72e4e076
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (#127820)
This patch splits off the calculation of canonical loop trip counts from
the creation of canonical loops. This makes it possible to reuse this
logic to, for instance, populate the `__tgt_target_kernel` runtime call
for SPMD kernels.
This feature is used to simplify one of the existing OpenMPIRBuilder
tests.
Commit: 29e14958090cb01150bda068f721a09d4bb1c36b
https://github.com/llvm/llvm-project/commit/29e14958090cb01150bda068f721a09d4bb1c36b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-target-spmd.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Support target SPMD (#127821)
This patch implements MLIR to LLVM IR translation of host-evaluated loop
bounds, completing initial support for `target teams distribute parallel
do [simd]` and `target teams distribute [simd]`.
Commit: 25c19eb1178a26b09e8ee58c825d4ed0260b70da
https://github.com/llvm/llvm-project/commit/25c19eb1178a26b09e8ee58c825d4ed0260b70da
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/host-eval.f90
Log Message:
-----------
[Flang][OpenMP] Allow host evaluation of loop bounds for distribute (#127822)
This patch adds `target teams distribute [simd]` and equivalent
construct nests to the list of cases where loop bounds can be evaluated
in the host, as they represent kernels for which the trip count must
also be evaluated in advance to the kernel call.
Commit: dfa3af9255fd542fed5149021289404e92a8a6f3
https://github.com/llvm/llvm-project/commit/dfa3af9255fd542fed5149021289404e92a8a6f3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/arrays.cpp
A clang/test/AST/ByteCode/libcxx/pointer-subscript.cpp
Log Message:
-----------
[clang][bytecode] Expand subscript base if of pointer type (#128511)
This is similar to what we do in the AddOffset instruction when adding
an offset to a pointer.
Commit: 820aa438a6ec5e028d96bf6b345f41c585f91572
https://github.com/llvm/llvm-project/commit/820aa438a6ec5e028d96bf6b345f41c585f91572
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (4/N) (#127624)
* Document the remaining test cases, add a note that these are
exercising `TransferOpReduceRank` (addresses an existing TODO).
* Add missing cases (for fixed-width and scalable vectors).
* Remove scalable vectors from the negative test (the masked case) - this test
will also fail with fixed-width vectors. For consistency, lets make all
negative test use fixed-width vectors.
Commit: f95ad44068e48c4d8c66f7d65147349b7dd16efa
https://github.com/llvm/llvm-project/commit/f95ad44068e48c4d8c66f7d65147349b7dd16efa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/vgpr-remat.mir
Log Message:
-----------
AMDGPU: Mark v_mov_b64_pseudo as a VOP1 instruction (#128677)
This is mostly true, and it tricks the rematerialization
code into handling this without special casing it.
Commit: b57e63b07a7b70ebfb5f794648e2102b7c1bd3a3
https://github.com/llvm/llvm-project/commit/b57e63b07a7b70ebfb5f794648e2102b7c1bd3a3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libclc/amdgcn/lib/workitem/get_global_size.cl
Log Message:
-----------
libclc: Stop using asm declarations for r600 on amdgcn for get_global_size (#128692)
Comparing the case where each dimension is used alone, the only codegen
difference is a missed addressing mode fold for the constant offset in the old
version due to an ancient bug.
Commit: 6aeec5eabfe11f017dd4e427ff5e9a4695f2a24a
https://github.com/llvm/llvm-project/commit/6aeec5eabfe11f017dd4e427ff5e9a4695f2a24a
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/analysis-invalidation.ll
Log Message:
-----------
[ConstraintElim] Test for #128588
Commit: f8948d3c4754e06cdd3e2903bfbfe74438f6b463
https://github.com/llvm/llvm-project/commit/f8948d3c4754e06cdd3e2903bfbfe74438f6b463
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libclc/clc/include/clc/float/definitions.h
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
M libclc/clc/lib/generic/SOURCES
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
M libclc/generic/include/clc/math/log10.h
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
Log Message:
-----------
[libclc] Move log/log2/log10 to CLC library (#128540)
This commit also enables fp16 log, which was previously missing.
Other than that, no changes to codegen for AMDGPU/Nvidia targets.
Note that for simplicity this commit doesn't try to refactor or optimize
the implementations. Notably, each log is only implementated for scalar
types; vector types are scalarized. It doesn't look too difficult to
make the implementations suitable for vector codegen, so I'll try that
in a future commit.
There's also an unused implementation of log in clc_log_base.h, whereas
the implementation currently used by libclc targets re-uses log2 with an
additional multiplication. That should also be cleaned up as on first
inspection it looks a more optimal implementation, though it would have
to be checked against the OpenCL CTS for good measure.
Commit: dff2ca424c20c672b418ec86ac3a120fad4fb364
https://github.com/llvm/llvm-project/commit/dff2ca424c20c672b418ec86ac3a120fad4fb364
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Add special case for anonymous unions (#128681)
This fixes the expected output to match the one of the current
interpreter.
Commit: 70de57edcad0055d962e9fe899b347b16a6efaa3
https://github.com/llvm/llvm-project/commit/70de57edcad0055d962e9fe899b347b16a6efaa3
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[clang] Add alternative email for steakhal (#128558)
Both steakhal and balazs-benics-sonarsource accounts are mine. See
#125859
Commit: 0f9720a61b1deea225f172851210550f8a60d49f
https://github.com/llvm/llvm-project/commit/0f9720a61b1deea225f172851210550f8a60d49f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Target/BUILD.bazel
Log Message:
-----------
[bazel] port 29e14958090cb01150bda068f721a09d4bb1c36b
Commit: 11766a40972f5cc853e296231e5d90ca3c886cc1
https://github.com/llvm/llvm-project/commit/11766a40972f5cc853e296231e5d90ca3c886cc1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/include/future
A libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
Log Message:
-----------
[libc++] Don't try to wait on a thread that hasn't started in std::async (#125433)
If the creation of a thread fails, this causes an idle loop that will
never end because the thread wasn't started in the first place.
Fixes #125428
Commit: a93cda47ad97af7c69563b3b02dfd9c9a63faefa
https://github.com/llvm/llvm-project/commit/a93cda47ad97af7c69563b3b02dfd9c9a63faefa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShuffleChain - pull out repeated getOpcode() calls. NFC.
Commit: e47cd4694851dd71c877b72fa59ec169260cbd32
https://github.com/llvm/llvm-project/commit/e47cd4694851dd71c877b72fa59ec169260cbd32
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShuffleChain - pass IsMaskedShuffle flag as argument from combineX86ShufflesRecursively instead of computing it internally. NFC.
Prep work toward better handling of shuffle combining across different vector widths.
Commit: 4b29c285645eb0ab8c795044c64072eabd3c041e
https://github.com/llvm/llvm-project/commit/4b29c285645eb0ab8c795044c64072eabd3c041e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/analysis-invalidation.ll
Log Message:
-----------
[ConstraintElim] Preserve analyses when IR is unchanged. (#128588)
Commit: 089f988f46d7350827c38c1718d47caa56c5a206
https://github.com/llvm/llvm-project/commit/089f988f46d7350827c38c1718d47caa56c5a206
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Fix defaulting the full build
Summary:
This was missing the architecture macros as they were defined just
below.
Commit: d21b2e619a5e23fd2f4cb05f5929990ee517d164
https://github.com/llvm/llvm-project/commit/d21b2e619a5e23fd2f4cb05f5929990ee517d164
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIR-V] Fix generation of gMIR vs. SPIR-V code from utility methods (#128159)
The SPIR-V Backend uses the same set of utility functions, mostly though
not entirely from SPIRVGlobalRegistry, to generate gMIR and SPIR-V
opcodes, depending on the current stage of translation. This is
controlled by an explicit EmitIR flag rather than the current
translation pass, and there are legacy pieces of code where the EmitIR
flag is declared so that it has a default true value, allowing using
utility functions without explicitly declaring their intent to work
either in gMIR or in SPIR-V part of the lowering process.
While it may be ok to leave this default EmitIR flag as is in generation
of scalar integer/float types, as we don't expect to see any dependent
opcodes derived from such OpTypeXXX instructions, using of EmitIR by
default in aggregation types is a source of hidden logical flaws and
actual issues.
This PR provides a partial fix to the problem by removing default status
of EmitIR, requiring a user call site to explicitly announce its intent
to generate gMIR or SPIR-V code, fixes several cases of misuse of
EmitIR, and, the most important, fixes a nasty logical error that breaks
passing of actually asked EmitIR value by the default value in the
middle of the chain of calls, in the `findSPIRVType` call. The latter
error was a source of issues in the post-instruction selection pass that
has been getting gMIR code where SPIR-V was explicitly requested due to
overloaded with default parameters internal API in SPIRVGlobalRegistry
(most notably, `findSPIRVType`).
Commit: 44d1dbd24c20a0ee93063dcf44d68e2b8f0bf77c
https://github.com/llvm/llvm-project/commit/44d1dbd24c20a0ee93063dcf44d68e2b8f0bf77c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
Log Message:
-----------
[X86][DAGCombiner] Skip x87 fp80 values in `combineFMulOrFDivWithIntPow2` (#128618)
f80 is not a valid IEEE floating-point type.
Closes https://github.com/llvm/llvm-project/issues/128528.
Commit: d23da7d6300ec6732b462d475c331f289170cb83
https://github.com/llvm/llvm-project/commit/d23da7d6300ec6732b462d475c331f289170cb83
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/load.ll
Log Message:
-----------
[InstCombine] Increase recursion limit to 3 in `simplifyNonNullOperand` (#128695)
Address review comment
https://github.com/llvm/llvm-project/pull/128466#discussion_r1967228790
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=72781f58efddecee19feb07fec4e6104ef4c4812&to=3853aee61626b0eda06671b4cbbc4cdd1344440c&stat=instructions:u
Commit: 522b05afb636229acd1f2a50eff14a29c79b4a1a
https://github.com/llvm/llvm-project/commit/522b05afb636229acd1f2a50eff14a29c79b4a1a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Construct immutable VPIRBBs for exit blocks at construction(NFC) (#128374)
Constract immutable VPIRBasicBlocks for all exit blocks up front and
keep a list of them. Same as the scalar header, they are leaf nodes of
the VPlan and won't change. Some exit blocks may be unreachable, e.g. if
the scalar epilogue always executes or depending on optimizations.
This simplifies both the way we retrieve the exit blocks as well as
hooking up the exit blocks.
PR: https://github.com/llvm/llvm-project/pull/128374
Commit: 1e0e4169dd00bf8a37cef8d74d0add7861982c4e
https://github.com/llvm/llvm-project/commit/1e0e4169dd00bf8a37cef8d74d0add7861982c4e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
R libclc/generic/include/math/binary_intrin.inc
R libclc/generic/include/math/ternary_intrin.inc
Log Message:
-----------
[libclc][NFC] Remove unused intrinsics helpers (#128708)
We want to move away from using asm declarations to define builtins.
Commit: af68927a831c45b92248b1f6fc24d445be42dd91
https://github.com/llvm/llvm-project/commit/af68927a831c45b92248b1f6fc24d445be42dd91
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
A llvm/test/Transforms/SimplifyCFG/X86/fake-use-considered-when-sinking.ll
Log Message:
-----------
Do not treat llvm.fake.use as a debug instruction (#128684)
The llvm.fake.use intrinsic is used to prevent certain values from being
optimized out for the benefit of debug info; it is not, however, a debug
or pseudo instruction itself and necessarily must not be treated as one,
since its purpose is to act like a normal instruction. In the original
commit that added them, the IR intrinsic however was treated as one in
`getPrevNonDebugInstruction` (but _not_ in `getNextNonDebugInstruction`,
or in the MIR equivalents). This patch correctly treats it as a
non-debug instruction.
Commit: 352c48f278c89ac4c65642d3fadf52032e7fe734
https://github.com/llvm/llvm-project/commit/352c48f278c89ac4c65642d3fadf52032e7fe734
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/bfis-in-loop.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/selectopt-const.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.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.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/ARM/select-imm.ll
M llvm/test/CodeGen/MSP430/shift-amount-threshold.ll
M llvm/test/CodeGen/Thumb/branchless-cmp.ll
Log Message:
-----------
[SelectionDAG] Utilizing target hook convertSelectOfConstantsToMath for SelectwithConstant (#127599)
The Target hook convertSelectOfConstantsToMath() needs to be used within
SimplifySelectCC helper combine function in SelectionDAG Isel, where
generic select folding with constants is happening into simple maths op
using the condition as it is.
It necessarily fixes #121145.
Commit: 4f7d8948d9d9a0d366ac737247abab2246834e05
https://github.com/llvm/llvm-project/commit/4f7d8948d9d9a0d366ac737247abab2246834e05
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
A llvm/test/CodeGen/Hexagon/bittracker-regclass.ll
Log Message:
-----------
[Hexagon] Add a case to BitTracker for new register class (#128580)
Code in the HexagonBitTracker checks for a specific register class when
processing sub-registers. A crash occurred due to a register class that
was not handled. The register class is
DoubleRegs_with_isub_hi_in_IntRegsLow8RegClassID, which is a class
formed by creating a register pair when one of the sub registers is a
Low8 integer register.
Fixes #128078
Patch by: Brendon Cahoon
Commit: a12ca57c1cb070be8e0048004c6b4e820029b6ee
https://github.com/llvm/llvm-project/commit/a12ca57c1cb070be8e0048004c6b4e820029b6ee
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][REVEC] Add getScalarizationOverhead helper function to reduce error when REVEC is enabled. (#128530)
Commit: 1affadb7c662a2eb1cfd01fdfa014ffe473c0dc2
https://github.com/llvm/llvm-project/commit/1affadb7c662a2eb1cfd01fdfa014ffe473c0dc2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
Log Message:
-----------
AMDGPU: Drop legacy r600.read.global.size intrinsics from amdgcn (#128700)
These ancient intrinsics were still consumed by the backend for libclc,
which no longer uses them.
Commit: 148111fdcf0e807fe74274b18fcf65c4cff45d63
https://github.com/llvm/llvm-project/commit/148111fdcf0e807fe74274b18fcf65c4cff45d63
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Enable bolt optimization for clang on Linux (#128090)
Also stop buiding the bolt project on other platforms since bolt only
supports ELF.
Commit: 85eb7259d9e1ab57e9fac248096d73505a60c072
https://github.com/llvm/llvm-project/commit/85eb7259d9e1ab57e9fac248096d73505a60c072
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang] Fix use-after-scope when diagnosting __attribute__((format_matches))
I don't think this will ever crash, but asan complains about it.
SUMMARY: AddressSanitizer: stack-use-after-scope clang/lib/Sema/SemaChecking.cpp:6925:43 in void (anonymous namespace)::CheckFormatHandler::EmitFormatDiagnostic<clang::CharSourceRange>(clang::PartialDiagnostic, clang::SourceLocation, bool, clang::CharSourceRange, llvm::ArrayRef<clang::FixItHint>)
While there switch to stable_sort to not give a flipped error message
half of the time.
Commit: 5fd188833c4cc2f18aa53908fd6237f6a432d629
https://github.com/llvm/llvm-project/commit/5fd188833c4cc2f18aa53908fd6237f6a432d629
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Refactor image operations (#128552)
This patch makes multiple changes to images ops:
1) The assembly format is unified with the rest of the dialect to use
`%0 = spirv.op %1, %2, %3 : f32, f32, f32` rather than having each type
directly attached to each argument.
2) The verification is moved from `SPIRVOps.cpp` to a new file so the
ops can be easier maintained.
3) Majority of C++ verification is removed and moved into ODS.
Verification of `ImageQuerySizeOp` is left in C++ due to the complexity
of rules.
4) `spirv::bitEnumContainsAll` is replaced by
`spirv::bitEnumContainsAny` in `verifyImageOperands`. In this context
`...Any` seems to be the correct function, as we want to check whether
unsupported operand is being used - in opposite to checking if all
unsupported operands are being used.
5) Simplify target tests by removing entry points and adding `Linkage`
capability to the modules.
This change is made in preparation for adding more Image ops. Change to
the assembly format was previously mentioned in #124124.
Commit: f10e0f7321b34693697a0bf895d440f82b32ba54
https://github.com/llvm/llvm-project/commit/f10e0f7321b34693697a0bf895d440f82b32ba54
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/test/CodeGenCXX/merge-functions.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/comdat.ll
M llvm/test/Transforms/MergeFunc/linkonce_odr.ll
M llvm/test/Transforms/MergeFunc/merge-linkonce-odr-used.ll
M llvm/test/Transforms/MergeFunc/merge-linkonce-odr-weak-odr-mixed-used.ll
M llvm/test/Transforms/MergeFunc/merge-linkonce-odr.ll
M llvm/test/Transforms/MergeFunc/merge-weak-odr-used.ll
M llvm/test/Transforms/MergeFunc/merge-weak-odr.ll
Log Message:
-----------
[MergeFuncs] Don't introduce calls to (linkonce,weak)_odr functions. (#125050)
Avoid creating new calls to linkonce_odr/weak_odr functions when
merging 2 functions, as this may introduce an infinite call
cycle.
Consider 2 functions below, both present in 2 modules.
Module X
--
define linkonce_odr void @"A"() {
call void @"foo"()
}
define linkonce_odr void @"B"() {
call void @"foo"()
}
---
Module Y
---
global @"g" = @"B"
define linkonce_odr void @"A"() {
%l = load @"g"
call void %l()
}
define linkonce_odr void @"B"() {
call void @"foo"()
}
---
@"A" and @"B" in both modules are semantically equivalent
Module X after function merging:
---
define linkonce_odr void @"A"() {
call void @"foo"()
}
define linkonce_odr void @"B"() {
call void @"A"()
}
---
Module Y is unchanged.
Then the linker picks @"A" from module Y and @"B" from module X. Now there's an infinite call cycle
PR: https://github.com/llvm/llvm-project/pull/125050
Commit: 83c6b1a88852ac6462e2ae58cb4e5ebdeb0eadd3
https://github.com/llvm/llvm-project/commit/83c6b1a88852ac6462e2ae58cb4e5ebdeb0eadd3
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A lldb/examples/python/fzf_history.py
Log Message:
-----------
[lldb] Add fzf_history command to examples (#128571)
Adds a `fzf_history` to the examples directory.
This python command invokes [fzf](https://github.com/junegunn/fzf) to
select from lldb's command history.
Tighter integration is available on macOS, via commands for copy and
paste. The user's chosen history entry back is pasted into the lldb
console (via AppleScript). By pasting it, users have the opportunity to
edit it before running it. This matches how fzf's history search works.
Without copy and paste, the user's chosen history entry is printed to
screen and then run automatically.
Commit: cf3b0368a55c1c285dd80f12b044b58e87a425ac
https://github.com/llvm/llvm-project/commit/cf3b0368a55c1c285dd80f12b044b58e87a425ac
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[mlir][tosa][tosa-to-linalg] Add NaN Mode Lowering (#125668)
Add support for NaN propagation lowering in the `tosa-to-linalg` and
`tosa-to-linalg-named` conversions by conditionally checking for NaN in
the case of ignore semantics and materializing the appropriate select
operations. Note that the default behviour of "propagate" matches that
of the arith dialect and so in that case we can avoid creating the
checks altogether.
Add appropriate lit tests including negative tests which check the
various comparisons and selects are materialized as appropriate.
This affects the following TOSA operators:
* arg_max
* max_pool_2d
* clamp
* reduce_max
* reduce_min
* maximum
* minimum
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: a821ae284724f1522297c0b455b1ca5c05fbc270
https://github.com/llvm/llvm-project/commit/a821ae284724f1522297c0b455b1ca5c05fbc270
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_round.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_round.cl
M libclc/generic/lib/math/round.cl
Log Message:
-----------
[libclc] Move round to CLC library (#128721)
Commit: 37559c8401cf9236d561eebd75bd3d70be6ab723
https://github.com/llvm/llvm-project/commit/37559c8401cf9236d561eebd75bd3d70be6ab723
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
A llvm/test/CodeGen/Hexagon/calloperand-v128i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v16i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v32i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v4i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v64i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v8i1.ll
Log Message:
-----------
[Hexagon] Handle Call Operand vxi1 in Hexagon Backend (#128027)
This commit updates the Hexagon backend to handle
vxi1 call operands. It ensures compatibility for
vector types of sizes 4, 8, 16, 32, 64, and 128 x i1 when HVX is
enabled.
~Fixes #59009 and #118879~
Commit: 99207ae835efea859f2d9ed4cce781363c0e1562
https://github.com/llvm/llvm-project/commit/99207ae835efea859f2d9ed4cce781363c0e1562
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp:33:24: error: unused variable
'noSupportOperands' [-Werror,-Wunused-variable]
Commit: 568106c2150f4442ad39d9c58493b962c87763bd
https://github.com/llvm/llvm-project/commit/568106c2150f4442ad39d9c58493b962c87763bd
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
Log Message:
-----------
[lldb][NFC] Fix comment in lldb/Core/ModuleList.h (#128602)
Commit: 7501c9c0e124139198cf84148a49fe80b9f64cea
https://github.com/llvm/llvm-project/commit/7501c9c0e124139198cf84148a49fe80b9f64cea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Avoid repeated map lookups (NFC) (#128629)
Commit: 791da3c5c2efc13e952ec4fe041e88428e4a331a
https://github.com/llvm/llvm-project/commit/791da3c5c2efc13e952ec4fe041e88428e4a331a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated hash lookups (NFC) (#128630)
Commit: 9388e42a3c67a4399bbc3a427077ea95bac31323
https://github.com/llvm/llvm-project/commit/9388e42a3c67a4399bbc3a427077ea95bac31323
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#128631)
Commit: 43401dd0b5c659047e546efbc55f9f88261142d6
https://github.com/llvm/llvm-project/commit/43401dd0b5c659047e546efbc55f9f88261142d6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.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
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
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
Log Message:
-----------
[libc++] Make .verify.cpp tests more robust against changing headers (#128703)
This is fixes the tests for the frozen headers, but is an improvement
either way.
Commit: 38f8ca1d1817969d712a7e70e070228eee8a0f3f
https://github.com/llvm/llvm-project/commit/38f8ca1d1817969d712a7e70e070228eee8a0f3f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128632)
Commit: 9889de834b0a9fa4a5a222a81a524c75977e41d4
https://github.com/llvm/llvm-project/commit/9889de834b0a9fa4a5a222a81a524c75977e41d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#128634)
Commit: 8bea51103000e4ac752ecd8ed1550c1c9d105a6b
https://github.com/llvm/llvm-project/commit/8bea51103000e4ac752ecd8ed1550c1c9d105a6b
Author: Marius Kamp <msk at posteo.org>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/andnot-blsmsk.ll
Log Message:
-----------
[X86] Fold AND(Y, XOR(X, SUB(0, X))) to ANDN(Y, BLSMSK(X)) (#128348)
XOR(X, SUB(0, X)) corresponds to a bitwise-negated BLSMSK instruction
(i.e., x ^ (x - 1)). On its own, this transformation is probably not
really profitable but when the XOR operation is an operand of an AND
operation, we can use an ANDN instruction to reduce the number of
emitted instructions by one.
Fixes #103501.
Commit: e58f475e84545d12c52e177fdea69c0f2bec81df
https://github.com/llvm/llvm-project/commit/e58f475e84545d12c52e177fdea69c0f2bec81df
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 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/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.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/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Move cond_if and while_loop operations to controlflow extension (#128216)
This commit adds the concept of a controlflow extension to the dialect
and updates the validation pass to check conf_if and while_loop are
supported only in the presence of the controlflow extension.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 53b46bb09474bd22fd097411f9eb4596424116ee
https://github.com/llvm/llvm-project/commit/53b46bb09474bd22fd097411f9eb4596424116ee
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fix crash on attempt to fold int_div by zero (#128682)
Fixes #118268.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: f08824b935434b91f7352904a25f6309f2b3e6bd
https://github.com/llvm/llvm-project/commit/f08824b935434b91f7352904a25f6309f2b3e6bd
Author: David Green <david.green at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
Log Message:
-----------
[AArch64] Add udiv and urem uniform tests. NFC
These should cost the same as non-uniform version.
Commit: 24b7759a9dfe5714236957e7d829e2412100a4b7
https://github.com/llvm/llvm-project/commit/24b7759a9dfe5714236957e7d829e2412100a4b7
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
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/Lower/OpenMP/Todo/assume.f90
A flang/test/Lower/OpenMP/Todo/assumes.f90
A flang/test/Parser/OpenMP/assumption.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[FLANG][OpenMP]Add frontend support for ASSUME and ASSUMES (#120770)
Enough suport to parse correctly formed directives of !$OMP ASSUME and
!$OMP ASSUMES with teh related clauses that go with them: ABSENT,
CONTAINS, NO_OPENPP, NO_OPENMP_ROUTINES, NO_PARALLELISM and HOLDS.
Tests added for unparsing and dump parse-tree.
Semantics support is very minimal and no specific tests added.
The lowering will hit a TODO, and there are tests in Lower/OpenMP/Todo
to make it clear that this is currently expected behaviour.
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Co-authored-by: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Commit: 041b7f508533417bcda4feaa03d6c16ff85275f5
https://github.com/llvm/llvm-project/commit/041b7f508533417bcda4feaa03d6c16ff85275f5
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
Log Message:
-----------
[Wunsafe-buffer-usage] Turn off unsafe-buffer warning for methods annotated with clang::unsafe_buffer_usage attribute (#125671)
Unsafe operation in methods that are already annotated with
clang::unsafe_buffer_usage attribute, should not trigger a warning. This
is because, the developer has already identified the method as unsafe
and warning at every unsafe operation is redundant.
rdar://138644831
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: d2d469eb7981885eac188bf7988c72d7e85b2d4e
https://github.com/llvm/llvm-project/commit/d2d469eb7981885eac188bf7988c72d7e85b2d4e
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/Verifier/invoke.ll
Log Message:
-----------
[WebAssembly] Make llvm.wasm.throw invokable (#128104)
`llvm.wasm.throw` intrinsic can throw but it was not invokable. Not sure
what the rationale was when it was first written that way, but I think
at least in Emscripten's C++ exception support with the Wasm port of
libunwind, `__builtin_wasm_throw`, which is lowered down to
`llvm.wasm.rethrow`, is used only within `_Unwind_RaiseException`, which
is an one-liner and thus does not need an `invoke`:
https://github.com/emscripten-core/emscripten/blob/720e97f76d6f19e0c6a2d6988988cfe23f0517fb/system/lib/libunwind/src/Unwind-wasm.c#L69
(`_Unwind_RaiseException` is called by `__cxa_throw`, which is generated
by the `throw` C++ keyword)
But this does not address other direct uses of the builtin in C++, whose
use I'm not sure about but is not prohibited. Also other language
frontends may need to use the builtin in different functions, which has
`try`-`catch`es or destructors.
This makes `llvm.wasm.throw` invokable in the backend. To do that, this
adds a custom lowering routine to `SelectionDAGBuilder::visitInvoke`,
like we did for `llvm.wasm.rethrow`.
This does not generate `invoke`s for `__builtin_wasm_throw` yet, which
will be done by a follow-up PR.
Addresses #124710.
Commit: 48db4e8377f8504cf151cf4d2b4ecf33461eedc8
https://github.com/llvm/llvm-project/commit/48db4e8377f8504cf151cf4d2b4ecf33461eedc8
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.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/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/MemRef/resolve-dim-ops.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/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
M mlir/test/Dialect/Tosa/transpose-fold.mlir
Log Message:
-----------
[mlir][tosa] Change Transpose perms operand to attribute (#128115)
This patch changes the perms operand for Tosa Transpose operator to an
i32 array attribute
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 4f18f3f09a744ddd05de2188592fa11533ff3054
https://github.com/llvm/llvm-project/commit/4f18f3f09a744ddd05de2188592fa11533ff3054
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/or-is-add.ll
M llvm/test/CodeGen/RISCV/select-const.ll
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV] Use addiw for or_is_add when or input is sign extended. (#128635)
We prefer to emit addi instead of ori because its more compressible, but
this can pessimize the sext.w removal pass.
If the input to the OR is known to be a sign extended 32 bit value, we
can use addiw instead of addi which will give more power to the sext.w
removal pass. As it is known to produce sign a sign extended value and
only consume the lower 32 bits.
Fixes #128468.
Commit: 0a7809c644485d6650ea01bfe616623f580b24d1
https://github.com/llvm/llvm-project/commit/0a7809c644485d6650ea01bfe616623f580b24d1
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
Log Message:
-----------
[mlir][tosa] Fix ability to expand ranks with dynamic shape support (#128037)
- Fix ability to expand ranks with dynamic shape support
- Simplify the code
Signed-off-by: Suraj Sudhir <suraj.sudhir at arm.com>
Co-authored-by: Suraj Sudhir <suraj.sudhir at arm.com>
Commit: 43999deb370113945ef86680014f838f55315ee7
https://github.com/llvm/llvm-project/commit/43999deb370113945ef86680014f838f55315ee7
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
Log Message:
-----------
[spirv][amdgpu] Set atomic size in the clang target info (#128569)
Problem identified by Joseph. The openmp device runtime uses
__scoped_atomic_load_n and similar which presently hit
```
error: large atomic operation may incur significant performance
penalty; the access size (4 bytes) exceeds the max lock-free size (0 bytes) [-Werror,-Watomic-alignment]
```
This is because the spirv class doesn't set the corresponding field. The
base does, but only if there's a host toolchain, which there isn't.
Commit: 67056c280a7171a3546442013593687d5ad5440b
https://github.com/llvm/llvm-project/commit/67056c280a7171a3546442013593687d5ad5440b
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
Log Message:
-----------
[WebAssembly] Support shuffle for F16x8 vectors. (#127857)
Commit: a778930f85b6d17cf31ff0e15964a7c7116e2a9d
https://github.com/llvm/llvm-project/commit/a778930f85b6d17cf31ff0e15964a7c7116e2a9d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
A mlir/include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.h
A mlir/include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.td
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][linalg] Create a dedicated target for `LinalgRelayoutInterface` (#128485)
Creates an interface target for `LinalgRelayoutInterface`. This is
primarily to reduce the dependency of `Tensor` on `Linalg` to the
required minimum. For context and rationale, see:
* https://github.com/llvm/llvm-project/issues/127668
Note, I also took the liberty of renaming `LinalgRelayoutInterface` as
`RelayoutOpInterface` (removed `Linalg`, added `Op`).
Commit: 3968ebd00da80a08de84f83a101ebb23710f6631
https://github.com/llvm/llvm-project/commit/3968ebd00da80a08de84f83a101ebb23710f6631
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/X86/entry-point-fallthru.s
Log Message:
-----------
[BOLT] Keep multi-entry functions simple in aggregation mode (#128253)
BOLT used to mark multi-entry functions non-simple in non-relocation
mode with the reasoning that we can't move them due to potentially
undetected references. However, in aggregation mode it doesn't apply as
BOLT doesn't perform optimizations.
Relax this constraint in case of an aggregation job.
Test Plan: added entry-point-fallthru.s
Commit: f5675243995dbca22319ed4c0665b3e46138285b
https://github.com/llvm/llvm-project/commit/f5675243995dbca22319ed4c0665b3e46138285b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Fix doTrace in BAT mode (#128546)
When processing BOLTed binaries with BAT section, we used to
indiscriminately use `BAT->getFallthroughsInTrace` to record
fall-throughs, even if the function is not covered by BAT.
Fix that by using non-BAT CFG-based `getFallthroughsInTrace` if the
function is not in BAT.
Test Plan: updated bolt-address-translation-yaml.test
Commit: 41056e8d831f6197d783963ab001337bb4d1160d
https://github.com/llvm/llvm-project/commit/41056e8d831f6197d783963ab001337bb4d1160d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-27 (Thu, 27 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Linker.h
M bolt/include/bolt/Core/MCPlusBuilder.h
A bolt/include/bolt/Core/TargetConfig.def.in
A bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/CMakeLists.txt
A bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/data-in-code.s
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/callcont-fallthru.s
A bolt/test/X86/entry-point-fallthru.s
A bolt/test/X86/skip-inline.s
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/test/link_fdata.py
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/utils/bughunter.sh
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/BoundsSafety.rst
M clang/docs/BoundsSafetyImplPlans.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HLSL/FunctionCalls.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
A clang/docs/analyzer/images/flamegraph.png
A clang/docs/analyzer/images/uftrace_detailed.png
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.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/OpenMPClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.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/AnalysisDeclContext.h
M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
R clang/include/clang/Basic/BuiltinsSME.def
M clang/include/clang/Basic/BuiltinsSPIRV.td
R clang/include/clang/Basic/BuiltinsSVE.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FPOptions.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/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/Passes.h
A clang/include/clang/CIR/TypeEvaluationKind.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.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/PathDiagnosticConsumers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/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/Store.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/include/module.modulemap
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/AttrImpl.cpp
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/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
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/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/X86.cpp
A clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.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/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGObjCRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/avx10_2_512convertintrin.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/hlsl_detail.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/shaintrin.h
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Lex/CMakeLists.txt
M clang/lib/Lex/HeaderSearch.cpp
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAVR.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaMIPS.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.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/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/ModuleManager.cpp
A clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
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/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/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M 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/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.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/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
A clang/test/AST/ByteCode/libcxx/pointer-subscript.cpp
A clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/HLSL/TypdefArrayParam.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/analyzer-config.c
R clang/test/Analysis/builtin_signbit.cpp
M clang/test/Analysis/copy-elision.cpp
A clang/test/Analysis/dtor-union.cpp
M clang/test/Analysis/ftime-trace.cpp
A clang/test/Analysis/issue-124474.cpp
M clang/test/Analysis/live-stmts.cpp
M clang/test/Analysis/loop-assumptions.c
R clang/test/Analysis/no-outofbounds.c
M clang/test/Analysis/out-of-bounds-constraint-check.c
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/region-store.cpp
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/stackaddrleak.cpp
R clang/test/Analysis/uninit-asm-goto.cpp
R clang/test/Analysis/uninit-sometimes.cpp
A clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global.cir
A clang/test/CIR/emit-actions.cpp
A clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
R clang/test/CIR/hello.c
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/stmt.stmt/stmt.select/stmt.switch/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/CodeGen/X86/lzcnt-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/sha-builtins.c
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/armv7k-abi.c
A clang/test/CodeGen/builtin-assume-dereferenceable.c
A clang/test/CodeGen/builtin_signbit.cpp
A clang/test/CodeGen/debug-info-enum-extensibility.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-libcalls.c
M clang/test/CodeGen/memtag-globals-asm.cpp
M clang/test/CodeGen/partial-reinitialization2.c
M clang/test/CodeGen/pragma-fenv_access.c
A clang/test/CodeGen/profile-continuous.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
A clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/launch-bounds.cu
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
M clang/test/CodeGenCXX/merge-functions.cpp
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/basic-target.c
A clang/test/CodeGenHLSL/builtins/and.hlsl
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
R clang/test/CodeGenHLSL/cbuf.hlsl
R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
A clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/disable_opt.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
R clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
A clang/test/CodeGenSPIRV/Builtins/reflect.c
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
M clang/test/Driver/Xarch.c
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aix-rpath.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/at_file_missing.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/clang_wrapv_opts.c
M clang/test/Driver/csky-toolchain.c
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/fat-lto-objects.c
A clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/hip-macros.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/offload-Xarch.c
M clang/test/Driver/openmp-offload.c
A clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/sparc-ias-Wa.s
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/wasm-toolchain.c
A clang/test/ExtractAPI/typedef_underscore.c
M clang/test/Headers/cpuid.c
A clang/test/Headers/no-xend.cpp
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/comment-to-html-xml-conversion.cpp
A clang/test/Index/index-deduction-guide.cpp
A clang/test/Index/openmp-stripe.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Modules/explicit-build.cpp
A clang/test/Modules/local-submodule-visibility-transitive-import.c
A clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
A clang/test/Modules/pr120277-2.cpp
R clang/test/Modules/pr121245.cpp
A clang/test/Modules/pr126373.cppm
A clang/test/Modules/pr127943.cppm
M clang/test/OpenMP/assume_lambda.cpp
M clang/test/OpenMP/assume_nesting_tmpl.cpp
M clang/test/OpenMP/assume_template.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_messages.c
M clang/test/OpenMP/assumes_messages_attr.c
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/attr-assume.cpp
M clang/test/OpenMP/declare_target_messages.cpp
M clang/test/OpenMP/ordered_codegen.cpp
A clang/test/OpenMP/spirv_target_codegen_basic.cpp
A clang/test/OpenMP/spirv_variant_match.cpp
A clang/test/OpenMP/stripe_ast_print.cpp
A clang/test/OpenMP/stripe_codegen.cpp
A clang/test/OpenMP/stripe_messages.cpp
M clang/test/Parser/recovery.cpp
M clang/test/Preprocessor/embed_preprocess_to_file.c
A clang/test/Preprocessor/riscv-cf-protection-return.c
A clang/test/Preprocessor/zos-target.c
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/attr-model.cpp
A clang/test/Sema/avr-interript-signal-attr.c
R clang/test/Sema/avr-interrupt-attr.c
R clang/test/Sema/avr-signal-attr.c
M clang/test/Sema/bool-compare.c
A clang/test/Sema/format-string-matches.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/gh106576.c
M clang/test/Sema/parentheses.cpp
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
M clang/test/Sema/types.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCUDA/device-var-init.cu
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/attr-cxx0x.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/bool-increment-SFINAE.cpp
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/undefined-internal.cpp
A clang/test/SemaCXX/uninit-asm-goto.cpp
A clang/test/SemaCXX/uninit-sometimes.cpp
M clang/test/SemaCXX/uninitialized.cpp
M clang/test/SemaCXX/unique_object_duplication.cpp
M clang/test/SemaCXX/unique_object_duplication.h
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
A clang/test/SemaHLSL/Language/AssignArray.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
A clang/test/SemaHLSL/use-cxx-alt-operator-names.hlsl
R clang/test/SemaOpenCL/builtins-amdgcn-error-gfx940-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/CMakeLists.txt
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-format/clang-format.el
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXString.cpp
M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Lex/CMakeLists.txt
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/Reusables.h
M clang/unittests/StaticAnalyzer/StoreTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/lit.site.cfg.in
M clang/www/OpenProjects.html
M clang/www/cxx_status.html
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/arm/negdf2vfp.S
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
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_allocator_local_cache.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_tsc.h
M compiler-rt/test/asan/TestCases/Windows/coverage-basic.cpp
M compiler-rt/test/asan/TestCases/Windows/crash_read_write.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_intercept_memset.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_null_deref.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
M compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/illegal_instruction.cpp
M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
M compiler-rt/test/asan/TestCases/Windows/msvc/seh.cpp
R compiler-rt/test/asan/TestCases/Windows/null_deref.cpp
M compiler-rt/test/asan/TestCases/Windows/null_deref_multiple_dlls.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/sse_misalignment.cpp
M compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
M compiler-rt/test/asan/TestCases/Windows/unsymbolized.cpp
M compiler-rt/test/asan/TestCases/alloca_big_alignment.cpp
M compiler-rt/test/asan/TestCases/alloca_constant_size.cpp
M compiler-rt/test/asan/TestCases/alloca_detect_custom_size_.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
M compiler-rt/test/asan/TestCases/alloca_overflow_partial.cpp
M compiler-rt/test/asan/TestCases/alloca_overflow_right.cpp
M compiler-rt/test/asan/TestCases/alloca_safe_access.cpp
M compiler-rt/test/asan/TestCases/alloca_underflow_left.cpp
M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
M compiler-rt/test/asan/TestCases/contiguous_container.cpp
M compiler-rt/test/asan/TestCases/coverage-trace-pc.cpp
M compiler-rt/test/asan/TestCases/debug_locate.cpp
M compiler-rt/test/asan/TestCases/debug_stacks.cpp
M compiler-rt/test/asan/TestCases/deep_tail_call.cpp
M compiler-rt/test/asan/TestCases/default_ignorelist.cpp
M compiler-rt/test/asan/TestCases/default_options.cpp
A compiler-rt/test/asan/TestCases/defines.h
M compiler-rt/test/asan/TestCases/error_report_callback.cpp
M compiler-rt/test/asan/TestCases/exitcode.cpp
M compiler-rt/test/asan/TestCases/force_inline_opt0.cpp
M compiler-rt/test/asan/TestCases/global-location-nodebug.cpp
M compiler-rt/test/asan/TestCases/global-underflow.cpp
M compiler-rt/test/asan/TestCases/halt_on_error-1.c
M compiler-rt/test/asan/TestCases/heavy_uar_test.cpp
M compiler-rt/test/asan/TestCases/ignorelist.cpp
M compiler-rt/test/asan/TestCases/ill.cpp
M compiler-rt/test/asan/TestCases/initialization-bug.cpp
M compiler-rt/test/asan/TestCases/inline.cpp
M compiler-rt/test/asan/TestCases/intercept-rethrow-exception.cpp
M compiler-rt/test/asan/TestCases/interception_failure_test.cpp
M compiler-rt/test/asan/TestCases/interface_test.cpp
M compiler-rt/test/asan/TestCases/invalid-pointer-pairs-compare-errors.cpp
M compiler-rt/test/asan/TestCases/invalid-pointer-pairs-subtract-errors.cpp
M compiler-rt/test/asan/TestCases/invalid-pointer-pairs.cpp
M compiler-rt/test/asan/TestCases/large_func_test.cpp
M compiler-rt/test/asan/TestCases/null_deref.cpp
M compiler-rt/test/asan/TestCases/pass-struct-byval.cpp
M compiler-rt/test/asan/TestCases/report_error_summary.cpp
M compiler-rt/test/asan/TestCases/speculative_load.cpp
M compiler-rt/test/asan/TestCases/stack-buffer-overflow-with-position.cpp
M compiler-rt/test/asan/TestCases/stack-oob-frames.cpp
M compiler-rt/test/asan/TestCases/strcat-overlap.cpp
M compiler-rt/test/asan/TestCases/strcpy-overlap.cpp
M compiler-rt/test/asan/TestCases/strncat-overlap.cpp
M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
M compiler-rt/test/asan/TestCases/strncpy-overlap.cpp
M compiler-rt/test/asan/TestCases/throw_call_test.cpp
M compiler-rt/test/asan/TestCases/throw_catch.cpp
M compiler-rt/test/asan/TestCases/throw_invoke_test.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-capture.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-dtor-order.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-loop-bug.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-loop-removed.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-loop.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-temp.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-temp2.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-types.cpp
M compiler-rt/test/asan/TestCases/vla_chrome_testcase.cpp
M compiler-rt/test/asan/TestCases/vla_condition_overflow.cpp
M compiler-rt/test/asan/TestCases/vla_loop_overfow.cpp
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
M compiler-rt/test/hwasan/TestCases/libc_thread_freeres.c
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
A compiler-rt/test/profile/Linux/binary-id-path.c
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Posix/diag-stacktrace.cpp
M compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp
R cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py
A flang-rt/.clang-format
A flang-rt/.clang-tidy
A flang-rt/CMakeLists.txt
A flang-rt/CODE_OWNERS.TXT
A flang-rt/LICENSE.TXT
A flang-rt/README.md
A flang-rt/cmake/config.h.cmake.in
A flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/AddFlangRTOffload.cmake
A flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/examples/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/external-hello.cpp
A flang-rt/include/flang-rt/runtime/allocator-registry.h
A flang-rt/include/flang-rt/runtime/array-constructor.h
A flang-rt/include/flang-rt/runtime/assign-impl.h
A flang-rt/include/flang-rt/runtime/buffer.h
A flang-rt/include/flang-rt/runtime/connection.h
A flang-rt/include/flang-rt/runtime/derived.h
A flang-rt/include/flang-rt/runtime/descriptor.h
A flang-rt/include/flang-rt/runtime/emit-encoded.h
A flang-rt/include/flang-rt/runtime/environment.h
A flang-rt/include/flang-rt/runtime/file.h
A flang-rt/include/flang-rt/runtime/format-implementation.h
A flang-rt/include/flang-rt/runtime/format.h
A flang-rt/include/flang-rt/runtime/internal-unit.h
A flang-rt/include/flang-rt/runtime/io-error.h
A flang-rt/include/flang-rt/runtime/io-stmt.h
A flang-rt/include/flang-rt/runtime/lock.h
A flang-rt/include/flang-rt/runtime/memory.h
A flang-rt/include/flang-rt/runtime/namelist.h
A flang-rt/include/flang-rt/runtime/non-tbp-dio.h
A flang-rt/include/flang-rt/runtime/numeric-templates.h
A flang-rt/include/flang-rt/runtime/random-templates.h
A flang-rt/include/flang-rt/runtime/reduction-templates.h
A flang-rt/include/flang-rt/runtime/stat.h
A flang-rt/include/flang-rt/runtime/terminator.h
A flang-rt/include/flang-rt/runtime/tools.h
A flang-rt/include/flang-rt/runtime/type-code.h
A flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/utf.h
A flang-rt/lib/CMakeLists.txt
A flang-rt/lib/Testing/CMakeLists.txt
A flang-rt/lib/cuda/CMakeLists.txt
A flang-rt/lib/cuda/allocatable.cpp
A flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/descriptor.cpp
A flang-rt/lib/cuda/init.cpp
A flang-rt/lib/cuda/kernel.cpp
A flang-rt/lib/cuda/memmove-function.cpp
A flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/pointer.cpp
A flang-rt/lib/cuda/registration.cpp
A flang-rt/lib/quadmath/CMakeLists.txt
A flang-rt/lib/quadmath/acos.cpp
A flang-rt/lib/quadmath/acosh.cpp
A flang-rt/lib/quadmath/asin.cpp
A flang-rt/lib/quadmath/asinh.cpp
A flang-rt/lib/quadmath/atan.cpp
A flang-rt/lib/quadmath/atan2.cpp
A flang-rt/lib/quadmath/atanh.cpp
A flang-rt/lib/quadmath/ceil.cpp
A flang-rt/lib/quadmath/complex-math.c
A flang-rt/lib/quadmath/complex-math.h
A flang-rt/lib/quadmath/cos.cpp
A flang-rt/lib/quadmath/cosh.cpp
A flang-rt/lib/quadmath/erf.cpp
A flang-rt/lib/quadmath/erfc.cpp
A flang-rt/lib/quadmath/exp.cpp
A flang-rt/lib/quadmath/exponent.cpp
A flang-rt/lib/quadmath/floor.cpp
A flang-rt/lib/quadmath/fma.cpp
A flang-rt/lib/quadmath/fraction.cpp
A flang-rt/lib/quadmath/hypot.cpp
A flang-rt/lib/quadmath/j0.cpp
A flang-rt/lib/quadmath/j1.cpp
A flang-rt/lib/quadmath/jn.cpp
A flang-rt/lib/quadmath/lgamma.cpp
A flang-rt/lib/quadmath/llround.cpp
A flang-rt/lib/quadmath/log.cpp
A flang-rt/lib/quadmath/log10.cpp
A flang-rt/lib/quadmath/lround.cpp
A flang-rt/lib/quadmath/math-entries.h
A flang-rt/lib/quadmath/mod-real.cpp
A flang-rt/lib/quadmath/modulo-real.cpp
A flang-rt/lib/quadmath/nearbyint.cpp
A flang-rt/lib/quadmath/nearest.cpp
A flang-rt/lib/quadmath/norm2.cpp
A flang-rt/lib/quadmath/numeric-template-specs.h
A flang-rt/lib/quadmath/pow.cpp
A flang-rt/lib/quadmath/random.cpp
A flang-rt/lib/quadmath/remainder.cpp
A flang-rt/lib/quadmath/round.cpp
A flang-rt/lib/quadmath/rrspacing.cpp
A flang-rt/lib/quadmath/scale.cpp
A flang-rt/lib/quadmath/set-exponent.cpp
A flang-rt/lib/quadmath/sin.cpp
A flang-rt/lib/quadmath/sinh.cpp
A flang-rt/lib/quadmath/spacing.cpp
A flang-rt/lib/quadmath/sqrt.cpp
A flang-rt/lib/quadmath/tan.cpp
A flang-rt/lib/quadmath/tanh.cpp
A flang-rt/lib/quadmath/tgamma.cpp
A flang-rt/lib/quadmath/trunc.cpp
A flang-rt/lib/quadmath/y0.cpp
A flang-rt/lib/quadmath/y1.cpp
A flang-rt/lib/quadmath/yn.cpp
A flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/ISO_Fortran_binding.cpp
A flang-rt/lib/runtime/ISO_Fortran_util.h
A flang-rt/lib/runtime/allocatable.cpp
A flang-rt/lib/runtime/allocator-registry.cpp
A flang-rt/lib/runtime/array-constructor.cpp
A flang-rt/lib/runtime/assign.cpp
A flang-rt/lib/runtime/buffer.cpp
A flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/command.cpp
A flang-rt/lib/runtime/complex-powi.cpp
A flang-rt/lib/runtime/complex-reduction.c
A flang-rt/lib/runtime/complex-reduction.h
A flang-rt/lib/runtime/connection.cpp
A flang-rt/lib/runtime/copy.cpp
A flang-rt/lib/runtime/copy.h
A flang-rt/lib/runtime/derived-api.cpp
A flang-rt/lib/runtime/derived.cpp
A flang-rt/lib/runtime/descriptor-io.cpp
A flang-rt/lib/runtime/descriptor-io.h
A flang-rt/lib/runtime/descriptor.cpp
A flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/edit-input.cpp
A flang-rt/lib/runtime/edit-input.h
A flang-rt/lib/runtime/edit-output.cpp
A flang-rt/lib/runtime/edit-output.h
A flang-rt/lib/runtime/environment-default-list.h
A flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/execute.cpp
A flang-rt/lib/runtime/extensions.cpp
A flang-rt/lib/runtime/external-unit.cpp
A flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/file.cpp
A flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/format.cpp
A flang-rt/lib/runtime/inquiry.cpp
A flang-rt/lib/runtime/internal-unit.cpp
A flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-api-minimal.cpp
A flang-rt/lib/runtime/io-api.cpp
A flang-rt/lib/runtime/io-error.cpp
A flang-rt/lib/runtime/io-stmt.cpp
A flang-rt/lib/runtime/iostat.cpp
A flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/memory.cpp
A flang-rt/lib/runtime/misc-intrinsic.cpp
A flang-rt/lib/runtime/namelist.cpp
A flang-rt/lib/runtime/non-tbp-dio.cpp
A flang-rt/lib/runtime/numeric.cpp
A flang-rt/lib/runtime/pointer.cpp
A flang-rt/lib/runtime/product.cpp
A flang-rt/lib/runtime/pseudo-unit.cpp
A flang-rt/lib/runtime/ragged.cpp
A flang-rt/lib/runtime/random.cpp
A flang-rt/lib/runtime/reduce.cpp
A flang-rt/lib/runtime/reduction.cpp
A flang-rt/lib/runtime/stack.h
A flang-rt/lib/runtime/stat.cpp
A flang-rt/lib/runtime/stop.cpp
A flang-rt/lib/runtime/sum.cpp
A flang-rt/lib/runtime/support.cpp
A flang-rt/lib/runtime/temporary-stack.cpp
A flang-rt/lib/runtime/terminator.cpp
A flang-rt/lib/runtime/time-intrinsic.cpp
A flang-rt/lib/runtime/tools.cpp
A flang-rt/lib/runtime/transformational.cpp
A flang-rt/lib/runtime/type-code.cpp
A flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/unit-map.cpp
A flang-rt/lib/runtime/unit-map.h
A flang-rt/lib/runtime/unit.cpp
A flang-rt/lib/runtime/unit.h
A flang-rt/lib/runtime/utf.cpp
A flang-rt/test/CMakeLists.txt
A flang-rt/test/Driver/ctofortran.f90
A flang-rt/test/Driver/exec.f90
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
A flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/Evaluate/CMakeLists.txt
A flang-rt/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/Evaluate/reshape.cpp
A flang-rt/unittests/Runtime/AccessTest.cpp
A flang-rt/unittests/Runtime/Allocatable.cpp
A flang-rt/unittests/Runtime/ArrayConstructor.cpp
A flang-rt/unittests/Runtime/BufferTest.cpp
A flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
A flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Memory.cpp
A flang-rt/unittests/Runtime/CharacterTest.cpp
A flang-rt/unittests/Runtime/CommandTest.cpp
A flang-rt/unittests/Runtime/Complex.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.h
A flang-rt/unittests/Runtime/Derived.cpp
A flang-rt/unittests/Runtime/ExternalIOTest.cpp
A flang-rt/unittests/Runtime/Format.cpp
A flang-rt/unittests/Runtime/Inquiry.cpp
A flang-rt/unittests/Runtime/ListInputTest.cpp
A flang-rt/unittests/Runtime/LogicalFormatTest.cpp
A flang-rt/unittests/Runtime/Matmul.cpp
A flang-rt/unittests/Runtime/MatmulTranspose.cpp
A flang-rt/unittests/Runtime/MiscIntrinsic.cpp
A flang-rt/unittests/Runtime/Namelist.cpp
A flang-rt/unittests/Runtime/Numeric.cpp
A flang-rt/unittests/Runtime/NumericalFormatTest.cpp
A flang-rt/unittests/Runtime/Pointer.cpp
A flang-rt/unittests/Runtime/Ragged.cpp
A flang-rt/unittests/Runtime/Random.cpp
A flang-rt/unittests/Runtime/Reduction.cpp
A flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
A flang-rt/unittests/Runtime/Stop.cpp
A flang-rt/unittests/Runtime/Support.cpp
A flang-rt/unittests/Runtime/TemporaryStack.cpp
A flang-rt/unittests/Runtime/Time.cpp
A flang-rt/unittests/Runtime/Transformational.cpp
A flang-rt/unittests/Runtime/tools.h
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
A flang/cmake/modules/FlangCommon.cmake
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingStarted.md
M flang/docs/OpenACC-descriptor-management.md
M flang/docs/Real16MathSupport.md
M flang/docs/ReleaseNotes.md
M flang/examples/CMakeLists.txt
M flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/examples/ExternalHelloWorld/external-hello.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
M flang/include/flang/Optimizer/Support/InitFIR.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
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/allocatable.h
R flang/include/flang/Runtime/allocator-registry.h
R flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/descriptor-consts.h
R flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/freestanding-tools.h
R flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/pointer.h
R flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/LangOptions.h
A flang/include/flang/Testing/fp-testing.h
A flang/include/flang/Testing/testing.h
M flang/include/flang/Tools/PointerModels.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/CMakeLists.txt
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
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/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.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/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
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/Parser/Fortran-parsers.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.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/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/lib/Testing/CMakeLists.txt
A flang/lib/Testing/fp-testing.cpp
A flang/lib/Testing/testing.cpp
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/CUDA/allocatable.cpp
R flang/runtime/CUDA/allocator.cpp
R flang/runtime/CUDA/descriptor.cpp
R flang/runtime/CUDA/init.cpp
R flang/runtime/CUDA/kernel.cpp
R flang/runtime/CUDA/memmove-function.cpp
R flang/runtime/CUDA/memory.cpp
R flang/runtime/CUDA/pointer.cpp
R flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
R flang/runtime/Float128Math/acos.cpp
R flang/runtime/Float128Math/acosh.cpp
R flang/runtime/Float128Math/asin.cpp
R flang/runtime/Float128Math/asinh.cpp
R flang/runtime/Float128Math/atan.cpp
R flang/runtime/Float128Math/atan2.cpp
R flang/runtime/Float128Math/atanh.cpp
R flang/runtime/Float128Math/ceil.cpp
R flang/runtime/Float128Math/complex-math.c
R flang/runtime/Float128Math/complex-math.h
R flang/runtime/Float128Math/cos.cpp
R flang/runtime/Float128Math/cosh.cpp
R flang/runtime/Float128Math/erf.cpp
R flang/runtime/Float128Math/erfc.cpp
R flang/runtime/Float128Math/exp.cpp
R flang/runtime/Float128Math/exponent.cpp
R flang/runtime/Float128Math/floor.cpp
R flang/runtime/Float128Math/fma.cpp
R flang/runtime/Float128Math/fraction.cpp
R flang/runtime/Float128Math/hypot.cpp
R flang/runtime/Float128Math/j0.cpp
R flang/runtime/Float128Math/j1.cpp
R flang/runtime/Float128Math/jn.cpp
R flang/runtime/Float128Math/lgamma.cpp
R flang/runtime/Float128Math/llround.cpp
R flang/runtime/Float128Math/log.cpp
R flang/runtime/Float128Math/log10.cpp
R flang/runtime/Float128Math/lround.cpp
R flang/runtime/Float128Math/math-entries.h
R flang/runtime/Float128Math/mod-real.cpp
R flang/runtime/Float128Math/modulo-real.cpp
R flang/runtime/Float128Math/nearbyint.cpp
R flang/runtime/Float128Math/nearest.cpp
R flang/runtime/Float128Math/norm2.cpp
R flang/runtime/Float128Math/numeric-template-specs.h
R flang/runtime/Float128Math/pow.cpp
R flang/runtime/Float128Math/random.cpp
R flang/runtime/Float128Math/remainder.cpp
R flang/runtime/Float128Math/round.cpp
R flang/runtime/Float128Math/rrspacing.cpp
R flang/runtime/Float128Math/scale.cpp
R flang/runtime/Float128Math/set-exponent.cpp
R flang/runtime/Float128Math/sin.cpp
R flang/runtime/Float128Math/sinh.cpp
R flang/runtime/Float128Math/spacing.cpp
R flang/runtime/Float128Math/sqrt.cpp
R flang/runtime/Float128Math/tan.cpp
R flang/runtime/Float128Math/tanh.cpp
R flang/runtime/Float128Math/tgamma.cpp
R flang/runtime/Float128Math/trunc.cpp
R flang/runtime/Float128Math/y0.cpp
R flang/runtime/Float128Math/y1.cpp
R flang/runtime/Float128Math/yn.cpp
R flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/ISO_Fortran_util.h
R flang/runtime/allocatable.cpp
R flang/runtime/allocator-registry.cpp
R flang/runtime/array-constructor.cpp
R flang/runtime/assign-impl.h
R flang/runtime/assign.cpp
R flang/runtime/buffer.cpp
R flang/runtime/buffer.h
R flang/runtime/character.cpp
R flang/runtime/command.cpp
R flang/runtime/complex-powi.cpp
R flang/runtime/complex-reduction.c
R flang/runtime/complex-reduction.h
R flang/runtime/config.h.cmake
R flang/runtime/connection.cpp
R flang/runtime/connection.h
R flang/runtime/copy.cpp
R flang/runtime/copy.h
R flang/runtime/derived-api.cpp
R flang/runtime/derived.cpp
R flang/runtime/derived.h
R flang/runtime/descriptor-io.cpp
R flang/runtime/descriptor-io.h
R flang/runtime/descriptor.cpp
R flang/runtime/dot-product.cpp
R flang/runtime/edit-input.cpp
R flang/runtime/edit-input.h
R flang/runtime/edit-output.cpp
R flang/runtime/edit-output.h
R flang/runtime/emit-encoded.h
R flang/runtime/environment-default-list.h
R flang/runtime/environment.cpp
R flang/runtime/environment.h
R flang/runtime/exceptions.cpp
R flang/runtime/execute.cpp
R flang/runtime/extensions.cpp
R flang/runtime/external-unit.cpp
R flang/runtime/extrema.cpp
R flang/runtime/file.cpp
R flang/runtime/file.h
R flang/runtime/findloc.cpp
R flang/runtime/format-implementation.h
R flang/runtime/format.cpp
R flang/runtime/format.h
R flang/runtime/inquiry.cpp
R flang/runtime/internal-unit.cpp
R flang/runtime/internal-unit.h
R flang/runtime/io-api-common.h
R flang/runtime/io-api-minimal.cpp
R flang/runtime/io-api.cpp
R flang/runtime/io-error.cpp
R flang/runtime/io-error.h
R flang/runtime/io-stmt.cpp
R flang/runtime/io-stmt.h
R flang/runtime/iostat.cpp
R flang/runtime/lock.h
R flang/runtime/main.cpp
R flang/runtime/matmul-transpose.cpp
R flang/runtime/matmul.cpp
R flang/runtime/memory.cpp
R flang/runtime/misc-intrinsic.cpp
R flang/runtime/namelist.cpp
R flang/runtime/namelist.h
R flang/runtime/non-tbp-dio.cpp
R flang/runtime/non-tbp-dio.h
R flang/runtime/numeric-templates.h
R flang/runtime/numeric.cpp
R flang/runtime/pointer.cpp
R flang/runtime/product.cpp
R flang/runtime/pseudo-unit.cpp
R flang/runtime/ragged.cpp
R flang/runtime/random-templates.h
R flang/runtime/random.cpp
R flang/runtime/reduce.cpp
R flang/runtime/reduction-templates.h
R flang/runtime/reduction.cpp
R flang/runtime/stack.h
R flang/runtime/stat.cpp
R flang/runtime/stat.h
R flang/runtime/stop.cpp
R flang/runtime/sum.cpp
R flang/runtime/support.cpp
R flang/runtime/temporary-stack.cpp
R flang/runtime/terminator.cpp
R flang/runtime/terminator.h
R flang/runtime/time-intrinsic.cpp
R flang/runtime/tools.cpp
R flang/runtime/tools.h
R flang/runtime/transformational.cpp
R flang/runtime/type-code.cpp
R flang/runtime/type-info.cpp
R flang/runtime/type-info.h
R flang/runtime/unit-map.cpp
R flang/runtime/unit-map.h
R flang/runtime/unit.cpp
R flang/runtime/unit.h
R flang/runtime/utf.cpp
R flang/runtime/utf.h
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-target.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
M flang/test/CMakeLists.txt
R flang/test/Driver/ctofortran.f90
R flang/test/Driver/exec.f90
M flang/test/Driver/gcc-toolchain-install-dir.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/mabi-riscv.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/nostdlib.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Evaluate/folding18.f90
M flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/OpenACC/openacc-mappable.fir
A flang/test/Fir/OpenACC/openacc-type-categories.f90
M flang/test/Fir/alloc.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/box.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox-global.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-aarch64-byval.fir
A flang/test/Fir/target-rewrite-indirect-calls.fir
M flang/test/Fir/type-descriptor.fir
M flang/test/HLFIR/maxval-elemental.fir
M flang/test/HLFIR/minval-elemental.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/OpenMP/private-global.f90
A flang/test/Integration/abi-indirect-call.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Integration/unroll.f90
A flang/test/Integration/unroll_and_jam.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/Intrinsics/acosh.f90
M flang/test/Lower/Intrinsics/asin.f90
M flang/test/Lower/Intrinsics/asinh.f90
M flang/test/Lower/Intrinsics/atanh.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.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/map-mapper.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-lastprivate-of-private.f90
A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.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/location.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/order-clause.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-str.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-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/scan.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.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-ordered.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-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.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-multi.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-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/PowerPC/ppc-vec-load-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-load.f90
M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-splat.f90
A flang/test/Lower/RISCV/riscv-target-abi.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-polymorphic.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-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/call-by-value-attr.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/common-block.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/scalar-substring.f90
M flang/test/Lower/real-descriptors.f90
A flang/test/Lower/unroll_and_jam.f90
A flang/test/Parser/OpenMP/assumption.f90
A flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/compiler-directives.f90
R flang/test/Runtime/no-cpp-dep.c
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/threadprivate02.f90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/unsigned-errors.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
M flang/unittests/Evaluate/bit-population-count.cpp
M flang/unittests/Evaluate/expression.cpp
M flang/unittests/Evaluate/folding.cpp
R flang/unittests/Evaluate/fp-testing.cpp
R flang/unittests/Evaluate/fp-testing.h
M flang/unittests/Evaluate/integer.cpp
M flang/unittests/Evaluate/intrinsics.cpp
M flang/unittests/Evaluate/leading-zero-bit-count.cpp
M flang/unittests/Evaluate/logical.cpp
M flang/unittests/Evaluate/real.cpp
R flang/unittests/Evaluate/reshape.cpp
R flang/unittests/Evaluate/testing.cpp
R flang/unittests/Evaluate/testing.h
M flang/unittests/Evaluate/uint128.cpp
M flang/unittests/Optimizer/CMakeLists.txt
R flang/unittests/Runtime/AccessTest.cpp
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Allocatable.cpp
R flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Memory.cpp
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/Support.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/gpu/amdgpu/entrypoints.txt
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/CMakeLists.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/support.rst
M libc/docs/gpu/using.rst
M libc/docs/headers/index.rst
M libc/docs/headers/math/index.rst
M libc/docs/headers/math/stdfix.rst
M libc/docs/index.rst
M libc/hdr/types/CMakeLists.txt
R libc/hdr/types/sighandler_t.h
M libc/include/CMakeLists.txt
M libc/include/__llvm-libc-common.h
R libc/include/ctype.h.def
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
A libc/include/endian.h.def
A libc/include/endian.yaml
R libc/include/fenv.h.def
M libc/include/fenv.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/endian-macros.h
M libc/include/llvm-libc-macros/features-macros.h
M libc/include/llvm-libc-macros/gpu/signal-macros.h
M libc/include/llvm-libc-macros/linux/signal-macros.h
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__sighandler_t.h
A libc/include/llvm-libc-types/sighandler_t.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_tm.h
R libc/include/malloc.h.def
M libc/include/malloc.yaml
M libc/include/math.yaml
M libc/include/signal.yaml
M libc/include/stdbit.yaml
M libc/include/stdfix.yaml
A libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/src/__support/CPP/bit.h
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/GPU/utils.h
M libc/src/__support/big_int.h
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/macros/optimization.h
M libc/src/complex/generic/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/acosf16.h
A libc/src/math/asinf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosf16.cpp
A libc/src/math/generic/asinf16.cpp
M libc/src/math/generic/atan2f.cpp
A libc/src/math/generic/atan2f_float.h
M libc/src/math/generic/pow.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/sqrtf128.cpp
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/signal.cpp
M libc/src/signal/signal.h
M libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/countlshk.cpp
A libc/src/stdfix/countlshk.h
A libc/src/stdfix/countlshr.cpp
A libc/src/stdfix/countlshr.h
A libc/src/stdfix/countlsk.cpp
A libc/src/stdfix/countlsk.h
A libc/src/stdfix/countlslk.cpp
A libc/src/stdfix/countlslk.h
A libc/src/stdfix/countlslr.cpp
A libc/src/stdfix/countlslr.h
A libc/src/stdfix/countlsr.cpp
A libc/src/stdfix/countlsr.h
A libc/src/stdfix/countlsuhk.cpp
A libc/src/stdfix/countlsuhk.h
A libc/src/stdfix/countlsuhr.cpp
A libc/src/stdfix/countlsuhr.h
A libc/src/stdfix/countlsuk.cpp
A libc/src/stdfix/countlsuk.h
A libc/src/stdfix/countlsulk.cpp
A libc/src/stdfix/countlsulk.h
A libc/src/stdfix/countlsulr.cpp
A libc/src/stdfix/countlsulr.h
A libc/src/stdfix/countlsur.cpp
A libc/src/stdfix/countlsur.h
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/time/CMakeLists.txt
M libc/src/time/mktime.cpp
A libc/src/time/strftime.cpp
A libc/src/time/strftime.h
A libc/src/time/strftime_core/CMakeLists.txt
A libc/src/time/strftime_core/composite_converter.h
A libc/src/time/strftime_core/converter.cpp
A libc/src/time/strftime_core/converter.h
A libc/src/time/strftime_core/core_structs.h
A libc/src/time/strftime_core/num_converter.h
A libc/src/time/strftime_core/parser.h
A libc/src/time/strftime_core/str_converter.h
A libc/src/time/strftime_core/strftime_main.cpp
A libc/src/time/strftime_core/strftime_main.h
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
M libc/src/time/time_constants.h
M libc/src/time/time_utils.cpp
M libc/src/time/time_utils.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getsid.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getsid.cpp
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
M libc/test/integration/src/pthread/pthread_mutex_test.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/SqrtTest.h
A libc/test/src/math/acosf16_test.cpp
A libc/test/src/math/asinf16_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/SqrtTest.h
A libc/test/src/math/smoke/acosf16_test.cpp
A libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
M libc/test/src/signal/CMakeLists.txt
M libc/test/src/signal/signal_test.cpp
M libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
M libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
M libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
M libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
M libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
M libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
M libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
M libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
M libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
M libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
M libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
M libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
M libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/CountlsTest.h
A libc/test/src/stdfix/countlshk_test.cpp
A libc/test/src/stdfix/countlshr_test.cpp
A libc/test/src/stdfix/countlsk_test.cpp
A libc/test/src/stdfix/countlslk_test.cpp
A libc/test/src/stdfix/countlslr_test.cpp
A libc/test/src/stdfix/countlsr_test.cpp
A libc/test/src/stdfix/countlsuhk_test.cpp
A libc/test/src/stdfix/countlsuhr_test.cpp
A libc/test/src/stdfix/countlsuk_test.cpp
A libc/test/src/stdfix/countlsulk_test.cpp
A libc/test/src/stdfix/countlsulr_test.cpp
A libc/test/src/stdfix/countlsur_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/strftime_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getsid_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/docgen/docgen.py
A libc/utils/docgen/endian.yaml
A libc/utils/docgen/sys/statvfs.yaml
M libc/utils/docgen/sys/time.yaml
M libc/utils/hdrgen/enumeration.py
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/gpu_headers.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/expected_output/test_small.json
A libc/utils/hdrgen/tests/input/merge1.yaml
A libc/utils/hdrgen/tests/input/merge2.yaml
A libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
M libclc/CMakeLists.txt
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/amdgcn/lib/workitem/get_global_size.cl
A libclc/clc/include/clc/clc_convert.h
A libclc/clc/include/clc/common/clc_sign.h
A libclc/clc/include/clc/float/definitions.h
M libclc/clc/include/clc/integer/clc_abs.h
M libclc/clc/include/clc/integer/clc_abs_diff.h
M libclc/clc/include/clc/integer/gentype.inc
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_frexp.h
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_modf.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
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_decl_with_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_ptr.inc
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_select.h
M libclc/clc/include/clc/relational/clc_select_decl.inc
M libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/include/clc/shared/clc_max.h
M libclc/clc/include/clc/shared/clc_min.h
M 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/common/clc_sign.cl
A libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/integer/clc_upsample.cl
A libclc/clc/lib/generic/math/clc_fma.cl
A libclc/clc/lib/generic/math/clc_fma.inc
A libclc/clc/lib/generic/math/clc_frexp.cl
A libclc/clc/lib/generic/math/clc_frexp.inc
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_modf.cl
A libclc/clc/lib/generic/math/clc_modf.inc
A libclc/clc/lib/generic/math/clc_nan.cl
A libclc/clc/lib/generic/math/clc_nan.inc
M libclc/clc/lib/generic/math/clc_nextafter.cl
A libclc/clc/lib/generic/math/clc_round.cl
A libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/math/fma.cl
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/convert.h
R libclc/generic/include/clc/float/definitions.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/modf.h
R libclc/generic/include/clc/math/modf.inc
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/relational/select.h
R libclc/generic/include/math/binary_intrin.inc
R libclc/generic/include/math/clc_fma.h
R libclc/generic/include/math/ternary_intrin.inc
M libclc/generic/lib/SOURCES
M libclc/generic/lib/common/sign.cl
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
M libclc/generic/lib/math/clc_hypot.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
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/fma.cl
R libclc/generic/lib/math/fma.inc
M libclc/generic/lib/math/frexp.cl
R libclc/generic/lib/math/frexp.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/maxmag.inc
M libclc/generic/lib/math/modf.cl
R libclc/generic/lib/math/modf.inc
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/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/shared/vload_half.inc
M libclc/generic/lib/shared/vstore_half.inc
M libclc/r600/lib/image/get_image_attributes_impl.ll
M libclc/r600/lib/image/read_image_impl.ll
M libclc/r600/lib/image/write_image_impl.ll
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/CodingGuidelines.rst
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__bit_reference
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/gps_clock.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/formatter.h
M libcxx/include/__functional/function.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/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__mbstate_t.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/construct_at.h
A libcxx/include/__memory/destroy.h
M libcxx/include/__memory/ranges_construct_at.h
A libcxx/include/__memory/ranges_destroy.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/conjunction.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/unordered_map
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/modules/std/chrono.inc
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/experimental/tzdb.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/std_stream.h
M libcxx/src/string.cpp
M libcxx/src/thread.cpp
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/copy.bench.cpp
R libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_if.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_n.bench.cpp
A libcxx/test/benchmarks/algorithms/move.bench.cpp
A libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
A libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
A libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
A libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/map.bench.cpp
A libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
A libcxx/test/benchmarks/containers/associative/set.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/container_benchmarks.h
R libcxx/test/benchmarks/containers/deque.bench.cpp
R libcxx/test/benchmarks/containers/list.bench.cpp
R libcxx/test/benchmarks/containers/map.bench.cpp
R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
A libcxx/test/benchmarks/containers/sequence/deque.bench.cpp
A libcxx/test/benchmarks/containers/sequence/list.bench.cpp
A libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
A libcxx/test/benchmarks/containers/sequence/vector.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/vector.bench.cpp
M libcxx/test/configs/nvptx-libc++-shared.cfg.in
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
M libcxx/test/libcxx/containers/associative/map/at.abort.pass.cpp
M libcxx/test/libcxx/containers/associative/map/at.const.abort.pass.cpp
M libcxx/test/libcxx/containers/associative/map/find.modules.compile.pass.mm
M libcxx/test/libcxx/containers/associative/non_const_comparator.incomplete.verify.cpp
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/triviality.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/incomplete.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.cons/debug.copy.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.emplace.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_iter_iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_rvalue.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_size_value.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_value.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/trivial_for_purposes_of_call.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan_turning_off.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm
M libcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/invalid_allocator.verify.cpp
M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/containers/unord/non_const_comparator.incomplete.verify.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/at.abort.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/at.const.abort.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_rvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_rvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
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
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
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.to_utc.pass.cpp
A libcxx/test/libcxx/xopen_source.gen.py
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
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/pstl.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.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.foreach/for_each.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/containers/Copyable.h
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/NotConstructible.h
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/iterator_types.pass.cpp
M libcxx/test/std/containers/associative/map/PR28469_undefined_behavior_segfault.sh.cpp
M libcxx/test/std/containers/associative/map/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.verify.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/count2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/count3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/find2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/find3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
M libcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/multimap/empty.pass.cpp
M libcxx/test/std/containers/associative/multimap/empty.verify.cpp
M libcxx/test/std/containers/associative/multimap/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multimap/iterator.pass.cpp
M libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multimap/max_size.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multimap/scary.pass.cpp
M libcxx/test/std/containers/associative/multimap/size.pass.cpp
M libcxx/test/std/containers/associative/multimap/types.pass.cpp
M libcxx/test/std/containers/associative/multiset/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
M libcxx/test/std/containers/associative/multiset/count.pass.cpp
M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.verify.cpp
M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_emplace_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/scary.pass.cpp
M libcxx/test/std/containers/associative/multiset/size.pass.cpp
M libcxx/test/std/containers/associative/multiset/types.pass.cpp
M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/set/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/set/clear.pass.cpp
M libcxx/test/std/containers/associative/set/contains.pass.cpp
M libcxx/test/std/containers/associative/set/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/count.pass.cpp
M libcxx/test/std/containers/associative/set/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/emplace.pass.cpp
M libcxx/test/std/containers/associative/set/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/set/empty.pass.cpp
M libcxx/test/std/containers/associative/set/empty.verify.cpp
M libcxx/test/std/containers/associative/set/equal_range.pass.cpp
M libcxx/test/std/containers/associative/set/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_key.pass.cpp
M libcxx/test/std/containers/associative/set/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/set/extract_key.pass.cpp
M libcxx/test/std/containers/associative/set/find.pass.cpp
M libcxx/test/std/containers/associative/set/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/set/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_and_emplace_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/set/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/set/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/set/iterator.pass.cpp
M libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/set/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/set/max_size.pass.cpp
M libcxx/test/std/containers/associative/set/merge.pass.cpp
M libcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/set/set.cons/default.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/set/set.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/size.pass.cpp
M libcxx/test/std/containers/associative/set/types.pass.cpp
M libcxx/test/std/containers/associative/set/upper_bound.pass.cpp
M libcxx/test/std/containers/check_consecutive.h
M libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/from_range_container_adaptors.h
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_constraint.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/from_range.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_range.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
M libcxx/test/std/containers/container.adaptors/push_range_container_adaptors.h
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_queue_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rcontainer_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rqueue_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_iterators.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/back.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/back_const.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/front.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/front_const.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/push_rv.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.ops/eq.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.ops/lt.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.special/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rcontainer_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rqueue_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_iterators.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/push_rv.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/top_const.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.ops/eq.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.ops/lt.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.special/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.nodiscard.verify.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/container.requirements/associative.reqmts/associative.reqmts.except/nothing_to_do.pass.cpp
M libcxx/test/std/containers/container.requirements/container.requirements.dataraces/nothing_to_do.pass.cpp
M libcxx/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp
M libcxx/test/std/containers/container.requirements/sequence.reqmts/nothing_to_do.pass.cpp
M libcxx/test/std/containers/container.requirements/unord.req/unord.req.except/nothing_to_do.pass.cpp
M libcxx/test/std/containers/containers.general/nothing_to_do.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/from_range_helpers.h
M libcxx/test/std/containers/insert_range_helpers.h
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/containers/iterator.rel_ops.compile.pass.cpp
M libcxx/test/std/containers/map_allocator_requirement_test_templates.h
M libcxx/test/std/containers/sequences/array/aggregate.pass.cpp
M libcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/array/array.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
M libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.pass.cpp
M libcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
M libcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
M libcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_size.pass.cpp
M libcxx/test/std/containers/sequences/array/array.zero/tested_elsewhere.pass.cpp
M libcxx/test/std/containers/sequences/array/at.pass.cpp
M libcxx/test/std/containers/sequences/array/at_const.pass.cpp
M libcxx/test/std/containers/sequences/array/contiguous.pass.cpp
M libcxx/test/std/containers/sequences/array/empty.pass.cpp
M libcxx/test/std/containers/sequences/array/empty.verify.cpp
M libcxx/test/std/containers/sequences/array/front_back.pass.cpp
M libcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
M libcxx/test/std/containers/sequences/array/indexing.pass.cpp
M libcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
M libcxx/test/std/containers/sequences/array/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
M libcxx/test/std/containers/sequences/array/max_size.pass.cpp
M libcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/types.pass.cpp
M libcxx/test/std/containers/sequences/deque/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/deque/compare.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/access.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/empty.verify.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move_assign.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/op_equal.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/copy.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/copy_backward.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/move.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/move_backward.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
M libcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/types.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default_recursive.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
M libcxx/test/std/containers/sequences/insert_range_sequence_containers.h
M libcxx/test/std/containers/sequences/list/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.verify.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/dtor.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/capacity.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/compare.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/const_reference.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/emplace.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/empty.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/empty.verify.cpp
M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/find.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/push_back.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference.swap.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/assign_bool.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/ctor_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/flip.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/operator_bool.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/swap.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
M libcxx/test/std/containers/sequences/vector/access.pass.cpp
M libcxx/test/std/containers/sequences/vector/addressof.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/vector/compare.pass.cpp
M libcxx/test/std/containers/sequences/vector/contiguous.pass.cpp
M libcxx/test/std/containers/sequences/vector/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/reverse_iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/capacity.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/empty.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/swap.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/default.recursive.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.data/data.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_lvalue.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.special/swap_noexcept.compile.pass.cpp
M libcxx/test/std/containers/set_allocator_requirement_test_templates.h
M libcxx/test/std/containers/test_compare.h
M libcxx/test/std/containers/test_hash.h
M libcxx/test/std/containers/unord/from_range_unordered_containers.h
M libcxx/test/std/containers/unord/iterator_difference_type.pass.cpp
M libcxx/test/std/containers/unord/unord.map/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/unord/unord.map/bucket.pass.cpp
M libcxx/test/std/containers/unord/unord.map/bucket_count.pass.cpp
M libcxx/test/std/containers/unord/unord.map/bucket_size.pass.cpp
M libcxx/test/std/containers/unord/unord.map/compare.pass.cpp
M libcxx/test/std/containers/unord/unord.map/contains.pass.cpp
M libcxx/test/std/containers/unord/unord.map/contains.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/count.pass.cpp
M libcxx/test/std/containers/unord/unord.map/count.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/empty.pass.cpp
M libcxx/test/std/containers/unord/unord.map/empty.verify.cpp
M libcxx/test/std/containers/unord/unord.map/eq.pass.cpp
M libcxx/test/std/containers/unord/unord.map/equal_range.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/equal_range_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/equal_range_non_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp
M libcxx/test/std/containers/unord/unord.map/find.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/find_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/find_non_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/get_allocator.pass.cpp
M libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp
M libcxx/test/std/containers/unord/unord.map/iterator.operators.addressof.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.map/iterators.pass.cpp
M libcxx/test/std/containers/unord/unord.map/load_factor.pass.cpp
M libcxx/test/std/containers/unord/unord.map/local_iterators.pass.cpp
M libcxx/test/std/containers/unord/unord.map/max_bucket_count.pass.cpp
M libcxx/test/std/containers/unord/unord.map/max_load_factor.pass.cpp
M libcxx/test/std/containers/unord/unord.map/max_size.pass.cpp
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Commit: f8b734fee3cfb5348d820e7081097c2eb38d20ca
https://github.com/llvm/llvm-project/commit/f8b734fee3cfb5348d820e7081097c2eb38d20ca
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-27 (Thu, 27 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Linker.h
M bolt/include/bolt/Core/MCPlusBuilder.h
A bolt/include/bolt/Core/TargetConfig.def.in
A bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/CMakeLists.txt
A bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/data-in-code.s
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/callcont-fallthru.s
A bolt/test/X86/entry-point-fallthru.s
A bolt/test/X86/skip-inline.s
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/test/link_fdata.py
M bolt/test/merge-fdata-bat-no-lbr.test
M bolt/test/merge-fdata-mem-prof.test
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/test/merge-fdata-no-lbr-mode.test
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/utils/bughunter.sh
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/BoundsSafety.rst
M clang/docs/BoundsSafetyImplPlans.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HLSL/FunctionCalls.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
A clang/docs/analyzer/images/flamegraph.png
A clang/docs/analyzer/images/uftrace_detailed.png
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.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/OpenMPClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.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/AnalysisDeclContext.h
M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
R clang/include/clang/Basic/BuiltinsSME.def
M clang/include/clang/Basic/BuiltinsSPIRV.td
R clang/include/clang/Basic/BuiltinsSVE.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FPOptions.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/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/Passes.h
A clang/include/clang/CIR/TypeEvaluationKind.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.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/PathDiagnosticConsumers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/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/Store.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/include/module.modulemap
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/AttrImpl.cpp
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/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
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/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/X86.cpp
A clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.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/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGObjCRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/avx10_2_512convertintrin.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/hlsl_detail.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/shaintrin.h
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Lex/CMakeLists.txt
M clang/lib/Lex/HeaderSearch.cpp
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAVR.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaMIPS.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.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/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/ModuleManager.cpp
A clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
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/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/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M 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/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.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/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
A clang/test/AST/ByteCode/libcxx/pointer-subscript.cpp
A clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/HLSL/TypdefArrayParam.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/analyzer-config.c
R clang/test/Analysis/builtin_signbit.cpp
M clang/test/Analysis/copy-elision.cpp
A clang/test/Analysis/dtor-union.cpp
M clang/test/Analysis/ftime-trace.cpp
A clang/test/Analysis/issue-124474.cpp
M clang/test/Analysis/live-stmts.cpp
M clang/test/Analysis/loop-assumptions.c
R clang/test/Analysis/no-outofbounds.c
M clang/test/Analysis/out-of-bounds-constraint-check.c
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/region-store.cpp
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/stackaddrleak.cpp
R clang/test/Analysis/uninit-asm-goto.cpp
R clang/test/Analysis/uninit-sometimes.cpp
A clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global.cir
A clang/test/CIR/emit-actions.cpp
A clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
R clang/test/CIR/hello.c
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/stmt.stmt/stmt.select/stmt.switch/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/CodeGen/X86/lzcnt-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/sha-builtins.c
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/armv7k-abi.c
A clang/test/CodeGen/builtin-assume-dereferenceable.c
A clang/test/CodeGen/builtin_signbit.cpp
A clang/test/CodeGen/debug-info-enum-extensibility.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-libcalls.c
M clang/test/CodeGen/memtag-globals-asm.cpp
M clang/test/CodeGen/partial-reinitialization2.c
M clang/test/CodeGen/pragma-fenv_access.c
A clang/test/CodeGen/profile-continuous.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
A clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/launch-bounds.cu
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
M clang/test/CodeGenCXX/merge-functions.cpp
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/basic-target.c
A clang/test/CodeGenHLSL/builtins/and.hlsl
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
R clang/test/CodeGenHLSL/cbuf.hlsl
R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
A clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/disable_opt.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
R clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
A clang/test/CodeGenSPIRV/Builtins/reflect.c
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
M clang/test/Driver/Xarch.c
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aix-rpath.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/at_file_missing.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/clang_wrapv_opts.c
M clang/test/Driver/csky-toolchain.c
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/fat-lto-objects.c
A clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/hip-macros.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/offload-Xarch.c
M clang/test/Driver/openmp-offload.c
A clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/sparc-ias-Wa.s
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/wasm-toolchain.c
A clang/test/ExtractAPI/typedef_underscore.c
M clang/test/Headers/cpuid.c
A clang/test/Headers/no-xend.cpp
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/comment-to-html-xml-conversion.cpp
A clang/test/Index/index-deduction-guide.cpp
A clang/test/Index/openmp-stripe.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Modules/explicit-build.cpp
A clang/test/Modules/local-submodule-visibility-transitive-import.c
A clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
A clang/test/Modules/pr120277-2.cpp
R clang/test/Modules/pr121245.cpp
A clang/test/Modules/pr126373.cppm
A clang/test/Modules/pr127943.cppm
M clang/test/OpenMP/assume_lambda.cpp
M clang/test/OpenMP/assume_nesting_tmpl.cpp
M clang/test/OpenMP/assume_template.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_messages.c
M clang/test/OpenMP/assumes_messages_attr.c
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/attr-assume.cpp
M clang/test/OpenMP/declare_target_messages.cpp
M clang/test/OpenMP/ordered_codegen.cpp
A clang/test/OpenMP/spirv_target_codegen_basic.cpp
A clang/test/OpenMP/spirv_variant_match.cpp
A clang/test/OpenMP/stripe_ast_print.cpp
A clang/test/OpenMP/stripe_codegen.cpp
A clang/test/OpenMP/stripe_messages.cpp
M clang/test/Parser/recovery.cpp
M clang/test/Preprocessor/embed_preprocess_to_file.c
A clang/test/Preprocessor/riscv-cf-protection-return.c
A clang/test/Preprocessor/zos-target.c
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/attr-model.cpp
A clang/test/Sema/avr-interript-signal-attr.c
R clang/test/Sema/avr-interrupt-attr.c
R clang/test/Sema/avr-signal-attr.c
M clang/test/Sema/bool-compare.c
A clang/test/Sema/format-string-matches.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/gh106576.c
M clang/test/Sema/parentheses.cpp
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
M clang/test/Sema/types.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCUDA/device-var-init.cu
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/attr-cxx0x.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/bool-increment-SFINAE.cpp
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/undefined-internal.cpp
A clang/test/SemaCXX/uninit-asm-goto.cpp
A clang/test/SemaCXX/uninit-sometimes.cpp
M clang/test/SemaCXX/uninitialized.cpp
M clang/test/SemaCXX/unique_object_duplication.cpp
M clang/test/SemaCXX/unique_object_duplication.h
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
A clang/test/SemaHLSL/Language/AssignArray.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
A clang/test/SemaHLSL/use-cxx-alt-operator-names.hlsl
R clang/test/SemaOpenCL/builtins-amdgcn-error-gfx940-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/CMakeLists.txt
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-format/clang-format.el
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXString.cpp
M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Lex/CMakeLists.txt
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/Reusables.h
M clang/unittests/StaticAnalyzer/StoreTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/lit.site.cfg.in
M clang/www/OpenProjects.html
M clang/www/cxx_status.html
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/arm/negdf2vfp.S
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
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_allocator_local_cache.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_tsc.h
M compiler-rt/test/asan/TestCases/Windows/coverage-basic.cpp
M compiler-rt/test/asan/TestCases/Windows/crash_read_write.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_intercept_memset.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_null_deref.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
M compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/illegal_instruction.cpp
M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
M compiler-rt/test/asan/TestCases/Windows/msvc/seh.cpp
R compiler-rt/test/asan/TestCases/Windows/null_deref.cpp
M compiler-rt/test/asan/TestCases/Windows/null_deref_multiple_dlls.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/sse_misalignment.cpp
M compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
M compiler-rt/test/asan/TestCases/Windows/unsymbolized.cpp
M compiler-rt/test/asan/TestCases/alloca_big_alignment.cpp
M compiler-rt/test/asan/TestCases/alloca_constant_size.cpp
M compiler-rt/test/asan/TestCases/alloca_detect_custom_size_.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
M compiler-rt/test/asan/TestCases/alloca_overflow_partial.cpp
M compiler-rt/test/asan/TestCases/alloca_overflow_right.cpp
M compiler-rt/test/asan/TestCases/alloca_safe_access.cpp
M compiler-rt/test/asan/TestCases/alloca_underflow_left.cpp
M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
M compiler-rt/test/asan/TestCases/contiguous_container.cpp
M compiler-rt/test/asan/TestCases/coverage-trace-pc.cpp
M compiler-rt/test/asan/TestCases/debug_locate.cpp
M compiler-rt/test/asan/TestCases/debug_stacks.cpp
M compiler-rt/test/asan/TestCases/deep_tail_call.cpp
M compiler-rt/test/asan/TestCases/default_ignorelist.cpp
M compiler-rt/test/asan/TestCases/default_options.cpp
A compiler-rt/test/asan/TestCases/defines.h
M compiler-rt/test/asan/TestCases/error_report_callback.cpp
M compiler-rt/test/asan/TestCases/exitcode.cpp
M compiler-rt/test/asan/TestCases/force_inline_opt0.cpp
M compiler-rt/test/asan/TestCases/global-location-nodebug.cpp
M compiler-rt/test/asan/TestCases/global-underflow.cpp
M compiler-rt/test/asan/TestCases/halt_on_error-1.c
M compiler-rt/test/asan/TestCases/heavy_uar_test.cpp
M compiler-rt/test/asan/TestCases/ignorelist.cpp
M compiler-rt/test/asan/TestCases/ill.cpp
M compiler-rt/test/asan/TestCases/initialization-bug.cpp
M compiler-rt/test/asan/TestCases/inline.cpp
M compiler-rt/test/asan/TestCases/intercept-rethrow-exception.cpp
M compiler-rt/test/asan/TestCases/interception_failure_test.cpp
M compiler-rt/test/asan/TestCases/interface_test.cpp
M compiler-rt/test/asan/TestCases/invalid-pointer-pairs-compare-errors.cpp
M compiler-rt/test/asan/TestCases/invalid-pointer-pairs-subtract-errors.cpp
M compiler-rt/test/asan/TestCases/invalid-pointer-pairs.cpp
M compiler-rt/test/asan/TestCases/large_func_test.cpp
M compiler-rt/test/asan/TestCases/null_deref.cpp
M compiler-rt/test/asan/TestCases/pass-struct-byval.cpp
M compiler-rt/test/asan/TestCases/report_error_summary.cpp
M compiler-rt/test/asan/TestCases/speculative_load.cpp
M compiler-rt/test/asan/TestCases/stack-buffer-overflow-with-position.cpp
M compiler-rt/test/asan/TestCases/stack-oob-frames.cpp
M compiler-rt/test/asan/TestCases/strcat-overlap.cpp
M compiler-rt/test/asan/TestCases/strcpy-overlap.cpp
M compiler-rt/test/asan/TestCases/strncat-overlap.cpp
M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
M compiler-rt/test/asan/TestCases/strncpy-overlap.cpp
M compiler-rt/test/asan/TestCases/throw_call_test.cpp
M compiler-rt/test/asan/TestCases/throw_catch.cpp
M compiler-rt/test/asan/TestCases/throw_invoke_test.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-capture.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-dtor-order.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-loop-bug.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-loop-removed.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-loop.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-temp.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-temp2.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-types.cpp
M compiler-rt/test/asan/TestCases/vla_chrome_testcase.cpp
M compiler-rt/test/asan/TestCases/vla_condition_overflow.cpp
M compiler-rt/test/asan/TestCases/vla_loop_overfow.cpp
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
M compiler-rt/test/hwasan/TestCases/libc_thread_freeres.c
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
A compiler-rt/test/profile/Linux/binary-id-path.c
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Posix/diag-stacktrace.cpp
M compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp
R cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py
A flang-rt/.clang-format
A flang-rt/.clang-tidy
A flang-rt/CMakeLists.txt
A flang-rt/CODE_OWNERS.TXT
A flang-rt/LICENSE.TXT
A flang-rt/README.md
A flang-rt/cmake/config.h.cmake.in
A flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/AddFlangRTOffload.cmake
A flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/examples/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/external-hello.cpp
A flang-rt/include/flang-rt/runtime/allocator-registry.h
A flang-rt/include/flang-rt/runtime/array-constructor.h
A flang-rt/include/flang-rt/runtime/assign-impl.h
A flang-rt/include/flang-rt/runtime/buffer.h
A flang-rt/include/flang-rt/runtime/connection.h
A flang-rt/include/flang-rt/runtime/derived.h
A flang-rt/include/flang-rt/runtime/descriptor.h
A flang-rt/include/flang-rt/runtime/emit-encoded.h
A flang-rt/include/flang-rt/runtime/environment.h
A flang-rt/include/flang-rt/runtime/file.h
A flang-rt/include/flang-rt/runtime/format-implementation.h
A flang-rt/include/flang-rt/runtime/format.h
A flang-rt/include/flang-rt/runtime/internal-unit.h
A flang-rt/include/flang-rt/runtime/io-error.h
A flang-rt/include/flang-rt/runtime/io-stmt.h
A flang-rt/include/flang-rt/runtime/lock.h
A flang-rt/include/flang-rt/runtime/memory.h
A flang-rt/include/flang-rt/runtime/namelist.h
A flang-rt/include/flang-rt/runtime/non-tbp-dio.h
A flang-rt/include/flang-rt/runtime/numeric-templates.h
A flang-rt/include/flang-rt/runtime/random-templates.h
A flang-rt/include/flang-rt/runtime/reduction-templates.h
A flang-rt/include/flang-rt/runtime/stat.h
A flang-rt/include/flang-rt/runtime/terminator.h
A flang-rt/include/flang-rt/runtime/tools.h
A flang-rt/include/flang-rt/runtime/type-code.h
A flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/utf.h
A flang-rt/lib/CMakeLists.txt
A flang-rt/lib/Testing/CMakeLists.txt
A flang-rt/lib/cuda/CMakeLists.txt
A flang-rt/lib/cuda/allocatable.cpp
A flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/descriptor.cpp
A flang-rt/lib/cuda/init.cpp
A flang-rt/lib/cuda/kernel.cpp
A flang-rt/lib/cuda/memmove-function.cpp
A flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/pointer.cpp
A flang-rt/lib/cuda/registration.cpp
A flang-rt/lib/quadmath/CMakeLists.txt
A flang-rt/lib/quadmath/acos.cpp
A flang-rt/lib/quadmath/acosh.cpp
A flang-rt/lib/quadmath/asin.cpp
A flang-rt/lib/quadmath/asinh.cpp
A flang-rt/lib/quadmath/atan.cpp
A flang-rt/lib/quadmath/atan2.cpp
A flang-rt/lib/quadmath/atanh.cpp
A flang-rt/lib/quadmath/ceil.cpp
A flang-rt/lib/quadmath/complex-math.c
A flang-rt/lib/quadmath/complex-math.h
A flang-rt/lib/quadmath/cos.cpp
A flang-rt/lib/quadmath/cosh.cpp
A flang-rt/lib/quadmath/erf.cpp
A flang-rt/lib/quadmath/erfc.cpp
A flang-rt/lib/quadmath/exp.cpp
A flang-rt/lib/quadmath/exponent.cpp
A flang-rt/lib/quadmath/floor.cpp
A flang-rt/lib/quadmath/fma.cpp
A flang-rt/lib/quadmath/fraction.cpp
A flang-rt/lib/quadmath/hypot.cpp
A flang-rt/lib/quadmath/j0.cpp
A flang-rt/lib/quadmath/j1.cpp
A flang-rt/lib/quadmath/jn.cpp
A flang-rt/lib/quadmath/lgamma.cpp
A flang-rt/lib/quadmath/llround.cpp
A flang-rt/lib/quadmath/log.cpp
A flang-rt/lib/quadmath/log10.cpp
A flang-rt/lib/quadmath/lround.cpp
A flang-rt/lib/quadmath/math-entries.h
A flang-rt/lib/quadmath/mod-real.cpp
A flang-rt/lib/quadmath/modulo-real.cpp
A flang-rt/lib/quadmath/nearbyint.cpp
A flang-rt/lib/quadmath/nearest.cpp
A flang-rt/lib/quadmath/norm2.cpp
A flang-rt/lib/quadmath/numeric-template-specs.h
A flang-rt/lib/quadmath/pow.cpp
A flang-rt/lib/quadmath/random.cpp
A flang-rt/lib/quadmath/remainder.cpp
A flang-rt/lib/quadmath/round.cpp
A flang-rt/lib/quadmath/rrspacing.cpp
A flang-rt/lib/quadmath/scale.cpp
A flang-rt/lib/quadmath/set-exponent.cpp
A flang-rt/lib/quadmath/sin.cpp
A flang-rt/lib/quadmath/sinh.cpp
A flang-rt/lib/quadmath/spacing.cpp
A flang-rt/lib/quadmath/sqrt.cpp
A flang-rt/lib/quadmath/tan.cpp
A flang-rt/lib/quadmath/tanh.cpp
A flang-rt/lib/quadmath/tgamma.cpp
A flang-rt/lib/quadmath/trunc.cpp
A flang-rt/lib/quadmath/y0.cpp
A flang-rt/lib/quadmath/y1.cpp
A flang-rt/lib/quadmath/yn.cpp
A flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/ISO_Fortran_binding.cpp
A flang-rt/lib/runtime/ISO_Fortran_util.h
A flang-rt/lib/runtime/allocatable.cpp
A flang-rt/lib/runtime/allocator-registry.cpp
A flang-rt/lib/runtime/array-constructor.cpp
A flang-rt/lib/runtime/assign.cpp
A flang-rt/lib/runtime/buffer.cpp
A flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/command.cpp
A flang-rt/lib/runtime/complex-powi.cpp
A flang-rt/lib/runtime/complex-reduction.c
A flang-rt/lib/runtime/complex-reduction.h
A flang-rt/lib/runtime/connection.cpp
A flang-rt/lib/runtime/copy.cpp
A flang-rt/lib/runtime/copy.h
A flang-rt/lib/runtime/derived-api.cpp
A flang-rt/lib/runtime/derived.cpp
A flang-rt/lib/runtime/descriptor-io.cpp
A flang-rt/lib/runtime/descriptor-io.h
A flang-rt/lib/runtime/descriptor.cpp
A flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/edit-input.cpp
A flang-rt/lib/runtime/edit-input.h
A flang-rt/lib/runtime/edit-output.cpp
A flang-rt/lib/runtime/edit-output.h
A flang-rt/lib/runtime/environment-default-list.h
A flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/execute.cpp
A flang-rt/lib/runtime/extensions.cpp
A flang-rt/lib/runtime/external-unit.cpp
A flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/file.cpp
A flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/format.cpp
A flang-rt/lib/runtime/inquiry.cpp
A flang-rt/lib/runtime/internal-unit.cpp
A flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-api-minimal.cpp
A flang-rt/lib/runtime/io-api.cpp
A flang-rt/lib/runtime/io-error.cpp
A flang-rt/lib/runtime/io-stmt.cpp
A flang-rt/lib/runtime/iostat.cpp
A flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/memory.cpp
A flang-rt/lib/runtime/misc-intrinsic.cpp
A flang-rt/lib/runtime/namelist.cpp
A flang-rt/lib/runtime/non-tbp-dio.cpp
A flang-rt/lib/runtime/numeric.cpp
A flang-rt/lib/runtime/pointer.cpp
A flang-rt/lib/runtime/product.cpp
A flang-rt/lib/runtime/pseudo-unit.cpp
A flang-rt/lib/runtime/ragged.cpp
A flang-rt/lib/runtime/random.cpp
A flang-rt/lib/runtime/reduce.cpp
A flang-rt/lib/runtime/reduction.cpp
A flang-rt/lib/runtime/stack.h
A flang-rt/lib/runtime/stat.cpp
A flang-rt/lib/runtime/stop.cpp
A flang-rt/lib/runtime/sum.cpp
A flang-rt/lib/runtime/support.cpp
A flang-rt/lib/runtime/temporary-stack.cpp
A flang-rt/lib/runtime/terminator.cpp
A flang-rt/lib/runtime/time-intrinsic.cpp
A flang-rt/lib/runtime/tools.cpp
A flang-rt/lib/runtime/transformational.cpp
A flang-rt/lib/runtime/type-code.cpp
A flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/unit-map.cpp
A flang-rt/lib/runtime/unit-map.h
A flang-rt/lib/runtime/unit.cpp
A flang-rt/lib/runtime/unit.h
A flang-rt/lib/runtime/utf.cpp
A flang-rt/test/CMakeLists.txt
A flang-rt/test/Driver/ctofortran.f90
A flang-rt/test/Driver/exec.f90
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
A flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/Evaluate/CMakeLists.txt
A flang-rt/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/Evaluate/reshape.cpp
A flang-rt/unittests/Runtime/AccessTest.cpp
A flang-rt/unittests/Runtime/Allocatable.cpp
A flang-rt/unittests/Runtime/ArrayConstructor.cpp
A flang-rt/unittests/Runtime/BufferTest.cpp
A flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
A flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Memory.cpp
A flang-rt/unittests/Runtime/CharacterTest.cpp
A flang-rt/unittests/Runtime/CommandTest.cpp
A flang-rt/unittests/Runtime/Complex.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.h
A flang-rt/unittests/Runtime/Derived.cpp
A flang-rt/unittests/Runtime/ExternalIOTest.cpp
A flang-rt/unittests/Runtime/Format.cpp
A flang-rt/unittests/Runtime/Inquiry.cpp
A flang-rt/unittests/Runtime/ListInputTest.cpp
A flang-rt/unittests/Runtime/LogicalFormatTest.cpp
A flang-rt/unittests/Runtime/Matmul.cpp
A flang-rt/unittests/Runtime/MatmulTranspose.cpp
A flang-rt/unittests/Runtime/MiscIntrinsic.cpp
A flang-rt/unittests/Runtime/Namelist.cpp
A flang-rt/unittests/Runtime/Numeric.cpp
A flang-rt/unittests/Runtime/NumericalFormatTest.cpp
A flang-rt/unittests/Runtime/Pointer.cpp
A flang-rt/unittests/Runtime/Ragged.cpp
A flang-rt/unittests/Runtime/Random.cpp
A flang-rt/unittests/Runtime/Reduction.cpp
A flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
A flang-rt/unittests/Runtime/Stop.cpp
A flang-rt/unittests/Runtime/Support.cpp
A flang-rt/unittests/Runtime/TemporaryStack.cpp
A flang-rt/unittests/Runtime/Time.cpp
A flang-rt/unittests/Runtime/Transformational.cpp
A flang-rt/unittests/Runtime/tools.h
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
A flang/cmake/modules/FlangCommon.cmake
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingStarted.md
M flang/docs/OpenACC-descriptor-management.md
M flang/docs/Real16MathSupport.md
M flang/docs/ReleaseNotes.md
M flang/examples/CMakeLists.txt
M flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/examples/ExternalHelloWorld/external-hello.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
M flang/include/flang/Optimizer/Support/InitFIR.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
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/allocatable.h
R flang/include/flang/Runtime/allocator-registry.h
R flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/descriptor-consts.h
R flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/freestanding-tools.h
R flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/pointer.h
R flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/LangOptions.h
A flang/include/flang/Testing/fp-testing.h
A flang/include/flang/Testing/testing.h
M flang/include/flang/Tools/PointerModels.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/CMakeLists.txt
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
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/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.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/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
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/Parser/Fortran-parsers.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.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/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/lib/Testing/CMakeLists.txt
A flang/lib/Testing/fp-testing.cpp
A flang/lib/Testing/testing.cpp
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/CUDA/allocatable.cpp
R flang/runtime/CUDA/allocator.cpp
R flang/runtime/CUDA/descriptor.cpp
R flang/runtime/CUDA/init.cpp
R flang/runtime/CUDA/kernel.cpp
R flang/runtime/CUDA/memmove-function.cpp
R flang/runtime/CUDA/memory.cpp
R flang/runtime/CUDA/pointer.cpp
R flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
R flang/runtime/Float128Math/acos.cpp
R flang/runtime/Float128Math/acosh.cpp
R flang/runtime/Float128Math/asin.cpp
R flang/runtime/Float128Math/asinh.cpp
R flang/runtime/Float128Math/atan.cpp
R flang/runtime/Float128Math/atan2.cpp
R flang/runtime/Float128Math/atanh.cpp
R flang/runtime/Float128Math/ceil.cpp
R flang/runtime/Float128Math/complex-math.c
R flang/runtime/Float128Math/complex-math.h
R flang/runtime/Float128Math/cos.cpp
R flang/runtime/Float128Math/cosh.cpp
R flang/runtime/Float128Math/erf.cpp
R flang/runtime/Float128Math/erfc.cpp
R flang/runtime/Float128Math/exp.cpp
R flang/runtime/Float128Math/exponent.cpp
R flang/runtime/Float128Math/floor.cpp
R flang/runtime/Float128Math/fma.cpp
R flang/runtime/Float128Math/fraction.cpp
R flang/runtime/Float128Math/hypot.cpp
R flang/runtime/Float128Math/j0.cpp
R flang/runtime/Float128Math/j1.cpp
R flang/runtime/Float128Math/jn.cpp
R flang/runtime/Float128Math/lgamma.cpp
R flang/runtime/Float128Math/llround.cpp
R flang/runtime/Float128Math/log.cpp
R flang/runtime/Float128Math/log10.cpp
R flang/runtime/Float128Math/lround.cpp
R flang/runtime/Float128Math/math-entries.h
R flang/runtime/Float128Math/mod-real.cpp
R flang/runtime/Float128Math/modulo-real.cpp
R flang/runtime/Float128Math/nearbyint.cpp
R flang/runtime/Float128Math/nearest.cpp
R flang/runtime/Float128Math/norm2.cpp
R flang/runtime/Float128Math/numeric-template-specs.h
R flang/runtime/Float128Math/pow.cpp
R flang/runtime/Float128Math/random.cpp
R flang/runtime/Float128Math/remainder.cpp
R flang/runtime/Float128Math/round.cpp
R flang/runtime/Float128Math/rrspacing.cpp
R flang/runtime/Float128Math/scale.cpp
R flang/runtime/Float128Math/set-exponent.cpp
R flang/runtime/Float128Math/sin.cpp
R flang/runtime/Float128Math/sinh.cpp
R flang/runtime/Float128Math/spacing.cpp
R flang/runtime/Float128Math/sqrt.cpp
R flang/runtime/Float128Math/tan.cpp
R flang/runtime/Float128Math/tanh.cpp
R flang/runtime/Float128Math/tgamma.cpp
R flang/runtime/Float128Math/trunc.cpp
R flang/runtime/Float128Math/y0.cpp
R flang/runtime/Float128Math/y1.cpp
R flang/runtime/Float128Math/yn.cpp
R flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/ISO_Fortran_util.h
R flang/runtime/allocatable.cpp
R flang/runtime/allocator-registry.cpp
R flang/runtime/array-constructor.cpp
R flang/runtime/assign-impl.h
R flang/runtime/assign.cpp
R flang/runtime/buffer.cpp
R flang/runtime/buffer.h
R flang/runtime/character.cpp
R flang/runtime/command.cpp
R flang/runtime/complex-powi.cpp
R flang/runtime/complex-reduction.c
R flang/runtime/complex-reduction.h
R flang/runtime/config.h.cmake
R flang/runtime/connection.cpp
R flang/runtime/connection.h
R flang/runtime/copy.cpp
R flang/runtime/copy.h
R flang/runtime/derived-api.cpp
R flang/runtime/derived.cpp
R flang/runtime/derived.h
R flang/runtime/descriptor-io.cpp
R flang/runtime/descriptor-io.h
R flang/runtime/descriptor.cpp
R flang/runtime/dot-product.cpp
R flang/runtime/edit-input.cpp
R flang/runtime/edit-input.h
R flang/runtime/edit-output.cpp
R flang/runtime/edit-output.h
R flang/runtime/emit-encoded.h
R flang/runtime/environment-default-list.h
R flang/runtime/environment.cpp
R flang/runtime/environment.h
R flang/runtime/exceptions.cpp
R flang/runtime/execute.cpp
R flang/runtime/extensions.cpp
R flang/runtime/external-unit.cpp
R flang/runtime/extrema.cpp
R flang/runtime/file.cpp
R flang/runtime/file.h
R flang/runtime/findloc.cpp
R flang/runtime/format-implementation.h
R flang/runtime/format.cpp
R flang/runtime/format.h
R flang/runtime/inquiry.cpp
R flang/runtime/internal-unit.cpp
R flang/runtime/internal-unit.h
R flang/runtime/io-api-common.h
R flang/runtime/io-api-minimal.cpp
R flang/runtime/io-api.cpp
R flang/runtime/io-error.cpp
R flang/runtime/io-error.h
R flang/runtime/io-stmt.cpp
R flang/runtime/io-stmt.h
R flang/runtime/iostat.cpp
R flang/runtime/lock.h
R flang/runtime/main.cpp
R flang/runtime/matmul-transpose.cpp
R flang/runtime/matmul.cpp
R flang/runtime/memory.cpp
R flang/runtime/misc-intrinsic.cpp
R flang/runtime/namelist.cpp
R flang/runtime/namelist.h
R flang/runtime/non-tbp-dio.cpp
R flang/runtime/non-tbp-dio.h
R flang/runtime/numeric-templates.h
R flang/runtime/numeric.cpp
R flang/runtime/pointer.cpp
R flang/runtime/product.cpp
R flang/runtime/pseudo-unit.cpp
R flang/runtime/ragged.cpp
R flang/runtime/random-templates.h
R flang/runtime/random.cpp
R flang/runtime/reduce.cpp
R flang/runtime/reduction-templates.h
R flang/runtime/reduction.cpp
R flang/runtime/stack.h
R flang/runtime/stat.cpp
R flang/runtime/stat.h
R flang/runtime/stop.cpp
R flang/runtime/sum.cpp
R flang/runtime/support.cpp
R flang/runtime/temporary-stack.cpp
R flang/runtime/terminator.cpp
R flang/runtime/terminator.h
R flang/runtime/time-intrinsic.cpp
R flang/runtime/tools.cpp
R flang/runtime/tools.h
R flang/runtime/transformational.cpp
R flang/runtime/type-code.cpp
R flang/runtime/type-info.cpp
R flang/runtime/type-info.h
R flang/runtime/unit-map.cpp
R flang/runtime/unit-map.h
R flang/runtime/unit.cpp
R flang/runtime/unit.h
R flang/runtime/utf.cpp
R flang/runtime/utf.h
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-target.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
M flang/test/CMakeLists.txt
R flang/test/Driver/ctofortran.f90
R flang/test/Driver/exec.f90
M flang/test/Driver/gcc-toolchain-install-dir.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/mabi-riscv.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/nostdlib.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Evaluate/folding18.f90
M flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/OpenACC/openacc-mappable.fir
A flang/test/Fir/OpenACC/openacc-type-categories.f90
M flang/test/Fir/alloc.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/box.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox-global.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-aarch64-byval.fir
A flang/test/Fir/target-rewrite-indirect-calls.fir
M flang/test/Fir/type-descriptor.fir
M flang/test/HLFIR/maxval-elemental.fir
M flang/test/HLFIR/minval-elemental.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/OpenMP/private-global.f90
A flang/test/Integration/abi-indirect-call.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Integration/unroll.f90
A flang/test/Integration/unroll_and_jam.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/Intrinsics/acosh.f90
M flang/test/Lower/Intrinsics/asin.f90
M flang/test/Lower/Intrinsics/asinh.f90
M flang/test/Lower/Intrinsics/atanh.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.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/map-mapper.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-lastprivate-of-private.f90
A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.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/location.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/order-clause.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-str.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-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/scan.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.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-ordered.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-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.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-multi.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-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/PowerPC/ppc-vec-load-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-load.f90
M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-splat.f90
A flang/test/Lower/RISCV/riscv-target-abi.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-polymorphic.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-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/call-by-value-attr.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/common-block.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/scalar-substring.f90
M flang/test/Lower/real-descriptors.f90
A flang/test/Lower/unroll_and_jam.f90
A flang/test/Parser/OpenMP/assumption.f90
A flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/compiler-directives.f90
R flang/test/Runtime/no-cpp-dep.c
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/threadprivate02.f90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/unsigned-errors.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
M flang/unittests/Evaluate/bit-population-count.cpp
M flang/unittests/Evaluate/expression.cpp
M flang/unittests/Evaluate/folding.cpp
R flang/unittests/Evaluate/fp-testing.cpp
R flang/unittests/Evaluate/fp-testing.h
M flang/unittests/Evaluate/integer.cpp
M flang/unittests/Evaluate/intrinsics.cpp
M flang/unittests/Evaluate/leading-zero-bit-count.cpp
M flang/unittests/Evaluate/logical.cpp
M flang/unittests/Evaluate/real.cpp
R flang/unittests/Evaluate/reshape.cpp
R flang/unittests/Evaluate/testing.cpp
R flang/unittests/Evaluate/testing.h
M flang/unittests/Evaluate/uint128.cpp
M flang/unittests/Optimizer/CMakeLists.txt
R flang/unittests/Runtime/AccessTest.cpp
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Allocatable.cpp
R flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Memory.cpp
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/Support.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/gpu/amdgpu/entrypoints.txt
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/CMakeLists.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/support.rst
M libc/docs/gpu/using.rst
M libc/docs/headers/index.rst
M libc/docs/headers/math/index.rst
M libc/docs/headers/math/stdfix.rst
M libc/docs/index.rst
M libc/hdr/types/CMakeLists.txt
R libc/hdr/types/sighandler_t.h
M libc/include/CMakeLists.txt
M libc/include/__llvm-libc-common.h
R libc/include/ctype.h.def
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
A libc/include/endian.h.def
A libc/include/endian.yaml
R libc/include/fenv.h.def
M libc/include/fenv.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/endian-macros.h
M libc/include/llvm-libc-macros/features-macros.h
M libc/include/llvm-libc-macros/gpu/signal-macros.h
M libc/include/llvm-libc-macros/linux/signal-macros.h
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__sighandler_t.h
A libc/include/llvm-libc-types/sighandler_t.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_tm.h
R libc/include/malloc.h.def
M libc/include/malloc.yaml
M libc/include/math.yaml
M libc/include/signal.yaml
M libc/include/stdbit.yaml
M libc/include/stdfix.yaml
A libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/src/__support/CPP/bit.h
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/GPU/utils.h
M libc/src/__support/big_int.h
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/macros/optimization.h
M libc/src/complex/generic/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/acosf16.h
A libc/src/math/asinf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosf16.cpp
A libc/src/math/generic/asinf16.cpp
M libc/src/math/generic/atan2f.cpp
A libc/src/math/generic/atan2f_float.h
M libc/src/math/generic/pow.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/sqrtf128.cpp
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/signal.cpp
M libc/src/signal/signal.h
M libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/countlshk.cpp
A libc/src/stdfix/countlshk.h
A libc/src/stdfix/countlshr.cpp
A libc/src/stdfix/countlshr.h
A libc/src/stdfix/countlsk.cpp
A libc/src/stdfix/countlsk.h
A libc/src/stdfix/countlslk.cpp
A libc/src/stdfix/countlslk.h
A libc/src/stdfix/countlslr.cpp
A libc/src/stdfix/countlslr.h
A libc/src/stdfix/countlsr.cpp
A libc/src/stdfix/countlsr.h
A libc/src/stdfix/countlsuhk.cpp
A libc/src/stdfix/countlsuhk.h
A libc/src/stdfix/countlsuhr.cpp
A libc/src/stdfix/countlsuhr.h
A libc/src/stdfix/countlsuk.cpp
A libc/src/stdfix/countlsuk.h
A libc/src/stdfix/countlsulk.cpp
A libc/src/stdfix/countlsulk.h
A libc/src/stdfix/countlsulr.cpp
A libc/src/stdfix/countlsulr.h
A libc/src/stdfix/countlsur.cpp
A libc/src/stdfix/countlsur.h
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/time/CMakeLists.txt
M libc/src/time/mktime.cpp
A libc/src/time/strftime.cpp
A libc/src/time/strftime.h
A libc/src/time/strftime_core/CMakeLists.txt
A libc/src/time/strftime_core/composite_converter.h
A libc/src/time/strftime_core/converter.cpp
A libc/src/time/strftime_core/converter.h
A libc/src/time/strftime_core/core_structs.h
A libc/src/time/strftime_core/num_converter.h
A libc/src/time/strftime_core/parser.h
A libc/src/time/strftime_core/str_converter.h
A libc/src/time/strftime_core/strftime_main.cpp
A libc/src/time/strftime_core/strftime_main.h
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
M libc/src/time/time_constants.h
M libc/src/time/time_utils.cpp
M libc/src/time/time_utils.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getsid.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getsid.cpp
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
M libc/test/integration/src/pthread/pthread_mutex_test.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/SqrtTest.h
A libc/test/src/math/acosf16_test.cpp
A libc/test/src/math/asinf16_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/SqrtTest.h
A libc/test/src/math/smoke/acosf16_test.cpp
A libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
M libc/test/src/signal/CMakeLists.txt
M libc/test/src/signal/signal_test.cpp
M libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
M libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
M libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
M libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
M libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
M libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
M libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
M libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
M libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
M libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
M libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
M libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
M libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/CountlsTest.h
A libc/test/src/stdfix/countlshk_test.cpp
A libc/test/src/stdfix/countlshr_test.cpp
A libc/test/src/stdfix/countlsk_test.cpp
A libc/test/src/stdfix/countlslk_test.cpp
A libc/test/src/stdfix/countlslr_test.cpp
A libc/test/src/stdfix/countlsr_test.cpp
A libc/test/src/stdfix/countlsuhk_test.cpp
A libc/test/src/stdfix/countlsuhr_test.cpp
A libc/test/src/stdfix/countlsuk_test.cpp
A libc/test/src/stdfix/countlsulk_test.cpp
A libc/test/src/stdfix/countlsulr_test.cpp
A libc/test/src/stdfix/countlsur_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/strftime_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getsid_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/docgen/docgen.py
A libc/utils/docgen/endian.yaml
A libc/utils/docgen/sys/statvfs.yaml
M libc/utils/docgen/sys/time.yaml
M libc/utils/hdrgen/enumeration.py
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/gpu_headers.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/expected_output/test_small.json
A libc/utils/hdrgen/tests/input/merge1.yaml
A libc/utils/hdrgen/tests/input/merge2.yaml
A libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
M libclc/CMakeLists.txt
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/amdgcn/lib/workitem/get_global_size.cl
A libclc/clc/include/clc/clc_convert.h
A libclc/clc/include/clc/common/clc_sign.h
A libclc/clc/include/clc/float/definitions.h
M libclc/clc/include/clc/integer/clc_abs.h
M libclc/clc/include/clc/integer/clc_abs_diff.h
M libclc/clc/include/clc/integer/gentype.inc
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_frexp.h
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_modf.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
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_decl_with_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_ptr.inc
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_select.h
M libclc/clc/include/clc/relational/clc_select_decl.inc
M libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/include/clc/shared/clc_max.h
M libclc/clc/include/clc/shared/clc_min.h
M 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/common/clc_sign.cl
A libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/integer/clc_upsample.cl
A libclc/clc/lib/generic/math/clc_fma.cl
A libclc/clc/lib/generic/math/clc_fma.inc
A libclc/clc/lib/generic/math/clc_frexp.cl
A libclc/clc/lib/generic/math/clc_frexp.inc
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_modf.cl
A libclc/clc/lib/generic/math/clc_modf.inc
A libclc/clc/lib/generic/math/clc_nan.cl
A libclc/clc/lib/generic/math/clc_nan.inc
M libclc/clc/lib/generic/math/clc_nextafter.cl
A libclc/clc/lib/generic/math/clc_round.cl
A libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/math/fma.cl
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/convert.h
R libclc/generic/include/clc/float/definitions.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/modf.h
R libclc/generic/include/clc/math/modf.inc
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/relational/select.h
R libclc/generic/include/math/binary_intrin.inc
R libclc/generic/include/math/clc_fma.h
R libclc/generic/include/math/ternary_intrin.inc
M libclc/generic/lib/SOURCES
M libclc/generic/lib/common/sign.cl
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
M libclc/generic/lib/math/clc_hypot.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
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/fma.cl
R libclc/generic/lib/math/fma.inc
M libclc/generic/lib/math/frexp.cl
R libclc/generic/lib/math/frexp.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/maxmag.inc
M libclc/generic/lib/math/modf.cl
R libclc/generic/lib/math/modf.inc
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/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/shared/vload_half.inc
M libclc/generic/lib/shared/vstore_half.inc
M libclc/r600/lib/image/get_image_attributes_impl.ll
M libclc/r600/lib/image/read_image_impl.ll
M libclc/r600/lib/image/write_image_impl.ll
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/CodingGuidelines.rst
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__bit_reference
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/gps_clock.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/formatter.h
M libcxx/include/__functional/function.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/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__mbstate_t.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/construct_at.h
A libcxx/include/__memory/destroy.h
M libcxx/include/__memory/ranges_construct_at.h
A libcxx/include/__memory/ranges_destroy.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/conjunction.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/unordered_map
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/modules/std/chrono.inc
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/experimental/tzdb.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/std_stream.h
M libcxx/src/string.cpp
M libcxx/src/thread.cpp
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/copy.bench.cpp
R libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_if.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_n.bench.cpp
A libcxx/test/benchmarks/algorithms/move.bench.cpp
A libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
A libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
A libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
A libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/map.bench.cpp
A libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
A libcxx/test/benchmarks/containers/associative/set.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/container_benchmarks.h
R libcxx/test/benchmarks/containers/deque.bench.cpp
R libcxx/test/benchmarks/containers/list.bench.cpp
R libcxx/test/benchmarks/containers/map.bench.cpp
R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
A libcxx/test/benchmarks/containers/sequence/deque.bench.cpp
A libcxx/test/benchmarks/containers/sequence/list.bench.cpp
A libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
A libcxx/test/benchmarks/containers/sequence/vector.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/vector.bench.cpp
M libcxx/test/configs/nvptx-libc++-shared.cfg.in
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
M libcxx/test/libcxx/containers/associative/map/at.abort.pass.cpp
M libcxx/test/libcxx/containers/associative/map/at.const.abort.pass.cpp
M libcxx/test/libcxx/containers/associative/map/find.modules.compile.pass.mm
M libcxx/test/libcxx/containers/associative/non_const_comparator.incomplete.verify.cpp
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/triviality.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/incomplete.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.cons/debug.copy.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.emplace.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_iter_iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_rvalue.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_size_value.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_value.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/trivial_for_purposes_of_call.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan_turning_off.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm
M libcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/invalid_allocator.verify.cpp
M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/containers/unord/non_const_comparator.incomplete.verify.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/at.abort.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/at.const.abort.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_rvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_rvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter_iter.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.insert.hint_const_lvalue.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/debug.swap.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
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
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
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.to_utc.pass.cpp
A libcxx/test/libcxx/xopen_source.gen.py
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
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/pstl.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.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.foreach/for_each.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/containers/Copyable.h
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/NotConstructible.h
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/iterator_types.pass.cpp
M libcxx/test/std/containers/associative/map/PR28469_undefined_behavior_segfault.sh.cpp
M libcxx/test/std/containers/associative/map/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.verify.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/count2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/count3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/find2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/find3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
M libcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/multimap/empty.pass.cpp
M libcxx/test/std/containers/associative/multimap/empty.verify.cpp
M libcxx/test/std/containers/associative/multimap/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multimap/iterator.pass.cpp
M libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multimap/max_size.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound1.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound2.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound3.compile.fail.cpp
M libcxx/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multimap/scary.pass.cpp
M libcxx/test/std/containers/associative/multimap/size.pass.cpp
M libcxx/test/std/containers/associative/multimap/types.pass.cpp
M libcxx/test/std/containers/associative/multiset/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
M libcxx/test/std/containers/associative/multiset/count.pass.cpp
M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.verify.cpp
M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_emplace_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/scary.pass.cpp
M libcxx/test/std/containers/associative/multiset/size.pass.cpp
M libcxx/test/std/containers/associative/multiset/types.pass.cpp
M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/set/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/associative/set/clear.pass.cpp
M libcxx/test/std/containers/associative/set/contains.pass.cpp
M libcxx/test/std/containers/associative/set/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/count.pass.cpp
M libcxx/test/std/containers/associative/set/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/emplace.pass.cpp
M libcxx/test/std/containers/associative/set/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/set/empty.pass.cpp
M libcxx/test/std/containers/associative/set/empty.verify.cpp
M libcxx/test/std/containers/associative/set/equal_range.pass.cpp
M libcxx/test/std/containers/associative/set/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_key.pass.cpp
M libcxx/test/std/containers/associative/set/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/set/extract_key.pass.cpp
M libcxx/test/std/containers/associative/set/find.pass.cpp
M libcxx/test/std/containers/associative/set/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/set/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_and_emplace_allocator_requirements.pass.cpp
M libcxx/test/std/containers/associative/set/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/set/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/set/iterator.pass.cpp
M libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/set/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/set/max_size.pass.cpp
M libcxx/test/std/containers/associative/set/merge.pass.cpp
M libcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare_copy_constructible.compile.fail.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/set/set.cons/default.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/set/set.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/size.pass.cpp
M libcxx/test/std/containers/associative/set/types.pass.cpp
M libcxx/test/std/containers/associative/set/upper_bound.pass.cpp
M libcxx/test/std/containers/check_consecutive.h
M libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/from_range_container_adaptors.h
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_constraint.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/from_range.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_range.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
M libcxx/test/std/containers/container.adaptors/push_range_container_adaptors.h
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_queue_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rcontainer_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rqueue_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_iterators.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/back.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/back_const.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/front.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/front_const.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/push_rv.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.ops/eq.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.ops/lt.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.special/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rcontainer_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rqueue_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_iterators.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/push_rv.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/top_const.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.ops/eq.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.ops/lt.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.special/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.nodiscard.verify.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/container.requirements/associative.reqmts/associative.reqmts.except/nothing_to_do.pass.cpp
M libcxx/test/std/containers/container.requirements/container.requirements.dataraces/nothing_to_do.pass.cpp
M libcxx/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp
M libcxx/test/std/containers/container.requirements/sequence.reqmts/nothing_to_do.pass.cpp
M libcxx/test/std/containers/container.requirements/unord.req/unord.req.except/nothing_to_do.pass.cpp
M libcxx/test/std/containers/containers.general/nothing_to_do.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/from_range_helpers.h
M libcxx/test/std/containers/insert_range_helpers.h
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/containers/iterator.rel_ops.compile.pass.cpp
M libcxx/test/std/containers/map_allocator_requirement_test_templates.h
M libcxx/test/std/containers/sequences/array/aggregate.pass.cpp
M libcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/array/array.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
M libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.pass.cpp
M libcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
M libcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
M libcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.pass.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_size.pass.cpp
M libcxx/test/std/containers/sequences/array/array.zero/tested_elsewhere.pass.cpp
M libcxx/test/std/containers/sequences/array/at.pass.cpp
M libcxx/test/std/containers/sequences/array/at_const.pass.cpp
M libcxx/test/std/containers/sequences/array/contiguous.pass.cpp
M libcxx/test/std/containers/sequences/array/empty.pass.cpp
M libcxx/test/std/containers/sequences/array/empty.verify.cpp
M libcxx/test/std/containers/sequences/array/front_back.pass.cpp
M libcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
M libcxx/test/std/containers/sequences/array/indexing.pass.cpp
M libcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
M libcxx/test/std/containers/sequences/array/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
M libcxx/test/std/containers/sequences/array/max_size.pass.cpp
M libcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/types.pass.cpp
M libcxx/test/std/containers/sequences/deque/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/deque/compare.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/access.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/empty.verify.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move_assign.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/op_equal.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/copy.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/copy_backward.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/move.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/move_backward.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/deque/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
M libcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/types.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default_recursive.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
M libcxx/test/std/containers/sequences/insert_range_sequence_containers.h
M libcxx/test/std/containers/sequences/list/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.verify.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/deduct.verify.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/dtor.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/capacity.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/compare.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/const_reference.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/emplace.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/empty.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/empty.verify.cpp
M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/find.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/push_back.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference.swap.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/assign_bool.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/ctor_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/flip.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/operator_bool.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/swap.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
M libcxx/test/std/containers/sequences/vector/access.pass.cpp
M libcxx/test/std/containers/sequences/vector/addressof.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/vector/compare.pass.cpp
M libcxx/test/std/containers/sequences/vector/contiguous.pass.cpp
M libcxx/test/std/containers/sequences/vector/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/reverse_iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/capacity.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/empty.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/swap.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/default.recursive.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.data/data.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_lvalue.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.special/swap_noexcept.compile.pass.cpp
M libcxx/test/std/containers/set_allocator_requirement_test_templates.h
M libcxx/test/std/containers/test_compare.h
M libcxx/test/std/containers/test_hash.h
M libcxx/test/std/containers/unord/from_range_unordered_containers.h
M libcxx/test/std/containers/unord/iterator_difference_type.pass.cpp
M libcxx/test/std/containers/unord/unord.map/allocator_mismatch.verify.cpp
M libcxx/test/std/containers/unord/unord.map/bucket.pass.cpp
M libcxx/test/std/containers/unord/unord.map/bucket_count.pass.cpp
M libcxx/test/std/containers/unord/unord.map/bucket_size.pass.cpp
M libcxx/test/std/containers/unord/unord.map/compare.pass.cpp
M libcxx/test/std/containers/unord/unord.map/contains.pass.cpp
M libcxx/test/std/containers/unord/unord.map/contains.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/count.pass.cpp
M libcxx/test/std/containers/unord/unord.map/count.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/empty.pass.cpp
M libcxx/test/std/containers/unord/unord.map/empty.verify.cpp
M libcxx/test/std/containers/unord/unord.map/eq.pass.cpp
M libcxx/test/std/containers/unord/unord.map/equal_range.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/equal_range_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/equal_range_non_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp
M libcxx/test/std/containers/unord/unord.map/find.transparent.pass.cpp
M libcxx/test/std/containers/unord/unord.map/find_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/find_non_const.pass.cpp
M libcxx/test/std/containers/unord/unord.map/get_allocator.pass.cpp
M libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp
M libcxx/test/std/containers/unord/unord.map/iterator.operators.addressof.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp
Log Message:
-----------
fix order
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/0a348143d425...f8b734fee3cf
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