[all-commits] [llvm/llvm-project] e51435: [bazel][mlir][vector] Extra dep for 6e52a12811a17e...
Mingming Liu via All-commits
all-commits at lists.llvm.org
Fri Feb 7 17:45:29 PST 2025
Branch: refs/heads/users/mingmingl-llvm/spr/globalvariables
Home: https://github.com/llvm/llvm-project
Commit: e51435c2eb11262fbd22b6322be883c76a55cce1
https://github.com/llvm/llvm-project/commit/e51435c2eb11262fbd22b6322be883c76a55cce1
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][vector] Extra dep for 6e52a12811a17e5871f403f04fd4082d43160bf3 (#125945)
Missed this one in https://github.com/llvm/llvm-project/pull/125936
Commit: 8b448842c4766306b74f9dba2ee9ad3af12fea6c
https://github.com/llvm/llvm-project/commit/8b448842c4766306b74f9dba2ee9ad3af12fea6c
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
Log Message:
-----------
[clang][NFC] Precommit test file refactoring (#125944)
An upcoming change will need to use add additional tests to this file,
so this patch updates the RUN line to use a test prefix.
Commit: 5f7acf7259ec693cf03d6dcc75d9b0ef1a4b4e81
https://github.com/llvm/llvm-project/commit/5f7acf7259ec693cf03d6dcc75d9b0ef1a4b4e81
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-02-05 (Wed, 05 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
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-nowait.mlir
Log Message:
-----------
[flang][OMPIRbuilder] Set debug loc on terminator created by splitBB. (#125897)
Fixes #125088.
When splitBB is called with createBranch=true, it creates a branch
instruction in the old block. But no debug loc is set on that branch
instruction. If that is used as InsertPoint in the restoreIP, it has the
potential to set the current debug location to null and subsequent
instruction will come out without a debug location. This caused the
verification check to fail as shown in the bug report.
This PR changes splitBB and spliceBB function to also take a debugLoc
parameter which can be used to set the debug location of the branch
instruction.
Commit: fd4c4ed712c14ab80979bcdca121387d83a465ff
https://github.com/llvm/llvm-project/commit/fd4c4ed712c14ab80979bcdca121387d83a465ff
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
M libc/include/setjmp.yaml
M libc/src/setjmp/setjmp_impl.h
Log Message:
-----------
[libc] Add `returns_twice` attribute to `setjmp(3)` (#124370)
This is to ensure that calls to `setjmp(3)` result in correct code
generation that respects `setjmp(3)`'s `returns_twice` behavior.
Otherwise, we might run into bugs (for example, Clang may perform
tail-call optimization on this function if `-fno-builtins` is set
(#122840)).
---------
Co-authored-by: Nick Desaulniers <nick.desaulniers at gmail.com>
Commit: de7be32734dc789ba35602a58f37a14f764ebd58
https://github.com/llvm/llvm-project/commit/de7be32734dc789ba35602a58f37a14f764ebd58
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/BUILD.gn
A llvm/utils/gn/secondary/libc/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
gn build: libcxx: Add libc include path and re-enable.
Reviewers: aeubanks, nico
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/124679
Commit: 0d7ee520d3a9b8997adf8eaaa22b33db9659d94e
https://github.com/llvm/llvm-project/commit/0d7ee520d3a9b8997adf8eaaa22b33db9659d94e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
Log Message:
-----------
[RISCV] Use getSignedConstant for negative values. (#125903)
The APInt constructor asserts if bits are set past the size of the APInt
unless it is signed. This currently fails on RV32 because more than XLen
bits are set.
Commit: 1901f4ac8eb1ddd8df822841a48b818c496aa2ad
https://github.com/llvm/llvm-project/commit/1901f4ac8eb1ddd8df822841a48b818c496aa2ad
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/blocks-windows.c
Log Message:
-----------
CodeGen: support static linking for libclosure (#125384)
When building on Windows, dealing with the BlocksRuntime is slightly
more complicated. As we are not guaranteed a formward declaration for
the blocks runtime ABI symbols, we may generate the declarations for
them. In order to properly link against the well-known types, we always
annotated them as `__declspec(dllimport)`. This would require the
dynamic linking of the blocks runtime under all conditions. However,
this is the only the only possible way to us the library. We may be
building a fully sealed (static) executable. In such a case, the well
known symbols should not be marked as `dllimport` as they are assumed to
be statically available with the static linking to the BlocksRuntime.
Introduce a new driver/cc1 option `-static-libclosure` which mirrors the
myriad of similar options (`-static-libgcc`, `-static-libstdc++`,
-static-libsan`, etc).
Commit: 5a1e16f6de26c21cdfae1de05bd075d57029a3e1
https://github.com/llvm/llvm-project/commit/5a1e16f6de26c21cdfae1de05bd075d57029a3e1
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[IR][RISCV] Add llvm.vector.(de)interleave3/5/7 (#124825)
These three intrinsics are similar to llvm.vector.(de)interleave2 but
work with 3/5/7 vector operands or results.
For RISC-V, it's important to have them in order to support segmented
load/store with factor of 2 to 8: factor of 2/4/8 can be synthesized
from (de)interleave2; factor of 6 can be synthesized from factor of 2
and 3; factor 5 and 7 have their own intrinsics added by this patch.
This patch only adds codegen support for these intrinsics, we still need
to teach vectorizer to generate them as well as teaching
InterleavedAccessPass to use them.
---------
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: f637708318306d85a4070434badfd7ec5055ceee
https://github.com/llvm/llvm-project/commit/f637708318306d85a4070434badfd7ec5055ceee
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL][NFC] Rename functions that collect resource bindings (#125904)
There functions are analyzing and collecting resource bindings and the
name should reflect that. The rename will make it clearer when we start
adding more functions to process resources.
Commit: dd04dc6b29827f170d791edfcc265df9e7455848
https://github.com/llvm/llvm-project/commit/dd04dc6b29827f170d791edfcc265df9e7455848
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/select-const.ll
Log Message:
-----------
[RISCV] Add Zicond run lines to select-const.ll. NFC
Commit: 2b5cc89b3f77c3d4bd3fb92ec43074cba4e09adb
https://github.com/llvm/llvm-project/commit/2b5cc89b3f77c3d4bd3fb92ec43074cba4e09adb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
A clang/include/clang/CIR/Dialect/IR/CIRAttrVisitor.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/Lowering/global-var-simple.cpp
Log Message:
-----------
[CIR] Lowering to LLVM for global pointers (#125619)
Add support for lowering global variables of any pointer type to LLVM
IR.
Commit: 1c4ee0613508a6c0379f9f63a110b0633f78910d
https://github.com/llvm/llvm-project/commit/1c4ee0613508a6c0379f9f63a110b0633f78910d
Author: Artem Belevich <tra at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/fence-cluster.ll
M llvm/test/CodeGen/NVPTX/fence-nocluster.ll
Log Message:
-----------
[NVPTX] fix ptxas tests introduced by #124865 (#125927)
Commit: c552c6c914290f45bf015c4023c42e40a91e253e
https://github.com/llvm/llvm-project/commit/c552c6c914290f45bf015c4023c42e40a91e253e
Author: David Green <david.green at arm.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-addv.mir
Log Message:
-----------
[AArch64][GlobalISel] Protect against non-reg operands in matchExtAddvToUdotAddv.
In some situations the first operand to an instruction might not be a register
(for example with intrinsics). We are only interested in extend operations, so
make sure the instruction is one we expect before we attempt to access the
first reg.
Commit: cd9795c10b70d145ac51d7c22801be9b8c800466
https://github.com/llvm/llvm-project/commit/cd9795c10b70d145ac51d7c22801be9b8c800466
Author: Artem Belevich <tra at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
Log Message:
-----------
[NVPTX] Fixed few other failing ptxas tests (#125963)
Commit: aefa30e2301f155d4f4737d6f6c55c66eac58b2d
https://github.com/llvm/llvm-project/commit/aefa30e2301f155d4f4737d6f6c55c66eac58b2d
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
Log Message:
-----------
[ORC-RT] Add a comment explaining the purpose of this testcase. NFC.
Commit: 88f55d16c4c247a9eef326961a1445dee3f2e30c
https://github.com/llvm/llvm-project/commit/88f55d16c4c247a9eef326961a1445dee3f2e30c
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
Log Message:
-----------
[ORC] Fix buggy calculation of second-level-page offset in unwind-info.
SecondLevelPageOffset should be incremented by SecondLevelPageSize bytes, not
one byte.
Failure to calculate the offset correctly leads to corrupted unwind-info (and
consequently broken exceptions / unwinding) when more than one second level
page is needed. Since JITLink's unwind support only produces
UNWIND_SECOND_LEVEL_REGULAR-style pages this would trigger for any file
containing more than 511 functions with unwind info. The included test-case
contains 1022 functions (sufficient for both the current format and any
future implementation that supports UNWIND_SECOND_LEVEL_COMPRESSED pages).
Thanks to @edoardo on discord for spotting this bug!
Commit: df1bee03de1cdc1505a4e9dde3ed064eb7db785f
https://github.com/llvm/llvm-project/commit/df1bee03de1cdc1505a4e9dde3ed064eb7db785f
Author: Paul Carabas <paulcaraa at gmail.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M flang/test/Intrinsics/math-codegen.fir
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
Log Message:
-----------
[mlir] Add math to LLVM lowering support for missing trigonometric & hyperbolic ops (#125753)
The patch adds support for math -> LLVM dialect lowering for TanOp,
Sinh, Cosh, Tanh
Commit: e335ca7b8440a61445db7f80efde794f91a28d57
https://github.com/llvm/llvm-project/commit/e335ca7b8440a61445db7f80efde794f91a28d57
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Update tests after #124825
Commit: c09e51ae97795bac9284e345d02532cd2d0bc1e3
https://github.com/llvm/llvm-project/commit/c09e51ae97795bac9284e345d02532cd2d0bc1e3
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan][NFCI] Add arg_size() assertions (#125907)
This prevents the handlers from being called with blatantly inappropriate intrinsics.
Currently, if the handlers are called with an intrinsic that doesn't have enough arguments, it may abort; that is bad, but visible. The more insidious risk is that a handler is called with an intrinsic that has more arguments than expected; that will not visibly fail.
Commit: 6e14d75f548e52ff87160173608822115e0b82e5
https://github.com/llvm/llvm-project/commit/6e14d75f548e52ff87160173608822115e0b82e5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Fix some implicit conversions from Register to unsigned. NFC
Commit: e1c63bbde5e5c892c683c7243c9b6e465b0e13d5
https://github.com/llvm/llvm-project/commit/e1c63bbde5e5c892c683c7243c9b6e465b0e13d5
Author: c8ef <c8ef at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/sys/uio.yaml
M libc/src/sys/uio/CMakeLists.txt
M libc/src/sys/uio/linux/CMakeLists.txt
A libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
A libc/src/sys/uio/readv.h
M libc/test/src/sys/uio/CMakeLists.txt
A libc/test/src/sys/uio/readv_test.cpp
M libc/test/src/sys/uio/writev_test.cpp
Log Message:
-----------
[libc] implement `sys/uio/readv` (#124718)
Closes #124694.
This patch adds the `sys/uio/readv` function.
ref:
https://pubs.opengroup.org/onlinepubs/009696699/functions/readv.html
Commit: fc10ad1a668675d50c81616486ea1065af53badb
https://github.com/llvm/llvm-project/commit/fc10ad1a668675d50c81616486ea1065af53badb
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Make single source reverse legal in isShuffleMaskLegal (#125949)
This enables DAG combines to form this mask. Reverse is generally linear
in LMUL so this is reasonable, and results in better codegen for the 2
source variants.
For <= m1, the change is only slightly profitable if at all. We trade
some mask creation and an extract vrsub for a vslideup.vi. This is
likely roughly neutral. At >= m2, this is distinctly profitable as
generic DAG pushes the reverse into the two operands. We effectively
already did this for one operand, but the other was hitting a full
O(LMUL^2) shuffle. Moving that to be O(LMUL/2) operation is a big win.
Commit: 4fb96f203e8badc8065d6773bf8780c2e65cc142
https://github.com/llvm/llvm-project/commit/4fb96f203e8badc8065d6773bf8780c2e65cc142
Author: Bruno Cardoso Lopes <bcardosolopes at users.noreply.github.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Dialect/LLVMIR/alias.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
A mlir/test/Target/LLVMIR/Import/alias.ll
A mlir/test/Target/LLVMIR/alias.mlir
Log Message:
-----------
[MLIR][LLVM] Implement LLVM dialect support for global aliases (#125295)
This includes support for module translation, module import and add tests for both.
Fix https://github.com/llvm/llvm-project/issues/115390
ClangIR cannot currently lower global aliases to LLVM because of missing support for this.
Commit: f1540484ead766b18aeeb2be8b5fc9057ffa8a40
https://github.com/llvm/llvm-project/commit/f1540484ead766b18aeeb2be8b5fc9057ffa8a40
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
Log Message:
-----------
[clang] [dataflow] use unqualified type for smart pointer matching (#125958)
one would assume that `getCanonicalTypeUnqualified` returns an
unqualified type, but sadly one would be wrong. the current logic fails
for std::optional as implemented in libcxx, because Star and Arrow types
mismatch in their const qualification.
there are other places in clang that use
getCanonicalTypeUnqualified().getUnqualifiedType().
Commit: ed8a6d6155a901af5395d13fc530277c50d02a71
https://github.com/llvm/llvm-project/commit/ed8a6d6155a901af5395d13fc530277c50d02a71
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Add VLA shuffle coverage
Add coverage for a few cases which have come up in discussion of
recent VLA shuffle lowering changes.
Commit: 7a8779422dad058f11cd473d409f42e32859788d
https://github.com/llvm/llvm-project/commit/7a8779422dad058f11cd473d409f42e32859788d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Stop the RPC server faiilng with more than one GPU (#125982)
Summary:
Pretty dumb mistake of me, forgot that this is run per-device and
per-plugin, which fell through the cracks with my testing because I have
two GPUs that use different plugins.
Commit: e223485c9b38a5579991b8cebb6a200153eee245
https://github.com/llvm/llvm-project/commit/e223485c9b38a5579991b8cebb6a200153eee245
Author: Scott Constable <scott.d.constable at intel.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/SanitizerArgs.cpp
A clang/test/CodeGen/kcfi-arity.c
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/test/CodeGen/X86/kcfi-arity.ll
Log Message:
-----------
[X86] Extend kCFI with a 3-bit arity indicator (#121070)
Kernel Control Flow Integrity (kCFI) is a feature that hardens indirect
calls by comparing a 32-bit hash of the function pointer's type against
a hash of the target function's type. If the hashes do not match, the
kernel may panic (or log the hash check failure, depending on the
kernel's configuration). These hashes are computed at compile time by
applying the xxHash64 algorithm to each mangled canonical function (or
function pointer) type, then truncating the result to 32 bits. This hash
is written into each indirect-callable function header by encoding it as
the 32-bit immediate operand to a `MOVri` instruction, e.g.:
```
__cfi_foo:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movl $199571451, %eax # hash of foo's type = 0xBE537FB
foo:
...
```
This PR extends x86-based kCFI with a 3-bit arity indicator encoded in
the `MOVri` instruction's register (reg) field as follows:
| Arity Indicator | Description | Encoding in reg field |
| --------------- | --------------- | --------------- |
| 0 | 0 parameters | EAX |
| 1 | 1 parameter in RDI | ECX |
| 2 | 2 parameters in RDI and RSI | EDX |
| 3 | 3 parameters in RDI, RSI, and RDX | EBX |
| 4 | 4 parameters in RDI, RSI, RDX, and RCX | ESP |
| 5 | 5 parameters in RDI, RSI, RDX, RCX, and R8 | EBP |
| 6 | 6 parameters in RDI, RSI, RDX, RCX, R8, and R9 | ESI |
| 7 | At least one parameter may be passed on the stack | EDI |
For example, if `foo` takes 3 register arguments and no stack arguments
then the `MOVri` instruction in its kCFI header would instead be written
as:
```
movl $199571451, %ebx # hash of foo's type = 0xBE537FB
```
This PR will benefit other CFI approaches that build on kCFI, such as
FineIBT. For example, this proposed enhancement to FineIBT must be able
to infer (at kernel init time) which registers are live at an indirect
call target: https://lkml.org/lkml/2024/9/27/982. If the arity bits are
available in the kCFI function header, then this information is trivial
to infer.
Note that there is another existing PR proposal that includes the 3-bit
arity within the existing 32-bit immediate field, which introduces
different security properties:
https://github.com/llvm/llvm-project/pull/117121.
Commit: 6410bddc2720d703a20ccc046eaaf46f9b99b903
https://github.com/llvm/llvm-project/commit/6410bddc2720d703a20ccc046eaaf46f9b99b903
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/xor-icmps.ll
Log Message:
-----------
[InstCombine] Extend #125676 to handle variable power of 2 (#125855)
Alive2: https://alive2.llvm.org/ce/z/dJehZ8
Commit: 8c222c122f1a8edb1be96e482511ad547f7db7b3
https://github.com/llvm/llvm-project/commit/8c222c122f1a8edb1be96e482511ad547f7db7b3
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
Log Message:
-----------
[X86] Do not combine LRINT and TRUNC (#125848)
Per to discussions in #125324, most participants are opposed to this
optimization. So remove the combination to address the concerns.
Fixes #125324
Commit: 3d0061cd2a9e886152a817c4348414a987775153
https://github.com/llvm/llvm-project/commit/3d0061cd2a9e886152a817c4348414a987775153
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vadd.ll
Log Message:
-----------
[msan][NFCI] Add more Arm NEON vector add tests (#125820)
Handled heuristically but incorrectly:
- llvm.aarch64.neon.{addp, faddp}
Unknown instructions handled by visitInstruction:
- llvm.aarch64.neon.{addhn, raddhn}
- llvm.aarch64.neon.{saddlp, uaddlp}
Forked from llvm/test/CodeGen/AArch64/arm64-vadd.ll
Commit: 1db60556c89a2b61e2624718579bb3b96c9fedda
https://github.com/llvm/llvm-project/commit/1db60556c89a2b61e2624718579bb3b96c9fedda
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86AsmPrinter.cpp
Log Message:
-----------
[X86] Silence an unused-variable warning (NFC)
/llvm-project/llvm/lib/Target/X86/X86AsmPrinter.cpp:188:17:
error: unused variable 'Triple' [-Werror,-Wunused-variable]
const auto &Triple = MF.getTarget().getTargetTriple();
^
1 error generated.
Commit: accfbd4cb327411ad66c0109ba1841482b871967
https://github.com/llvm/llvm-project/commit/accfbd4cb327411ad66c0109ba1841482b871967
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M libcxx/include/__type_traits/is_trivially_relocatable.h
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
A libcxx/test/std/containers/sequences/vector/trivial_relocation.pass.cpp
Log Message:
-----------
[libc++] Replace __is_trivially_relocatable by is_trivially_copyable (#124970)
The __is_trivially_relocatable builtin has semantics that do not
correspond to any current or future notion of trivial relocation.
Furthermore, it currently leads to incorrect optimizations for some
types on supported compilers:
- Clang on Windows where types with non-trivial destructors get
incorrectly optimized
- AppleClang where types with non-trivial move constructors get
incorrectly optimized
Until there is an agreed upon and bugfree implementation of what it
means to be trivially relocatable, it is safer to simply use trivially
copyable instead. This doesn't leave a lot of types behind and is
definitely correct.
Commit: 4a2a8ed70da7ec44f0aa9092595e5b0f81a7e841
https://github.com/llvm/llvm-project/commit/4a2a8ed70da7ec44f0aa9092595e5b0f81a7e841
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Log Message:
-----------
[JITLink] Add a jitlink::Symbol::getSection() convenience method.
`Sym.getSection()` is equivalent to `Sym.getBlock().getSection()`.
Commit: efa287dd8a0920b20c3fe69253d8438ec8944383
https://github.com/llvm/llvm-project/commit/efa287dd8a0920b20c3fe69253d8438ec8944383
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp
Log Message:
-----------
[libc++] Slightly simplify max_size and add new tests for vector (#119990)
This PR slightly simplifies the implementation of `vector<bool>::max_size`
and adds extensive tests for the `max_size()` function for both `vector<bool>`
and `vector<T>`. The main purposes of the new tests include:
- Verify correctness of `max_size()` under various `size_type` and
`difference_type` definitions: check that `max_size()` works properly
with allocators that have custom `size_type` and `difference_type`. This
is particularly useful for `vector<bool>`, as different `size_type` lead
to different `__storage_type` of different word lengths, resulting in
varying `max_size()` values for `vector<bool>`. Additionally, different
`difference_type` also sets different upper limit of `max_size()` for
both `vector<bool>` and `std::vector`. These tests were previously
missing.
- Eliminate incorrect implementations: Special tests are added to identify and
reject incorrect implementations of `vector<bool>::max_size` that unconditionally
return `std::min<size_type>(size-max, __internal_cap_to_external(allocator-max-size))`.
This can cause overflow in the `__internal_cap_to_external()` call and lead
to incorrect results. The new tests ensure that such incorrect
implementations are identified.
Commit: de5f6432efa2cf4dde6b85cbdea1db50c79758c2
https://github.com/llvm/llvm-project/commit/de5f6432efa2cf4dde6b85cbdea1db50c79758c2
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/unrecognized-sm1x.ll
Log Message:
-----------
[NVPTX] Remove `sm_1x` / non-ABI compilation support (#125977)
@Artem-B, I believe you said we don't intend to support `sm_1x`.
Assuming that's correct, this PR will remove all remaining support I
could find for `sm_1x`.
Commit: c9446ff8a3d9535854404aef771da362856a5f02
https://github.com/llvm/llvm-project/commit/c9446ff8a3d9535854404aef771da362856a5f02
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-fminv.ll
Log Message:
-----------
[msan] Handle Arm NEON floating-point min/max (vector) (#125778)
Apply handleVectorReduceIntrinsic() to Intrinsic::aarch64_neon_f{min,max}(mn)?v. Previously, these intrinsics were handled correctly (by maybeHandleSimpleNomemIntrinsic) if each parameter's type was the same as the return type; otherwise, they were handled suboptimally by visitInstruction().
Updates the tests from https://github.com/llvm/llvm-project/pull/125729.
Commit: 9d88ffe7f7b4a46d3bcb7bbdf0d7eb037ab5ba04
https://github.com/llvm/llvm-project/commit/9d88ffe7f7b4a46d3bcb7bbdf0d7eb037ab5ba04
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
R llvm/test/ExecutionEngine/Orc/minimal-throw-catch.ll
A llvm/test/ExecutionEngine/Orc/throw-catch-minimal.ll
Log Message:
-----------
[JITLink] Handle compact-unwind records that depend on DWARF FDEs.
Compact-unwind encodings are more limited than DWARF frame descriptions. For
functions whose frame layout cannot be described by a compact unwind encoding,
the encoding for the function will specify "use DWARF", and the corresponding
unwind-info record will use the low bits of the encoding to point to the FDE
for the function.
We test this with a frame-pointer=none function, since these frame layouts
always triger a fall-back to DWARF on arm64.
Commit: 52fc6ffcda0895c0c7b976ad1f5cb5a282b571d2
https://github.com/llvm/llvm-project/commit/52fc6ffcda0895c0c7b976ad1f5cb5a282b571d2
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/executable-undefined-ignoreall.s
M lld/test/ELF/ppc32-weak-undef-call.s
M lld/test/ELF/ppc64-undefined-weak.s
M lld/test/ELF/riscv-gp.s
M lld/test/ELF/weak-undef-lib.s
M lld/test/ELF/weak-undef-no-dynamic-linker.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Refine isExported/isPreemptible condition
Reland 994cea3f0a2d0caf4d66321ad5a06ab330144d89 after bolt tests no
longer rely on -pie --unresolved-symbols=ignore-all with no input DSO
generating PLT entries.
---
Commit f10441ad003236ef3b9e5415a571d2be0c0ce5ce , while dropping a
special case for isUndefWeak and --no-dynamic-linking, made
--export-dynamic ineffective when -pie is used without any input DSO.
This change restores --export-dynamic and unifies -pie and -pie
--no-dynamic-linker when there is no input DSO.
* -pie with no input DSO suppresses undefined symbols in .dynsym.
Previously this only appied to -pie --no-dynamic-linker.
* As a side effect, -pie with no input DSO suppresses PLT.
Commit: 7a213e70eb24e621042f2fda043622048cb1f1df
https://github.com/llvm/llvm-project/commit/7a213e70eb24e621042f2fda043622048cb1f1df
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
A llvm/test/ExecutionEngine/Orc/throw-catch-no-frame-pointer.ll
Log Message:
-----------
[JITLink] Add missing testcase for compact-unwind-needs-dwarf.
This testcase was accidentally left out of 9d88ffe7f7b.
Commit: 7e0bef35c23321c57b556ee24c66e3c18194d4f3
https://github.com/llvm/llvm-project/commit/7e0bef35c23321c57b556ee24c66e3c18194d4f3
Author: Alex Sepkowski <5620315+alsepkow at users.noreply.github.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL][NFC] Fix typo in comment in SemaHLSL.cpp (#125992)
Fix a comment typo.
Commit: e00f824e9a5ea73830bd346115968fa9ace84cbf
https://github.com/llvm/llvm-project/commit/e00f824e9a5ea73830bd346115968fa9ace84cbf
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
Log Message:
-----------
[ORC-RT] Use templates to express deeply nested function calls in testcase.
Makes this test smaller and more readable.
Commit: 137c3781e69061fcb9ae97bff00ed0abbab4f9a3
https://github.com/llvm/llvm-project/commit/137c3781e69061fcb9ae97bff00ed0abbab4f9a3
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-02-05 (Wed, 05 Feb 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/data-in-code.s
Log Message:
-----------
[BOLT][AArch64] Include constant islands in disassembly (#125961)
When printing disassembly of a function with constant islands, include
the island info in the dump.
At the moment, only print islands in pre-CFG state. Include islands that
are interleaved with instructions.
Commit: 6d81a148737712bd525fe7acb6e2f9434fda380c
https://github.com/llvm/llvm-project/commit/6d81a148737712bd525fe7acb6e2f9434fda380c
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-06 (Thu, 06 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 extract (#125980)
Co-authored-by: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Commit: 6567122a057ab2992b9a68b674e14f073a3c9e59
https://github.com/llvm/llvm-project/commit/6567122a057ab2992b9a68b674e14f073a3c9e59
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/openbsd.c
Log Message:
-----------
[PAC][Driver] Enable BTI and PAC by default on OpenBSD/aarch64 (#125392)
Commit: 15fbe08f7c01763332f40f2018fcd70ecbf80e91
https://github.com/llvm/llvm-project/commit/15fbe08f7c01763332f40f2018fcd70ecbf80e91
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFGPrinter.h
M llvm/lib/Analysis/CFGPrinter.cpp
Log Message:
-----------
CFGPrinter: fix accidentally quadratic behavior (#125396)
Initialize a ModuleStateTracker at most once per BasicBlock instead of
once per Instruction. When the CFG info is provided, it is initialized
once per function.
Commit: c4f54632105b4dfb7d176c0292064eff3b918d42
https://github.com/llvm/llvm-project/commit/c4f54632105b4dfb7d176c0292064eff3b918d42
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/openbsd.c
Log Message:
-----------
[Driver] Enable IBT by default on OpenBSD/amd64 (#125395)
Commit: 6e402f5121e87e82fa686046c867ef67d4b4b851
https://github.com/llvm/llvm-project/commit/6e402f5121e87e82fa686046c867ef67d4b4b851
Author: Дмитрий Изволов <dmitriy at izvolov.ru>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/include/__algorithm/radix_sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
Log Message:
-----------
[libc++] Support `constexpr` for `std::stable_sort` in radix sort branch (#125284)
`std::stable_sort` is `constexpr` since PR
https://github.com/llvm/llvm-project/pull/110320
But `radix_sort` branch is still non-`constexpr`.
This PR fixes it.
#119394
#105360
Commit: feb5a77d700f46d6638f073d411cbe0d8a924fdf
https://github.com/llvm/llvm-project/commit/feb5a77d700f46d6638f073d411cbe0d8a924fdf
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Symbol/SymbolContext.cpp
Log Message:
-----------
[lldb] Add SymbolContext::GetFunctionOrSymbolAddress (#123340)
Many uses of SC::GetAddressRange were not interested in the range, but
in the address of the function/symbol contained inside the symbol
context. They were getting that by calling the GetBaseAddress on the
returned range, which worked well enough so far, but isn't compatible
with discontinuous functions, whose address (entry point) may not be the
lowest address in the range.
To resolve this problem, this PR creates a new function whose purpose is
return the address of the function or symbol inside the symbol context.
It also changes all of the callers of GetAddressRange which do not
actually care about the range to call this function instead.
Commit: 0cfb98f871b6bc82691b5aa85b20703de1621875
https://github.com/llvm/llvm-project/commit/0cfb98f871b6bc82691b5aa85b20703de1621875
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lldb/source/API/SBFunction.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/SourceManager.cpp
Log Message:
-----------
[lldb] s/GetAddressRange().GetBaseAddress()/GetAddress() (#125847)
Three more cases where it's obvious that the code is looking for the
address of the function entry point.
Commit: 3115278c4e079c7ba85dc4233100de68ca5f711b
https://github.com/llvm/llvm-project/commit/3115278c4e079c7ba85dc4233100de68ca5f711b
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Fixup for commit 137c378/#125961
Commit: f82902fef4a004a7f26d49448e66b2dbeed4d692
https://github.com/llvm/llvm-project/commit/f82902fef4a004a7f26d49448e66b2dbeed4d692
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/fp-roundeven.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr31088.ll
M llvm/test/CodeGen/X86/select-narrow-int-to-fp.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] Fold (f16 bitcast extract_vectorelt(v,0)) to (extract_vectorelt (v8f16 bitcast(v,0))) (#125877)
Also handles possible truncations from i32 to i16.
Cleans up some of the poor codegen identified in #98630
Commit: 4562efc674a5b5e052abdfc40047e82a359d0df0
https://github.com/llvm/llvm-project/commit/4562efc674a5b5e052abdfc40047e82a359d0df0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/include/string
M libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp
Log Message:
-----------
Reapply "[libc++] Simplify the implementation of reserve() and shrink_to_fit() (#113453)" (#125888)
The capacity is now passed correctly and a test for this path is added.
Since we changed the implementation of `reserve(size_type)` to only ever
extend,
it doesn't make a ton of sense anymore to have `__shrink_or_extend`,
since the code
paths of `reserve` and `shrink_to_fit` are now almost completely
separate.
This patch splits up `__shrink_or_extend` so that the individual parts
are in `reserve`
and `shrink_to_fit` depending on where they are needed.
This reverts commit 59f57be94f38758616b1339b293b43af845571af.
Commit: c7dc836bbe3658a9210a944b850450f5ae7b50a4
https://github.com/llvm/llvm-project/commit/c7dc836bbe3658a9210a944b850450f5ae7b50a4
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
Log Message:
-----------
[Clang] fix diagnostic to correctly handle singular and plural cases for redundant qualifiers on base class type (#125943)
Fixes #125942
Commit: 5eed019080a53af5a5be915a5cf411466b77bf4b
https://github.com/llvm/llvm-project/commit/5eed019080a53af5a5be915a5cf411466b77bf4b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Use std::copy instead of a manual copy loop. NFC
Commit: eb8901bda11fd55deeecd067fc4c9dcc0fb89984
https://github.com/llvm/llvm-project/commit/eb8901bda11fd55deeecd067fc4c9dcc0fb89984
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/Dwarf.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
A llvm/test/DebugInfo/AArch64/DW_AT_APPLE_enum_kind.ll
A llvm/test/tools/llvm-dwarfdump/AArch64/DW_AT_APPLE_enum_kind.s
M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
Log Message:
-----------
[llvm][DebugInfo] Add new DW_AT_APPLE_enum_kind to encode enum_extensibility (#124752)
When creating `EnumDecl`s from DWARF for Objective-C `NS_ENUM`s, the
Swift compiler tries to figure out if it should perform "swiftification"
of that enum (which involves renaming the enumerator cases, etc.). The
heuristics by which it determines whether we want to swiftify an enum is
by checking the `enum_extensibility` attribute (because that's what
`NS_ENUM` pretty much are). Currently LLDB fails to attach the
`EnumExtensibilityAttr` to `EnumDecl`s it creates (because there's not
enough info in DWARF to derive it), which means we have to fall back to
re-building Swift modules on-the-fly, slowing down expression evaluation
substantially. This happens around
https://github.com/swiftlang/swift/blob/4b3931c8ce437b3f13f245e6423f95c94a5876ac/lib/ClangImporter/ImportEnumInfo.cpp#L37-L59
To speed up Swift exression evaluation, this patch proposes encoding the
C/C++/Objective-C `enum_extensibility` attribute in DWARF via a new
`DW_AT_APPLE_ENUM_KIND`. This would currently be only used from the LLDB
Swift plugin. But may be of interest to other language plugins as well
(though I haven't come up with a concrete use-case for it outside of
Swift).
I'm open to naming suggestions of the various new attributes/attribute
constants proposed here. I tried to be as generic as possible if we
wanted to extend it to other kinds of enum properties (e.g., flag
enums).
The new attribute would look as follows:
```
DW_TAG_enumeration_type
DW_AT_type (0x0000003a "unsigned int")
DW_AT_APPLE_enum_kind (DW_APPLE_ENUM_KIND_Closed)
DW_AT_name ("ClosedEnum")
DW_AT_byte_size (0x04)
DW_AT_decl_file ("enum.c")
DW_AT_decl_line (23)
DW_TAG_enumeration_type
DW_AT_type (0x0000003a "unsigned int")
DW_AT_APPLE_enum_kind (DW_APPLE_ENUM_KIND_Open)
DW_AT_name ("OpenEnum")
DW_AT_byte_size (0x04)
DW_AT_decl_file ("enum.c")
DW_AT_decl_line (27)
```
Absence of the attribute means the extensibility of the enum is unknown
and abides by whatever the language rules of that CU dictate.
This does feel like a big hammer for quite a specific use-case, so I'm
happy to discuss alternatives.
Alternatives considered:
* Re-using an existing DWARF attribute to express extensibility. E.g., a
`DW_TAG_enumeration_type` could have a `DW_AT_count` or
`DW_AT_upper_bound` indicating the number of enumerators, which could
imply closed-ness. I felt like a dedicated attribute (which could be
generalized further) seemed more applicable. But I'm open to re-using
existing attributes.
* Encoding the entire attribute string (i.e., `DW_TAG_LLVM_annotation
("enum_extensibility((open))")`) on the `DW_TAG_enumeration_type`. Then
in LLDB somehow parse that out into a `EnumExtensibilityAttr`. I haven't
found a great API in Clang to parse arbitrary strings into AST nodes
(the ones I've found required fully formed C++ constructs). Though if
someone knows of a good way to do this, happy to consider that too.
Commit: a6abd0a13d2748977dd1409a34948cd392a1cb21
https://github.com/llvm/llvm-project/commit/a6abd0a13d2748977dd1409a34948cd392a1cb21
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/docs/ConvergenceAndUniformity.rst
Log Message:
-----------
[Docs] Remove outdated reference to "future work" in convergence.
Commit: df22bbe2beb57687c76402bc0cfdf7901a31cf29
https://github.com/llvm/llvm-project/commit/df22bbe2beb57687c76402bc0cfdf7901a31cf29
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
A clang/test/Driver/warning-suppression-mappings-not-parsed.cpp
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Stop parsing warning suppression mappings in driver (#125722)
This gets rid of some extra IO from driver startup, and possiblity of
emitting warnings twice.
Commit: d4144ca27da174da3f8e7e3472e788b4246fd04e
https://github.com/llvm/llvm-project/commit/d4144ca27da174da3f8e7e3472e788b4246fd04e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_remainder.cl
Log Message:
-----------
[libclc][NFC] Clang-format two files
Pre-commit changes to avoid noise in an upcoming PR.
Commit: 7ef33e609c45515de9db1b5222fe6e05edd76c94
https://github.com/llvm/llvm-project/commit/7ef33e609c45515de9db1b5222fe6e05edd76c94
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/integer_to_string.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
Log Message:
-----------
[libc] Fix recently introduced integer-type warnings (#125864)
These warnings all come up in code modified by one of my two recent
commits c06d0ff806b72b1 and b53da77c505a2d3, and all relate to implicit
integer type conversion. In a build of ours with strict compile options
two of them became errors. Even without that problem, it's worth fixing
them to reduce noise that might hide a more serious warning.
Commit: d2b45ce100d641a8f1690e30843bb9c5ea71ab86
https://github.com/llvm/llvm-project/commit/d2b45ce100d641a8f1690e30843bb9c5ea71ab86
Author: leijurv <leijurv at gmail.com>
Date: 2025-02-06 (Thu, 06 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/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add BreakBeforeTemplateCloser option (#118046)
In clang-format, multiline templates have the `>` on the same line as
the last parameter:
```c++
template <
typename Foo,
typename Bar>
void foo() {
```
I would like to add an option to put the `>` on the next line, like
this:
```c++
template <
typename Foo,
typename Bar
>
void foo() {
```
An example of a large project that uses this style is NVIDIA's CUTLASS,
here is an example:
https://github.com/NVIDIA/cutlass/blob/main/include/cutlass/epilogue/dispatch_policy.hpp#L149-L156
My reasoning is that it reminds me of this style of braces:
```c++
if (foo()) {
bar();
baz();}
```
Most people agree this is better:
```c++
if (foo()) {
bar();
baz();
}
```
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 80fd902573f860001af08d75f15d8f92005bae90
https://github.com/llvm/llvm-project/commit/80fd902573f860001af08d75f15d8f92005bae90
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
A mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor] Introduce `TensorRelayoutOpInterface` (#125823)
The newly introduced `TensorRelayoutOpInterface` is created specifically
for `tensor.pack` + `tensor.unpack`. Although the interface is
currently empty, it enables us to refactor the logic in
`FoldTensorCastProducerOp` within the Tensor dialect as follows:
```cpp
// OLD
// Reject tensor::PackOp - there's dedicated pattern for that instead.
if (!foldTensorCastPrecondition(op) ||
isa<tensor::PackOp, tensor::UnPackOp>(*op))
return failure();
```
is replaced with:
```cpp
// NEW
// Reject tensor::PackOp - there's dedicated pattern for that instead.
if (!foldTensorCastPrecondition(op) ||
isa<tensor::RelayoutOpInterface>(*op))
return failure();
```
This will be crucial once `tensor.pack` + `tensor.pack` are replaced
with `linalg.pack` + `linalg.unpack` (i.e. moved to Linalg):
* https://github.com/llvm/llvm-project/pull/123902,
* https://discourse.llvm.org/t/rfc-move-tensor-pack-and-tensor-unpack-into-linalg/.
Note that the interface itself will later be moved to the Linalg
dialect. This decoupling ensures that the Tensor dialect does not
require an understanding of Linalg ops, thus keeping the dependency
lightweight.
This PR is effectively a preparatory step for moving PackOp and UnpackOp
to Linalg. Once that's completed, most CMake changes from this PR will
be effectively reverted.
Commit: ecb016a87d89aed36b8f5d8102e15d8eb0e57108
https://github.com/llvm/llvm-project/commit/ecb016a87d89aed36b8f5d8102e15d8eb0e57108
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Basic/Warnings.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
Log Message:
-----------
[clang] Parse warning-suppression-mapping after setting up diagengine (#125714)
We can emit diagnostics while parsing warning-suppression-mapping, make
sure command line flags take affect when emitting those.
Commit: 78f690bba7846d3e9795bc27a5e27627a4a1ea28
https://github.com/llvm/llvm-project/commit/78f690bba7846d3e9795bc27a5e27627a4a1ea28
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir][Vector] Update VectorEmulateNarrowType.cpp (2/N) (#123527)
This is PR 2 in a series of N patches aimed at improving
"VectorEmulateNarrowType.cpp". This is mainly minor refactoring, no
major functional changes are made/added.
**CHANGE 1**
Renames the variable "scale". Note, "scale" could mean either:
* "container-elements-per-emulated-type", or
* "emulated-elements-per-container-type".
While from the context it is clear that it's always the former (original
type is always a sub-byte type and the emulated type is usually `i8`),
this PR reduces the cognitive load by making this clear.
**CHANGE 2**
Replaces `isUnalignedEmulation` with `isFullyAligned`
Note, `isUnalignedEmulation` is always computed following a
"per-element-alignment" condition:
```cpp
// Check per-element alignment.
if (containerBits % emulatedBits != 0) {
return rewriter.notifyMatchFailure(
op, "impossible to pack emulated elements into container elements "
"(bit-wise misalignment)");
}
// (...)
bool isUnalignedEmulation = origElements % emulatedPerContainerElem != 0;
```
Given that `isUnalignedEmulation` captures only one of two conditions
required for "full alignment", it should be re-named as
`isPartiallyUnalignedEmulation`. Instead, I've flipped the condition and
renamed it as `isFullyAligned`:
```cpp
bool isFullyAligned = origElements % emulatedPerContainerElem == 0;
```
**CHANGE 3**
* Unifies various comments throughout the file (for consistency).
* Adds new comments throughout the file and adds TODOs where high-level
comments are missing.
**GitHub issue to track this work**:
https://github.com/llvm/llvm-project/issues/123630
Commit: d1de75acea0da55316cd7827563e064105868f0f
https://github.com/llvm/llvm-project/commit/d1de75acea0da55316cd7827563e064105868f0f
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[flang][Driver] When linking with the Fortran runtime also link with libexecinfo (#125998)
Also link with libexecinfo on FreeBSD, NetBSD, OpenBSD and DragonFly
for the backtrace functions.
Commit: 8c2b4aa5a0f495592f906b1b9d1a859d3c1062da
https://github.com/llvm/llvm-project/commit/8c2b4aa5a0f495592f906b1b9d1a859d3c1062da
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
Log Message:
-----------
[mlir][LLVM][NFC] Fix description of `LLVMFixedVectorType` (#126031)
Commit: 112490ce04edeb0b34ab2079b649e907c62fd47e
https://github.com/llvm/llvm-project/commit/112490ce04edeb0b34ab2079b649e907c62fd47e
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
Log Message:
-----------
[analyzer] Use getFileName and do not use realpath names (#126039)
The real paths resolves symlinks and makes the tests fail when the
filesystem is a symlink tree over a content-addressable storage (our
internal environment).
Commit: 4daf30709982fac07c7519032a9586323e276f4b
https://github.com/llvm/llvm-project/commit/4daf30709982fac07c7519032a9586323e276f4b
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
Log Message:
-----------
[flang][Lower][OpenMP][NFC] tidy up PrivateReductionUtils (#125867)
First part of a series of patches to improve private/reduction init and
cleanup region generation.
This commit is NFC. I factored out processing for each datatype into its
own method so that it is easier to keep track of what is being handled
where (I found the old gigantic init region generation function
difficult to navigate). The methods all share context in a helper class
to avoid having to pass a very large number of arguments.
I also removed the conflation between the mold argument and the mold
argument after loading. This should make it easier to avoid generating
dead uses of the mold argument in a later non-nfc patch.
Commit: 8c1dbac304d2f3d9e9685c1f4fd8b3e133360893
https://github.com/llvm/llvm-project/commit/8c1dbac304d2f3d9e9685c1f4fd8b3e133360893
Author: hanbeom <kese111 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
A llvm/test/Transforms/VectorCombine/X86/extract-insert.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
Log Message:
-----------
[VectorCombine] Allow shuffling between vectors the same type but different element sizes (#121216)
`foldInsExtVectorToShuffle` function combines the extract/insert of a vector into a vector through a shuffle. However, we only supported coupling between vectors of the same size.
This commit allows combining extract/insert for vectors of the same type but with different sizes by converting the length of the vectors.
Proof: https://alive2.llvm.org/ce/z/ELNLr7
Fixed https://github.com/llvm/llvm-project/issues/120772
Commit: ceaec56fbc94d41a49f56d8e966528e00a46641e
https://github.com/llvm/llvm-project/commit/ceaec56fbc94d41a49f56d8e966528e00a46641e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port for eb8901bda11fd55deeecd067fc4c9dcc0fb89984
Commit: 39be2d0266f1aa229a79c47d81b004c8c2079362
https://github.com/llvm/llvm-project/commit/39be2d0266f1aa229a79c47d81b004c8c2079362
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/reduction-derived-component.f90
Log Message:
-----------
[flang][OpenMP][Semantics] Don't allow reduction of derived type components (#125480)
Before this patch, reduction of derived type components crashed the
compiler when trying to create the omp.declare_reduction.
In OpenMP 3.1 the standard says "a list item that appears in a reduction
clause must be a named variable of intrinsic type" (page 106). As I
understand it, a derived type component is not a variable.
OpenMP 4.0 added declare reduction, partly so that users could define
their own reductions on derived types. The above wording was removed
from the standard but derived type components were never explicitly
allowed.
OpenMP 5.0 added "A variable that is part of another variable, with the
exception of array elements, cannot appear in17 a reduction clause".
All standard versions also require the reduction argument to be
"definable", which roughly means that it is a variable. A
derived type component is more like an expression.
Fixes #125445
Commit: 84c3b05e5e2776af51a2791bccfaa954bc8e2bcd
https://github.com/llvm/llvm-project/commit/84c3b05e5e2776af51a2791bccfaa954bc8e2bcd
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-private.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-private-cond_br.mlir
Log Message:
-----------
[OpenMP][flang][MLIR] Decouple alloc, init, and copy regions for `omp.private|declare_reduction` ops (#125699)
This PR changes the emitted block structure of alloc, init, and copy
regions for `omp.private` and `omp.declare_reduction` ops a little bit.
In particular, this decouples init and copy regions from the alloca
insertion-point. The main motivation is fix "Instruction does not
dominate all uses!" errors that happen specially when an init region
uses a value from the OpenMP region it is being inlined into. The issue
happens because, previous to this PR, we inline the init region right
after the latest alloc block (since we used the alloca IP); which in
some cases (see exmaple below), is too early and causes the use
dominance issue.
Example that would break without this PR (when delayed privatization is
enabled for `omp.wsloop`s):
```fortran
subroutine test2 (xyz)
integer :: i
integer :: xyz(:)
!$omp target map(from:xyz)
!$omp do private(xyz)
do i = 1, 10
xyz(i) = i
end do
!$omp end target
end subroutine
```
Commit: 7ebacf3a999fc9766c3f0ec4979e3ed08344c348
https://github.com/llvm/llvm-project/commit/7ebacf3a999fc9766c3f0ec4979e3ed08344c348
Author: Alexander Belyaev <pifon at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][tensor] Fix bazel build after 80fd902573f860001af08d75f15d8f92005bae90.
Commit: d0f472c246911e35656bf24fd282f80d7482211a
https://github.com/llvm/llvm-project/commit/d0f472c246911e35656bf24fd282f80d7482211a
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
R llvm/test/Transforms/IndVarSimplify/iv-zext-samesign-datalayout.ll
Log Message:
-----------
SimplifyIndVar: teach widenLoopCompare about samesign (#125851)
Proof: https://alive2.llvm.org/ce/z/NVXaeo
Commit: 2464f4ba6e0e50bb30c31b6526fa0bdd5a531217
https://github.com/llvm/llvm-project/commit/2464f4ba6e0e50bb30c31b6526fa0bdd5a531217
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/unittests/Support/ErrorTest.cpp
Log Message:
-----------
[LLVM][Support] Add new CreateFileError functions (#125906)
Add new CreateFileError functions to create a StringError with the
specified error code and prepend the file path to it
Needed for: #125345
Commit: 03478d6f2d0032615b4633927c6e8f5c9c5e4909
https://github.com/llvm/llvm-project/commit/03478d6f2d0032615b4633927c6e8f5c9c5e4909
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
Log Message:
-----------
[GlobalISel] Prefix MatchTable Lines with their Index (#125845)
I tried to keep it readable by making the width of the column with the
index always enough to contain the largest number.
That way things don't shift to the right every time a new digit appears,
it remains consistent.
Tests don't break because this only affects the beginning of the line
and FileCheck doesn't care about what comes before for the most part.
Example of the new output:
```
/* 758359 */ // Label 9988: @758359
/* 758359 */ GIM_Try, /*On fail goto*//*Label 9989*/ GIMT_Encode4(758435), // Rule ID 6715 //
/* 758364 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
/* 758368 */ // MIs[0] offset
```
Fixes #119177
Commit: ee3bccab34f57387bdf33853cdd5f214fef349a2
https://github.com/llvm/llvm-project/commit/ee3bccab34f57387bdf33853cdd5f214fef349a2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/include/string
R libcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink.pass.cpp
Log Message:
-----------
[libc++] Remove basic_string::__clear_and_shrink (#126050)
`__clear_and_shrink` is only used in a single place and does more work
than actually required.
Commit: 7c695e4906300a11208d7979c470d63b0d037bb2
https://github.com/llvm/llvm-project/commit/7c695e4906300a11208d7979c470d63b0d037bb2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/unittests/Frontend/CMakeLists.txt
Log Message:
-----------
[flang] Use clang_target_link_libraries() for clang dependency (#126037)
This dependency is part of libclang-cpp, so it should use
clang_target_link_libraries.
Commit: c9d0a464c9f3a0a66f35d0ca28f36a96efc6961b
https://github.com/llvm/llvm-project/commit/c9d0a464c9f3a0a66f35d0ca28f36a96efc6961b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/mlir-runner/test-expand-math-approx.mlir
Log Message:
-----------
Revert "[mlir][math]Update `convertPowfOp` `ExpandPatterns.cpp`" (#126063)
Reverts llvm/llvm-project#124402
It breaks an integration test in downstream project (i.e., IREE), which
produces NANs. Talked to the author @ita9naiwa, and we agree to reland
the PR after we find the issue.
Commit: b74176a3a26ae26b8671bcf3cc261353c23c88d0
https://github.com/llvm/llvm-project/commit/b74176a3a26ae26b8671bcf3cc261353c23c88d0
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
Log Message:
-----------
[AArch64][SelectionDAG] Generate clastb for extract.last.active (#112738)
This patch improves SVE codegen for the vector extract last active
intrinsic, using either the lastb instruction (if the passthru value was
poison or undef), or the clastb instruction.
Commit: 9598f74133a358588ab7e38ec6b5e39a4143bdd0
https://github.com/llvm/llvm-project/commit/9598f74133a358588ab7e38ec6b5e39a4143bdd0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Remove __is_referenceable builtin (#123078)
`__is_referenceable` is almost unused in the wild, and the few cases I
was able to find had checks around them. Since the places in the
standard library where `__is_referenceable` is used have bespoke
builtins, it doesn't make a ton of sense to keep this builtin around.
`__is_referenceable` has been documented as deprecated in Clang 20.
Commit: e833e5276cab9a678b830dd46e87bfba3c700ca9
https://github.com/llvm/llvm-project/commit/e833e5276cab9a678b830dd46e87bfba3c700ca9
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
Log Message:
-----------
[AArch64][Clang] Update untyped sme intrinsics with fp8 variants (#124543)
This patch adds fp8 variants to the following untyped SME intrinsics
based on
[ACLE](https://github.com/ARM-software/acle/blob/main/main/acle.md):
```
SVREVD
SVSEL_X2
SVSEL_X4
SVZIP_X2
SVZIPQ_X2
SVZIP_X4
SVZIPQ_X4
SVUZP_X2
SVUZPQ_X2
SVUZP_X4
SVUZPQ_X4
SVREAD_ZA8_H
SVREAD_ZA8_V
SVREAD_ZA128
SVWRITE_ZA8_H
SVWRITE_ZA8_V
SVWRITE_ZA128
SVREAD_ZA8_VG2_H
SVREAD_ZA8_VG2_V
SVREAD_ZA8_VG4_H
SVREAD_ZA8_VG4_V
SVREAD_ZA8_VG1x2
SVREAD_ZA8_VG1x4
SVWRITE_ZA8_VG2_H
SVWRITE_ZA8_VG2_V
SVWRITE_ZA8_VG4_H
SVWRITE_ZA8_VG4_V
SVWRITE_ZA8_VG1x2
SVWRITE_ZA8_VG1x4
SVLUTI2_LANE_ZT_X4
SVLUTI2_LANE_ZT
SVLUTI4_LANE_ZT
SVLUTI2_LANE_ZT_X2
SVLUTI4_LANE_ZT_X2
SVREADZ_ZA8_X2_H
SVREADZ_ZA8_X2_V
SVREADZ_ZA8_X4_H
SVREADZ_ZA8_X4_V
SVREADZ_ZA8_H
SVREADZ_ZA8_V
SVREADZ_VG2_B
SVREADZ_VG4_B
```
Commit: f1e917d07bd16b7d3e27ddd37d76f75f9ac97f96
https://github.com/llvm/llvm-project/commit/f1e917d07bd16b7d3e27ddd37d76f75f9ac97f96
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/Driver/linker-wrapper-image.c
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M offload/src/PluginManager.cpp
Log Message:
-----------
[Offload] Unify offloading entries into a single section (#125731)
Summary:
This patch unifies the existing offloading entires into a single section
called `llvm_offload_entires`. This lets us use a more unified
offloading infrastructure so that all targets share the same handling.
The effect is that people in the runtimes now need to check if the kind
is what they expect, but the expectation is that you can combine
multiple potential providers into a compile job. Doesn't fully work
yet because of other runtime issues, but some day. Mostly this helps the
future of liboffload where we want to handle different languages than
OpenMP.
Commit: 8609e27a58b94cc5e9daf87cb2609c9b3760bd03
https://github.com/llvm/llvm-project/commit/8609e27a58b94cc5e9daf87cb2609c9b3760bd03
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
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] Add definition for ImageWriteOp (#124124)
This Pull Request adds OpImageWrite as defined in section 3.52.10.
(Image Instructions). The tests in
`mlir/test/Target/SPIRV/image-ops.mlir` are also updated (and extended
with the new op), so they now pass validation with `spirv-val` after
serialization into SPIR-V. The test was missing `ImageQuery` capability
and entry points. For entry points dummy `main` functions were added.
Commit: d5c60724bebc2adb91372279711b7ea9511d1428
https://github.com/llvm/llvm-project/commit/d5c60724bebc2adb91372279711b7ea9511d1428
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
Log Message:
-----------
[flang][Lower][OpenMP] try to avoid using init mold argument (#125900)
Unfortunately we still have a lot of cases like
!fir.box<!fir.array<10xi32>> where we read dimensions from the mold in
case there are non-default lower bounds stored inside the box. I will
address this in the next patch.
Commit: f48d9e95d4ccd6ad2a7f53eb9db3e439c40c9dbf
https://github.com/llvm/llvm-project/commit/f48d9e95d4ccd6ad2a7f53eb9db3e439c40c9dbf
Author: natanelh-mobileye <natanelh at mobileye.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/ADT/StableHashing.h
Log Message:
-----------
[nfc] Ignoring unused values (#125695)
trying to avoid `unused variable` warning under gcc7
Commit: b815a3942a0b0a9e7aab6b269ffdb0e93abc4368
https://github.com/llvm/llvm-project/commit/b815a3942a0b0a9e7aab6b269ffdb0e93abc4368
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
R flang/include/flang/Common/Fortran-features.h
R flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/ISO_Fortran_binding_wrapper.h
R flang/include/flang/Common/LangOptions.def
R flang/include/flang/Common/LangOptions.h
R flang/include/flang/Common/MathOptionsBase.def
R flang/include/flang/Common/MathOptionsBase.h
R flang/include/flang/Common/OpenMP-features.h
R flang/include/flang/Common/OpenMP-utils.h
R flang/include/flang/Common/Version.h
R flang/include/flang/Common/default-kinds.h
M flang/include/flang/Common/erfc-scaled.h
M flang/include/flang/Common/fast-int-set.h
M flang/include/flang/Common/format.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/target-rounding.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/intrinsics.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/ISO_Fortran_binding.h
R flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/LoweringOptions.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/Support/TypeCode.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parse-state.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Parser/user-state.h
M flang/include/flang/Runtime/descriptor-consts.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/random.h
M flang/include/flang/Runtime/support.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
A flang/include/flang/Support/Fortran-features.h
A flang/include/flang/Support/Fortran.h
A flang/include/flang/Support/LangOptions.def
A flang/include/flang/Support/LangOptions.h
A flang/include/flang/Support/MathOptionsBase.def
A flang/include/flang/Support/MathOptionsBase.h
A flang/include/flang/Support/OpenMP-features.h
A flang/include/flang/Support/OpenMP-utils.h
A flang/include/flang/Support/Version.h
A flang/include/flang/Support/default-kinds.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/CMakeLists.txt
R flang/lib/Common/CMakeLists.txt
R flang/lib/Common/Fortran-features.cpp
R flang/lib/Common/Fortran.cpp
R flang/lib/Common/LangOptions.cpp
R flang/lib/Common/OpenMP-utils.cpp
R flang/lib/Common/Version.cpp
R flang/lib/Common/default-kinds.cpp
R flang/lib/Common/idioms.cpp
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Evaluate/call.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
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/CallInterface.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/CMakeLists.txt
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackReclaim.cpp
M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/basic-parsers.h
M flang/lib/Parser/prescan.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-return.cpp
M flang/lib/Semantics/check-select-rank.cpp
M flang/lib/Semantics/check-stop.cpp
M flang/lib/Semantics/data-to-inits.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/CMakeLists.txt
A flang/lib/Support/Fortran-features.cpp
A flang/lib/Support/Fortran.cpp
A flang/lib/Support/LangOptions.cpp
A flang/lib/Support/OpenMP-utils.cpp
A flang/lib/Support/Version.cpp
A flang/lib/Support/default-kinds.cpp
A flang/lib/Support/idioms.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/ISO_Fortran_binding.cpp
M flang/runtime/ISO_Fortran_util.h
M flang/runtime/allocatable.cpp
M flang/runtime/stat.h
M flang/runtime/temporary-stack.cpp
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/f18-parse-demo/CMakeLists.txt
M flang/tools/f18-parse-demo/f18-parse-demo.cpp
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
M flang/unittests/Evaluate/ISO-Fortran-binding.cpp
M flang/unittests/Frontend/CMakeLists.txt
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
M flang/unittests/Runtime/TemporaryStack.cpp
Log Message:
-----------
[Flang] Move non-common headers to FortranSupport (#124416)
Move non-common files from FortranCommon to FortranSupport (analogous to
LLVMSupport) such that
* declarations and definitions that are only used by the Flang compiler,
but not by the runtime, are moved to FortranSupport
* declarations and definitions that are used by both ("common"), the
compiler and the runtime, remain in FortranCommon
* generic STL-like/ADT/utility classes and algorithms remain in
FortranCommon
This allows a for cleaner separation between compiler and runtime
components, which are compiled differently. For instance, runtime
sources must not use STL's `<optional>` which causes problems with CUDA
support. Instead, the surrogate header `flang/Common/optional.h` must be
used. This PR fixes this for `fast-int-sel.h`.
Declarations in include/Runtime are also used by both, but are
header-only. `ISO_Fortran_binding_wrapper.h`, a header used by compiler
and runtime, is also moved into FortranCommon.
Commit: e470dcae8d2c4138a89974ceeb413b1568d3a112
https://github.com/llvm/llvm-project/commit/e470dcae8d2c4138a89974ceeb413b1568d3a112
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/spill-fill-zpr-predicates.mir
Log Message:
-----------
[AArch64][SME] Reduce ptrue count when filling p-regs from z-regs (#125523)
Currently, each expansion of `FILL_PPR_FROM_ZPR_SLOT_PSEUDO` creates a
new ptrue instruction. This patch adds a simple method to reuse a
previous ptrue instruction when expanding back-to-back fill pseudos.
Commit: 0bfcb76be1018f7a5aec5cf968bdb5a8a46ba62c
https://github.com/llvm/llvm-project/commit/0bfcb76be1018f7a5aec5cf968bdb5a8a46ba62c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Add additional tests for captures inference (NFC)
Commit: 60d8e6f5286002dc8fe836aa6229a83cd84ff51c
https://github.com/llvm/llvm-project/commit/60d8e6f5286002dc8fe836aa6229a83cd84ff51c
Author: Matt <MattPD at users.noreply.github.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/ordered_codegen.cpp
A clang/test/OpenMP/simd_conservative_ordered.c
Log Message:
-----------
[OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lowering (#123867)
A proposed fix for #95611 [OpenMP][SIMD] ordered has no effect in a loop
SIMD region as of LLVM 18.1.0
Changes:
- Implement new lowering behavior: Conservatively serialize "omp simd"
loops that have `omp simd ordered` directive to prevent incorrect
vectorization (which results in incorrect execution behavior of the
miscompiled program).
Implementation outline:
- We start with the optimistic default initial value of
`LoopStack.setParallel(/Enable=/true);` in
`CodeGenFunction::EmitOMPSimdInit(const OMPLoopDirective &D)`.
- We only disable the loop parallel memory access assumption with `if
(HasOrderedDirective) LoopStack.setParallel(/Enable=/false);` using the
`HasOrderedDirective` (which tests for the presence of an
`OMPOrderedDirective`).
- This results in no longer incorrectly vectorizing the loop when the
`omp simd ordered` directive is present.
Motivation: We'd like to prevent incorrect vectorization of the loops
marked with the `#pragma omp ordered simd` directive which has
previously resulted in miscompiled code.
At the same time, we'd like the usage outside of the `#pragma omp
ordered simd` context to remain unaffected: Note that in the test
"clang/test/OpenMP/ordered_codegen.cpp" we only "lose" the
`!llvm.access.group` metadata in `foo_simd` alone.
This is conservative, in that it's possible some of the loops would be
possible to vectorize, but we prefer to avoid miscompilation of the
loops that are currently illegal to vectorize.
A concrete example follows:
```cpp
// "test.c"
#include <float.h>
#include <math.h>
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int compare_float(float x1, float x2, float scalar) {
const float diff = fabsf(x1 - x2);
x1 = fabsf(x1);
x2 = fabsf(x2);
const float l = (x2 > x1) ? x2 : x1;
if (diff <= l * scalar * FLT_EPSILON)
return 1;
else
return 0;
}
#define ARRAY_SIZE 256
__attribute__((noinline)) void initialization_loop(
float X[ARRAY_SIZE][ARRAY_SIZE], float Y[ARRAY_SIZE][ARRAY_SIZE]) {
const float max = 1000.0;
srand(time(NULL));
for (int r = 0; r < ARRAY_SIZE; r++) {
for (int c = 0; c < ARRAY_SIZE; c++) {
X[r][c] = ((float)rand() / (float)(RAND_MAX)) * max;
Y[r][c] = X[r][c];
}
}
}
__attribute__((noinline)) void omp_simd_loop(float X[ARRAY_SIZE][ARRAY_SIZE]) {
for (int r = 1; r < ARRAY_SIZE; ++r) {
for (int c = 1; c < ARRAY_SIZE; ++c) {
#pragma omp simd
for (int k = 2; k < ARRAY_SIZE; ++k) {
#pragma omp ordered simd
X[r][k] = X[r][k - 2] + sinf((float)(r / c));
}
}
}
}
__attribute__((noinline)) int comparison_loop(float X[ARRAY_SIZE][ARRAY_SIZE],
float Y[ARRAY_SIZE][ARRAY_SIZE]) {
int totalErrors_simd = 0;
const float scalar = 1.0;
for (int r = 1; r < ARRAY_SIZE; ++r) {
for (int c = 1; c < ARRAY_SIZE; ++c) {
for (int k = 2; k < ARRAY_SIZE; ++k) {
Y[r][k] = Y[r][k - 2] + sinf((float)(r / c));
}
}
// check row for simd update
for (int k = 0; k < ARRAY_SIZE; ++k) {
if (!compare_float(X[r][k], Y[r][k], scalar)) {
++totalErrors_simd;
}
}
}
return totalErrors_simd;
}
int main(void) {
float X[ARRAY_SIZE][ARRAY_SIZE];
float Y[ARRAY_SIZE][ARRAY_SIZE];
initialization_loop(X, Y);
omp_simd_loop(X);
const int totalErrors_simd = comparison_loop(X, Y);
if (totalErrors_simd) {
fprintf(stdout, "totalErrors_simd: %d \n", totalErrors_simd);
fprintf(stdout, "%s : %d - FAIL: error in ordered simd computation.\n",
__FILE__, __LINE__);
} else {
fprintf(stdout, "Success!\n");
}
return totalErrors_simd;
}
```
Before:
```
$ clang -fopenmp-simd -O3 -ffast-math -lm test.c -o test && ./test
totalErrors_simd: 15408
test.c : 76 - FAIL: error in ordered simd computation.
```
clang 19.1.0: https://godbolt.org/z/6EvhxqEhe
After:
```
$ clang -fopenmp-simd -O3 -ffast-math test.c -o test && ./test
Success!
```
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 3041dd5c2065d6fa98546babf7525fc5ed4532be
https://github.com/llvm/llvm-project/commit/3041dd5c2065d6fa98546babf7525fc5ed4532be
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/ordered_codegen.cpp
R clang/test/OpenMP/simd_conservative_ordered.c
Log Message:
-----------
Revert "[OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lowering" (#126079)
Reverts llvm/llvm-project#123867 to fix the test failures
https://lab.llvm.org/buildbot/#/builders/144/builds/17521
Commit: f5c4f271abe757ae49ca97475b7b77de56d24f69
https://github.com/llvm/llvm-project/commit/f5c4f271abe757ae49ca97475b7b77de56d24f69
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
A clang/test/Analysis/ftime-trace-bind.cpp
A clang/test/Analysis/ftime-trace-removeDead.cpp
Log Message:
-----------
[analyzer] Add -ftime-trace scopes for region-store bindings and removeDead (#125884)
>From investigation of a few slow analysis cases, I discovered that
`RegionStoreManager::bind*` and `ExprEngine::removeDead` are often the
slowest actions. This change adds explicit scope to the time trace
generated by `-ftime-trace` to enable easy diagnostics of the cases when
these functions are the slowdown culprits.
--
CPP-6109
Commit: f2ac265c22e5eb50f11e9f8c224fd0bdffb33b72
https://github.com/llvm/llvm-project/commit/f2ac265c22e5eb50f11e9f8c224fd0bdffb33b72
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
Log Message:
-----------
[RISCV] Reduce the LMUL for a vrgather operation if legal (#125768)
If we're lowering a shuffle to a vrgather (or vcompress), and we know
that a prefix of the operation can be done while producing the same
(defined) lanes, do the operation with a narrower LMUL.
Commit: e225677b1f6fe9f8e928836276f1d43b0591e9de
https://github.com/llvm/llvm-project/commit/e225677b1f6fe9f8e928836276f1d43b0591e9de
Author: Valery Chernov <vchernov at nvidia.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/setmaxnreg-sm100a.ll
Log Message:
-----------
[NVPTX] Update setmaxnreg intrinsic lowering (#125846)
The setmaxnreg PTX instruction is supported on all arch-conditionals,
known up-to cuda-12.8, from sm90 onwards. This patch
updates the predicate checks to handle this. The feature is additionally
tested in setmaxnreg-sm100a.ll
Commit: 88b1d16c4a040cc3d919be13f0baf44f30a5aa13
https://github.com/llvm/llvm-project/commit/88b1d16c4a040cc3d919be13f0baf44f30a5aa13
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/test/CodeGen/Mips/dins.ll
Log Message:
-----------
[Mips] Use getSignedConstant() in or combine
Fixes https://github.com/llvm/llvm-project/issues/125954.
Commit: 553f8e71dd87ad7675e9edaeffdb9619b63a7cf9
https://github.com/llvm/llvm-project/commit/553f8e71dd87ad7675e9edaeffdb9619b63a7cf9
Author: hanbeom <kese111 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
Log Message:
-----------
[InstCombine] simplify `icmp pred x, ~x` (#73990)
simplify compare between specific variable `X` and `NOT(X)`
Proof: https://alive2.llvm.org/ce/z/KTCpjP
Fixed https://github.com/llvm/llvm-project/issues/57532.
Commit: f7b3559ce07c83625bbe81a30a4da8ccef9ab53f
https://github.com/llvm/llvm-project/commit/f7b3559ce07c83625bbe81a30a4da8ccef9ab53f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
A clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/CMakeLists.txt
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[clang-linker-wrapper] Add ELF packaging for spirv64-intel OpenMP images (#125737)
Add manual ELF packaging for `spirv64-intel` images as there is no
SPIR-V linker available. This format will be expected by the runtime
plugin we will submit in the future and is compatible with the format we
already use downstream.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: c268a3f0934c625238a1391f6da55c10fecda9de
https://github.com/llvm/llvm-project/commit/c268a3f0934c625238a1391f6da55c10fecda9de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/ARM/pr122670-regression.ll
Log Message:
-----------
DAG: Fix extract of load combine with mismatched vector element type
Fix the case where the vector element type of the loaded extractelement
input does not match the result type of the extract.
This fixes a regression reported after
c55a7659b38946350315ac4a18d9805deb1f0a54
Commit: b9e4bde804bee256879d5018dd7ece874e2388c1
https://github.com/llvm/llvm-project/commit/b9e4bde804bee256879d5018dd7ece874e2388c1
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Re-enable cloning of callsites in recursive cycles with fixes (#125947)
This change addresses a number of issues with the support added by
PR121985 which were exposed through more exhaustive testing,
specifically places that needed updates to perform correct graph updates
in the presence of cycles.
A new test case is added that reproduces these issues, and the default
is flipped back to enabling this handling.
Commit: 2f7d3ec02349d4503e1fa8c54665025eb4f8e173
https://github.com/llvm/llvm-project/commit/2f7d3ec02349d4503e1fa8c54665025eb4f8e173
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
Log Message:
-----------
[InstCombine] Regenerate test checks
The output changes in the meantime.
Commit: 17952b3d161dd00d2cab9390672ff0556d63e6da
https://github.com/llvm/llvm-project/commit/17952b3d161dd00d2cab9390672ff0556d63e6da
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port for f7b3559ce07c83625bbe81a30a4da8ccef9ab53f
Commit: 2e18c94ad17e53d4c594baaf6bfd40460ceebc1e
https://github.com/llvm/llvm-project/commit/2e18c94ad17e53d4c594baaf6bfd40460ceebc1e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/openmp-offload.c
Log Message:
-----------
[Clang] Forward arguments to the device compiler better (#125957)
Summary:
Currently we have a subset of arguments that are handled specially to
keep them consistent between host and device compiles, however, this is
extremely hacky as it only works on a few predetermined options. This is
a holdover from the days before the linker wrapper shuttled all of its
arguments through `clang`. Now that we just use clang, all we need to do
is just use the `--device-compiler=` option to forward it there and let
the normal toolchain handle it.
For example,
```console
clang -fopenmp --offload-arch=gfx1030,sm_89 -Xarch_nvptx64 -O3 -foffload-lto
```
will forward the `-O3` to the LTO compilation only for the NVPTX
compilation.
Commit: 6e17ed9b04e5523cc910bf171c3122dcc64b86db
https://github.com/llvm/llvm-project/commit/6e17ed9b04e5523cc910bf171c3122dcc64b86db
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
R clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
R clang/test/Analysis/array-bound-v2-constraint-check.c
M clang/test/Analysis/index-type.c
M clang/test/Analysis/misc-ps-region-store.m
M clang/test/Analysis/no-outofbounds.c
A 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-new.cpp
M clang/test/Analysis/out-of-bounds-notes.c
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/outofbound-notwork.c
M clang/test/Analysis/outofbound.c
R clang/test/Analysis/rdar-6541136-region.c
M clang/test/Analysis/runtime-regression.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/taint-generic.cpp
M clang/www/analyzer/open_projects.html
M clang/www/analyzer/potential_checkers.html
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[analyzer] Consolidate array bound checkers (#125534)
Before this commit, there were two alpha checkers that used different
algorithms/logic for detecting out of bounds memory access: the old
`alpha.security.ArrayBound` and the experimental, more complex
`alpha.security.ArrayBoundV2`.
After lots of quality improvement commits ArrayBoundV2 is now stable
enough to be moved out of the alpha stage. As indexing (and dereference)
are common operations, it still produces a significant amount of false
positives, but not much more than e.g. `core.NullDereference` or
`core.UndefinedBinaryOperatorResult`, so it should be acceptable as a
non-`core` checker.
At this point `alpha.security.ArrayBound` became obsolete (there is a
better tool for the same task), so I'm removing it from the codebase.
With this I can eliminate the ugly "V2" version mark almost everywhere
and rename `alpha.security.ArrayBoundV2` to `security.ArrayBound`.
(The version mark is preserved in the filename "ArrayBoundCheckerV2", to
ensure a clear git history. I'll rename it to "ArrayBoundChecker.cpp" in
a separate commit.)
This commit adapts the unit tests of `alpha.security.ArrayBound` to
testing the new `security.ArrayBound` (= old ArrayBoundV2). Currently
the names of the test files are very haphazard, I'll probably create a
separate followup commit that consolidates this.
Commit: ead88c787c4eba28b2148a5aaf190186bdb40820
https://github.com/llvm/llvm-project/commit/ead88c787c4eba28b2148a5aaf190186bdb40820
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) & (y - z) + z even with Zicond. (#125772)
The Zicond version of this requires an li instruction and an
additional register.
Without Zicond we match this in a DAGCombine on RISCVISD::SELECT_CC.
This PR has 2 commits. I'll pre-commit the test change if this looks
good.
Commit: aca829de13ecdf57318acbb040d533d4e6ea9f50
https://github.com/llvm/llvm-project/commit/aca829de13ecdf57318acbb040d533d4e6ea9f50
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
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
M libcxx/include/__chrono/ostream.h
A libcxx/include/__chrono/tai_clock.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.tai/time.clock.tai.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/from_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/now.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
A libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
M libcxx/test/support/concat_macros.h
Log Message:
-----------
[libc++][chrono] implements TAI clock. (#125550)
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
- LWG3359 <chrono> leap second support should allow for negative leap
seconds
Commit: 73a1c7b8d6183c9776c42094c2724f810b72c3d8
https://github.com/llvm/llvm-project/commit/73a1c7b8d6183c9776c42094c2724f810b72c3d8
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddlv.ll
Log Message:
-----------
[msan] Handle Arm NEON sum long across vector (#125784)
Apply handleVectorReduceIntrinsic() to llvm.aarch64.neon.[su]addlv.
Previously, these were unknown intrinsics handled suboptimally by
visitInstruction.
Updates the tests from https://github.com/llvm/llvm-project/pull/125761
Commit: d5666294e965db2e14c0baafd4e84b57dab2060e
https://github.com/llvm/llvm-project/commit/d5666294e965db2e14c0baafd4e84b57dab2060e
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/combine.ll
A llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
A llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
A llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
A llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
Log Message:
-----------
[RISCV] Porting hasAllNBitUsers to RISCV GISel for instruction select (#125795)
Ported hasAllNBitUsers to RISCV GISel side. Add GISelPredicate code to
each of the 16,32, and 64 bit words. It allows for generation of
optimized packw sequences along with other transparent narrowing
operations. Included a few new .ll files to expand testing and limited
the OptW pass Optimization to fewer options until GISel is ready for
more code generation paths
---------
Signed-off-by: Luke Quinn <quic_lquinn at quicinc.com>
Commit: 7ac4e46b5ca97a15d63ec86ec7eac6cdca1010e7
https://github.com/llvm/llvm-project/commit/7ac4e46b5ca97a15d63ec86ec7eac6cdca1010e7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Clang] Fix multiple spellings of 'save-temps'
Summary:
Apparently the driver will expand `save-temps` to the EQ form sometimes,
which made this not work all the time.
Commit: 875e014471badfd0535f33551256b2fe24b4654e
https://github.com/llvm/llvm-project/commit/875e014471badfd0535f33551256b2fe24b4654e
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/fprcvt-cvtf.ll
Log Message:
-----------
[AArch64] Codegen for new SCVTF/UCVTF variants (FEAT_FPRCVT) (#123767)
Adds patterns of new SCVTF/UCVTF instructions to tablegen, with
associated test .ll file.
Commit: cc0d4a5188f9e41dd8e00048d17b87529e28b694
https://github.com/llvm/llvm-project/commit/cc0d4a5188f9e41dd8e00048d17b87529e28b694
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Update feature dep. for Armv9.6 extensions (#125874)
These features FEAT_FAMINMAX, FEAT_LUT and FEAT_FP8 depends on
FEAT_NEON.
Update dependency from FEAT_FP8DOT4 and FEAT_FP8DOT2. Now depends
indirectly on FEAT_NEON through FEAT_FP8
Commit: 18bd11889386a653edb1ef5eb501c6af0094478f
https://github.com/llvm/llvm-project/commit/18bd11889386a653edb1ef5eb501c6af0094478f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lldb/bindings/interface/SBFrameDocstrings.i
M lldb/bindings/interface/SBFrameExtensions.i
Log Message:
-----------
[lldb][NFC] Add documentation for SBFrame::GetRegisters (#125969)
SBFrame::GetRegisters() (and the .registers / .regs extensions in
Python) returns an array of register-set's, not registers like you might
expect from the API name. Document this.
---------
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: bddc815c616aff64d70d494982f348ea365d4b3e
https://github.com/llvm/llvm-project/commit/bddc815c616aff64d70d494982f348ea365d4b3e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Revert "[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) & (y - z) + z even with Zicond. (#125772)"
This reverts commit ead88c787c4eba28b2148a5aaf190186bdb40820.
I seem to have lost the test updates when rebasing.
Commit: 11c3f52bbbb5efa724fd1a4d518566d7180e3c31
https://github.com/llvm/llvm-project/commit/11c3f52bbbb5efa724fd1a4d518566d7180e3c31
Author: David Green <david.green at arm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
Log Message:
-----------
[AArch64] Add test for subhn xor pattern. NFC
Commit: 5812d0bf8e920ec9a2f14b60237a07f74a9e7d6b
https://github.com/llvm/llvm-project/commit/5812d0bf8e920ec9a2f14b60237a07f74a9e7d6b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[Offload] Make only a single thread handle the RPC server thread (#126067)
Summary:
This patch just changes the interface to make starting the thread
multiple times permissable since it will only be done the first time.
Note that this does not refcount it or anything, so it's onto the user
to make sure that they don't shut down the thread before everyone is
done using it. That is the case today because the shutDown portion is
run by a single thread in the destructor phase.
Another question is if we should make this thread truly global state,
because currently it will be private to each plugin instance, so if you
have an AMD and NVIDIA image there will be two, similarly if you have
those inside of a shared library.
Commit: efd0a7f446e9428a4e9f0067eb79f17aa328f2ac
https://github.com/llvm/llvm-project/commit/efd0a7f446e9428a4e9f0067eb79f17aa328f2ac
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL][~NFC] Migrate to LLVM dialect default builders (#125609)
There were a bunch of spots in ROCDL.td where we were defining our own
llvmBuilder call which could have been generated using the default
built-in one on LLVM_IntrOpBase.
This commit cleans up such usages in the interests of potentinally
enabling ROCDL import in the future and of making best practices more
obvious.
The one breaking change is renaming WaitcntOp to SWaitcntOp, which
should have minimal impact.
Commit: 6575154b6eca80097d77db69ce1ee60c72854ee6
https://github.com/llvm/llvm-project/commit/6575154b6eca80097d77db69ce1ee60c72854ee6
Author: funsafe-ptr <funsafe-ptr at proton.me>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[compiler-rt] Fixed Android 8.1 `getauxval(AT_PAGESZ)` crashes if called from `.preinit_array`. (#113427) (#116121)
Signed-off-by: funsafe-ptr <funsafe-ptr at proton.me>
Commit: eb2b453eb73dfe0b8cf516dfb4d568c0b858d1fa
https://github.com/llvm/llvm-project/commit/eb2b453eb73dfe0b8cf516dfb4d568c0b858d1fa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-insert.ll
M llvm/test/Transforms/VectorCombine/X86/load.ll
A llvm/test/Transforms/VectorCombine/X86/pr126085.ll
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - ensure we call getShuffleCost with the input operand type, not the result
Typo in #121216
Fixes #126085
Commit: 4717babaf91d151d66229c025f21e3aec685e6e0
https://github.com/llvm/llvm-project/commit/4717babaf91d151d66229c025f21e3aec685e6e0
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/test/CMakeLists.txt
Log Message:
-----------
[clang-linker-wrapper][lit] Fix SPIR-V OpenMP ELF test (#126098)
Fix for lit fail from https://github.com/llvm/llvm-project/pull/125737
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 8d5f280559c7d17e1e54afe3df738f65f6051386
https://github.com/llvm/llvm-project/commit/8d5f280559c7d17e1e54afe3df738f65f6051386
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
Log Message:
-----------
[flang] Adding a couple of tests to the alias analysis (#125917)
To establish a baseline for new tests mentioned in
https://github.com/llvm/llvm-project/pull/117785, adding them here
independently.
Commit: 2feee52457086d164b0dfe7e7ede8dd20a9a4545
https://github.com/llvm/llvm-project/commit/2feee52457086d164b0dfe7e7ede8dd20a9a4545
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
Claiming "threadset clause" for implementation. (#126023)
threadset clause is part of free-agent threads. But, free-agent threads
also involves runtime implementation. So, added an separate entry for
threadset clause and claimed it for clang.
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: b884be86406ef1430af1609fc1b6033936afaf18
https://github.com/llvm/llvm-project/commit/b884be86406ef1430af1609fc1b6033936afaf18
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Exit with error code on missing DWO CU (#125976)
If BOLT fails to locate DWO CU when using split DWARF, this signifies an
issue with the input (missing .dwo) rather than an internal assertion.
Commit: f497fe464bad8743b8a87ba04a5c53579a03711a
https://github.com/llvm/llvm-project/commit/f497fe464bad8743b8a87ba04a5c53579a03711a
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/test/Conversion/UBToSPIRV/ub-to-spirv.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Fix some issues related to converting ub.poison to SPIR-V (#125905)
This is a follow-up to 5df62bdc9be9c258c5ac45c8093b71e23777fa0e. That
commit should not have needed to make the vector.insert and
vector.extract conversions to SPIR-V directly handle the static poison
index case, as there is a fold from those to ub.poison, and a conversion
pattern from ub.poison to spirv.Undef, however:
- The ub.poison fold result could not be materialized by the vector
dialect (fixed as of d13940ee263ff50b7a71e21424913cc0266bf9d4).
- The conversion pattern wasn't being populated in VectorToSPIRVPass,
which is used by the tests. This commit changes this.
- The ub.poison to spirv.Undef pattern rejected non-scalar types, which
prevented its use for vector results. It is unclear why this restriction
existed; a remark in D156163 said this was to avoid converting "user
types", but it is not obvious why these shouldn't be permitted (the
SPIR-V specification allows OpUndef for all types except OpTypeVoid).
This commit removes this restriction.
With these fixed, this commit removes the redundant static poison index
handling, and updates the tests.
Commit: 34624d89c0424b4edcfb4b3e0ae67678b5ce3344
https://github.com/llvm/llvm-project/commit/34624d89c0424b4edcfb4b3e0ae67678b5ce3344
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
Log Message:
-----------
IndVarSimplify: improve a test, stripping undef (#126069)
Commit: ff049e07a55f03916f18b10cdba1456cd3022b14
https://github.com/llvm/llvm-project/commit/ff049e07a55f03916f18b10cdba1456cd3022b14
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/hip-sanitize-options.hip
Log Message:
-----------
[AMDGPU] Do not enable GPU sanitizers by default (#126090)
Summary:
This probably wasn't the intended result, but the code here causes
OpenMP to always link in `ockl.bc` which was intentionally not linked.
This results in the OCKL definitions conflicting with the OpenMP ones
and also prevents them from being optimized out (Might be fixed with
newer ROCm that actually builds the visibility correctly).
I'm pretty sure the only reason this didn't break the tests is because
we're smart and pass `-nogpulib` there to keep the environment from
being poisoned with stuff like this.
Commit: dcb124e820b2bf9dda60f66151591155a385580e
https://github.com/llvm/llvm-project/commit/dcb124e820b2bf9dda60f66151591155a385580e
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.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-lastprivate-of-private.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.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/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.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-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/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
A mlir/test/Target/LLVMIR/openmp-target-wsloop-private.mlir
Log Message:
-----------
[flang][OpenMP] Enable delayed privatization by default `omp.wsloop` (#125732)
Reapplies #122471
This is based on https://github.com/llvm/llvm-project/pull/125699, only
the latest commit is relevant.
With changes in this PR and the parent one, the previously reported
failures in the Fujitsu(*) test suite should hopefully be resolved (I
verified all the 14 reported failures and they pass now).
(*) https://linaro.atlassian.net/browse/LLVM-1521
Commit: f5d24e6cbe07902bad620df291f6172b50a7271e
https://github.com/llvm/llvm-project/commit/f5d24e6cbe07902bad620df291f6172b50a7271e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
Log Message:
-----------
SCEV: teach isImpliedViaOperations about samesign (#124270)
Use CmpPredicate::getMatching in isImpliedCondBalancedTypes to pass
samesign information to isImpliedViaOperations, and teach it to call
CmpPredicate::getPreferredSignedPredicate, effectively making it
optimize with samesign information.
Commit: 16f7e961c600986de7814822fd118f431e0bb433
https://github.com/llvm/llvm-project/commit/16f7e961c600986de7814822fd118f431e0bb433
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
Log Message:
-----------
[AMDGPU] Allow rematerialization of instructions with virtual register uses (#124327)
Remove the restriction that scheduling rematerialization candidates
cannot have virtual reg uses.
Currently, this only allows for virtual reg uses which are already live
at the rematerialization point, so bring in allUsesAvailableAt to check
for this condition. Because of this condition, the uses of the remats
will already be live in to the region, so the remat won't increase
live-in pressure.
Add an expensive check to check this condition.
Commit: 1117568dadd5519e6f376fe33a074aa1f7382b1b
https://github.com/llvm/llvm-project/commit/1117568dadd5519e6f376fe33a074aa1f7382b1b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Remove __default_allocator_type aliases (#126066)
These aliases are never used, so we can ditch them.
Commit: 2ef2587ae9d97d9325e9ecd11bcf4e3dff02e119
https://github.com/llvm/llvm-project/commit/2ef2587ae9d97d9325e9ecd11bcf4e3dff02e119
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Inline the simple observer functions into the basic_string definition (#126061)
Having them defined ouf-of-line results in a significant amount of
boilerplate without improving readability, since they're just one or two
lines long anyways.
As a drive-by, add comments between the declarations to make them easier
to distinguish.
Commit: 932d0ce32540467260bb04f6ee1ecd98a4efa245
https://github.com/llvm/llvm-project/commit/932d0ce32540467260bb04f6ee1ecd98a4efa245
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select-const.ll
Log Message:
-----------
Recommit "[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) & (y - z) + z even with Zicond. (#125772)"
With the test changes.
Original message:
The Zicond version of this requires an li instruction and an
additional register.
Without Zicond we match this in a DAGCombine on RISCVISD::SELECT_CC.
This PR has 2 commits. I'll pre-commit the test change if this looks
good.
Commit: 5c3d1463ed5c37fcf3a0bd2128e357e7332267f4
https://github.com/llvm/llvm-project/commit/5c3d1463ed5c37fcf3a0bd2128e357e7332267f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-arith.ll
Log Message:
-----------
[X86] avx512-arith.ll - regenerate VPTERNLOG comments
Commit: 975bba6f4b977efa468a5a07814786cf5da660fc
https://github.com/llvm/llvm-project/commit/975bba6f4b977efa468a5a07814786cf5da660fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#126001)
Commit: 91c188b8e901ca1a6fe4463fc3c30cd5fce788cc
https://github.com/llvm/llvm-project/commit/91c188b8e901ca1a6fe4463fc3c30cd5fce788cc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#126002)
Commit: ff94b03291206176d55b46a592b0f96c32d571df
https://github.com/llvm/llvm-project/commit/ff94b03291206176d55b46a592b0f96c32d571df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#126006)
Commit: 337604ee7e838fee937e2b310604b57e3c583ba7
https://github.com/llvm/llvm-project/commit/337604ee7e838fee937e2b310604b57e3c583ba7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt `Emitter::OptClass` in InstrInfoEmitter (#125971)
- Use `Emitter::OptClass` to invoke `InstrInfoEmitter::run` and
eliminate the `EmitInstrInfo` function.
Commit: c32cd5746b1335ed172d1bf58fb6498b479bd8e0
https://github.com/llvm/llvm-project/commit/c32cd5746b1335ed172d1bf58fb6498b479bd8e0
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-02-06 (Thu, 06 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:
-----------
Symbolize line zero as if no source info is available (#124846)
Since line zero means "no line information", when symbolizing a location
(an address or an inline frame associated with the address) that has a
line zero location, we shouldn't include other irrelevant data (like
filename) in the result.
Commit: e41ffd3420d7c00c4c8f241b8f7f9ba210eea68f
https://github.com/llvm/llvm-project/commit/e41ffd3420d7c00c4c8f241b8f7f9ba210eea68f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/test/Transforms/NaryReassociate/nary-gep.ll
Log Message:
-----------
[NaryReassociate] Fix crash from pointer width / index width confusion (#125923)
NaryReassociate would crash on expressions like the one in the added
test that involved pointers where the size of the type was greater than
the index width of the pointer, causing calls to SCEV's zext expression
on types that didn't need to be zero-extended.
This commit fixes the issue.
Commit: f4e3b8783cb9eb9a442b14ec8ce7356fa6853387
https://github.com/llvm/llvm-project/commit/f4e3b8783cb9eb9a442b14ec8ce7356fa6853387
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
M mlir/include/mlir/Conversion/LLVMCommon/MemRefBuilder.h
M mlir/include/mlir/Conversion/LLVMCommon/StructBuilder.h
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
M mlir/test/Conversion/ArithToLLVM/convert-nd-vector-to-llvmir.mlir
M mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
M mlir/test/Conversion/ComplexToLLVM/full-conversion.mlir
M mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
M mlir/test/Conversion/GPUCommon/memory-attrbution.mlir
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToNVVM/wmma-ops-to-nvvm.mlir
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/GPU/dynamic-shared-memory.mlir
M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-target-tag.mlir
M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-top-level-named-sequence.mlir
M mlir/test/Dialect/SparseTensor/specifier_to_llvm.mlir
M mlir/test/Examples/transform/ChH/full.mlir
Log Message:
-----------
[mlir][LLVM] Switch `undef` for `poison` for uninitialized values (#125629)
LLVM itself is generally moving away from using `undef` and towards
using `poison`, to the point of having a lint that caches new uses of
`undef` in tests.
In order to not trip the lint on new patterns and to conform to the
evolution of LLVM
- Rename valious ::undef() methods on StructBuilder subclasses to
::poison()
- Audit the uses of UndefOp in the MLIR libraries and replace almost all
of them with PoisonOp
The remaining uses of `undef` are initializing `uninitialized` memrefs,
explicit conversions to undef from SPIR-V, and a few cases in
AMDGPUToROCDL where usage like
%v = insertelement <M x iN> undef, iN %v, i32 0
%arg = bitcast <M x iN> %v to i(M * N)
is used to handle "i32" arguments that are are really packed vectors of
smaller types that won't always be fully initialized.
Commit: 5492199a9aa4b5d31c38e36928ac153570091d6d
https://github.com/llvm/llvm-project/commit/5492199a9aa4b5d31c38e36928ac153570091d6d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[llvm][AsmWriter] Don't skip zero-valued DwarfEnum MDField when ShouldSkipZero is not set (#126044)
I ran into this while working on a different patch where I'm emitting a
zero-valued DWARF enum field which shouldn't be skipped.
This patch checks the (currently unused) `ShouldSkipZero` before
deciding to skip printing this field. Based on git history this seems
like an oversight from the initial refactor that introduced this. We
have a similar check in `printInt`.
Wasn't sure how to best test this, but tests in an upcoming patch rely
on this functionality (see
https://github.com/llvm/llvm-project/pull/126045).
Currently the only place `ShouldSkipZero` is set to `false` is when
emitting the `DW_LANG_` enum. But the language codes start at `0x1`. So
it never exercised this codepath (and we should probably just make it
not pass this parameter).
Commit: a183184e08aab6e4921c7817d117b0f850794d38
https://github.com/llvm/llvm-project/commit/a183184e08aab6e4921c7817d117b0f850794d38
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
Log Message:
-----------
[clang-linker-wrapper][lit] Temporarily disable OpenMP SPIR-V ELF test (#126104)
The fix requires more investigation, and it's a test issue so reverting
the product changes should not be necessary.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: f8e53a93be91299818e761afa8effd8301999336
https://github.com/llvm/llvm-project/commit/f8e53a93be91299818e761afa8effd8301999336
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Precommit end-to-end test for `--repository` option (#122565)
We test the `--repository` output in the unit tests, but that option fails to
change the HTML output in the end-to-end tests. Upcoming patches will address
the incorrect behavior.
Commit: f2bca9e3856bd070320473a016f706bf84a5dd5e
https://github.com/llvm/llvm-project/commit/f2bca9e3856bd070320473a016f706bf84a5dd5e
Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
Log Message:
-----------
[MLIR][Linalg] Introduce broadcast/transpose semantic to batch_matmul (#122275)
Goals:
1. To add syntax and semantic to 'batch_matmul' without changing any of
the existing syntax expectations for current usage. batch_matmul is
still just batch_matmul.
2. Move the definition of batch_matmul from linalg OpDsl to tablegen ODS
infra.
Scope of this patch:
To expose broadcast and transpose semantics on the 'batch_matmul'.
The broadcast and transpose semantic are as follows:
By default, 'linalg.batch_matmul' behavior will remain as is. Broadcast
and Transpose semantics can be applied by specifying the explicit
attribute 'indexing_maps' as shown below. This is a list attribute, so
the list must include all the maps if specified.
Example Transpose:
```
linalg.batch_matmul indexing_maps = [
affine_map< (d0, d1, d2, d3) -> (d0, d3, d1)>, //transpose
affine_map< (d0, d1, d2, d3) -> (d0, d3, d2)>,
affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)>
]
ins (%arg0, %arg1: memref<2x5x3xf32>,memref<2x5x7xf32>)
outs (%arg2: memref<2x3x7xf32>)
```
Example Broadcast:
```
linalg.batch_matmul indexing_maps = [
affine_map< (d0, d1, d2, d3) -> (d3)>, //broadcast
affine_map< (d0, d1, d2, d3) -> (d0, d3, d2)>,
affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)>
]
ins (%arg0, %arg1: memref<5xf32>,memref<2x5x7xf32>)
outs (%arg2: memref<2x3x7xf32>)
```
Example Broadcast and transpose:
```
linalg.batch_matmul indexing_maps = [
affine_map< (d0, d1, d2, d3) -> (d1, d3)>, //broadcast
affine_map< (d0, d1, d2, d3) -> (d0, d2, d3)>, //transpose
affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)>
]
ins (%arg0, %arg1: memref<3x5xf32>, memref<2x7x5xf32>)
outs (%arg2: memref<2x3x7xf32>)
```
RFCs and related PR:
https://discourse.llvm.org/t/rfc-linalg-opdsl-constant-list-attribute-definition/80149
https://discourse.llvm.org/t/rfc-op-explosion-in-linalg/82863
https://discourse.llvm.org/t/rfc-mlir-linalg-operation-tree/83586
https://github.com/llvm/llvm-project/pull/115319
Commit: c4d75b1e9b9c22577032ba68b7560481027b4b8a
https://github.com/llvm/llvm-project/commit/c4d75b1e9b9c22577032ba68b7560481027b4b8a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParser][NFC] Fix doxygen comment
Commit: e40610d7626a4c8eb760979176f0dce79cba6165
https://github.com/llvm/llvm-project/commit/e40610d7626a4c8eb760979176f0dce79cba6165
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for f497fe464bad8743b8a87ba04a5c53579a03711a
Commit: b2bd3a45ec3f35eaeddf1321c9f8a0295bb125df
https://github.com/llvm/llvm-project/commit/b2bd3a45ec3f35eaeddf1321c9f8a0295bb125df
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/unrecognized-sm1x.ll
Log Message:
-----------
[NVPTX] Require asserts in `unrecognized-sm1x.ll` (#126105)
Fix clang-with-thin-lto-ubuntu - failed build
Commit: 14d6e1ebf52c7bb3db8efba840e9b82d22436786
https://github.com/llvm/llvm-project/commit/14d6e1ebf52c7bb3db8efba840e9b82d22436786
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M offload/test/sanitizer/kernel_trap.c
Log Message:
-----------
Update test for symbolizer fix
Commit: 1a7e79b85dfbce32ccab6b4fb7fc3b1906f1d997
https://github.com/llvm/llvm-project/commit/1a7e79b85dfbce32ccab6b4fb7fc3b1906f1d997
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
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/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Make `--repository` change the HTML output (#122566)
The current check in writeFileDefinition() is incorrect, and prevents us
from ever emitting the URL from the clang-doc tool. The unit tests do
test this, but call the API directly circumventing the check.
This is the first step towards addressing #59814.
Commit: ec7167bac7c89b43449dbce81e65fb09e5d27cb5
https://github.com/llvm/llvm-project/commit/ec7167bac7c89b43449dbce81e65fb09e5d27cb5
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Disable fixed point printing for baremetal (#126115)
This follows suite with disabling float printing.
Commit: 068d0c0f4b8d3c47f2a9c3680d96f91a2a1e1c9c
https://github.com/llvm/llvm-project/commit/068d0c0f4b8d3c47f2a9c3680d96f91a2a1e1c9c
Author: Lei Wang <wlei at fb.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
Log Message:
-----------
[CSSPGO] Turn on call-graph matching by default for CSSPGO (#125938)
Tested call-graph matching on some of Meta's large services, it works to
reuse some renamed function profiles, no negative perf or significant
build speed regression observed. Turned it on by default for CSSPGO
mode.
Commit: 48da1e22e2d789673066ce51fa648f5f1e6a0887
https://github.com/llvm/llvm-project/commit/48da1e22e2d789673066ce51fa648f5f1e6a0887
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-cvt.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
Log Message:
-----------
[msan][NFCI] Add tests for Arm NEON vector convert (#126095)
Suboptimally handled by visitInstruction: llvm.aarch64.neon.
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu
- fcvtxn
- vcvtfp2fxs, vcvtfp2fxu
- vcvtfxs2fp, vcvtfxu2fp
Forked from llvm/test/CodeGen/AArch64/arm64-{cvt,vcvt}.ll
Commit: b35749559ddd9b2d4e044ef71d13d888b8a3d8cb
https://github.com/llvm/llvm-project/commit/b35749559ddd9b2d4e044ef71d13d888b8a3d8cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Internalize.cpp
Log Message:
-----------
[OpenMP] Fix misspelled symbol name (#126120)
Summary:
This is supposed to be `__llvm_rpc_client` but I screwed it up and
didn't notice at the time. Will need to be backported.
Commit: 6dc41a639334b913e762f65410fcd14a722b137f
https://github.com/llvm/llvm-project/commit/6dc41a639334b913e762f65410fcd14a722b137f
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
Log Message:
-----------
[flang][NFC] Moving alias analysis utilities utilities together. Adding new utility. (#125925)
1. Our static functions are a bit spread out in this file. I am
gathering them in an anonymous namespace
2. Moving the code to get the `target` attribute on a `fir.global` into
its own utility.
Commit: 788c88e2f6bb028ebb53af52624b93a733d34a2b
https://github.com/llvm/llvm-project/commit/788c88e2f6bb028ebb53af52624b93a733d34a2b
Author: vporpo <vporpodas at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DependencyGraph] Fix dependency node iterators (#125616)
This patch fixes a bug in the dependency node iterators that would
incorrectly not skip nodes that are not in the current DAG. This
resulted in iterators returning nullptr when dereferenced.
The fix is to update the existing "skip" function to not only skip
non-instruction values but also to skip instructions not in the DAG.
Commit: f6162108c06b7c1d38bd53d125a13677d4fa5a19
https://github.com/llvm/llvm-project/commit/f6162108c06b7c1d38bd53d125a13677d4fa5a19
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Update npm dependencies (#125832)
This commit upgrades our npm dependencies to the latest available
version.
I was prompted to this change because `npm run package` failed for me
with an error. The error disappeared after upgrading `@vscode/vsce`. I
also upgraded the other dependencies because I think it's generally
preferable to stay up-to-date.
I did not bump the `@types/vscode` and `@types/node` versions, since
this would effectively make older VS-Code versions unsupported. I also
changed `@types/vscode` to be a precise version match, since we are
claiming compatibility with that version via the `enginges.vscode`
property.
Commit: b93f8b8a97193e38f393dc07bd7945d331558e23
https://github.com/llvm/llvm-project/commit/b93f8b8a97193e38f393dc07bd7945d331558e23
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
[Modules] Fix missing module dependency introduced by 7347870 (#126007)
73478708839fad8b02b3cfc84959d64a15ba93ca introduced a textual header but
did not update clang's module map. This PR adds the header to the module
map.
Commit: a5fc7c3ac153bddab7c9d3464f17037dd5945de6
https://github.com/llvm/llvm-project/commit/a5fc7c3ac153bddab7c9d3464f17037dd5945de6
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/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/tools/libclang/CIndex.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/lib/IR/Assumptions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/icv_tracking.ll
Log Message:
-----------
[clang][OpenMP] New OpenMP 6.0 assumption clause, 'no_openmp_constructs' (#125933)
Add initial parsing/sema support for new assumption clause so clause can
be specified. For now, it's ignored, just like the others.
Added support for 'no_openmp_construct' to release notes.
Testing
- Updated appropriate LIT tests.
- Testing: check-all
Commit: 624dc00e766a1554febea289ec0f3a90f0c8047c
https://github.com/llvm/llvm-project/commit/624dc00e766a1554febea289ec0f3a90f0c8047c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
Log Message:
-----------
[RISCV][NFC] Remove nounwind from push/pop tests (#125939)
These tests are for frame handling code with push/pop. To increase
coverage of CFI/Unwind info, this removes the `nounwind` annotations and
regenerates the checks for this test.
Commit: 02fa340711d9b990b50a0daf65eb850404884137
https://github.com/llvm/llvm-project/commit/02fa340711d9b990b50a0daf65eb850404884137
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
A flang/include/flang/Testing/fp-testing.h
A flang/include/flang/Testing/testing.h
M flang/lib/CMakeLists.txt
A flang/lib/Testing/CMakeLists.txt
A flang/lib/Testing/fp-testing.cpp
A flang/lib/Testing/testing.cpp
M flang/unittests/Evaluate/CMakeLists.txt
M 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
M flang/unittests/Evaluate/reshape.cpp
R flang/unittests/Evaluate/testing.cpp
R flang/unittests/Evaluate/testing.h
M flang/unittests/Evaluate/uint128.cpp
Log Message:
-----------
[Flang] Promote FortranEvaluateTesting library (#124417)
The non-GTest library will be shared by unittests of Flang and Flang-RT.
Promote it as a regular library for use by both projects.
In the long term, we may want to convert these to regular GTest checks
to avoid having multiple testing frameworks.
Commit: 4c8acbded152326ad138e1af340c0dbd5e31bbb7
https://github.com/llvm/llvm-project/commit/4c8acbded152326ad138e1af340c0dbd5e31bbb7
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libc/test/src/stdio/fileop_test.cpp
Log Message:
-----------
[libc][minor] Fix assertion in LlvmLibcFILETest.SimpleFileOperations (#126109)
The file descriptor of the first opened file is not necessarily 3, so we
change the assertion so that it's >= 0 (i.e. not an error.)
Fixes #126106
Commit: 049aa179dc37341c3f17d3e078231c9a886bcf51
https://github.com/llvm/llvm-project/commit/049aa179dc37341c3f17d3e078231c9a886bcf51
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Simplify operand tuple matching in VPlanPatternMatch (NFC).
Remove some indirection when matching recipe and matcher operands by
directly using fold over parameter pack.
Commit: da053415d214d6a66ff5f8c69eb35b2c9ada9caf
https://github.com/llvm/llvm-project/commit/da053415d214d6a66ff5f8c69eb35b2c9ada9caf
Author: Sinkevich Artem <artsin666 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/UsersManual.rst
M compiler-rt/lib/profile/InstrProfilingFile.c
A compiler-rt/test/profile/Linux/binary-id-path.c
Log Message:
-----------
[profile] Add `%b` `LLVM_PROFILE_FILE` option for binary ID (#123963)
Add support for expanding `%b` in `LLVM_PROFILE_FILE` to the binary ID
(build ID). It can be used with `%m` to avoid its signature collisions.
This is supported on all platforms where writing binary IDs into
profiles is implemented, as the `__llvm_write_binary_ids` function is
used.
Fixes #51560.
Commit: d905c7e316b941afcef32e28073b3e77c536407c
https://github.com/llvm/llvm-project/commit/d905c7e316b941afcef32e28073b3e77c536407c
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M compiler-rt/lib/xray/xray_tsc.h
Log Message:
-----------
[XRay][SystemZ] Use stckf for non-clang compilers (#125289)
Turns out there are users who use gcc to compile compiler-rt. Using the
clang-specific builtin function `__builtin_readcyclecounter()` does not
work in this case.
Solution is to use inline assembly using the stckf instruction in case
the compiler is not clang.
Commit: 1d319dfe7d1ea39354ff61c5568bfecad3ce3d15
https://github.com/llvm/llvm-project/commit/1d319dfe7d1ea39354ff61c5568bfecad3ce3d15
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/test/benchmarks/GenerateInput.h
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/map.bench.cpp
R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set.bench.cpp
Log Message:
-----------
[libc++] Implement generic associative container benchmarks (#123663)
This patch implements generic associative container benchmarks for
containers with unique keys. In doing so, it replaces the existing
std::map benchmarks which were based on the cartesian product
infrastructure and were too slow to execute.
These new benchmarks aim to strike a balance between exhaustive coverage
of all operations in the most interesting case, while executing fairly
rapidly (~40s on my machine).
This bumps the requirement for the map benchmarks from C++17 to C++20
because the common header that provides associative container benchmarks
requires support for C++20 concepts.
Commit: 98752ef893eba2bfda99ba99cc07026f00c8273f
https://github.com/llvm/llvm-project/commit/98752ef893eba2bfda99ba99cc07026f00c8273f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Add interface for sinpi, cospi and sincospi (#126123)
Add interface for `sinpi`, `cospi` and `sincospi` and also expose
`sincosf`
Commit: 74c2e9a82aa51c574c92f4c53bbe065cf8fc7a12
https://github.com/llvm/llvm-project/commit/74c2e9a82aa51c574c92f4c53bbe065cf8fc7a12
Author: Alex Prabhat Bara <alexpbara at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libc/config/linux/aarch64/headers.txt
Log Message:
-----------
[libc] generate sys/wait.h for aarch64 (#125171)
Fixes: #125102
Commit: 1dbfbb5ce60794a5e986df706ea8e7a058115e26
https://github.com/llvm/llvm-project/commit/1dbfbb5ce60794a5e986df706ea8e7a058115e26
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Stop cloning traversal on single allocation type (#126131)
We were previously checking this after recursing on all callers, but if
we already have a single allocation type there is no need to even look
at any callers. Didn't show a significant improvement overall, but it
does reduce the count of times we enter the identifyClones and do other
checks.
Commit: da083e282cc1704c85b1724ae9b9f9d1b4cf5668
https://github.com/llvm/llvm-project/commit/da083e282cc1704c85b1724ae9b9f9d1b4cf5668
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
R clang/include/clang/Basic/BuiltinsSME.def
R clang/include/clang/Basic/BuiltinsSVE.def
M clang/include/module.modulemap
Log Message:
-----------
[StrTable] Fix modules build and clean up stale files (#125979)
I missed a few places to tidy up from before using the tablengen files
directly for the builtins. I didn't remove all of the modulemap entries
and there were two small `.def` files left lingering. This should clean
all of that up. I went through to cross check the list of files and it
looks correct now.
Commit: f0e1857c84186263ab3bd8b9420b54c8c5810136
https://github.com/llvm/llvm-project/commit/f0e1857c84186263ab3bd8b9420b54c8c5810136
Author: Alan Li <me at alanli.org>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-non-atomic.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
Log Message:
-----------
[MLIR] Support non-atomic RMW option for emulated vector stores (#124887)
This patch is a followup of the previous one: #115922, It adds an option
to turn on emitting non-atomic rmw code sequence instead of atomic rmw.
Commit: f7294776570e125b94bb5625905cbc57a4956760
https://github.com/llvm/llvm-project/commit/f7294776570e125b94bb5625905cbc57a4956760
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/MinGW.cpp
M lld/COFF/MinGW.h
A lld/test/COFF/arm64x-export-all.s
Log Message:
-----------
[LLD][COFF] Add support for MinGW auto-export on ARM64X (#125862)
Export all symbols from both EC and native symbol tables. If an explicit
export is present in either symbol table, auto-export is disabled for
both.
Commit: b40ef2ce46480a501e530cf7ee0d434b2b8f910f
https://github.com/llvm/llvm-project/commit/b40ef2ce46480a501e530cf7ee0d434b2b8f910f
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV][Disassemble] Ensure the comment stream of the disassembler is set. (#125962)
Commit: 166b2e88378bae4d74f9bdc56f1521150162fbf1
https://github.com/llvm/llvm-project/commit/166b2e88378bae4d74f9bdc56f1521150162fbf1
Author: vporpo <vporpodas at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Update DAG when a new instruction is created (#126124)
The DAG will now receive a callback whenever a new instruction is
created and will update itself accordingly.
Commit: 8d925a1c72600807199894b5852bd8a032eca795
https://github.com/llvm/llvm-project/commit/8d925a1c72600807199894b5852bd8a032eca795
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M compiler-rt/test/profile/Linux/binary-id-path.c
Log Message:
-----------
[compiler-rt] Fix binary-id-path.c after da053415d214d6a66ff5f8c69eb35b2c9ada9caf
Commit: 6e2f08b2f86aa6a2d1cb3cb3e88f0813877a3ced
https://github.com/llvm/llvm-project/commit/6e2f08b2f86aa6a2d1cb3cb3e88f0813877a3ced
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
Log Message:
-----------
[Clang][NFC] Clean up fetching the offloading toolchain (#125095)
Summary:
This patch cleans up how we query the offloading toolchain. We create a
single that is more similar to the existing `getToolChain` driver
function and make all the offloading handlers use it.
Commit: fe58eee60200c91b5b4131e9dc73a5e870b3cf4d
https://github.com/llvm/llvm-project/commit/fe58eee60200c91b5b4131e9dc73a5e870b3cf4d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/Xarch.c
Log Message:
-----------
[Clang] Only allow `clang` arguments to `-Xarch` (#126101)
Summary:
Currently the `-Xarch` argument needs to re-parse the option, which goes
through every single registered argument. This causes errors when trying
to pass `-O1` through it because it thinks it's a DXC option. This patch
changes the behavior to only allow `clang` options. Concievably we could
detect the driver mode to make this more robust, but I don't know if
there are other users for this.
Fixes: https://github.com/llvm/llvm-project/issues/110325
Commit: 01072e546fd6243b889c6cfc109e9ad761e1b17c
https://github.com/llvm/llvm-project/commit/01072e546fd6243b889c6cfc109e9ad761e1b17c
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.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/CodeGenFunction.h
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
A clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
Log Message:
-----------
[HLSL] Implement HLSL Flat casting (excluding splat cases) (#118842)
Implement HLSLElementwiseCast excluding support for splat cases
Do not support casting types that contain bitfields.
Partly closes #100609 and partly closes #100619
Commit: 97b08b8ee06b8a822a3b0013d19aac64f4f0c3d2
https://github.com/llvm/llvm-project/commit/97b08b8ee06b8a822a3b0013d19aac64f4f0c3d2
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2025-02-07 (Fri, 07 Feb 2025)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
Log Message:
-----------
[mlir][amdgpu] Support for 8bit extf for 0d vector type (#126102)
For 0d vector type the rewrite crashes.
Commit: 8b65411b006cbe302dea7d00ff79abddd1403061
https://github.com/llvm/llvm-project/commit/8b65411b006cbe302dea7d00ff79abddd1403061
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
M lldb/test/API/commands/watchpoints/unaligned-watchpoint/TestUnalignedWatchpoint.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyCrash.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManySignals.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyWatchpoints.py
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
M lldb/test/API/functionalities/watchpoint/unaligned-spanning-two-dwords/TestUnalignedSpanningDwords.py
M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
M lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
M lldb/test/API/macosx/ignore_exceptions/TestIgnoredExceptions.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
M lldb/test/API/macosx/stack-corefile/TestStackCorefile.py
M lldb/test/API/macosx/unregistered-macho/TestUnregisteredMacho.py
M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
Log Message:
-----------
[lldb][NFC] Remove old skipIfOutOfTreeDebugserver's (#126144)
When a test depends on a new debugserver feature/fix, the API test must
be marked @skipIfOutOfTreeDebugserver because the macOS CI bots test
using the latest Xcode release debugserver. But over time all of these
fixes & new features are picked up in the Xcode debugserver and these
skips can be removed.
We may see unexpected test failures from removing all of these 1+ year
old skips, but that's likely a separate reason the test is failing that
is being papered over by this skip.
Commit: 5399782508e9573b0d2f184b151997375a1dfdeb
https://github.com/llvm/llvm-project/commit/5399782508e9573b0d2f184b151997375a1dfdeb
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/MDBuilder.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/MDBuilder.cpp
A llvm/test/CodeGen/X86/data-section-prefix.ll
M llvm/test/Transforms/CodeGenPrepare/X86/section-samplepgo.ll
M llvm/test/Transforms/CodeGenPrepare/X86/section.ll
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
M llvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll
Log Message:
-----------
[IR] Generalize Function's {set,get}SectionPrefix to GlobalObjects, the base class of {Function, GlobalVariable, IFunc} (#125757)
This is a split of https://github.com/llvm/llvm-project/pull/125756
Commit: 4e096e908e088e50d96a9f6e3a4fd2f8a8fe3374
https://github.com/llvm/llvm-project/commit/4e096e908e088e50d96a9f6e3a4fd2f8a8fe3374
Author: mingmingl <mingmingl at google.com>
Date: 2025-02-07 (Fri, 07 Feb 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/data-in-code.s
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
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/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
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/Basic/AttrDocs.td
R clang/include/clang/Basic/BuiltinsSME.def
R clang/include/clang/Basic/BuiltinsSVE.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/include/clang/CIR/Dialect/IR/CIRAttrVisitor.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/module.modulemap
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Basic/Warnings.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCUDANV.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/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
R clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
R clang/test/Analysis/array-bound-v2-constraint-check.c
A clang/test/Analysis/ftime-trace-bind.cpp
A clang/test/Analysis/ftime-trace-removeDead.cpp
M clang/test/Analysis/index-type.c
M clang/test/Analysis/misc-ps-region-store.m
M clang/test/Analysis/no-outofbounds.c
A 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-new.cpp
M clang/test/Analysis/out-of-bounds-notes.c
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/outofbound-notwork.c
M clang/test/Analysis/outofbound.c
R clang/test/Analysis/rdar-6541136-region.c
M clang/test/Analysis/runtime-regression.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CMakeLists.txt
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/blocks-windows.c
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
A clang/test/CodeGen/kcfi-arity.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/Driver/Xarch.c
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/openbsd.c
M clang/test/Driver/openmp-offload.c
A clang/test/Driver/warning-suppression-mappings-not-parsed.cpp
M clang/test/OpenMP/assume_lambda.cpp
M clang/test/OpenMP/assume_nesting_tmpl.cpp
M clang/test/OpenMP/assume_template.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_messages.c
M clang/test/OpenMP/assumes_messages_attr.c
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/attr-assume.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
A clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/www/analyzer/open_projects.html
M clang/www/analyzer/potential_checkers.html
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/xray/xray_tsc.h
A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
A compiler-rt/test/profile/Linux/binary-id-path.c
R flang/include/flang/Common/Fortran-features.h
R flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/ISO_Fortran_binding_wrapper.h
R flang/include/flang/Common/LangOptions.def
R flang/include/flang/Common/LangOptions.h
R flang/include/flang/Common/MathOptionsBase.def
R flang/include/flang/Common/MathOptionsBase.h
R flang/include/flang/Common/OpenMP-features.h
R flang/include/flang/Common/OpenMP-utils.h
R flang/include/flang/Common/Version.h
R flang/include/flang/Common/default-kinds.h
M flang/include/flang/Common/erfc-scaled.h
M flang/include/flang/Common/fast-int-set.h
M flang/include/flang/Common/format.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/target-rounding.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/intrinsics.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/ISO_Fortran_binding.h
R flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/LoweringOptions.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/Support/TypeCode.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parse-state.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Parser/user-state.h
M flang/include/flang/Runtime/descriptor-consts.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/random.h
M flang/include/flang/Runtime/support.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
A flang/include/flang/Support/Fortran-features.h
A flang/include/flang/Support/Fortran.h
A flang/include/flang/Support/LangOptions.def
A flang/include/flang/Support/LangOptions.h
A flang/include/flang/Support/MathOptionsBase.def
A flang/include/flang/Support/MathOptionsBase.h
A flang/include/flang/Support/OpenMP-features.h
A flang/include/flang/Support/OpenMP-utils.h
A flang/include/flang/Support/Version.h
A flang/include/flang/Support/default-kinds.h
A flang/include/flang/Testing/fp-testing.h
A flang/include/flang/Testing/testing.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/CMakeLists.txt
R flang/lib/Common/CMakeLists.txt
R flang/lib/Common/Fortran-features.cpp
R flang/lib/Common/Fortran.cpp
R flang/lib/Common/LangOptions.cpp
R flang/lib/Common/OpenMP-utils.cpp
R flang/lib/Common/Version.cpp
R flang/lib/Common/default-kinds.cpp
R flang/lib/Common/idioms.cpp
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Evaluate/call.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
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/CallInterface.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/CMakeLists.txt
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackReclaim.cpp
M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/basic-parsers.h
M flang/lib/Parser/prescan.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-return.cpp
M flang/lib/Semantics/check-select-rank.cpp
M flang/lib/Semantics/check-stop.cpp
M flang/lib/Semantics/data-to-inits.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/CMakeLists.txt
A flang/lib/Support/Fortran-features.cpp
A flang/lib/Support/Fortran.cpp
A flang/lib/Support/LangOptions.cpp
A flang/lib/Support/OpenMP-utils.cpp
A flang/lib/Support/Version.cpp
A flang/lib/Support/default-kinds.cpp
A flang/lib/Support/idioms.cpp
A flang/lib/Testing/CMakeLists.txt
A flang/lib/Testing/fp-testing.cpp
A flang/lib/Testing/testing.cpp
M flang/module/cudadevice.f90
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/ISO_Fortran_binding.cpp
M flang/runtime/ISO_Fortran_util.h
M flang/runtime/allocatable.cpp
M flang/runtime/stat.h
M flang/runtime/temporary-stack.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
M flang/test/Driver/linker-flags.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Intrinsics/math-codegen.fir
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.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-lastprivate-of-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.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/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.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-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/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
A flang/test/Semantics/OpenMP/reduction-derived-component.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/f18-parse-demo/CMakeLists.txt
M flang/tools/f18-parse-demo/f18-parse-demo.cpp
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
M 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
M 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/Frontend/CMakeLists.txt
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
M flang/unittests/Runtime/TemporaryStack.cpp
M libc/config/baremetal/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/__llvm-libc-common.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/setjmp.yaml
M libc/include/sys/uio.yaml
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/integer_to_string.h
M libc/src/setjmp/setjmp_impl.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/sys/uio/CMakeLists.txt
M libc/src/sys/uio/linux/CMakeLists.txt
A libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
A libc/src/sys/uio/readv.h
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/sys/uio/CMakeLists.txt
A libc/test/src/sys/uio/readv_test.cpp
M libc/test/src/sys/uio/writev_test.cpp
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_remainder.cl
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/radix_sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/ostream.h
A libcxx/include/__chrono/tai_clock.h
M libcxx/include/__type_traits/is_trivially_relocatable.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/chrono
M libcxx/include/module.modulemap
M libcxx/include/string
M libcxx/modules/std/chrono.inc
M libcxx/test/benchmarks/GenerateInput.h
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/map.bench.cpp
R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set.bench.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
R libcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.to_utc.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
A libcxx/test/std/containers/sequences/vector/trivial_relocation.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/from_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/now.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
A libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
M libcxx/test/support/concat_macros.h
M lld/COFF/Driver.cpp
M lld/COFF/MinGW.cpp
M lld/COFF/MinGW.h
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
A lld/test/COFF/arm64x-export-all.s
M lld/test/ELF/executable-undefined-ignoreall.s
M lld/test/ELF/ppc32-weak-undef-call.s
M lld/test/ELF/ppc64-undefined-weak.s
M lld/test/ELF/riscv-gp.s
M lld/test/ELF/weak-undef-lib.s
M lld/test/ELF/weak-undef-no-dynamic-linker.s
M lld/test/ELF/weak-undef-rw.s
M lldb/bindings/interface/SBFrameDocstrings.i
M lldb/bindings/interface/SBFrameExtensions.i
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/API/SBFunction.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
M lldb/test/API/commands/watchpoints/unaligned-watchpoint/TestUnalignedWatchpoint.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyCrash.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManySignals.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyWatchpoints.py
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
M lldb/test/API/functionalities/watchpoint/unaligned-spanning-two-dwords/TestUnalignedSpanningDwords.py
M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
M lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
M lldb/test/API/macosx/ignore_exceptions/TestIgnoredExceptions.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
M lldb/test/API/macosx/stack-corefile/TestStackCorefile.py
M lldb/test/API/macosx/unregistered-macho/TestUnregisteredMacho.py
M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M llvm/docs/ConvergenceAndUniformity.rst
M llvm/include/llvm/ADT/StableHashing.h
M llvm/include/llvm/Analysis/CFGPrinter.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/lib/Analysis/CFGPrinter.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/Dwarf.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Assumptions.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/IPO/Internalize.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-addv.mir
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
A llvm/test/CodeGen/AArch64/fprcvt-cvtf.ll
M llvm/test/CodeGen/AArch64/spill-fill-zpr-predicates.mir
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
A llvm/test/CodeGen/ARM/pr122670-regression.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/NVPTX/fence-cluster.ll
M llvm/test/CodeGen/NVPTX/fence-nocluster.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
A llvm/test/CodeGen/NVPTX/setmaxnreg-sm100a.ll
A llvm/test/CodeGen/NVPTX/unrecognized-sm1x.ll
M llvm/test/CodeGen/RISCV/GlobalISel/combine.ll
A llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
A llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
A llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
A llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
M llvm/test/CodeGen/RISCV/select-const.ll
M llvm/test/CodeGen/X86/avx512-arith.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/fp-roundeven.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/half.ll
A llvm/test/CodeGen/X86/kcfi-arity.ll
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
M llvm/test/CodeGen/X86/pr31088.ll
M llvm/test/CodeGen/X86/select-narrow-int-to-fp.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
A llvm/test/DebugInfo/AArch64/DW_AT_APPLE_enum_kind.ll
R llvm/test/ExecutionEngine/Orc/minimal-throw-catch.ll
A llvm/test/ExecutionEngine/Orc/throw-catch-minimal.ll
A llvm/test/ExecutionEngine/Orc/throw-catch-no-frame-pointer.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-cvt.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-fminv.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vadd.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddlv.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
A llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
A llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
R llvm/test/Transforms/IndVarSimplify/iv-zext-samesign-datalayout.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
M llvm/test/Transforms/InstCombine/xor-icmps.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
M llvm/test/Transforms/NaryReassociate/nary-gep.ll
M llvm/test/Transforms/OpenMP/icv_tracking.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
A llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
A llvm/test/Transforms/VectorCombine/X86/extract-insert.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load.ll
A llvm/test/Transforms/VectorCombine/X86/pr126085.ll
A llvm/test/tools/llvm-dwarfdump/AArch64/DW_AT_APPLE_enum_kind.s
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Support/ErrorTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
A llvm/utils/gn/secondary/libc/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
M mlir/include/mlir/Conversion/LLVMCommon/MemRefBuilder.h
M mlir/include/mlir/Conversion/LLVMCommon/StructBuilder.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
A mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
M mlir/test/Conversion/ArithToLLVM/convert-nd-vector-to-llvmir.mlir
M mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
M mlir/test/Conversion/ComplexToLLVM/full-conversion.mlir
M mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
M mlir/test/Conversion/GPUCommon/memory-attrbution.mlir
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToNVVM/wmma-ops-to-nvvm.mlir
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
M mlir/test/Conversion/UBToSPIRV/ub-to-spirv.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/GPU/dynamic-shared-memory.mlir
M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-target-tag.mlir
M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-top-level-named-sequence.mlir
A mlir/test/Dialect/LLVMIR/alias.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SparseTensor/specifier_to_llvm.mlir
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-non-atomic.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/Examples/transform/ChH/full.mlir
A mlir/test/Target/LLVMIR/Import/alias.ll
A mlir/test/Target/LLVMIR/alias.mlir
A mlir/test/Target/LLVMIR/omptarget-debug-nowait.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-private.mlir
A mlir/test/Target/LLVMIR/openmp-target-wsloop-private.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-private-cond_br.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
M mlir/test/mlir-runner/test-expand-math-approx.mlir
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
M offload/src/PluginManager.cpp
M offload/test/sanitizer/kernel_trap.c
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
merge with main, and resolve code review comments
Compare: https://github.com/llvm/llvm-project/compare/f07d34d0d02b...4e096e908e08
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