[all-commits] [llvm/llvm-project] de0998: [mlir][math] `powf(a, b)` drop support when a < 0 ...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Tue Feb 18 23:23:06 PST 2025
Branch: refs/heads/revert-127076-revert-125020-users/vitalybuka/spr/libclang-always-dup-in-createref
Home: https://github.com/llvm/llvm-project
Commit: de09986596c9bbc89262456dda319715fb49353f
https://github.com/llvm/llvm-project/commit/de09986596c9bbc89262456dda319715fb49353f
Author: Hyunsung Lee <ita9naiwa at gmail.com>
Date: 2025-02-13 (Thu, 13 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:
-----------
[mlir][math] `powf(a, b)` drop support when a < 0 (#126338)
Related: #124402
- change inefficient implementation of `powf(a, b)` to handle `a < 0`
case
- thus drop `a < 0` case support
However, some special cases are being used such as:
- `a < 0` and `b = 0, b = 0.5, b = 1 or b = 2`
- convert those special cases into simpler ops.
Commit: b2165f214efab833a4b1a9e8268b1030fc5ebaeb
https://github.com/llvm/llvm-project/commit/b2165f214efab833a4b1a9e8268b1030fc5ebaeb
Author: David Green <david.green at arm.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
Log Message:
-----------
[CostModel] Account for power-2 urem in funnel shift costs (#127037)
As can be seen in https://godbolt.org/z/qvMqY79cK, a urem by a power-2
constant will be code-generated as an And of a mask. The cost model for
funnel shifts tries to account for that by passing OP_PowerOf2 as the
operand info for the second operand. As far as I can tell returning a
lower cost for urem with a OP_PowerOf2 is only implemented on X86
though.
This patch short-cuts that by calling getArithmeticInstrCost(And, ..)
directly when we know the typesize will be a power-of-2. This is an
alternative to the patch in #126912 which is a more general solution for
power-2 udiv/urem costs, this more narrowly just fixes funnel shifts.
Commit: 21811818d6c1a50051032fdb2d350ffe89e1421a
https://github.com/llvm/llvm-project/commit/21811818d6c1a50051032fdb2d350ffe89e1421a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port aecb764cc2e026ecb5c418dd56f2722c6f263e8b
Commit: 8da8ff8768bc0115f21d7d8fe8d47872190f8de1
https://github.com/llvm/llvm-project/commit/8da8ff8768bc0115f21d7d8fe8d47872190f8de1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/TargetOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/mabi-riscv.f90
A flang/test/Lower/RISCV/riscv-target-abi.f90
Log Message:
-----------
[flang][RISCV] Add target-abi ModuleFlag. (#126188)
This is needed to generate proper ABI flags in the ELF header for LTO
builds. If these flags aren't set correctly, we can't link with objects
that were built with the correct flags.
For non-LTO builds the mcpu/mattr in the TargetMachine will cause the
backend to infer an ABI. For LTO builds the mcpu/mattr aren't set.
I've only added lp64, lp64f, and lp64d ABIs. ilp32* requires riscv32
which is not yet supported in flang. lp64e requires a different
DataLayout string and would need additional plumbing.
Fixes #115679
Commit: 88015d12ca600cf2a74ba3641f319c7ba056223b
https://github.com/llvm/llvm-project/commit/88015d12ca600cf2a74ba3641f319c7ba056223b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp:61:2: error:
extra ';' outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: ba45592377703f99e1955a51f19922522446caec
https://github.com/llvm/llvm-project/commit/ba45592377703f99e1955a51f19922522446caec
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
Log Message:
-----------
[AMDGPU] Try to fix -mattr=dumpcode on big-endian hosts (#127073)
Blind fix for #116982 failing on big-endian buildbots.
Commit: 2f8de7b466efc613111904ee36d13ec95976739a
https://github.com/llvm/llvm-project/commit/2f8de7b466efc613111904ee36d13ec95976739a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/validate/triton-tut-softmax-kernel.ll
Log Message:
-----------
[SPIR-V] Type inference must realize that a <1 x Type> vector type is not a legal vector type in LLT (#124560)
In this PR we account for possible <1 x LLVM Type> input to ensure that
we produce legal vector types during type inference.
We modify an LLVM type to conform with future transformations in
IRTranslator, if it's a <1 x Type> vector type, replacing it by the
element type, because <1 x Type> vector type is not a legal vector type
in LLT and IRTranslator will represent it as the scalar eventually.
Commit: 1138a4964adf76cc4af82b3f43dbc8db0b91cd46
https://github.com/llvm/llvm-project/commit/1138a4964adf76cc4af82b3f43dbc8db0b91cd46
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/main.cpp
Log Message:
-----------
[lldb] Fix build problem in llgs tests for RISC-V (#127091)
During testing of LLDB on RISC-V target, tests from the llgs category
were built with an error: `Error when building test subject.`
```
llvm-project/lldb/test/API/tools/lldb-server/main.cpp:151:40: error: missing ')' after '__builtin_debugtrap'
151 | #elif __has_builtin(__builtin_debugtrap())
| ~~~~~~~~~~~~~~~~~~~^
llvm-project/lldb/test/API/tools/lldb-server/main.cpp:151:20: note: to match this '('
151 | #elif __has_builtin(__builtin_debugtrap())
| ^
```
This patch fixes this error.
Commit: a663e78a6eb6bbd20c0c74b3e6a78e24ee423544
https://github.com/llvm/llvm-project/commit/a663e78a6eb6bbd20c0c74b3e6a78e24ee423544
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
Log Message:
-----------
[clang-tidy] Add recursion protection in ExceptionSpecAnalyzer (#66810)
Normally endless recursion should not happen in ExceptionSpecAnalyzer,
but if AST would be malformed (missing include), this could cause crash.
I run into this issue when due to missing include constructor argument
were parsed as FieldDecl.
As checking for recursion cost nothing, why not to do this in check just
in case.
Fixes #111436
Commit: 55f3df875d3a266c566f593357e2290879f49321
https://github.com/llvm/llvm-project/commit/55f3df875d3a266c566f593357e2290879f49321
Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/prefetch.ll
Log Message:
-----------
[NVPTX] Fix and refine prefetch.* intrinsics (#126899)
This is follow-up PR from #125887 which fixes the intrinsic failures .
---------
Co-authored-by: abmajumder <abmajumder at nvidia.com>
Commit: 79fff6aa324c560f4a32d5d2b0276744a2c49668
https://github.com/llvm/llvm-project/commit/79fff6aa324c560f4a32d5d2b0276744a2c49668
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/ELF/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/test/ELF/bp-section-orderer.s
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][BP] Avoid ordering ICF'ed sections (#126327)
ICF runs before BPSectionOrderer. When a section is ICF'ed, it seems
that the original sections are marked as not live, but are still kept
around. Prior to this patch, those ICF'ed sections would be passed to BP
and ordered before being skipped when writing the output. Now, these
sections are no longer passed to BP, saving runtime and possibly
improving BP's output.
In a large binary, I found that the number of sections ordered using BP
decreased, while the number of duplicate sections drastically decreased
as expected.
```
Functions for startup: 50755 -> 50520
Functions for compression: 165734 -> 105328
Duplicate functions: 1827231 -> 55230
```
Commit: e750c7e636f083c48a6cea7fae37ffc3734c7da0
https://github.com/llvm/llvm-project/commit/e750c7e636f083c48a6cea7fae37ffc3734c7da0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
Log Message:
-----------
[RISCV] Set Feature32Bit/Feature64Bit based on triple for -mcpu=help. (#127031)
llvm-mc keeps going after printing help text and creates an assembler.
If we don't set one of the XLen sized feature bits we trip a fatal error
in RISCVFeatures::validate.
llvm-mc should probably be fixed, but I don't know if its the only tool
with this issue.
Commit: f30c891464debb4e0d47d27ea77dc2220d7cdf29
https://github.com/llvm/llvm-project/commit/f30c891464debb4e0d47d27ea77dc2220d7cdf29
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A lldb/test/API/lang/cpp/enum_promotion/Makefile
A lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py
A lldb/test/API/lang/cpp/enum_promotion/main.cpp
Log Message:
-----------
[lldb] Analyze enum promotion type during parsing (#115005)
The information about an enum's best promotion type is discarded after
compilation and is not present in debug info. This patch repeats the
same analysis of each enum value as in the front-end to determine the
best promotion type during DWARF info parsing.
Fixes #86989
Commit: d096f45322660d59de5267555f121986629bab30
https://github.com/llvm/llvm-project/commit/d096f45322660d59de5267555f121986629bab30
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Avoid repeated map lookups (NFC) (#127023)
Commit: 44b61e056ddb237b7a40d46916abd5d7d6957a3c
https://github.com/llvm/llvm-project/commit/44b61e056ddb237b7a40d46916abd5d7d6957a3c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Analysis/PhiValues.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127024)
Commit: e7bf6a4e042fba2b1492be8fc5f430df3e9a43d2
https://github.com/llvm/llvm-project/commit/e7bf6a4e042fba2b1492be8fc5f430df3e9a43d2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/LiveStacks.cpp
Log Message:
-----------
[CodeGen] Avoid repeated map lookups (NFC) (#127025)
Commit: fec04f286ef5914f81a5bc188eb2f60cfdbacce8
https://github.com/llvm/llvm-project/commit/fec04f286ef5914f81a5bc188eb2f60cfdbacce8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Avoid repeated hash lookups (NFC) (#127026)
Commit: 9a59145d8e3782196378102c42f70f575bc2f99a
https://github.com/llvm/llvm-project/commit/9a59145d8e3782196378102c42f70f575bc2f99a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
Log Message:
-----------
[memprof] Avoid repeated map lookups (NFC) (#127027)
Commit: 4bda95304ff892d31c3ff7a89f75df25c0fa3bb9
https://github.com/llvm/llvm-project/commit/4bda95304ff892d31c3ff7a89f75df25c0fa3bb9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp
Log Message:
-----------
[llvm-profgen] Avoid repeated hash lookups (NFC) (#127028)
Commit: 4a97ce5f7560bf8be6d0291ae9ea054248fbcf24
https://github.com/llvm/llvm-project/commit/4a97ce5f7560bf8be6d0291ae9ea054248fbcf24
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstantsPass - pull out getPrimitiveSizeInBits call. NFC.
Commit: 07405ca03600fd27fa27fb63f09cd0807f92e31a
https://github.com/llvm/llvm-project/commit/07405ca03600fd27fa27fb63f09cd0807f92e31a
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
Log Message:
-----------
[AMDGPU] clang-format SIProgramInfo.h. NFC. (#127033)
Commit: 9a63a2c4babcaabaeb1a106345f3b037485efa4c
https://github.com/llvm/llvm-project/commit/9a63a2c4babcaabaeb1a106345f3b037485efa4c
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
A mlir/include/mlir-c/Dialect/Index.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/Index.cpp
Log Message:
-----------
[mlir][index] Add CAPI (#127039)
Commit: 660cdace559a8dbe44ebf2222b854bf3f39a5f62
https://github.com/llvm/llvm-project/commit/660cdace559a8dbe44ebf2222b854bf3f39a5f62
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M flang/runtime/pointer.cpp
M flang/unittests/Runtime/Pointer.cpp
Log Message:
-----------
[flang] Fixed write past allocated descriptor in PointerAssociateRemapping. (#127000)
The pointer descriptor might be smaller than the target descriptor,
so `operator=` would write beyound the pointer descriptor.
Commit: eb8ffd617a06d16d5e0928dd346b9ed2380c8fec
https://github.com/llvm/llvm-project/commit/eb8ffd617a06d16d5e0928dd346b9ed2380c8fec
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
Log Message:
-----------
[flang] AliasAnalysis: Handle fir.load on fir.alloca (#117785)
For example, determine that the address in p below cannot alias the
address of v:
```
subroutine test()
real, pointer :: p
real, target :: t
real :: v
p => t
v = p
end subroutine test
```
Commit: c81139f417a209dbd2a4e06465483d4b0951a9ac
https://github.com/llvm/llvm-project/commit/c81139f417a209dbd2a4e06465483d4b0951a9ac
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
libc/cmake: don't fail if LLVM_VERSION_SUFFIX isn't defined (#126359)
Closes: #126358
cc @samvangysegem
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: d18b1ebef5f5e355d6cee2b2f48789a159a5d616
https://github.com/llvm/llvm-project/commit/d18b1ebef5f5e355d6cee2b2f48789a159a5d616
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
Log Message:
-----------
[SLP]Check if vector user exist before accessing it
Need to check if vector user exist before accessing it to avoid compiler
crash.
Fixes #126581
Commit: 4ee173a1684e7a3afc6d32d576469425b3fe8387
https://github.com/llvm/llvm-project/commit/4ee173a1684e7a3afc6d32d576469425b3fe8387
Author: klensy <klensy at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M .mailmap
Log Message:
-----------
add me to mailmap (#126226)
Should add ability for buildbot to find proper mail.
https://github.com/buildbot/buildbot/blob/f1a84bbe5555a40b3fb4f04707fe6398aed4c092/master/buildbot/changes/gitpoller.py#L418
At least buildbot parses user names and mails with respect to mailmap.
Co-authored-by: klensy <nightouser at gmail.com>
Commit: 059722da5e2943856af7cb665fd7cacd41e61dc4
https://github.com/llvm/llvm-project/commit/059722da5e2943856af7cb665fd7cacd41e61dc4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
R llvm/lib/Target/RISCV/RISCVSchedGeneric.td
M llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
M llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
M llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/add-imm.ll
M llvm/test/CodeGen/RISCV/alloca.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bf16-promote.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/branch-on-zero.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32e.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/condbinops.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fastcc-bf16.ll
M llvm/test/CodeGen/RISCV/fastcc-float.ll
M llvm/test/CodeGen/RISCV/fastcc-half.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-select-fcmp.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fp-fcanonicalize.ll
M llvm/test/CodeGen/RISCV/fp128.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/get-setcc-result-type.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-mem.ll
M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-zfinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm-zhinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/legalize-fneg.ll
M llvm/test/CodeGen/RISCV/llvm.exp10.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/mem.ll
M llvm/test/CodeGen/RISCV/mem64.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/memmove.ll
M llvm/test/CodeGen/RISCV/memset-pattern.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/orc-b-patterns.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/RISCV/pr58511.ll
M llvm/test/CodeGen/RISCV/pr63816.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64-double-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store-merge-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mutate-prior-vsetvli-avl.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
M llvm/test/CodeGen/RISCV/rvv/pr125306.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/shrinkwrap.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.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/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-chain-fixed-load.ll
M llvm/test/CodeGen/RISCV/scmp.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
M llvm/test/CodeGen/RISCV/select-optimize-multiple.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shift-amount-mod.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/stack-slot-size.ll
M llvm/test/CodeGen/RISCV/stack-store-check.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/ucmp.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
M llvm/test/CodeGen/RISCV/xtheadmempair.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
Log Message:
-----------
Revert "[RISCV] Default to MicroOpBufferSize = 1 for scheduling purposes (#126608)" and follow up commit.
This reverts commit 9cc8442a2b438962883bbbfd8ff62ad4b1a2b95d.
This reverts commit 859c871184bdfdebb47b5c7ec5e59348e0534e0b.
A performance regression was reported on the original review. There appears
to have been an unexpected interaction here. Reverting during investigation.
Commit: c52fbabc93d493ec94edc380c5434729731d0a3b
https://github.com/llvm/llvm-project/commit/c52fbabc93d493ec94edc380c5434729731d0a3b
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-buildid.s
Log Message:
-----------
[LLD][COFF] Set __buildid symbol in both symbol tables on ARM64X (#126777)
Commit: 0feb00f17cbaac7428dcb7aed13d903b65974978
https://github.com/llvm/llvm-project/commit/0feb00f17cbaac7428dcb7aed13d903b65974978
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/enum_promotion/main.cpp
Log Message:
-----------
[lldb][test] TestCPPEnumPromotion: make sure enums are preserved in dSYM
On macOS CI this was failing with:
```
FAIL: test_dsym (TestCPPEnumPromotion.TestCPPEnumPromotion)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1784, in test_method
return attrvalue(self)
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py", line 28, in test
self.expect_expr("+EnumUChar::UChar", result_type=UChar_promoted.type.name)
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2540, in expect_expr
value_check.check_value(self, eval_result, str(eval_result))
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 299, in check_value
test_base.assertSuccess(val.GetError())
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2575, in assertSuccess
self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
AssertionError: 'error: <user expression 0>:1:2: use of undeclared identifier 'EnumUChar'
1 | +EnumUChar::UChar
| ^
' is not success
```
But only for the `dSYM` variant of the test.
Looking at the dSYM, none of the enums are actually preserved in the debug-info. We have to actually use the enum types in source to get dsymutil to preserve them. This patch does just that.
Commit: 7d9a12cec2eee54ee30fd5c053580dd241abff0d
https://github.com/llvm/llvm-project/commit/7d9a12cec2eee54ee30fd5c053580dd241abff0d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn build] Manually port 89d636ba
Commit: 8252e0ef82efe672f1878dbfd74f99b86f293d8f
https://github.com/llvm/llvm-project/commit/8252e0ef82efe672f1878dbfd74f99b86f293d8f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/pdata-arm64ec.test
Log Message:
-----------
[LLD][COFF] Emit ARM64X relocations for CHPE ExtraRFETable entries (#126713)
In the native view, ExtraEFRTable references the x86 exception table.
The EC view references the ARM exception table, as it did before this
change.
Commit: ea77dd8715b5a9016ed3b290f2822dda095bb754
https://github.com/llvm/llvm-project/commit/ea77dd8715b5a9016ed3b290f2822dda095bb754
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
Log Message:
-----------
[libc] Include locale support in baremetal configuration (#127103)
Having locale is a requirement for C++ streams.
Commit: c2e96778e04197dd266f7c540bf174b6ec28a434
https://github.com/llvm/llvm-project/commit/c2e96778e04197dd266f7c540bf174b6ec28a434
Author: John Harrison <harjohn at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/output/main.c
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
Log Message:
-----------
[lldb-dap] Ensure we do not print the close sentinel when closing stdout. (#126833)
If you have an lldb-dap log file you'll almost always see a final
message like:
```
<--
Content-Length: 94
{
"body": {
"category": "stdout",
"output": "\u0000\u0000"
},
"event": "output",
"seq": 0,
"type": "event"
}
<--
Content-Length: 94
{
"body": {
"category": "stderr",
"output": "\u0000\u0000"
},
"event": "output",
"seq": 0,
"type": "event"
}
```
The OutputRedirect is always writing the `"\0"` byte as a final stdout
message during shutdown. Instead, I adjusted this to detect the sentinel
value and break out of the read loop as if we detected EOF.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 4ac79a8c988ff74984b78c13d489eafcce9189e5
https://github.com/llvm/llvm-project/commit/4ac79a8c988ff74984b78c13d489eafcce9189e5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/ICF.cpp
M lld/MachO/Target.h
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld-macho] Use Symbols as branch target for safe_thunks ICF (#126835)
## Problem
The `safe_thunks` ICF optimization in `lld-macho` was creating thunks
that pointed to `InputSection`s instead of `Symbol`s. While, generally,
branch relocations can point to symbols or input sections, in this case
we need them to point to symbols as subsequently the branch extension
algorithm expects branches to always point to `Symbol`'s.
## Solution
This patch changes the ICF implementation so that safe thunks point to
`Symbol`'s rather than `InputSection`s.
## Testing
The existing `arm64-thunks.s` test is modified to include
`--icf=safe_thunks` to explicitly verify the interaction between ICF and
branch range extension thunks. Two functions were added that will be
merged together via a thunk. Before this patch, this test would generate
an assert - now this scenario is correctly handled.
Commit: 72f4e656b8feb3665bd074fadf1db1e72b385030
https://github.com/llvm/llvm-project/commit/72f4e656b8feb3665bd074fadf1db1e72b385030
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Revise interface of isLegalBitRotate [nfc]
Remove a dead parameter (DAG), and replace the ShuffleVectorSDNode param
with the two things we need from the shuffle (mask and VT). There's
further room to improve this code, but this gets me what I need for an
upcoming patch.
Commit: b666ac3b63e01bfa602318c877ea2395fea53f89
https://github.com/llvm/llvm-project/commit/b666ac3b63e01bfa602318c877ea2395fea53f89
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/include/lldb/Target/Thread.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
Log Message:
-----------
[lldb] Change lldb's breakpoint handling behavior, reland (#126988)
lldb today has two rules: When a thread stops at a BreakpointSite, we
set the thread's StopReason to be "breakpoint hit" (regardless if we've
actually hit the breakpoint, or if we've merely stopped *at* the
breakpoint instruction/point and haven't tripped it yet). And second,
when resuming a process, any thread sitting at a BreakpointSite is
silently stepped over the BreakpointSite -- because we've already
flagged the breakpoint hit when we stopped there originally.
In this patch, I change lldb to only set a thread's stop reason to
breakpoint-hit when we've actually executed the instruction/triggered
the breakpoint. When we resume, we only silently step past a
BreakpointSite that we've registered as hit. We preserve this state
across inferior function calls that the user may do while stopped, etc.
Also, when a user adds a new breakpoint at $pc while stopped, or changes
$pc to be the address of a BreakpointSite, we will silently step past
that breakpoint when the process resumes. This is purely a UX call, I
don't think there's any person who wants to set a breakpoint at $pc and
then hit it immediately on resuming.
One non-intuitive UX from this change, butt is necessary: If you're
stopped at a BreakpointSite that has not yet executed, you `stepi`, you
will hit the breakpoint and the pc will not yet advance. This thread has
not completed its stepi, and the ThreadPlanStepInstruction is still on
the stack. If you then `continue` the thread, lldb will now stop and
say, "instruction step completed", one instruction past the
BreakpointSite. You can continue a second time to resume execution.
The bugs driving this change are all from lldb dropping the real stop
reason for a thread and setting it to breakpoint-hit when that was not
the case. Jim hit one where we have an aarch64 watchpoint that triggers
one instruction before a BreakpointSite. On this arch we are notified of
the watchpoint hit after the instruction has been unrolled -- we disable
the watchpoint, instruction step, re-enable the watchpoint and collect
the new value. But now we're on a BreakpointSite so the watchpoint-hit
stop reason is lost.
Another was reported by ZequanWu in
https://discourse.llvm.org/t/lldb-unable-to-break-at-start/78282 we
attach to/launch a process with the pc at a BreakpointSite and
misbehave. Caroline Tice mentioned it is also a problem they've had with
putting a breakpoint on _dl_debug_state.
The change to each Process plugin that does execution control is that
1. If we've stopped at a BreakpointSite that has not been executed yet,
we will call Thread::SetThreadStoppedAtUnexecutedBP(pc) to record that.
When the thread resumes, if the pc is still at the same site, we will
continue, hit the breakpoint, and stop again.
2. When we've actually hit a breakpoint (enabled for this thread or
not), the Process plugin should call
Thread::SetThreadHitBreakpointSite(). When we go to resume the thread,
we will push a step-over-breakpoint ThreadPlan before resuming.
The biggest set of changes is to StopInfoMachException where we
translate a Mach Exception into a stop reason. The Mach exception codes
differ in a few places depending on the target (unambiguously), and I
didn't want to duplicate the new code for each target so I've tested
what mach exceptions we get for each action on each target, and
reorganized StopInfoMachException::CreateStopReasonWithMachException to
document these possible values, and handle them without specializing
based on the target arch.
I first landed this patch in July 2024 via
https://github.com/llvm/llvm-project/pull/96260
but the CI bots and wider testing found a number of test case failures
that needed to be updated, I reverted it. I've fixed all of those issues
in separate PRs and this change should run cleanly on all the CI bots
now.
rdar://123942164
Commit: ecdfa36ecaea7615b244f4cac26a4a023d30a9c1
https://github.com/llvm/llvm-project/commit/ecdfa36ecaea7615b244f4cac26a4a023d30a9c1
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
Log Message:
-----------
Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127089)
Commit: 63c1be7249241205734b9d03e5a1df4602e3648d
https://github.com/llvm/llvm-project/commit/63c1be7249241205734b9d03e5a1df4602e3648d
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
A llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/CMakeLists.txt
A llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
A llvm/test/Transforms/FatLTOCleanup/remove-type-checked-load.ll
Log Message:
-----------
[llvm][fatlto] Add FatLTOCleanup pass (#125911)
When using FatLTO, it is common to want to enable certain types of whole
program optimizations (WPD) or security transforms (CFI), so that they
can be made available when performing LTO. However, these transforms
should not be used when compiling the non-LTO object code. Since the
frontend must emit different IR, we cannot simply clone the module and
optimize the LTO section and non-LTO section differently to work around
this. Instead, we need to remove any problematic instruction sequences.
This patch adds a new pass whose responsibility is to clean up the IR
in the FatLTO pipeline after creating the bitcode section, which is
after running the pre-link pipeline but before running module
optimization. This allows us to safely drop any conflicting instructions
or IR constructs that are inappropriate for non-LTO compilation.
Commit: 2bdeeaa18531f41e838389596cef66e4010a634c
https://github.com/llvm/llvm-project/commit/2bdeeaa18531f41e838389596cef66e4010a634c
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/multiply_add.h
Log Message:
-----------
[libc] Use __builtin_elementwise_fma instead of __builtin_fma (#126288)
__builtin_elementwise_fma doesn't consider errno and is thus more
suitable for libc fma implementation.
Commit: 5decab178f2642a49037c33f00726792b7fdf4a3
https://github.com/llvm/llvm-project/commit/5decab178f2642a49037c33f00726792b7fdf4a3
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
A llvm/test/CodeGen/AMDGPU/shl64_reduce_flags.ll
Log Message:
-----------
AMDGPU: Reduce shl64 to shl32 if shift range is [63-32] (#125574)
Reduce:
DST = shl i64 X, Y
where Y is in the range [63-32] to:
DST = [0, shl i32 X, (Y & 32)]
Alive2 analysis:
https://alive2.llvm.org/ce/z/w_u5je
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 65640c1d4c38bf4ff84d808ec440bc8df1236803
https://github.com/llvm/llvm-project/commit/65640c1d4c38bf4ff84d808ec440bc8df1236803
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[AssumeBundles] Dereferenceable used in bundle only applies at assume. (#126117)
Update LangRef and code using `Dereferenceable` in assume bundles to
only use the information if it is safe at the point of use.
`Dereferenceable` in an assume bundle is only guaranteed at the point of
the assumption, but may not be guaranteed at later points, because the
pointer may have been freed.
Update code using `Dereferenceable` to only use it if the pointer cannot
be freed. This can further be refined to check if the pointer could be
freed between assume and use.
This follows up on https://github.com/llvm/llvm-project/pull/123196.
With that change, it should be safe to expose dereferenceable
assumptions more widely as in
https://github.com/llvm/llvm-project/pull/121789
PR: https://github.com/llvm/llvm-project/pull/126117
Commit: b5aa1c4783c93e6eddfbddd3e0e81982787acb40
https://github.com/llvm/llvm-project/commit/b5aa1c4783c93e6eddfbddd3e0e81982787acb40
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Log Message:
-----------
[gn build] Port 63c1be724924
Commit: 83632c039d17772769617b92a1658e8a98190c5e
https://github.com/llvm/llvm-project/commit/83632c039d17772769617b92a1658e8a98190c5e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/include/lld/Common/BPSectionOrdererBase.inc
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][BP] Order .Tgm symbols for startup (#126328)
The Global Function Merger
(https://discourse.llvm.org/t/rfc-global-function-merging/82608) pass
optimistically creates merged instances of functions and suffixes their
names with `.Tgm`. Then in the linker, ICF will (hopefully) fold these
`.Tgm` functions. For example, a function `foo` might become a thunk
`foo` that calls a merged function `foo.Tgm`.
Since IRPGO runs before the global merger, we will only have a profile
for `foo`. We want to correlate this profile to both `foo` and `foo.Tgm`
so they can both be ordered to improve startup time.
I built a large binary and found that it increased the number of
functions ordered for startup, as expected.
```
Functions for startup: 12049 -> 12697
Functions for compression: 34733 -> 34707
```
The reason why we don't see a larger improvement is because there are
some cases where the code was accidentally working:
`getRootSymbol("foo.llvm.5555.Tgm")` already returns `foo`.
Commit: 161f64a4c1eb86856891816c1569d3e92f4535bd
https://github.com/llvm/llvm-project/commit/161f64a4c1eb86856891816c1569d3e92f4535bd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Hashpin actions dependencies (#127011)
This patch has pins several actions dependencies in the premerge
workflow and the Windows/Linux container build workflows to help improve
security in the unlikely event that someone tries to pull off a supply
chain security attack by modifying release asserts for these actions.
Commit: 0078e8f45062fcfb1e5e328e0993dcb66f11fb84
https://github.com/llvm/llvm-project/commit/0078e8f45062fcfb1e5e328e0993dcb66f11fb84
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
Log Message:
-----------
[RISCV][NFC] Fix a warning (#127090)
Commit: 0aafb8aca3444ef1a1f797a6facbb087ea608f4e
https://github.com/llvm/llvm-project/commit/0aafb8aca3444ef1a1f797a6facbb087ea608f4e
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
Log Message:
-----------
[AMDGPU] Add test for failure with function !dbg info in amdgpu-lower-kernel-arguments (#126146)
Commit: 424fcc5df7d7ba1db3d83023885dcbaf33a49b39
https://github.com/llvm/llvm-project/commit/424fcc5df7d7ba1db3d83023885dcbaf33a49b39
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Split off code to compute stride from AddRec for reuse (NFC).
Refactors to code to expose the core logic from getPtrStride to compute
the stride for a given AddRec.
Split off from https://github.com/llvm/llvm-project/pull/126971 as
suggested.
Commit: 37ed2e6b33882cdf5dcc640f59965c5c522b489e
https://github.com/llvm/llvm-project/commit/37ed2e6b33882cdf5dcc640f59965c5c522b489e
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
A llvm/test/Transforms/Scalarizer/sadd_with_overflow.ll
A llvm/test/Transforms/Scalarizer/sincos.ll
A llvm/test/Transforms/Scalarizer/smul_with_overflow.ll
A llvm/test/Transforms/Scalarizer/ssub_with_overflow.ll
R llvm/test/Transforms/Scalarizer/uadd_overflow.ll
A llvm/test/Transforms/Scalarizer/uadd_with_overflow.ll
A llvm/test/Transforms/Scalarizer/umul_with_overflow.ll
A llvm/test/Transforms/Scalarizer/usub_with_overflow.ll
Log Message:
-----------
[Scalarizer] Make `*_with_overflow` intrinsics scalarizable (#126815)
Addresses issue #126809
- Made `uadd_with_overflow`, `sadd_with_overflow`, `usub_with_overflow`,
`ssub_with_overflow`, `umul_with_overflow`, and `smul_with_overflow`
trivially scalarizable in `isTriviallyScalarizable()` from
`VectorUtils.cpp`
- Renamed and updated the test `Scalarizer/uadd_overflow.ll` to
`Scalarizer/uadd_with_overflow.ll` to check that `uadd_with_overflow`
gets scalarized
- Added a test `Scalarizer/sincos.ll` to ensure the bug fix #113625
still works
Commit: c9ba2b08d57fb682d4fe9ab2dd6f14d464b081df
https://github.com/llvm/llvm-project/commit/c9ba2b08d57fb682d4fe9ab2dd6f14d464b081df
Author: vporpo <vporpodas at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Region.h
M llvm/lib/SandboxIR/Region.cpp
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
[SandboxIR][Region] Implement an auxiliary vector in Region (#126376)
This patch adds additional functionality to the sandboxir Region. The
Region is used as a way of passing a set of Instructions across region
passes in a way that can be represented in the IR with metadata. This is
a design choice that allows us to test region passes in isolation with
lit tests.
Up until now the region was only used to tag the instructions generated
by the passes. There is a need to represent an ordered set of
instructions, which can be used as a way to represent the initial seeds
to the first vectorization pass. This patch implements this auxiliary
vector that can be used to convey such information.
Commit: e3cab30ab96e1d22bbedff005673ae0c1431c3af
https://github.com/llvm/llvm-project/commit/e3cab30ab96e1d22bbedff005673ae0c1431c3af
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
Log Message:
-----------
[clang][deps] Ensure DiagnosticConsumer::finish is always called (#127110)
When using the clang dependency scanner with an arbitrary
DiagnosticConsumer, it is important that we always call finish().
Previously, if there was an error preventing us from reaching the
scanning action, or if the command line contained no scannable actions
we would fail to finish(), which would break some consumers (e.g.
serialized diag consumer).
Commit: 1ff5f328d9824694cc356ebf78adad8816a6de86
https://github.com/llvm/llvm-project/commit/1ff5f328d9824694cc356ebf78adad8816a6de86
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-NullFunction-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DXIL] Add support for root signature flag element in DXContainer (#123147)
Adding support for Root Signature Flags Element extraction and writing
to DXContainer.
- Adding an analysis to deal with RootSignature metadata definition
- Adding validation for Flag
- writing RootSignature blob into DXIL
Closes: [126632](https://github.com/llvm/llvm-project/issues/126632)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: ac217ee389d63124432e5e6890851a678f7a676b
https://github.com/llvm/llvm-project/commit/ac217ee389d63124432e5e6890851a678f7a676b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
Log Message:
-----------
[SLP] Check for PHI nodes (potentially cycles!) when checking dependencies
When checking for dependecies for gather nodes with users with the same
last instruction, cannot rely on the index order, if there is (even
potential!) cycle in the graph, which may cause order not work correctly
and cause compiler crash.
Fixes #127128
Commit: 4ec199035efbc10211a95ca102f05fb6fcbbdc09
https://github.com/llvm/llvm-project/commit/4ec199035efbc10211a95ca102f05fb6fcbbdc09
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
R mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
R mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir
Log Message:
-----------
[mlir][tosa] Remove FullyConnectedOp from TOSA Dialect (#126152)
This patch removes FullyConncected Operator from the TOSA Dialect and
all associated tests and transforms.
This is part of the TOSA v1.0 alignment effort:
https://discourse.llvm.org/t/rfc-tosa-dialect-increment-to-v1-0/83708
Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: 5ee97877308e8617a2c42bb120f0a90e594eba31
https://github.com/llvm/llvm-project/commit/5ee97877308e8617a2c42bb120f0a90e594eba31
Author: lntue <lntue at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/src/__support/big_int.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrtf128.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
Log Message:
-----------
[libc][math] Improve the performance of sqrtf128. (#122578)
Use a combination of polynomial approximation and Newton-Raphson
iterations in 64-bit and 128-bit integers to improve the performance of
sqrtf128. The correct rounding is provided by squaring the result and
comparing it with the argument.
Performance improvement using the newly added perf test:
- My function = the improved implementation from this PR
- Other function = current implementation using
`libc/src/__support/FPUtil/generic/sqrt.h`
```
Performance tests with inputs in denormal range:
-- My function --
Total time : 1260765265 ns
Average runtime : 125.951 ns/op
Ops per second : 7939623 op/s
-- Other function --
Total time : 7160726518 ns
Average runtime : 715.357 ns/op
Ops per second : 1397902 op/s
-- Average runtime ratio --
Mine / Other's : 0.176067
Performance tests with inputs in normal range:
-- My function --
Total time : 373003808 ns
Average runtime : 37.2631 ns/op
Ops per second : 26836189 op/s
-- Other function --
Total time : 7353398916 ns
Average runtime : 734.605 ns/op
Ops per second : 1361275 op/s
-- Average runtime ratio --
Mine / Other's : 0.0507254
```
---------
Co-authored-by: Alexei Sibidanov <sibid at uvic.ca>
Commit: 415607e10b56d0e6c4661ff1ec5b9b46bf433cba
https://github.com/llvm/llvm-project/commit/415607e10b56d0e6c4661ff1ec5b9b46bf433cba
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC][unittests] Remove hard coded 16k page size (#127115)
Fixes a couple hard coded 16k values which is being used as the page
size. Replaces the hard coded value with the system's page size. This
fixes #116753 on an Ampere Altra Q64-22
CC @lhames
Commit: bcfdae120ea7a03176e41d17e5efe4692d64f807
https://github.com/llvm/llvm-project/commit/bcfdae120ea7a03176e41d17e5efe4692d64f807
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
Log Message:
-----------
[clang][DebugInfo][test] Add tests for C++20 non-type template parameters (#127056)
This exercises the codepath where we create `DITemplateValueParameter`s
whose `TemplateArgument::ArgKind` is `StructuralValue`, which was added
in (https://github.com/llvm/llvm-project/pull/78041). Previously, not
emitting a `value`/`defaulted` for such template argument nodes didn't
fail any tests.
Commit: 41f96f91cdd8640166fc843421d861e5be351bd2
https://github.com/llvm/llvm-project/commit/41f96f91cdd8640166fc843421d861e5be351bd2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll
Log Message:
-----------
[llvm][DebugInfo] Emit DW_AT_const_value for float non-type template parameters (#127045)
In C++20, non-type template parameters can be float/double. Clang didn't
emit those constants in DWARF. This patch emits floating point constants
the same way we do other integral template value parameters.
Commit: dbbdc7e69c6b4d92b6b67060b094350c0de0d387
https://github.com/llvm/llvm-project/commit/dbbdc7e69c6b4d92b6b67060b094350c0de0d387
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
Log Message:
-----------
[mlir][bufferization] Use a cache when checking whether ops are in mutually exclusive regions (#123516)
When profiling one-shot-bufferization over large programs, I found that
the analysis would spend a large amount of time checking whether
two operations are "inside mutually exclusive regions". This change
adds a cache for that information, which can result in a noticeable
speedup depending on program structure.
Commit: adacbf68ebeaeaf9d07a5beaff163da9ca0534a9
https://github.com/llvm/llvm-project/commit/adacbf68ebeaeaf9d07a5beaff163da9ca0534a9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/fp-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
M llvm/test/CodeGen/SystemZ/vec-round-01.ll
M llvm/test/CodeGen/SystemZ/vec-round-02.ll
M llvm/test/CodeGen/SystemZ/vec-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/vec-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
Log Message:
-----------
[SystemZ] Add codegen support for llvm.roundeven
This is straightforward as we already had all the necessary
instructions, they simply were not wired up.
Also allows implementing the vec_round intrinsic via the
standard llvm.roundeven IR instead of a platform intrinsic now.
Commit: 050933b41f8de8498c95dfd0bacb10f3d495d62d
https://github.com/llvm/llvm-project/commit/050933b41f8de8498c95dfd0bacb10f3d495d62d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
Log Message:
-----------
[lldb][test] TestCppTemplateArguments.py: adjust expected type
LLVM started emitting the `DW_AT_const_value` for floating point template parameters since https://github.com/llvm/llvm-project/pull/127045. Adjust the expected type in this test. It's still not quite correct but that requires a separate fix in LLDB.
Commit: 61acfb07e8333e29bbf435cdb188723b5a93ddd8
https://github.com/llvm/llvm-project/commit/61acfb07e8333e29bbf435cdb188723b5a93ddd8
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Add pre-aggregated trace support (#127125)
Traces are triplets of branch source, target, and fall-through end (next
branch).
Traces simplify differentiation of fall-throughs into local- and
external-origin, which improves performance over profile with
undifferentiated fall-throughs by eliminating profile discontinuity in
call to continuation fall-throughs. This makes it possible to avoid
converting return profile into call to continuation profile which may
introduce statistical biases.
The existing format makes provisions for local- (F) and external- (f)
origin fall-throughs, but the profile producer needs to know function
boundaries. BOLT has that information readily available, so providing
the origin branch of a fall-through is a functional replacement of the
fall-through kind (f or F). This also has an effect of combining
branches and fall-throughs into a single record.
As traces subsume other pre-aggregated profile kinds, BOLT may drop
support for them soon. Users of pre-aggregated profile format are
advised to migrate to the trace format.
Test Plan: Updated callcont-fallthru.s
Commit: 32c8754fbcb936ba6b5bc6cb6817cf3b6a4602f4
https://github.com/llvm/llvm-project/commit/32c8754fbcb936ba6b5bc6cb6817cf3b6a4602f4
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
Log Message:
-----------
[clang][AST] Handle dependent representation of call to function with explicit object parameter in CallExpr::getBeginLoc() (#126868)
This fixes a crash where CallExpr::getBeginLoc() tries to access the
first argument of a CallExpr representing a call to a function with
an explicit object parameter, assuming that a first argument exists
because it's the object argument.
This is the case for non-dependent calls, but for dependent calls
the object argument is part of the callee (the semantic analysis
that separates it out has not been performed yet) and so there may
not be a first argument.
Fixes https://github.com/llvm/llvm-project/issues/126720
Commit: 0454dd8c48cd771478f1ae53330ba78e71bcd7cb
https://github.com/llvm/llvm-project/commit/0454dd8c48cd771478f1ae53330ba78e71bcd7cb
Author: Lei Wang <wlei at fb.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll
Log Message:
-----------
[StaleProfileMatching] Use only profile anchor size for similarity calculation (#126783)
We observed that the number of IR anchors is usually greater than the
number of profile anchors, because IR anchors can be optimized away
later and llvm-profgen might not generate profiles for cold callsites.
This can cause missing function matches. I’m changing the similarity
calculation to use only the profile anchor size. In another point of
view, It also makes sense to reuse as many profile anchors as possible
regardless of the new functions in the IR.
Commit: 3c2ba68915b268fd3b7d39bf62e19199b2cb8995
https://github.com/llvm/llvm-project/commit/3c2ba68915b268fd3b7d39bf62e19199b2cb8995
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Log Message:
-----------
[lldb] Don't warn that libobjc was read from memory in corefile (#127138)
AppleObjCRuntimeV2 prints a warning when we read libobjc.A.dylib from
memory, as a canary to detect that we are reading system binaries out of
memory (which is slow, and we try hard to avoid). But with a corefile,
reading out of "memory" is fine, and may be the only way we can find the
correct binary.
rdar://144322688
Commit: 6d3bfddb9d5458bf650fe4bf1da5db5848e7eb84
https://github.com/llvm/llvm-project/commit/6d3bfddb9d5458bf650fe4bf1da5db5848e7eb84
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/utils/hdrgen/gpu_headers.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/tests/expected_output/test_header.h
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Make hdrgen support macro_header YAML field. (#123265)
A macro can specify macro_header instead of macro_value to
indicate that an llvm-libc-macros/ header file is supposed to
define this macro. This is used for dlfcn.h, which previously
bogusly redefined the RTLD_* macros to empty.
Commit: 912b154f3a3f8c3cebf5cc5731fd8b0749762da5
https://github.com/llvm/llvm-project/commit/912b154f3a3f8c3cebf5cc5731fd8b0749762da5
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
R clang/test/Modules/pr121245.cpp
Log Message:
-----------
Revert "[C++20][Modules][Serialization] Delay marking pending incompl… (#127136)
…ete decl chains until the end of `finishPendingActions`. (#121245)"
This reverts commit a9e249f64e800fbb20a3b26c0cfb68c1a1aee5e1.
Reverting this change because of issue #126973.
Commit: a57e58dbfaae0e86eb5cafeddf8b598f14b96e36
https://github.com/llvm/llvm-project/commit/a57e58dbfaae0e86eb5cafeddf8b598f14b96e36
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[mlir][scf] Remove identical `scf.for` iter args (#127145)
This augments the iter arg canonicalizer to remove iter args that always
have the same value, i.e. their correpsonding init and yielded values
are the same.
Commit: 87ce1170d08efafe0f36fba75f13ed29ebeb08c7
https://github.com/llvm/llvm-project/commit/87ce1170d08efafe0f36fba75f13ed29ebeb08c7
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][TargetParser] Add ProcessorAlias unit test machinery. NFC. (#127131)
The patch itself is mainly the expected unittest boilerplate.
This adds tests for the aliases we have today.
We could alternatively test these via the driver with additional
run-lines in print-enable-extensions tests, and eventually should
consider that instead.
Commit: dc79c66f2c6cc2773e38735660d8e0aaedf9702c
https://github.com/llvm/llvm-project/commit/dc79c66f2c6cc2773e38735660d8e0aaedf9702c
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
A mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMeshOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/IR/MeshOps.cpp
M mlir/test/Dialect/SPIRV/IR/availability.mlir
A mlir/test/Dialect/SPIRV/IR/mesh-ops.mlir
A mlir/test/Target/SPIRV/mesh-ops.mlir
Log Message:
-----------
[mlir][spirv] Add support for SPV_EXT_mesh_shader extension (#126555)
This patch adds support for all enums and operations defined in the
SPV_EXT_mesh_shader extension. Where in conflict with SPV_NV_mesh_shader
definition, the EXT specification takes precedence, as duplicated enum
values are not allowed. Enum values has been added manually, as
define_enum.sh script, modifies files too aggressively - it adds all
missing values from various extensions.
Commit: 910be4ff90d7d07bd4518ea03b85c0974672bf9c
https://github.com/llvm/llvm-project/commit/910be4ff90d7d07bd4518ea03b85c0974672bf9c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower clock64 to nvvm intrinsic (#127155)
Commit: e477e568e6d745c98cb81a856988a99fe3a989e3
https://github.com/llvm/llvm-project/commit/e477e568e6d745c98cb81a856988a99fe3a989e3
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/test/UnitTest/LibcTest.h
Log Message:
-----------
[libc] Make test macros suppress the -Wdangling-else warnings (#127149)
Use the trick from gtest to allow `ASSERT_...` and `EXPECT_...`
macros to be used in braceless `if` without producing warnings
about the nested `if`-`else` that results.
Commit: 0ec16933593f610ab545a2ac3d771925195deb4d
https://github.com/llvm/llvm-project/commit/0ec16933593f610ab545a2ac3d771925195deb4d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
SandboxIRTests: Use `EXPECT_DEBUG_DEATH` (for #126376)
Commit: 083f099a345f02390d00a8196d4ffa36ae71c82f
https://github.com/llvm/llvm-project/commit/083f099a345f02390d00a8196d4ffa36ae71c82f
Author: Galen Elias <gelias at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Support BraceWrapping.AfterNamespace with AllowShortNamespacesOnASingleLine (#123010)
AllowShortNamespacesOnASingleLine assumes that there is no newline
before the namespace brace, however, there is no actual reason this
shouldn't be compatible with BraceWrapping.AfterNamespace = true.
This is a little tricky in the implementation because
UnwrappedLineFormatter works on lines, so being flexible about the
offsets is awkward.
Not sure if there is a better pattern for combining the 'AllowShort'
options with the various configurations of BraceWrapping, but this
seemed mostly reasonable. Really, it would almost be preferable to just
pattern match on the direct token stream, rather than the
AnnotatedLines, but I'm not seeing a straightforward way to do that.
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 8a0914c24530c98c5ff65bce3710552ce3ebf7d7
https://github.com/llvm/llvm-project/commit/8a0914c24530c98c5ff65bce3710552ce3ebf7d7
Author: schittir <sindhu.chittireddy at intel.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
Log Message:
-----------
[clang][NFC] Avoid potential null dereferences (#127017)
Add null checking.
Commit: bd860f986406b6630e49b1836b3c208acd721d3e
https://github.com/llvm/llvm-project/commit/bd860f986406b6630e49b1836b3c208acd721d3e
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/redux-sync-f32.ll
Log Message:
-----------
[NVPTX] Add intrinsics for redux.sync f32 instructions (#126664)
Adds NVVM intrinsics, NVPTX codegen and Clang builtins for `redux.sync`
f32 instructions introduced in ptx8.6 for sm_100a.
Tests added in `CodeGen/NVPTX/redux-sync.ll` and
`CodeGenCUDA/redux-builtins.cu` and verified through ptxas 12.8.0.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-redux-sync
Commit: c1b7037520100dd035a87d40252772b85a5b95bb
https://github.com/llvm/llvm-project/commit/c1b7037520100dd035a87d40252772b85a5b95bb
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp
Log Message:
-----------
[MLIR][Affine] Add affine value map difference operator (#127163)
Add affine value map difference operator. NFC otherwise.
Commit: 29b7295d3a67ae236e99312efefb7c04753434ef
https://github.com/llvm/llvm-project/commit/29b7295d3a67ae236e99312efefb7c04753434ef
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/tools/driver/CMakeLists.txt
Log Message:
-----------
[clang][cmake] Sanitize CLANG_BOLT values (#126768)
This avoids failing later in the build process.
Commit: 2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed
https://github.com/llvm/llvm-project/commit/2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#122950)
true16 codegen pattern for f16 fma.
created a duplicated shrink-mad-fma-gfx10.mir from shrink-mad-fma to
seperate pre-GFX11 and GFX11 mir test.
Commit: c08b80eb525a6e6a34d74634bf5181f11ed12984
https://github.com/llvm/llvm-project/commit/c08b80eb525a6e6a34d74634bf5181f11ed12984
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
Log Message:
-----------
[Clang] Remove the PackExpansion restrictions for rewrite substitution (#126206)
When substituting for rewrite purposes, as in rebuilding constraints for
a synthesized deduction guide, it assumed that packs were in
PackExpansion* form, such that the instantiator could extract a pattern.
For type aliases CTAD, while rebuilding their associated constraints,
this might not be the case because we'll call
`TransformTemplateArgument()` for the alias template arguments, where
there might be cases e.g. a non-pack expansion type into a pack
expansion, so the assumption wouldn't hold.
This patch fixes that by making it treat the non-pack expansions as
direct patterns when rewriting.
Fixes #124715
Commit: cf1165cb9cb74afd58e43b819be830dfcef8c655
https://github.com/llvm/llvm-project/commit/cf1165cb9cb74afd58e43b819be830dfcef8c655
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
R llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
R llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
Log Message:
-----------
Revert "[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#12… (#127175)
Reverting this patch since it raise buildbot failure
This reverts commit 2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed.
Commit: 4ac68ba07d6df5d604af22c242c077ea120b9893
https://github.com/llvm/llvm-project/commit/4ac68ba07d6df5d604af22c242c077ea120b9893
Author: Vipul Cariappa <vipulcariappa at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] fix error recovery while parsing completely fails (#127087)
Fixes the following crash in clang-repl
```c++
clang-repl> try { throw 1; } catch { 0; }
In file included from <<< inputs >>>:1:
input_line_1:1:23: error: expected '('
1 | try { throw 1; } catch { 0; }
| ^
| (
clang-repl: /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1757: void clang::DeclContext::addHiddenDecl(clang::Decl*): Assertion `D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"' failed.
#0 0x000059b28459e6da llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:804:22
#1 0x000059b28459eaed PrintStackTraceSignalHandler(void*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:880:1
#2 0x000059b28459bf7f llvm::sys::RunSignalHandlers() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Signals.cpp:105:20
#3 0x000059b28459df8e SignalHandler(int, siginfo_t*, void*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:418:13
#4 0x000077cdf444ea50 (/usr/lib/libc.so.6+0x42a50)
#5 0x000077cdf44aee3b pthread_kill (/usr/lib/libc.so.6+0xa2e3b)
#6 0x000077cdf444e928 raise (/usr/lib/libc.so.6+0x42928)
#7 0x000077cdf443156c abort (/usr/lib/libc.so.6+0x2556c)
#8 0x000077cdf44314d2 __assert_perror_fail (/usr/lib/libc.so.6+0x254d2)
#9 0x000077cdf4444c56 (/usr/lib/libc.so.6+0x38c56)
#10 0x000059b28495bfc4 clang::DeclContext::addHiddenDecl(clang::Decl*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1759:3
#11 0x000059b28495c0f5 clang::DeclContext::addDecl(clang::Decl*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1785:37
#12 0x000059b28773cc2a clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Sema/SemaDecl.cpp:20302:18
#13 0x000059b286f1efdf clang::Parser::ParseTopLevelStmtDecl() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/ParseDecl.cpp:6024:62
#14 0x000059b286ef18ee clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/Parser.cpp:1065:35
#15 0x000059b286ef0702 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/Parser.cpp:758:36
#16 0x000059b28562dff2 clang::IncrementalParser::ParseOrWrapTopLevelDecl() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/IncrementalParser.cpp:66:36
#17 0x000059b28562e5b7 clang::IncrementalParser::Parse(llvm::StringRef) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/IncrementalParser.cpp:132:8
#18 0x000059b28561832b clang::Interpreter::Parse(llvm::StringRef) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/Interpreter.cpp:570:8
#19 0x000059b285618cbd clang::Interpreter::ParseAndExecute(llvm::StringRef, clang::Value*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/Interpreter.cpp:649:8
#20 0x000059b2836f9343 main /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/tools/clang-repl/ClangRepl.cpp:255:59
#21 0x000077cdf443388e (/usr/lib/libc.so.6+0x2788e)
#22 0x000077cdf443394a __libc_start_main (/usr/lib/libc.so.6+0x2794a)
#23 0x000059b2836f7965 _start (./bin/clang-repl+0x73b8965)
fish: Job 1, './bin/clang-repl' terminated by signal SIGABRT (Abort)
```
With this change:
```c++
clang-repl> try { throw 1; } catch { 0; }
In file included from <<< inputs >>>:1:
input_line_1:1:23: error: expected '('
1 | try { throw 1; } catch { 0; }
| ^
| (
error: Parsing failed.
clang-repl> 1;
clang-repl> %quit
```
Commit: 2818df38c133cf7278b0174d01fe99c9c558fa2c
https://github.com/llvm/llvm-project/commit/2818df38c133cf7278b0174d01fe99c9c558fa2c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/unittests/Utility/CMakeLists.txt
M lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
Log Message:
-----------
[lldb] Remove UtilityTests->Target dep (#127060)
It's completely unnecessary right now, but having it present means that
some real unwanted dependencies could sneak in. (This also makes
building the test binary much faster.)
Commit: 0949330669cbd179c3c6e40880b5e1027438648f
https://github.com/llvm/llvm-project/commit/0949330669cbd179c3c6e40880b5e1027438648f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/examples/synthetic/libcxx.py
Log Message:
-----------
[lldb] Avoid expression evaluation in the std::deque formatter (#127071)
It's slower and it can fail in contexts where expression evaluation
doesn't work.
Commit: d8b2e432d633e175a87e8fbc00e0f7a627ac4c9e
https://github.com/llvm/llvm-project/commit/d8b2e432d633e175a87e8fbc00e0f7a627ac4c9e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/test/Analysis/ValueTracking/known-non-equal.ll
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Assembler/flags.ll
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll
M llvm/test/CodeGen/X86/ptrtoint-constexpr.ll
M llvm/test/Other/constant-fold-gep-address-spaces.ll
M llvm/test/Other/constant-fold-gep.ll
M llvm/test/Transforms/GVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
M llvm/test/Transforms/Inline/last-callsite.ll
M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
M llvm/test/Transforms/InstCombine/malloc-free.ll
M llvm/test/Transforms/MemCpyOpt/memmove.ll
M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
[IR] Remove mul constant expression (#127046)
Remove support for the mul constant expression, which has previously
already been marked as undesirable. This removes the APIs to create mul
expressions and updates tests to stop using mul expressions.
Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179
Commit: be827051924375f7c10a7380902e01a0b10ce860
https://github.com/llvm/llvm-project/commit/be827051924375f7c10a7380902e01a0b10ce860
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
Log Message:
-----------
[LV][EVL] Enhance fixed-order recurrence tests for tail folding with EVL. NFC (#126507)
Test that we do not vectorize the loop using folding by EVL, when a
fixed-order recurrence has external users.
TODO: Support external users by extractelement the EVL-th lane.
Commit: a190f15d2b84e873ee978d0e6f04bf36e8f17583
https://github.com/llvm/llvm-project/commit/a190f15d2b84e873ee978d0e6f04bf36e8f17583
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/CodeGen/AArch64/execute-only-section.ll
A llvm/test/MC/ELF/AArch64/execute-only-populated-text-section.s
A llvm/test/MC/ELF/AArch64/execute-only-section.s
A llvm/test/MC/ELF/AArch64/execute-only-text-section-data.s
M llvm/test/MC/ELF/section-flags-unknown.s
M llvm/test/Transforms/Inline/AArch64/inline-target-attr.ll
M llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
M llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
M llvm/test/tools/llvm-readobj/ELF/section-arch-flags.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (1/3) (#125687)
Add support for the new SHF_AARCH64_PURECODE ELF section flag:
https://github.com/ARM-software/abi-aa/pull/304
The general implementation follows the existing one for ARM targets.
Generating object files with the `SHF_AARCH64_PURECODE` flag set is
enabled by the `+execute-only` target feature.
Related PRs:
* Clang: https://github.com/llvm/llvm-project/pull/125688
* LLD: https://github.com/llvm/llvm-project/pull/125689
Commit: 55b0fde20a2ba1c67313cb4c8d6a30316facd6ad
https://github.com/llvm/llvm-project/commit/55b0fde20a2ba1c67313cb4c8d6a30316facd6ad
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++][NFC] Simplify unique_ptr a bit (#121230)
Commit: 5be4536d091d7b927ceaa30a263ab5629f9008cc
https://github.com/llvm/llvm-project/commit/5be4536d091d7b927ceaa30a263ab5629f9008cc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
Log Message:
-----------
[clang-reorder-fields] Avoid repeated hash lookups (NFC) (#127165)
Commit: 1bc2f1c83f417cdbc11d9cfde780d96aa429ca9f
https://github.com/llvm/llvm-project/commit/1bc2f1c83f417cdbc11d9cfde780d96aa429ca9f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated map lookups (NFC) (#127167)
Commit: 6f5ca9bb3cc9595cdd92f42119358d5004fd1ce7
https://github.com/llvm/llvm-project/commit/6f5ca9bb3cc9595cdd92f42119358d5004fd1ce7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
Log Message:
-----------
[ARM] Avoid repeated map lookups (NFC) (#127168)
Commit: 606ff7ea9b29f93e536b13c83dc24de6b8a4e8cd
https://github.com/llvm/llvm-project/commit/606ff7ea9b29f93e536b13c83dc24de6b8a4e8cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#127171)
Commit: 7eadc1960d199676f04add402bb0aa6f65b7b234
https://github.com/llvm/llvm-project/commit/7eadc1960d199676f04add402bb0aa6f65b7b234
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/atomic.s
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/integer.s
Log Message:
-----------
[RISCV] Add a generic OOO CPU (#120712)
We add a generic out-of-order CPU model here just like what GCC
has done.
People may use this model to evaluate some optimizations, and more
importantly, people can use this model as a template to customize
their own CPU models.
The design (units, cycles, ...) of this model is random so don't
take it seriously.
Commit: 2ad1089d632bd356cb61fba1690c5dcdbc78ba83
https://github.com/llvm/llvm-project/commit/2ad1089d632bd356cb61fba1690c5dcdbc78ba83
Author: deadalnix <deadalnix at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/select.ll
Log Message:
-----------
[X86] Match SETCC_CARRY in addition of SUB when trying to reconstruct LEA (#126551)
As per title.
This is not a huge deal at the moment, but becomes one when matching
node in topological order in the DAGCombiner, and is generally more
stable than the existing.
Commit: 2fdf191e244b62409fd73fa9bb717466d6e683b5
https://github.com/llvm/llvm-project/commit/2fdf191e244b62409fd73fa9bb717466d6e683b5
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp_taskdeps.cpp
M openmp/runtime/src/kmp_taskdeps.h
Log Message:
-----------
[OpenMP] Fix crash with task stealing and task dependencies (#126049)
This patch series demonstrates and fixes a bug that causes crashes with
OpenMP 'taskwait' directives in heavily multi-threaded scenarios.
TLDR: The early return from __kmpc_omp_taskwait_deps_51 missed the
synchronization mechanism in place for the late return.
Additional debug assertions check for the implied invariants of the code.
@jpeyton52 found the timing hole as this sequence of events:
>
> 1. THREAD 1: A regular task with dependences is created, call it T1
> 2. THREAD 1: Call into `__kmpc_omp_taskwait_deps_51()` and create a stack
based depnode (`NULL` task), call it T2 (stack)
> 3. THREAD 2: Steals task T1 and executes it getting to
`__kmp_release_deps()` region.
> 4. THREAD 1: During processing of dependences for T2 (stack) (within
`__kmp_check_deps()` region), a link is created T1 -> T2. This increases
T2's (stack) `nrefs` count.
> 5. THREAD 2: Iterates through the successors list: decrement the T2's
(stack) npredecessor count. BUT HASN'T YET `__kmp_node_deref()`-ed it.
> 6. THREAD 1: Now when finished with `__kmp_check_deps()`, it returns false
because npredecessor count is 0, but T2's (stack) `nrefs` count is 2 because
THREAD 2 still references it!
> 7. THREAD 1: Because `__kmp_check_deps()` returns false, early exit.
> _Now the stack based depnode is invalid, but THREAD 2 still references it._
>
> We've reached improper stack referencing behavior. Varied results/crashes/
asserts can occur if THREAD 1 comes back and recreates the exact same depnode
in the exact same stack address during the same time THREAD 2 calls
`__kmp_node_deref()`.
Commit: c65ed964657c93d51f3e05de9e0609419768a143
https://github.com/llvm/llvm-project/commit/c65ed964657c93d51f3e05de9e0609419768a143
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
Revert "[reland][libc][bazel] Enable software prefetching for memcpy" (#127189)
Reverts llvm/llvm-project#113886
We suspect this has caused internal performance regressions, reverting
while root causing it more thoroughly.
Commit: 1b6340d9c3b75c29dec5218dbab2bb8194edfc1e
https://github.com/llvm/llvm-project/commit/1b6340d9c3b75c29dec5218dbab2bb8194edfc1e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Debugify.cpp
Log Message:
-----------
[Debugify] applyDebugify - remove unnecessary defaults arg values and assert dereferencable values (#127186)
The applyDebugify helpers were providing default arguments despite all callers providing them, so strip them for clarity.
The Function variant was asserting that DebugInfoBeforePass was non-null before dereferencing so I've added an equivalent assert to the Method variant as well.
Fixes #97626
Commit: 134a94ae0b6cb8dccf1114fb2eefb172e9697905
https://github.com/llvm/llvm-project/commit/134a94ae0b6cb8dccf1114fb2eefb172e9697905
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
Log Message:
-----------
[lldb][test] TestCppTemplateArguments.py: skip on older compilers
This test needs to be compiled with compilers that support floating point NTTP.
Commit: 4b4432f2c650977d9de896dcde58e1746f7af8c2
https://github.com/llvm/llvm-project/commit/4b4432f2c650977d9de896dcde58e1746f7af8c2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
Log Message:
-----------
[NVPTX] Avoid repeated map lookups (NFC) (#127169)
Note that cacheAnnotationFromMD modifies AC.Cache.
Commit: d3d2ea67585f119c99af66a343f19f237891890e
https://github.com/llvm/llvm-project/commit/d3d2ea67585f119c99af66a343f19f237891890e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/PartialInlining.cpp
Log Message:
-----------
[PartialInlining] Use DenseSet instead of DenseMap (NFC) (#127170)
This patch changes the type of VisitedMap to DenseSet from DenseMap
because the value side of the map is always "true".
Technically:
if (VisitedMap[*SI])
inserts "false" as a value, but the value is immediately overridden
with:
VisitedMap[*SI] = true;
While we are at it, this patch removes the repeated hash lookups
around the "if" statement.
Commit: 2bcf62b43d5bec613a0079b4b91b3a0839faeaab
https://github.com/llvm/llvm-project/commit/2bcf62b43d5bec613a0079b4b91b3a0839faeaab
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Log Message:
-----------
[nfc][mlir][linalg][tiling] Fix example code. (#127194)
Commit: 39ec9de7c23063b87f5c56f4e80c8d0f8b511a4b
https://github.com/llvm/llvm-project/commit/39ec9de7c23063b87f5c56f4e80c8d0f8b511a4b
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/partial-reinitialization2.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
Log Message:
-----------
[clang][CodeGen] `sret` args should always point to the `alloca` AS, so use that (#114062)
`sret` arguments are always going to reside in the stack/`alloca`
address space, which makes the current formulation where their AS is
derived from the pointee somewhat quaint. This patch ensures that `sret`
ends up pointing to the `alloca` AS in IR function signatures, and also
guards agains trying to pass a casted `alloca`d pointer to a `sret` arg,
which can happen for most languages, when compiled for targets that have
a non-zero `alloca` AS (e.g. AMDGCN) / map `LangAS::default` to a
non-zero value (SPIR-V). A target could still choose to do something
different here, by e.g. overriding `classifyReturnType` behaviour.
In a broader sense, this patch extends non-aliased indirect args to also
carry an AS, which leads to changing the `getIndirect()` interface. At
the moment we're only using this for (indirect) returns, but it allows
for future handling of indirect args themselves. We default to using the
AllocaAS as that matches what Clang is currently doing, however if, in
the future, a target would opt for e.g. placing indirect returns in some
other storage, with another AS, this will require revisiting.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 7e3735d1a1b85cea48feb45cb7c2b5d8eaa216ae
https://github.com/llvm/llvm-project/commit/7e3735d1a1b85cea48feb45cb7c2b5d8eaa216ae
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/as_type.cl
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
Log Message:
-----------
Reapply [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)
Relative to the previous attempt, this adjusts isEscapeSource()
to not treat calls with captures(ret: address, provenance) or similar
arguments as escape sources. This addresses the miscompile reported at:
https://github.com/llvm/llvm-project/pull/125880#issuecomment-2656632577
The implementation uses a helper function on CallBase to make this
check a bit more efficient (e.g. by skipping the byval checks) as
checking attributes on all arguments if fairly expensive.
------
This extends CaptureTracking to support inferring non-trivial
CaptureInfos. The focus of this patch is to only support FunctionAttrs,
other users of CaptureTracking will be updated in followups.
The key API changes here are:
* DetermineUseCaptureKind() now returns a UseCaptureInfo where the UseCC
component specifies what is captured at that Use and the ResultCC
component specifies what may be captured via the return value of the
User. Usually only one or the other will be used (corresponding to
previous MAY_CAPTURE or PASSTHROUGH results), but both may be set for
call captures.
* The CaptureTracking::captures() extension point is passed this
UseCaptureInfo as well and then can decide what to do with it by
returning an Action, which is one of: Stop: stop traversal.
ContinueIgnoringReturn: continue traversal but don't follow the
instruction return value. Continue: continue traversal and follow the
instruction return value if it has additional CaptureComponents.
For now, this patch retains the (unsound) special logic for comparison
of null with a dereferenceable pointer. I'd like to switch key code to
take advantage of address/address_is_null before dropping it.
This PR mainly intends to introduce necessary API changes and basic
inference support, there are various possible improvements marked with
TODOs.
Commit: 0b49001853fa4bff76d102f592d55949bfde5fde
https://github.com/llvm/llvm-project/commit/0b49001853fa4bff76d102f592d55949bfde5fde
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr8925.ll
Log Message:
-----------
[X86] Add test coverage for #9297
(using bugzilla id for PR)
Commit: 50d10b5c1c26c12570d3d31ef24b1a880fd23e26
https://github.com/llvm/llvm-project/commit/50d10b5c1c26c12570d3d31ef24b1a880fd23e26
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/builtin-assume-dereferenceable.c
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
Log Message:
-----------
[Clang] Add __builtin_assume_dereferenceable to encode deref assumption. (#121789)
This patch adds a new __builtin_assume_dereferenceable to encode
dereferenceability of a pointer using llvm.assume with an operand
bundle.
For now the builtin only accepts constant sizes, I am planning to drop
this restriction in a follow-up change.
This can be used to better optimize cases where a pointer is known to be
dereferenceable, e.g. unconditionally loading from p2 when vectorizing
the loop.
int *get_ptr();
void foo(int* src, int x) {
int *p2 = get_ptr();
__builtin_assume_aligned(p2, 4);
__builtin_assume_dereferenceable(p2, 4000);
for (unsigned I = 0; I != 1000; ++I) {
int x = src[I];
if (x == 0)
x = p2[I];
src[I] = x;
}
}
PR: https://github.com/llvm/llvm-project/pull/121789
Commit: e762a0e4ce32b0e3348cb9db58adcc4399473dba
https://github.com/llvm/llvm-project/commit/e762a0e4ce32b0e3348cb9db58adcc4399473dba
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
Log Message:
-----------
[mlir][spirv] Drop support for the SPV_NV_mesh_shader extension (#127200)
The support is dropped in favour of newer `SPV_EXT_mesh_shader`
extension. The EXT patch already replaced conflicting enum values, and
the NV extensions is now fully removed to reduce a maintenance burden.
Commit: afa3c10de70a73a77414e625c119f2d0b8411414
https://github.com/llvm/llvm-project/commit/afa3c10de70a73a77414e625c119f2d0b8411414
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
Revert "[SLP]Improved reduction cost/codegen"
This reverts commit 2ad816648f2719e6c0da507a1a371f2cad4a3f1c to fix
bug/miscompiles, reported in
https://github.com/llvm/llvm-project/pull/118293#issuecomment-2658906033
and https://github.com/llvm/llvm-project/pull/118293#issuecomment-2659024785.
Commit: 004a5fea236c5b890fb2aff1ab2ceb0f0ed82e74
https://github.com/llvm/llvm-project/commit/004a5fea236c5b890fb2aff1ab2ceb0f0ed82e74
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Enable -Wunique-object-duplication inside templated code (#125902)
Followup to #125526. This allows the unique object duplication warning
to fire on code inside of templates. Previously, it was disabled there
to prevent false positives if the template was never instantiated.
The patch has two parts: first, we move the check from
`FinalizeDeclaration` (which is only called during parsing) to
`CheckCompleteVariableDeclaration` (which is also called during template
instantiation). Since the code we're moving is fairly bulky, we abstract
it into a separate function for convenience.
Second, we disable the warning during template parsing, and add a check
later to see if the variable we're acting on on originated from a
template. If so, it has the potential to be duplicated just like an
inline variable.
## Testing
Unit tests for template have been added to the existing test suite. To
evaluate the patch on real code, I ran it on chromium and on clang
itself. As expected, in both cases we got strictly more warnings than
before. I manually looked through each new warning, and they all seemed
legitimate.
In chromium, we found [79 new warnings across 55
files](https://github.com/user-attachments/files/18676635/new_warnings_chromium.txt),
mostly in third-party code (for a total of 234 warnings across 137
files). In clang, we found [8 new warnings across 6
files](https://github.com/user-attachments/files/18676658/new_warnings_clang.txt),
for a total of 17 warnings across 11 files.
Commit: 8a3d7cedb72add026c3f5bf7a82f0bf729b3f434
https://github.com/llvm/llvm-project/commit/8a3d7cedb72add026c3f5bf7a82f0bf729b3f434
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
Log Message:
-----------
[Flang][OpenMP] Per-sym checks to introduce barriers (#127074)
Whenever there is a `lastprivate` variable and another unrelated
variable sets the `mightHaveReadHostSym` flag during Flang lowering
privatization, this will result in the insertion of a barrier.
This patch modifies this behavior such that this barrier will not be
inserted unless the same symbol both sets the flag and has
`lastprivate`.
Commit: 085e21b8326ef2327ee6082930e63d9e127eb06c
https://github.com/llvm/llvm-project/commit/085e21b8326ef2327ee6082930e63d9e127eb06c
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/CMakeLists.txt
Log Message:
-----------
[llvm-jitlink] Explicit exports for builtin runtime functions in MinGW executables (#107375)
Use explicit exports to fix the symbol resolution part of
https://github.com/llvm/llvm-project/issues/98714 in MinGW
Commit: 23cb0de7311bebb7bb1aecee3ad92c22de94f539
https://github.com/llvm/llvm-project/commit/23cb0de7311bebb7bb1aecee3ad92c22de94f539
Author: Shynur <one.last.kiss at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang][docs] Fix typo in AttrDocs.td (NFC) (#127183)
Commit: 5767e4d4ca55cbd21dfbb13825993295146b6302
https://github.com/llvm/llvm-project/commit/5767e4d4ca55cbd21dfbb13825993295146b6302
Author: Tomás Longeri <tlongeri at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[MLIR][NFC] Return MemRefType in memref.subview return type inference functions (#120024)
Avoids the need for cast, and matches the extra build functions, which
take a `MemRefType`
Commit: 2077d405f0fa8482d71ccd2a1d228ffda2b0b496
https://github.com/llvm/llvm-project/commit/2077d405f0fa8482d71ccd2a1d228ffda2b0b496
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
Log Message:
-----------
[SLP]Add a test with non-power-of-2 reduction for ctpop, NFC
>From #127177
Commit: 7ec60bf0166519317b5ae2505dd6ed4660e3ea39
https://github.com/llvm/llvm-project/commit/7ec60bf0166519317b5ae2505dd6ed4660e3ea39
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
[SLP]Improved reduction cost/codegen
SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```
it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```
It allows to improve the performance in some cases.
AVX512, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 4553.00 4615.00 1.4%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 412708.00 416820.00 1.0%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12901.00 12981.00 0.6%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 22717.00 22813.00 0.4%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39722.00 39850.00 0.3%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39725.00 39853.00 0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 15918.00 15967.00 0.3%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 155491.00 155587.00 0.1%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 227894.00 227942.00 0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1062188.00 1062364.00 0.0%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 793672.00 793720.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074917.00 2074933.00 0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074917.00 2074933.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 855219.00 855203.00 -0.0%
Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization
RISC-V, SiFive-p670, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 8990.00 9514.00 5.8%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 588504.00 588488.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147464.00 147440.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test 21496.00 21492.00 -0.0%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 165420.00 165372.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 843928.00 843648.00 -0.0%
test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test 100712.00 100672.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 24384.00 24336.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 24380.00 24332.00 -0.2%
test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test 10348.00 10316.00 -0.3%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 221304.00 220480.00 -0.4%
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 3750.00 3736.00 -0.4%
test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test 678.00 370.00 -45.4%
execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions
Reviewers: hiraditya, topperc, preames
Pull Request: https://github.com/llvm/llvm-project/pull/118293
Commit: 053e03332162e3a0527f0ac76313dcf1b8c1ae8c
https://github.com/llvm/llvm-project/commit/053e03332162e3a0527f0ac76313dcf1b8c1ae8c
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Generalize cost model for vp_fneg. NFC. (#126915)
Move the cost model for vp_fneg from the riscv-specific implementation to the generic TTI layer.
This ensures consistent handling of vp_fneg across targets
Commit: e52ad499ff00480175b630c2a941a10422d40a67
https://github.com/llvm/llvm-project/commit/e52ad499ff00480175b630c2a941a10422d40a67
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Add reminder to remove _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER macro (#127070)
`__cpp_explicit_this_parameter` has been set in LLVM20
https://github.com/llvm/llvm-project/pull/107451 /
https://github.com/llvm/llvm-project/commit/72e58e00c27c7f4dd9502c719ddd13dcfef33e85
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 5870c190350f499284af455d339cc2f844f9fbbf
https://github.com/llvm/llvm-project/commit/5870c190350f499284af455d339cc2f844f9fbbf
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
Log Message:
-----------
Revert "Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127089)"
This reverts commit ecdfa36ecaea7615b244f4cac26a4a023d30a9c1.
That introduced a breaking change in printer.
E.g. llvm/test/CodeGen/NVPTX/surf-read.ll started to output `.param .samplerref foo_param_0,` instead of `.param .surfref foo_param_0,`.
Looks like we don't have ptxas llvm build bot to catch this sort of NFC.
Commit: ee76861da9dc2678f9982bf019a9ebcd7fdcede4
https://github.com/llvm/llvm-project/commit/ee76861da9dc2678f9982bf019a9ebcd7fdcede4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
Log Message:
-----------
[InstCombine][X86] Add SSE shift test coverage for #125228
Pulled out of #125935 to show diff
Commit: 922f339c4ef3631f66dc4b8caa4c356103dbf69d
https://github.com/llvm/llvm-project/commit/922f339c4ef3631f66dc4b8caa4c356103dbf69d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Parse/ParseExpr.cpp
M clang/test/Parser/recovery.cpp
Log Message:
-----------
Diagnose the code with trailing comma in the function call. (#125232)
This patch fixes a regression caused by
https://github.com/llvm/llvm-project/pull/114684 where clang accepts
trailing commas for function calls.
Fixes #125225
Commit: d595d5a770d93c9564268fc631d85f3a6ce1f505
https://github.com/llvm/llvm-project/commit/d595d5a770d93c9564268fc631d85f3a6ce1f505
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Fix macos-14 build (#127157)
This was broken when pgo was enabled by
0572580dd040a81dc69b798e202550d51d17204a.
Commit: 035bc529f7de71aac6161f8074725acdb5a11254
https://github.com/llvm/llvm-project/commit/035bc529f7de71aac6161f8074725acdb5a11254
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/SwapExtractSliceWithFillPatterns.cpp
Log Message:
-----------
[nfc][mlir][linalg] Make example easier to read. (#127213)
Commit: 1435c8ed95fa10a55c2f924984141e427b89c330
https://github.com/llvm/llvm-project/commit/1435c8ed95fa10a55c2f924984141e427b89c330
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/openmp-offload.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M offload/test/offloading/bug51781.c
Log Message:
-----------
Reapply "[LinkerWrapper] Clean up options after proper forwarding" (#126495)
Summary:
The test failed because it no longer passed Rpass by default without
LTO. I think that's desirable as it matches the standard behavior.
This reverts commit 6fd99de31864a5ef84ae8613b3a9034e05293461.
Commit: 3e94fc0682952f6f996809f83e9e67f6d5e1989e
https://github.com/llvm/llvm-project/commit/3e94fc0682952f6f996809f83e9e67f6d5e1989e
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
M clang/test/Sema/types.c
Log Message:
-----------
[Clang] allow restrict qualifier for array types with pointer types as element types (#120896)
Fixes #92847
---
> Types other than pointer types whose referenced type is an object type
and (possibly multi-dimensional) array types with such pointer types as
element type shall not be restrict-qualified.
Commit: 708dc651ba8f223109879278f3dc166c7d122e2a
https://github.com/llvm/llvm-project/commit/708dc651ba8f223109879278f3dc166c7d122e2a
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/vaargs.ll
Log Message:
-----------
[NVPTX] Fix vaarg store alignment (#127067)
There is an issue with different alignment applied to store and load of
vaargs in NVPTX backend.
Current `CodeGen/NVPTX/vaargs.ll` demonstrates this discrepancy. Store
occurs with offsets `0,4,12,20`, but load with `0,8,16,24`.
This patch attempts to unify the alignment approach for callee and
caller.
Commit: b41b86a907f653f79bab10d4c80b3a41d146c71b
https://github.com/llvm/llvm-project/commit/b41b86a907f653f79bab10d4c80b3a41d146c71b
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/lib/Lex/CMakeLists.txt
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/CMakeLists.txt
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement Lexing of DescriptorTables (#122981)
For the sake of scope, we will let the lexing of floating literals be
deferred until needed for Static Samplers. Other than that this pr
should allow us to simply define new enumerations/keywords in
`RootSignatureTokenKinds.def` for when they are used in the parser. We
could have defined all of these keywords here, but for the sake of
correctness in review we will let them be split up.
- Define `RootSignatureLexer` and provide a public `LexToken` method for
external use
- Define the file `RootSignatureTokenKinds` to define required tokens
and allow for future custom keywords/enums
- Implement the internal methods required to parse the different types
of tokens (integers, flag enums, puncuators...)
- Add test harness for unit testing and the respective unit tests for
lexing the tokens
Resolves #126563
---------
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Commit: 4d2d0afceeb732a5238c2167ab7a6b88cc66d976
https://github.com/llvm/llvm-project/commit/4d2d0afceeb732a5238c2167ab7a6b88cc66d976
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-14 (Fri, 14 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/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Sema/Sema.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/AggregateSplatCast.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
Log Message:
-----------
[HLSL] Implement HLSL Aggregate splatting (#118992)
Implement HLSL Aggregate Splat casting that handles splatting for arrays
and structs, and vectors if splatting from a vec1.
Closes #100609 and Closes #100619
Depends on #118842
Commit: fbd92d098500775501ba917f21e094f4d714f562
https://github.com/llvm/llvm-project/commit/fbd92d098500775501ba917f21e094f4d714f562
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][format] Disables the FTM on older MacOS versions. (#126547)
On older MacOS versions where `std::to_chars` for floating-point types
is not available the format library can't be used. Due to some issue
with the availability macro used to disable format on MacOS the issue
triggers regardless of the type being formatted.
The print library has the same issue.
Fixes: #125353
Commit: bedd3926f9eabf3f3965e0a817559c13073fc783
https://github.com/llvm/llvm-project/commit/bedd3926f9eabf3f3965e0a817559c13073fc783
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Log Message:
-----------
[AsmParser][NFCI] Restructure DiagnosticPredicate (#126653)
This restructures the DiagnosticPredicate type to more closely match how
neatly ParseStatus is defined. The DiagnosticPredicateTy enum is moved
inside the class, and the boolean conversions are made explicit.
The main user of this code is AArch64, which I have also updated to use
the new structure of the code.
Commit: a8aa2566b97ff47bf52d963abc4dd5b16d3e5ba9
https://github.com/llvm/llvm-project/commit/a8aa2566b97ff47bf52d963abc4dd5b16d3e5ba9
Author: schittir <sindhu.chittireddy at intel.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
Log Message:
-----------
Revert "[NFC] Avoid potential null dereference." (#127228)
Reverts llvm/llvm-project#126872
The commit, though harmless, is unnecessary.
Commit: 04bf00c7c4db7ab7c9d60cb0822400938afb4d52
https://github.com/llvm/llvm-project/commit/04bf00c7c4db7ab7c9d60cb0822400938afb4d52
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/__format/formatter.h
Log Message:
-----------
[NFC][libc++][format] Fixes comment typos.
Commit: ec17161c6e87bb061daee4603ed21ab988f9d03d
https://github.com/llvm/llvm-project/commit/ec17161c6e87bb061daee4603ed21ab988f9d03d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Lex/BUILD.gn
Log Message:
-----------
[gn build] Port b41b86a907f6
Commit: 004afcbfb4abb67a1871f180dfbd026379027dc5
https://github.com/llvm/llvm-project/commit/004afcbfb4abb67a1871f180dfbd026379027dc5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Set cudadevice interfaces as public by default (#127229)
Remove the PRIVATE statement from cudadevice as it hides any interfaces
from the used __cuda_device module.
Commit: 40029800e7f9f0738340cc013221bd76060a38a0
https://github.com/llvm/llvm-project/commit/40029800e7f9f0738340cc013221bd76060a38a0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
Revert "[SLP]Improved reduction cost/codegen"
This reverts commit 7ec60bf0166519317b5ae2505dd6ed4660e3ea39 to fix
a bug reported in https://github.com/llvm/llvm-project/issues/127220.
Commit: 4b3c6443a12e4871692429329a093af93222cb57
https://github.com/llvm/llvm-project/commit/4b3c6443a12e4871692429329a093af93222cb57
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] port b41b86a907f653f79bab10d4c80b3a41d146c71b
Commit: 1042bd79722a08b989e034c644c35f3a4556d83c
https://github.com/llvm/llvm-project/commit/1042bd79722a08b989e034c644c35f3a4556d83c
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb] Fix broken pipe error (#127100)
During LLDB testing on slow machines with the remote-linux platform all
tests from llgs category fail with python exception `BrokenPipeError`.
The main reason of these failures is slow start of lldb-server in
gdbserver mode. Due to this desired gdbserver socket does not have time
to open by the time the Python script tries to establish a connection.
List of failed tests:
```
TestAppleSimulatorOSType.py
TestGdbRemoteAttach.py
TestGdbRemoteAuxvSupport.py
TestGdbRemoteCompletion.py
TestGdbRemoteExitCode.py
TestGdbRemoteExpeditedRegisters.py
TestGdbRemoteHostInfo.py
TestGdbRemoteKill.py
TestGdbRemoteLaunch.py
TestGdbRemoteModuleInfo.py
TestGdbRemotePlatformFile.py
TestGdbRemoteProcessInfo.py
TestGdbRemoteRegisterState.py
TestGdbRemoteSaveCore.py
TestGdbRemoteSingleStep.py
TestGdbRemoteThreadsInStopReply.py
TestGdbRemote_qThreadStopInfo.py
TestGdbRemote_vCont.py
TestLldbGdbServer.py
TestNonStop.py
TestPtyServer.py
TestGdbRemoteAttachWait.py
TestGdbRemoteConnection.py
TestStubSetSID.py
TestGdbRemoteAbort.py
TestGdbRemoteSegFault.py
TestGdbRemoteLibrariesSvr4Support.py
TestGdbRemoteMemoryAllocation.py
TestGdbRemoteMemoryTagging.py
TestGdbRemoteGPacket.py
TestGdbRemoteTargetXmlPacket.py
TestGdbRemote_QPassSignals.py
TestGdbRemoteThreadName.py
TestPartialResume.py
TestSignal.py
```
This patch implements an additional check for the opened socket on
lldb-server side and fixes this error.
Commit: 8730fd7c64561f0dbfbe27c3d51a84b03b75ab9a
https://github.com/llvm/llvm-project/commit/8730fd7c64561f0dbfbe27c3d51a84b03b75ab9a
Author: Jens Reidel <adrian at travitia.xyz>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][Mips] Align definition of __sanitizer_sigaction with musl (#124494)
The definition of __sanitizer_sigaction for MIPS matches the one in
glibc [1]. musl however uses a single definition of sigaction for all
architectures [2] that is more similar to the other architectures
supported by glibc. Fix the conditional logic so that
__sanitizer_sigaction matches the musl definition on MIPS.
[1]:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/mips/bits/sigaction.h;h=f7e3ad88abbf3c497aaed44247bc1085efebe462;hb=dc650eb715df0a272ce43dfb55a209d5b018cc04
[2]: https://git.musl-libc.org/cgit/musl/tree/include/signal.h#n169
---------
Signed-off-by: Jens Reidel <adrian at travitia.xyz>
Commit: 5742dc44e2fb571952990b4226b10476e15ac479
https://github.com/llvm/llvm-project/commit/5742dc44e2fb571952990b4226b10476e15ac479
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
A llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
Log Message:
-----------
[DirectX][ShaderFlags] Add analysis for `WaveOps` flag (#118140)
- Check each call instruction for a `WaveOp` intrinsic and set the
`WaveOps` flag if this is true for any intrinsic, Done in
DXILShaderFlags.cpp
Resolves #114565
Commit: 1199bbb396fb9554401ad5ae1816b6648bab76a9
https://github.com/llvm/llvm-project/commit/1199bbb396fb9554401ad5ae1816b6648bab76a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
Log Message:
-----------
[LAA] Add forked pointers tests with dep checks and runtime checks (NFC)
Add missing test coverage where generating runtime checks is tried again
after dependence analysis.
Commit: d2dd8021fd9b9efe08e512021e732fcb02f1a3ef
https://github.com/llvm/llvm-project/commit/d2dd8021fd9b9efe08e512021e732fcb02f1a3ef
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/header.py
A libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/subdir/test.h.def
A libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/type.py
Log Message:
-----------
[libc] Make hdrgen emit correct relative paths for llvm-libc-types (#127150)
This makes hdrgen emit `#include "..."` lines using the correct
relative path (number of `../` steps, if any) for the containing
header, and includes this in the sorted block of `#include` lines
also used for the macro headers.
Commit: 3b18d47ecbaba4e519ebf0d1bc134a404a56a9da
https://github.com/llvm/llvm-project/commit/3b18d47ecbaba4e519ebf0d1bc134a404a56a9da
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
[SLP]Improved reduction cost/codegen
SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```
it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```
It allows to improve the performance in some cases.
AVX512, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 4553.00 4615.00 1.4%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 412708.00 416820.00 1.0%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12901.00 12981.00 0.6%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 22717.00 22813.00 0.4%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39722.00 39850.00 0.3%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39725.00 39853.00 0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 15918.00 15967.00 0.3%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 155491.00 155587.00 0.1%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 227894.00 227942.00 0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1062188.00 1062364.00 0.0%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 793672.00 793720.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074917.00 2074933.00 0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074917.00 2074933.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 855219.00 855203.00 -0.0%
Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization
RISC-V, SiFive-p670, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 8990.00 9514.00 5.8%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 588504.00 588488.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147464.00 147440.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test 21496.00 21492.00 -0.0%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 165420.00 165372.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 843928.00 843648.00 -0.0%
test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test 100712.00 100672.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 24384.00 24336.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 24380.00 24332.00 -0.2%
test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test 10348.00 10316.00 -0.3%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 221304.00 220480.00 -0.4%
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 3750.00 3736.00 -0.4%
test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test 678.00 370.00 -45.4%
execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions
Reviewers: hiraditya, topperc, preames
Pull Request: https://github.com/llvm/llvm-project/pull/118293
Commit: 044b52832a779ac49fec9472e9e374c1b4609450
https://github.com/llvm/llvm-project/commit/044b52832a779ac49fec9472e9e374c1b4609450
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
Log Message:
-----------
[LAA] Perform checks for no-wrap separately from getPtrStride. (#126971)
Reorganize the code in isNoWrap to perform the no-wrap checks without
relying on getPtrStride directly. getPtrStride now uses isNoWrap.
The new structure allows deriving no-wrap in more cases in LAA, because
there are some cases where getPtrStride bails out early because it
cannot return a constant stride, but we can still prove no-wrap for the
pointer.
An example are AddRecs with non-ConstantInt strides with inbound GEPs,
in the improved test cases.
This enables vectorization with runtime checks in a few more cases.
PR: https://github.com/llvm/llvm-project/pull/126971
Commit: db1e15a1da20ff15c9bac8e6d731ec11871431bb
https://github.com/llvm/llvm-project/commit/db1e15a1da20ff15c9bac8e6d731ec11871431bb
Author: Manupa Karunaratne <manupa.karunaratne at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
Log Message:
-----------
[MLIR][Vector] Add support for inner-parallel masked multi-reductions (#126722)
This commit adds support to lower inner-parallel flavor of masked vector
multi-reductions.
Commit: 0931a2a5a26f4926fc74087017a8a6ba3ab874df
https://github.com/llvm/llvm-project/commit/0931a2a5a26f4926fc74087017a8a6ba3ab874df
Author: vporpo <vporpodas at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/User.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] SetUse callback (#126985)
This patch implements a callback mechanism similar to the existing ones,
but for getting notified whenever a Use edge gets updated. This is going
to be used in a follow up patch by the Dependency Graph.
Commit: 9ad83f7fcf95f14d410bd2a301c8851f48dd975d
https://github.com/llvm/llvm-project/commit/9ad83f7fcf95f14d410bd2a301c8851f48dd975d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Get pointer address space from AddRec (NFC).
Retrieve the address space from the pointer AddRec instead of the IR
pointer value, to prepare to make the IR pointer value optional.
Commit: 48c92dda0086d0ec2e8c1032ec53edec743c85f3
https://github.com/llvm/llvm-project/commit/48c92dda0086d0ec2e8c1032ec53edec743c85f3
Author: vporpo <vporpodas at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Update DAG whenever a Use is set (#127247)
This patch implements automatic DAG updating whenever a Use is set. This
maintains the UnscheduledSuccs counter that the scheduler relies on.
Commit: 0301bf977aa9842003462a2a7a3c3ce56abfaae0
https://github.com/llvm/llvm-project/commit/0301bf977aa9842003462a2a7a3c3ce56abfaae0
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
[MLIR] Lower `math.powf(x, 3.0)` to `x * x * x`. (#127256)
`math.powf(x, y)` never really supported negative values of `x`, but
that was unclear (happened to work for some values of `y`) until
https://github.com/llvm/llvm-project/pull/126338 was merged yesterday
and lowered it to the usual `exp(y * log(x))` outside of a few special
exponent values, such as y == 2.0` lowering to `x * x`.
It turns out that code in the wild has been relying on `math.powf(x, y)`
with negative `x` for some integral values of `y` for which a lowering
to muls was intended: https://github.com/iree-org/iree/issues/19996
This PR adds such a lowering for `y == 3.0`. It "fixes" such cases, and
it is a more efficient lowering anyway.
There needs to be a wider project to stop altogether using `powf` with
negative `x`, use `math.fpowi` for that.
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 778001514f4f2954be88fdc1e143c180165dadc4
https://github.com/llvm/llvm-project/commit/778001514f4f2954be88fdc1e143c180165dadc4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/lib/Analysis/LoopAccessAnalysis.cpp:1530:9: error: unused
variable 'Ty' [-Werror,-Wunused-variable]
Commit: aa500a79fcb4caf8fdb782808d2ee3c58fe9a2b6
https://github.com/llvm/llvm-project/commit/aa500a79fcb4caf8fdb782808d2ee3c58fe9a2b6
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/tests/expected_output/test_header.h
M libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/type.py
Log Message:
-----------
[libc] Make hdrgen deduce header type lists from function signatures (#127251)
With this, the `types` list in YAML files should only be used to
list the types that a standard specifies should be in that header
per se. All the types referenced in function signatures will be
collected automatically.
Commit: 947695a37f1f95505826f170598e1ec126914ba1
https://github.com/llvm/llvm-project/commit/947695a37f1f95505826f170598e1ec126914ba1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/test/CodeGenHLSL/basic-target.c
Log Message:
-----------
[HLSL] Update target test to use `-cc1` rather than the clang driver (#127262)
This test was unnecessarily invoking `dxv` if it was in your path since
it used the driver rather than the `-cc1` command.
Commit: 344058d490997e7dbef0f012ec117e1d523cbdb9
https://github.com/llvm/llvm-project/commit/344058d490997e7dbef0f012ec117e1d523cbdb9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
R llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Delete count_running_jobs.py script
This patch deletes the count_running_jobs.py script. Its functionality has
been mostly subsumed by the metrics container running in the new premerge
infra. This script also has not been used in a while.
Commit: 18f60bc33530c2b1785bffcbd7146f65ccacee51
https://github.com/llvm/llvm-project/commit/18f60bc33530c2b1785bffcbd7146f65ccacee51
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Treat offsetof as a trivial expression. (#126996)
Commit: da6ac9564bf31e8b063b73e9b2fb7fc67edd5d55
https://github.com/llvm/llvm-project/commit/da6ac9564bf31e8b063b73e9b2fb7fc67edd5d55
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Support [[clang::noescape]] on a constructor (#126869)
Added the support for annotating a constructor's argument with
[[clang::noescape]].
We explicitly ignore CXXConstructExpr which is visited as a part of
CallExpr so that construction of closures like Function,
CompletionHandler, etc... don't result in a warning.
Commit: dcfc30ca6b19bd8ee9ab9788cb4923a848af3f20
https://github.com/llvm/llvm-project/commit/dcfc30ca6b19bd8ee9ab9788cb4923a848af3f20
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/header.py
Log Message:
-----------
[libc] Fix hdrgen to be compatible with Python 3.8 (#127265)
Commit: c662103c6ead3bbfad9bc24d7770552163dbb92b
https://github.com/llvm/llvm-project/commit/c662103c6ead3bbfad9bc24d7770552163dbb92b
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
Log Message:
-----------
[Coroutines][LazyCallGraph] addSplitRefRecursiveFunctions allows spurious ref edges between new functions. (#116285)
The addSplitRefRecursiveFunctions LazyCallGraph helper should not
require a reference between every new function. Spurious ref edges
between the new functions are allowed and the new function are
considered to be a RefSCC. This change clarifies that this is the case
in the method's description and its DEBUG mode verifier.
Commit: 303f2415448ac79fa85abd22ad7108fbb9dab3d3
https://github.com/llvm/llvm-project/commit/303f2415448ac79fa85abd22ad7108fbb9dab3d3
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
R libc/include/ctype.h.def
M libc/include/ctype.yaml
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/tests/expected_output/subdir/test.h
R libc/utils/hdrgen/tests/input/subdir/test.h.def
M libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Make template_header optional for hdrgen (#127259)
This allows a YAML file to omit `template_header` and have no
`.h.def` file. A default template is generated based purely on
the information in the YAML file. This should handle most of the
cases. For now, it's exercised (aside from the hdrgen tests)
only for one of the simplest cases: <ctype.h>.
This includes making the parser notice the "standards" YAML field
at the top (header) level, not just in "functions" lists. The
standards listed for the header overall and for the individual
functions both feed into how a fully-generated header describes
itself in comments. To go with this, files using the default
generated template must stick to a new uniform set of spellings
for the "standards" lists. As more custom template files are
retired, the corresponding YAML files will need all their
standards lists normalized. For now, ctype.yaml is updated
with correct attribution for the POSIX `_l` extensions.
Commit: 496fec53846a98ba58db95d98f45db221bbdd510
https://github.com/llvm/llvm-project/commit/496fec53846a98ba58db95d98f45db221bbdd510
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Fix recursion tests (#127270)
The implicit-check-not had a typo which meant it didn't fail as expected
when I tested better recursion handling. Fix that here (no change for
current head).
Commit: 2f911ad2e75da87859706e99dd4fb45a632032b7
https://github.com/llvm/llvm-project/commit/2f911ad2e75da87859706e99dd4fb45a632032b7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (2/N) (#123237)
Unifies test function names so that it's easier to identify what
different cases are. Also improves consistency. The following naming
scheme has been adopted:
* `@xfer_{read|write}_{map_type}_{masked|with_mask|}_{out_of_bounds}_{scalable}`
Also updated some comments to better document the patterns that are
being exercised.
Commit: 9106ee25e9581cccc73836e87ce9b74bbac5ff19
https://github.com/llvm/llvm-project/commit/9106ee25e9581cccc73836e87ce9b74bbac5ff19
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow ArrayInitLoopExpr and OpaqueValueExpr in trivial expressions (#127182)
Allow VisitArrayInitLoopExpr, VisitArrayInitIndexExpr, and
VisitOpaqueValueExpr in trivial functions and statements.
Commit: 50b1763d9dcfc5dfae6a42a0edf9f139a1e76a6d
https://github.com/llvm/llvm-project/commit/50b1763d9dcfc5dfae6a42a0edf9f139a1e76a6d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Fix Typo in MacOS Job Name
This patch changes the name of the MacOS premerge job from
permerge-checks-macos to (the presumably correct) premerge-checks-macos.
Commit: d9b55b72103f7d2b35cdc7a6311f217016308d9c
https://github.com/llvm/llvm-project/commit/d9b55b72103f7d2b35cdc7a6311f217016308d9c
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Fix extra `;` warning, and replace `new` with emplaceBlock (NFC) (#127207)
Commit: 9f6e72bd0c1e6e52ac5aa0e29dc3d128ee868ee5
https://github.com/llvm/llvm-project/commit/9f6e72bd0c1e6e52ac5aa0e29dc3d128ee868ee5
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/enumeration.py
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/input/merge1.yaml
A libc/utils/hdrgen/tests/input/merge2.yaml
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Add merge_yaml_files feature to hdrgen (#127269)
This allows a sort of "include" mechanism in the YAML files. A
file can have a "merge_yaml_files" list of paths (relative to the
containing file's location). These are YAML files in the same
syntax, except they cannot have their own "header" entry. Only
the lists (types, enums, macros, functions, objects) can appear.
The main YAML file is then processed just as if each of its lists
were the (sorted) union of each YAML file's corresponding list.
This will enable maintaining a single source of truth for each
function signature and other such details, where it is necessary
to generate the same declaration in more than one header.
Commit: 77ddffc946fe6763c6c0ce04aa23315903762c6f
https://github.com/llvm/llvm-project/commit/77ddffc946fe6763c6c0ce04aa23315903762c6f
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
Log Message:
-----------
[HLSL] Fix Root signature test error (#127261)
Fixing error detected in build bot in file
`RootSignature-MultipleEntryFunctions.ll`
closes: [127260](https://github.com/llvm/llvm-project/issues/127260)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 398f865499e6d7c35df2496cdff29ed0239423de
https://github.com/llvm/llvm-project/commit/398f865499e6d7c35df2496cdff29ed0239423de
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
A libc/src/time/strftime.cpp
A libc/src/time/strftime.h
A libc/src/time/strftime_core/CMakeLists.txt
A libc/src/time/strftime_core/composite_converter.h
A libc/src/time/strftime_core/converter.cpp
A libc/src/time/strftime_core/converter.h
A libc/src/time/strftime_core/core_structs.h
A libc/src/time/strftime_core/num_converter.h
A libc/src/time/strftime_core/parser.h
A libc/src/time/strftime_core/str_converter.h
A libc/src/time/strftime_core/strftime_main.cpp
A libc/src/time/strftime_core/strftime_main.h
M libc/src/time/time_constants.h
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/strftime_test.cpp
Log Message:
-----------
[libc] Implement strftime (#122556)
Implements the posix-specified strftime conversions for the default
locale, along with comprehensive unit tests. This reuses a lot of design
from printf, as well as the printf writer.
Roughly based on #111305, but with major rewrites.
Commit: 60af83506a3aa379c59e0f9793ce7815d726aee1
https://github.com/llvm/llvm-project/commit/60af83506a3aa379c59e0f9793ce7815d726aee1
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/src/time/strftime_core/composite_converter.h
Log Message:
-----------
[libc] Fix implicit cast warning in strftime (#127282)
Forgot to change a size_t to an int, which caused warnings on gcc but
not clang for some reason. Regardless, this patch fixes the issue.
Commit: 77041da98932f77896d48366703d956ae7a82036
https://github.com/llvm/llvm-project/commit/77041da98932f77896d48366703d956ae7a82036
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Recognize nested protectedThis pattern (#126443)
In WebKit, it's pretty common to capture "this" and "protectedThis"
where "protectedThis" is a guardian variable of type Ref or RefPtr for
"this". Furthermore, it's common for this "protectedThis" variable from
being passed to an inner lambda by std::move. Recognize this pattern so
that we don't emit warnings for nested inner lambdas.
To recognize this pattern, we introduce a new DenseSet,
ProtectedThisDecls, which contains every "protectedThis" we've
recognized to our subclass of DynamicRecursiveASTVisitor. This set is
now populated in "hasProtectedThis" and "declProtectsThis" uses this
DenseSet to determine a given value declaration constitutes a
"protectedThis" pattern or not.
Because hasProtectedThis and declProtectsThis had to be moved from the
checker class to the visitor class, it's now a responsibility of each
caller of visitLambdaExpr to check whether a given lambda captures
"this" without a "protectedThis" or not.
Finally, this PR improves the code to recognize "protectedThis" pattern
by allowing more nested CXXBindTemporaryExpr, CXXOperatorCallExpr, and
UnaryOperator expressions.
Commit: 28c52edbe33e671ace58309e60598f3342e9ca73
https://github.com/llvm/llvm-project/commit/28c52edbe33e671ace58309e60598f3342e9ca73
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/Sema/attr-model.cpp
Log Message:
-----------
[clang][X86] Support __attribute__((model("small"/"large"))) (#124834)
Following up #72078, on x86-64 this allows a global to be considered
small or large regardless of the code model. For example, x86-64's
medium code model by default classifies globals as small or large
depending on their size relative to -mlarge-data-threshold.
GPU compilations compile the same TU for both the host and device, but
only codegen the host or device portions of it depending on attributes.
However, we still Sema the TU, and will warn on an unknown attribute for
the device compilation since this attribute is target-specific. Since
they're intended for the host, accept but ignore this attribute for
device compilations where the host is either unknown or known to
support the attribute.
Co-authored-by: @pranavk
Commit: caaa288fa3658b40a35a8e327bf140921ecfaaf9
https://github.com/llvm/llvm-project/commit/caaa288fa3658b40a35a8e327bf140921ecfaaf9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
Log Message:
-----------
Revert "[Coroutines][LazyCallGraph] addSplitRefRecursiveFunctions allows spurious ref edges between new functions." (#127285)
Reverts llvm/llvm-project#116285
Breaks expensive checks build, e.g.
https://lab.llvm.org/buildbot/#/builders/16/builds/13821
Commit: 625cb5a18576dd5d193da8d0249585cb5245da5c
https://github.com/llvm/llvm-project/commit/625cb5a18576dd5d193da8d0249585cb5245da5c
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
R libc/include/malloc.h.def
M libc/include/malloc.yaml
A libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Share hdrgen declarations between stdlib.h and malloc.h (#127278)
This uses the new merge_yaml_files feature in hdrgen to share the
source of truth for the malloc suite of functions declared in
both stdlib.h and in malloc.h (without either header including
the other). It also modernizes the malloc.yaml definition a bit,
including dropping the custom template malloc.h.def file in favor
of using the explicit macros list to generate the includes.
Commit: 25e43334a86804c77d460493e37b57274257461a
https://github.com/llvm/llvm-project/commit/25e43334a86804c77d460493e37b57274257461a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Lower shuffle which splats a single span (without exact VLEN) (#127108)
If we have a shuffle which repeats the same pattern of elements, all of
which come from the first register in the source register group, we can
lower this to a single vrgather at m1 to perform the element
rearrangement, and reuse that for each register in the result vector
register group.
Commit: 68a82a2298327c74bf25b8d376ffa3dc1e1b6388
https://github.com/llvm/llvm-project/commit/68a82a2298327c74bf25b8d376ffa3dc1e1b6388
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/input/subdir/test.yaml
Log Message:
-----------
[libc] Elide extra space in hdrgen function declarations (#127287)
When the return type's rendering already doesn't end with an
identifier character, such as when it's `T *`, then idiomatic
syntax does not include a space before the `(` and arguments.
Commit: 6c54ab548fa6d1b6d84864a93dbc436dc47c64b0
https://github.com/llvm/llvm-project/commit/6c54ab548fa6d1b6d84864a93dbc436dc47c64b0
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-align.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12-got-symbols.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
Log Message:
-----------
[lld][LoongArch] Relax R_LARCH_{PCALA,GOT_PC}_{HI20,LO12} (#123566)
Support relaxation optimization for two types of code sequences.
```
From:
pcalau12i $a0, %pc_hi20(sym)
R_LARCH_PCALA_HI20, R_LARCH_RELAX
addi.w/d $a0, $a0, %pc_lo12(sym)
R_LARCH_PCALA_LO12, R_LARCH_RELAX
To:
pcaddi $a0, %pc_lo12(sym)
R_LARCH_PCREL20_S2
From:
pcalau12i $a0, %got_pc_hi20(sym_got)
R_LARCH_GOT_PC_HI20, R_LARCH_RELAX
ld.w/d $a0, $a0, %got_pc_lo12(sym_got)
R_LARCH_GOT_PC_LO12, R_LARCH_RELAX
To:
pcaddi $a0, %got_pc_hi20(sym_got)
R_LARCH_PCREL20_S2
```
Others:
- `loongarch-relax-pc-hi20-lo12-got-symbols.s` is inspired by
`aarch64-adrp-ldr-got-symbols.s`.
Co-authored-by: Xin Wang
[wangxin03 at loongson.cn](mailto:wangxin03 at loongson.cn)
Commit: e9fb2391210e20d1d4dcf8bbe37085df902ed028
https://github.com/llvm/llvm-project/commit/e9fb2391210e20d1d4dcf8bbe37085df902ed028
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Treat attributes as trivial (#127289)
For the purpose of determining triviality, ignore all attributes.
Commit: 5866032834ae6afc548c8240ec7df2a8564ecd95
https://github.com/llvm/llvm-project/commit/5866032834ae6afc548c8240ec7df2a8564ecd95
Author: Stef Lindall <bethebunny at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Support/TypeID.h
M mlir/lib/Support/TypeID.cpp
Log Message:
-----------
[mlir] Add `MLIR_USE_FALLBACK_TYPE_IDS` macro support for `TypeID` (#126999)
Adds a macro definition `MLIR_USE_FALLBACK_TYPE_IDS`. When this is
defined, the `MLIR_{DECLARE,DEFINE}_EXPLICIT_TYPE_ID` functions
explicitly fall back to string comparison.
This is useful for complex shared library setups
where it may be difficult to agree on a source of truth for specific
type ID resolution. As long as there is a single resolution for
`registerImplicitTypeID`, all type IDs can be reference a shared
registration. This way types which are logically shared across multiple
DSOs can have the same type ID, even if their definitions are
duplicated.
Commit: 9fddcea027993e18a8de7e58e73a56f56866f70f
https://github.com/llvm/llvm-project/commit/9fddcea027993e18a8de7e58e73a56f56866f70f
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Fix getSliceBounds for missing handling of no lower/upper bound in certain cases (#127192)
Fix `FlatLinearValueConstraints::getSliceBounds` for missing checks on
no
lower/upper bound bound. Obvious bug.
Fixes: https://github.com/llvm/llvm-project/issues/119525
Fixes: https://github.com/llvm/llvm-project/issues/108374
Commit: 34cf04b59b8d94c8eeb9929ec2cd3d63631af86f
https://github.com/llvm/llvm-project/commit/34cf04b59b8d94c8eeb9929ec2cd3d63631af86f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
M llvm/test/CodeGen/NVPTX/surf-read.ll
M llvm/test/CodeGen/NVPTX/surf-write.ll
Log Message:
-----------
Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127277)
Originally landed in #126800
This version fixes a typo in NVPTXAsmPrinter::emitFunctionParamList
where .surfref was erroneously replaced with .samplerref.
Commit: 7a6d1508ce5c6d33233d250a9d006066e019d712
https://github.com/llvm/llvm-project/commit/7a6d1508ce5c6d33233d250a9d006066e019d712
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Reorder insert_subvector and bitcast in getDeinterleaveShiftAndTrunc. (#127258)
Put the bitcast before the insert_subvector. It's more likely the insert
subvector can be combined with other nodes. The insert_subvector is only
needed sometimes, and I'm considering reusing this function which might
require pulling the insert_subvector out.
Commit: 2d878ccf543c8a949f60a51e3e2be5238e142bf4
https://github.com/llvm/llvm-project/commit/2d878ccf543c8a949f60a51e3e2be5238e142bf4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Track Queue/In Progress Metrics By Job Rather Than Workflow
This patch makes it so that the metrics container counts the number of in
progress and queued jobs at the job level rather than at the workflow
level. This helps us distinguish windows versus linux load and also lets
us filter out the MacOS jobs that only run in the release branch.
Reviewers: Keenuts, lnihlen
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127274
Commit: 4aeb2f1c7980918b41c380253eff4726482622a2
https://github.com/llvm/llvm-project/commit/4aeb2f1c7980918b41c380253eff4726482622a2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Remove Duplicate Heartbeat in Metrics Script
This patch removes an extra heartbeat metric in the metrics python file. Before
it was performed twice, once in the main function, and once in the
get_sampled_workflow_metrics function. We only need one to keep everything
happy, and I've chosen to keep the one in get_sampled_workflow_metrics as it
seems a more appropriate place to keep it.
Reviewers: Keenuts, lnihlen
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127275
Commit: f7a2d70bd91094e7a85f7e189602c826a3eeb6cd
https://github.com/llvm/llvm-project/commit/f7a2d70bd91094e7a85f7e189602c826a3eeb6cd
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Make llvm::telemetry::Manager::preDispatch protected. (#127114)
The method was meant to be overriden by subclasses only.
It should not be called directly by users
Commit: 97d2cfeab3dc938f28e2af4f2deff6a82ac58c5e
https://github.com/llvm/llvm-project/commit/97d2cfeab3dc938f28e2af4f2deff6a82ac58c5e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Try Moving Github Object Into Loop
Currently the metrics container is crashing reasonably often with
incomplete read/connection broken errors. Try moving the creation of the
Github Object into the main loop to see if recreating the object that
maybe handles some connection state fixes the issue.
Reviewers: Keenuts, lnihlen
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127276
Commit: d7b89b0dcae802fd6405216514a82850243a47b1
https://github.com/llvm/llvm-project/commit/d7b89b0dcae802fd6405216514a82850243a47b1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Do Not Consider a Job Failed if Steps Were Skipped
This patch makes it so that skipped steps do not cause a job to be
considered failed. The windows premerge jobs currently skip the
build/test step if there are no projects to build/test. These show up as
failures in the dashboard even though everything executed perfectly
fine.
Reviewers: lnihlen, Keenuts
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127279
Commit: 63113cfc985321432f266d801111117915ad1d72
https://github.com/llvm/llvm-project/commit/63113cfc985321432f266d801111117915ad1d72
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
Log Message:
-----------
[RISCV] Remove what appears to be an unnecessary check for LMUL_8 in getSingleShuffleSrc. (#127250)
I think this dates to a time when we used to use a type twice as large
as necessary for the input to the vnsrl. This was changed in #118509
when factor 4 and 8 were added.
The existing test for this regresses because it uses a lot of undef
elements and we previously figured out we could reduce its size and then
try the vnsrl again. We now match it before we try to reduce the width
so we miss this opportunity.
I've added a second test that doesn't have any undef elements in the
first half. Prior to this patch we used a vcompress lowering instead of
vnsrl.
Commit: d1b95acad747880c081229d1ca63dc28bde6c190
https://github.com/llvm/llvm-project/commit/d1b95acad747880c081229d1ca63dc28bde6c190
Author: dyung <douglas.yung at sony.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/CMakeLists.txt
Log Message:
-----------
Revert "[llvm-jitlink] Explicit exports for builtin runtime functions in MinGW executables" (#127297)
Reverts llvm/llvm-project#107375
This was causing a build bot failure
(https://lab.llvm.org/buildbot/#/builders/201/builds/2954) and also
breaks building with VS2019. See
https://github.com/llvm/llvm-project/pull/107375#issuecomment-2660709198
for details.
Commit: 61ad08792a86e62309b982189a600f4342a38d91
https://github.com/llvm/llvm-project/commit/61ad08792a86e62309b982189a600f4342a38d91
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
Log Message:
-----------
[MLIR][Affine] NFC. Fix/improve debug messages for affine analysis/fusion utils (#127164)
Fix/improve debug messages and API signatures for affine
analysis/fusion utils.
Move some warnings under LLVM_DEBUG. These weren't meant to be exposed
during compilation.
Add dump pretty methods for FlatLinearConstraints.
NFC.
Commit: 5c93eb56dc9bc0c0210483cdd5d31e6b6580454f
https://github.com/llvm/llvm-project/commit/5c93eb56dc9bc0c0210483cdd5d31e6b6580454f
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h
M mlir/include/mlir/Conversion/MathToLibm/MathToLibm.h
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
Log Message:
-----------
[MLIR][Math] Add optional benefit arg to populate math lowering patterns (#127291)
Co-authored-by: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Commit: 3063153b5643e5ed04e8a9d7b50feecf3eba325e
https://github.com/llvm/llvm-project/commit/3063153b5643e5ed04e8a9d7b50feecf3eba325e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating ObjCMethodSpecifier (#127159)
Fixes #58202.
Commit: 66465c3b0ab1b32403ad5a1c3114174d87830f54
https://github.com/llvm/llvm-project/commit/66465c3b0ab1b32403ad5a1c3114174d87830f54
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Revert "Make llvm::telemetry::Manager::preDispatch protected. (#127114)"
This reverts commit f7a2d70bd91094e7a85f7e189602c826a3eeb6cd.
Multiple buildbot failures have been reported. See:
https://github.com/llvm/llvm-project/pull/127114
Commit: 8fff0c181f26a5e8b2344c061ebf2559118b1160
https://github.com/llvm/llvm-project/commit/8fff0c181f26a5e8b2344c061ebf2559118b1160
Author: Jordan R AW <ajordanr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/cmake/modules/FindCursesAndPanel.cmake
Log Message:
-----------
[lldb] Add terminfo dependency for ncurses support (#126810)
For some operating systems (e.g. chromiumos), terminfo is a separate
package and library from ncurses. Both are still requirements for curses
support in lldb, individually.
This is a rework of this original spack commit:
https://github.com/spack/spack/commit/9ea261265010eacd250691a8361f661d0576f25c
Instead though, this PR uses CMake to detect whether the symbol is
present and defined in the curses library, and only falls back to a separate
tinfo if not found.
Without this fix, LLDB cannot be built on these systems.
Fixes #101368
Commit: ed32d85d31999756602a7d5c4647cb6771d8f857
https://github.com/llvm/llvm-project/commit/ed32d85d31999756602a7d5c4647cb6771d8f857
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/source/Commands/CommandObjectExpression.cpp
Log Message:
-----------
[lldb] Use async output & error stream for EvaluateExpression
Similar to #126821, in support of #126630.
Commit: b24e14093dae04440f22a2da128ba29576f5b3c3
https://github.com/llvm/llvm-project/commit/b24e14093dae04440f22a2da128ba29576f5b3c3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Keep Track of Workflow Name Instead of Job Name
The metrics script includes some logic to only read look at workflows up
to the most recent workflow it has seen previously. This was broken in a
previous patch when workflow metrics began to be emitted per job. The
logic ending the metrics gathering would never trigger, so we would
continually fetch more and more workflows until OOM.
Commit: 776fa2d731c17d6ba0afad2554ebc89cf5e3e5ef
https://github.com/llvm/llvm-project/commit/776fa2d731c17d6ba0afad2554ebc89cf5e3e5ef
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Core/IOHandlerCursesGUI.h
M lldb/source/Core/IOHandlerCursesGUI.cpp
Log Message:
-----------
[lldb] Gardening in IOHandlerCurses (NFC)
- Remove _ap (auto_ptr) suffix with _up (unique_ptr) suffix
- Move forward declaration from IOHandler.h to IOHandlerCursesGUI.h
- Move curses namespace under lldb_private
Motivated by Alex' comment in #126630.
Commit: c30a7f459452d5766da244564bc1d5888346c364
https://github.com/llvm/llvm-project/commit/c30a7f459452d5766da244564bc1d5888346c364
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang] Fix standalone builds against installed MLIR (#126387)
1. Add a new `MLIR_DEPS` argument group to `flang_add_library()`, and
move MLIR-specific dependencies to that group. These dependencies are
added as usual in regular builds, and are skipped in standalone builds,
since MLIR targets are not visible there (and were already built and
installed).
2. Fix the value of `MLIR_MAIN_SRC_DIR` to refer to the current source
directory rather than the directory written into MLIR CMake files. The
latter refers to the directory used to build the MLIR package, and is no
longer valid.
3. Fix non-dylib friendly linking of `LLVMTargetParser` in `Optimizer`
unittests.
With these changes, I can successfully run Flang's regression tests.
Commit: b6be53d4cb92592940618555ba5fbf412c0cfca8
https://github.com/llvm/llvm-project/commit/b6be53d4cb92592940618555ba5fbf412c0cfca8
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[ValueTracking] Test for not cond to assume (NFC)
Commit: 77b309d0721b70f7e2e646f50317478fa76b1ba5
https://github.com/llvm/llvm-project/commit/77b309d0721b70f7e2e646f50317478fa76b1ba5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
Log Message:
-----------
[AST] Avoid repeated hash lookups (NFC) (#127299)
Commit: 8bdc312272543e8fb21868e57a6c1592668b49a4
https://github.com/llvm/llvm-project/commit/8bdc312272543e8fb21868e57a6c1592668b49a4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
Log Message:
-----------
[Index] Avoid repeated hash lookups (NFC) (#127300)
Commit: 42e0ee4d7eaafd86a27418cd8c752229ce90c8e2
https://github.com/llvm/llvm-project/commit/42e0ee4d7eaafd86a27418cd8c752229ce90c8e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Avoid repeated hash lookups (NFC) (#127301)
Commit: 9453b38ac74f0d6797f12213996eac40d56537d9
https://github.com/llvm/llvm-project/commit/9453b38ac74f0d6797f12213996eac40d56537d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
Log Message:
-----------
[clang-offload-packager] Avoid repeated hash lookups (NFC) (#127302)
Commit: 05209f1e598f73913bf0284bfbbb88131149bbcf
https://github.com/llvm/llvm-project/commit/05209f1e598f73913bf0284bfbbb88131149bbcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#127303)
Commit: 7e7a3623b44da5019878b91d8334d4c16d7b86a9
https://github.com/llvm/llvm-project/commit/7e7a3623b44da5019878b91d8334d4c16d7b86a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/RDFCopy.cpp
Log Message:
-----------
[Hexagon] Avoid repeated map lookups (NFC) (#127304)
Commit: 4887e41055686eede9c155e6b3296b92fe86c2d5
https://github.com/llvm/llvm-project/commit/4887e41055686eede9c155e6b3296b92fe86c2d5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/optional
Log Message:
-----------
[libc++][NFC] Make enable_ifs in <optional> consistent (#127184)
We've documented the preferred `enable_if` style in the coding
guidelines. This updates `<optional>` to conform to them
Commit: cffc1ac3491c891ef4f80bcbfa685710e477eeac
https://github.com/llvm/llvm-project/commit/cffc1ac3491c891ef4f80bcbfa685710e477eeac
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/__configuration/platform.h
Log Message:
-----------
[libc++] Avoid including <features.h> on arbitrary platforms (#125587)
This partially reverts commit 5f2389d4. That commit started checking
whether <features.h> was a valid include unconditionally, however codebases
are free to have such a header on their search path, which breaks compilation.
LLVM libc now provides a more standard way of getting configuration macros
like __LLVM_LIBC__.
After this patch, we only include <features.h> when we're on Linux or
when we're compiling for GPUs.
Commit: 8f3a070db9bffe78d86d24b583effe4032baa4db
https://github.com/llvm/llvm-project/commit/8f3a070db9bffe78d86d24b583effe4032baa4db
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Add new WG21 papers(Hagenberg) papers to the C++ status page
Commit: 70b95ca6dbee7036dcfa5995ff804471fd7e8c2a
https://github.com/llvm/llvm-project/commit/70b95ca6dbee7036dcfa5995ff804471fd7e8c2a
Author: lntue <lntue at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libc/src/math/generic/sqrtf128.cpp
Log Message:
-----------
[libc][math] Fix sqrtf128 implicit conversions. (#127154)
This fixes rv32 buildbot failure from
https://github.com/llvm/llvm-project/pull/122578
Commit: 2db262886f0c06c079e1b2808c4c14c16f8861b5
https://github.com/llvm/llvm-project/commit/2db262886f0c06c079e1b2808c4c14c16f8861b5
Author: Edgar <git at edgarluque.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
[MLIR] Fix mlirExecutionEngineLookup throwing assert on lookup fail (#123924)
Apparently trying to lookup a function pointer using the C api
`mlirExecutionEngineLookup` will throw an assert instead of just
returning a nullptr on builds with asserts.
The docs itself says it returns a nullptr when no function is found so
it should be sensible to not throw an assert in this case.
Commit: 42ff31aea5828a491269b4db1ba5cff6fef7ca60
https://github.com/llvm/llvm-project/commit/42ff31aea5828a491269b4db1ba5cff6fef7ca60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineTargetShuffle - fold VPERMV3(HI,MASK,LO) -> VPERMV(COMMUTE(MASK),CONCAT(LO,HI)) (#127199)
We already handle the simpler VPERMV3(LO,MASK,HI) fold which can reuse
the (widened) mask, this attempts to match the flipped concatenation,
and commutes the mask to handle the flip.
I've limited this to cases where we can extract the constant mask for
commutation, a more general solution would XOR the MSB of the shuffle
mask indices to commute, but this almost never constant folds away after
lowering so the benefit was minimal.
Commit: a6093d30348d7116b1112f7532743fda50258d67
https://github.com/llvm/llvm-project/commit/a6093d30348d7116b1112f7532743fda50258d67
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/test/benchmarks/algorithms/fill.bench.cpp
M libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
Log Message:
-----------
[libc++] Explicitly mention vector_bool in the name of benchmarks (#127313)
We have some benchmarks that were benchmarking very specific
functionality, namely the optimizations in vector<bool>::iterator. Call
this out in the benchmarks by renaming them appropriately. In the future
we will also increase the coverage of these benchmarks to test other
containers.
Commit: 88284e4efce09b0c9f46c3893554481815badf01
https://github.com/llvm/llvm-project/commit/88284e4efce09b0c9f46c3893554481815badf01
Author: realqhc <caiqihan021 at hotmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rv32i-invalid.s
A llvm/test/MC/RISCV/rv32p-valid.s
A llvm/test/MC/RISCV/rv64p-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Support Zb*/P Shared Instructions (#127160)
This enables shared instructions between Zb* and Base-P extension.
Documentation:
https://jhauser.us/RISCV/ext-P/RVP-baseInstrs-014.pdf
https://jhauser.us/RISCV/ext-P/RVP-instrEncodings-014.pdf
Commit: 21e956df9b2b283c2f2ed710c542ebeebf8473ff
https://github.com/llvm/llvm-project/commit/21e956df9b2b283c2f2ed710c542ebeebf8473ff
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/include/llvm/InitializePasses.h
Log Message:
-----------
[CodeGen] Remove two dead pass initializer decls. NFC
- After #97727 and #101652, `LowerConstantIntrinsics` and
`ExpandVectorPredicationPass` are no longer dedicated passes.
Commit: 4664a4c66b816af53f596935c3aaa2eca143ae9c
https://github.com/llvm/llvm-project/commit/4664a4c66b816af53f596935c3aaa2eca143ae9c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Use getPointer/setPointer in createCheckForAccess (NFC).
Use getPointer/setPointer to clarify we are accessing/modifying the
rurrent value.
Commit: bfdf30e9b3d0b49344a651a5c7cd87be31d255c4
https://github.com/llvm/llvm-project/commit/bfdf30e9b3d0b49344a651a5c7cd87be31d255c4
Author: David Green <david.green at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Add patterns for addv(sext) and addv(zext)
This adds patterns for v8i8->i16 vaddlv and v4i16->i32 vaddlv, for both signed
and unsigned extends.
Commit: b4030040359656ed20cb29de7b3912b6b249e98e
https://github.com/llvm/llvm-project/commit/b4030040359656ed20cb29de7b3912b6b249e98e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/ConstantRange.h
M llvm/lib/IR/ConstantRange.cpp
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: factor and introduce splitPosNeg (NFC) (#126528)
Factor out some code that splits a ConstantRange into positive and
negative components, introducing ConstantRange::splitPosNeg.
Commit: 948e97a40eba6c176183e8e7aefb994681b593ea
https://github.com/llvm/llvm-project/commit/948e97a40eba6c176183e8e7aefb994681b593ea
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Revert MLIR_MAIN_SRC_DIR override (#127337)
This change is no longer necessary after #125842. Thanks to @nikic for
letting me know.
Commit: e60de25c4e9a6d59b7fd868e803cfe3cd77d4078
https://github.com/llvm/llvm-project/commit/e60de25c4e9a6d59b7fd868e803cfe3cd77d4078
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Replace symbolic strides for translated pointers earlier (NFC).
Move up replaceSymbolicStrideSCEV before isNoWrap. It needs to be called
after hasComputableBounds, as this may create an AddRec via PSE, which
replaceSymbolicStrideSCEV will look up.
This is in preparation for simplifying isNoWrap.
Commit: c17df0af23c941cd4fc97851ea51c91eee7c49e4
https://github.com/llvm/llvm-project/commit/c17df0af23c941cd4fc97851ea51c91eee7c49e4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Fix a crash in declProtectsThis (#127309)
Add a missing nullptr check to declProtectsThis.
Commit: 2472d38338aed9a9cca41a0ca0921b39765256c1
https://github.com/llvm/llvm-project/commit/2472d38338aed9a9cca41a0ca0921b39765256c1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/string
M libcxx/src/string.cpp
Log Message:
-----------
[libc++] Move unused basic_string function definition to the dylib sources (#126219)
`__init(const value_type*, size_type, size_type)` is part of our ABI,
but we don't actually use the function anymore in the dylib. THis moves
the definition to the `src/` directory to make it clear that the code is
unused. This also allows us to remove it entirely in the unstable ABI.
Commit: 248716f814d1d1fef88911d01a0b551d53c87c7a
https://github.com/llvm/llvm-project/commit/248716f814d1d1fef88911d01a0b551d53c87c7a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/set
M libcxx/test/support/test_container_comparisons.h
Log Message:
-----------
[libc++] Fixes (|multi)_set spaceship operator. (#127326)
The operators did not have a _Compare template arguement. The fix
updates the generic container test to use allocators for all types used.
No other issues were found.
Fixes: #127095
Commit: 761d422441c0e6822abb233d339fab4f3cf7f60a
https://github.com/llvm/llvm-project/commit/761d422441c0e6822abb233d339fab4f3cf7f60a
Author: Chris B <chris.bieneman at me.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/SemaHLSL/ArrayTemporary.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
Log Message:
-----------
[HLSL] Implement HLSL intialization list support (#123141)
This PR implements HLSL's initialization list behvaior as specified in
the draft language specifcation under
[*Decl.Init.Agg*](https://microsoft.github.io/hlsl-specs/specs/hlsl.html#Decl.Init.Agg).
This behavior is a bit unusual for C/C++ because intermediate braces in
initializer lists are ignored and a whole array of additional
conversions occur unintuitively to how initializaiton works in C.
The implementaiton in this PR generates a valid C/C++ initialization
list AST for the HLSL initializer so that there are no changes required
to Clang's CodeGen to support this. This design will also allow us to
use Clang's rewrite to convert HLSL initializers to valid C/C++
initializers that are equivalent. It does have the downside that it will
generate often redundant accesses during codegen. The IR optimizer is
extremely good at eliminating those so this will have no impact on the
final executable performance.
There is some opportunity for optimizing the initializer list generation
that we could consider in subsequent commits. One notable opportunity
would be to identify aggregate objects that occur in the same place in
both initializers and do not require converison, those aggregates could
be initialized as aggregates rather than fully scalarized.
Closes #56067
---------
Co-authored-by: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Co-authored-by: Helena Kotas <hekotas at microsoft.com>
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 07b0665d284f3d953dc74fae594102f9d3e81cb2
https://github.com/llvm/llvm-project/commit/07b0665d284f3d953dc74fae594102f9d3e81cb2
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[Flang] Support overriding `LLVM_LIT_ARGS` in standalone builds (#127340)
Declare `LLVM_LIT_ARGS` as a cache variable in standalone builds to
permit overriding it. This mirrors the logic used in Clang.
Commit: 02fb9769417f972ffedefe32d7c0ae9cabd29917
https://github.com/llvm/llvm-project/commit/02fb9769417f972ffedefe32d7c0ae9cabd29917
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir] Improve GreedyPatternRewriteDriver logging (#127314)
Currently, when `GreedyPatternRewriteDriver` fails, the log output
contains nested failure messages:
```bash
} -> failure : pattern failed to match
} -> failure : pattern failed to match
```
This may seem redundant, but these messages refer to different aspects
of the pattern application logic. This patch clarifies the distinction
by separately logging:
* Success/failure for a specific pattern (e.g., "_this pattern_ failed
to match on the Op currently being processed").
* Success/failure for an operation as a whole (e.g., "_all patterns_
failed to match the Op currently being processed").
Before (example with success):
```bash
Processing operation : (...) {
* Pattern (...) -> ()' {
Trying to match "..."
** Match Failure : (...)
} -> failure : pattern failed to match
* Pattern (...) -> ()' {
Trying to match "..."
} -> success : pattern applied successfully
} -> success : pattern matched
```
After (example with success):
```bash
Processing operation : (...) {
* Pattern (...) -> ()' {
Trying to match "..."
** Match Failure : (...)
} -> failure : pattern failed to match
* Pattern (...) -> ()' {
Trying to match "..."
} -> success : pattern applied successfully
} -> success : at least one pattern matched
```
This improves log clarity, making it easier to distinguish pattern-level
failures from operation-level outcomes.
Commit: ad948fa028bdfe1f15785aec4477f92ec681637a
https://github.com/llvm/llvm-project/commit/ad948fa028bdfe1f15785aec4477f92ec681637a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-non-atomic.mlir
Log Message:
-----------
[mlir][vector] Document `ConvertVectorStore` + unify var names (nfc) (#126422)
1. Documents `ConvertVectorStore`. As the generated output is rather complex, I
have refined the comments + variable names in:
* "vector-emulate-narrow-type-unaligned-non-atomic.mlir",
to serve as reference for this pattern.
2. As a follow-on for #123527, renames `isAlignedEmulation` to `isFullyAligned`
and `numSrcElemsPerDest` to `emulatedPerContainerElem`.
Commit: 50581ef1ee45815b9230043319de5ae93680d4ad
https://github.com/llvm/llvm-project/commit/50581ef1ee45815b9230043319de5ae93680d4ad
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC] Fix warning in recent commit
Commit: e5f4019f69948f55b77fcb5f63ae8c296418432c
https://github.com/llvm/llvm-project/commit/e5f4019f69948f55b77fcb5f63ae8c296418432c
Author: David Green <david.green at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vecreduceadd.ll
Log Message:
-----------
[AArch64] Add extending reduction costs for addlv and dot
This adds some basic getExtendedReductionCost and getMulAccReductionCost to
account for add reduction (uaddlv/saddlv) and mla reductions with dotprod.
Commit: e5f5517f9121083dbb9d2841b607f504cbbb490b
https://github.com/llvm/llvm-project/commit/e5f5517f9121083dbb9d2841b607f504cbbb490b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Create IR basic block for middle.block in VPlan.
Create a IR BB directly for the middle.block, instead of creating the IR
BB during skeleton creation and then replacing the middle VPBB with a
VPIRBB.
This moves another part of skeleton creation to VPlan and simplififes
the code slightly by removing code to disconnect the middle block and
vector preheader + the corresponding DT update.
NFC modulo IR block naming and block creation order, which changes the
IR names for the blocks.
Commit: 256145b4b0058ae22a1040cd4b7ea44fc49a4ece
https://github.com/llvm/llvm-project/commit/256145b4b0058ae22a1040cd4b7ea44fc49a4ece
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/pr127298.ll
Log Message:
-----------
[PowerPC] Use getSignedTargetConstant in SelectOptimalAddrMode. (#127305)
Fixes #127298.
Commit: 963ff1c3051a8c413a04fff27ba60cf93e48f310
https://github.com/llvm/llvm-project/commit/963ff1c3051a8c413a04fff27ba60cf93e48f310
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
A mlir/test/Conversion/GPUToNVVM/gpu-arith-ops-to-nvvm.mlir
Log Message:
-----------
[mlir] lower min/maxnum to libdevice calls (#127323)
Introduce lowering from arith.minnum/maxxnum operations to the
corresponding Nvidia libdevice calls. This requires to reorder pattern
population methods so that the libdevice-targeting patterns are
prioritized over default patterns targeting LLVM IR intrinsics from the
Arith dialect. The tests are placed into a separate file as the existing
gpu-to-nvvm.mlir files has a mode that forces Arith dialect operations
to be preserved as is without using a separate FileCheck tag to
differentiate.
Co-authored-by: William Moses <gh at wsmoses.com>
Commit: ed48398431afa477fc57fcabb6ae1f7d94df6012
https://github.com/llvm/llvm-project/commit/ed48398431afa477fc57fcabb6ae1f7d94df6012
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libc/include/malloc.yaml
M libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Fill out generated malloc.h and related stdlib.h extensions (#127293)
This updates the generated stdlib.h and malloc.h headers to
include the subsets of extenion functions declared by glibc that
are also supported by Scudo and that use only simple types.
Scudo's extensions not declared by glibc are omitted. glibc's
extensions not implemented by Scudo are omitted. The mallinfo
and mallinfo2 functions are omitted (at least for now) since they
need struct definitions for their return types.
Commit: 3e3af861b4a48b90041fad7ab8e9bc17e8a0a602
https://github.com/llvm/llvm-project/commit/3e3af861b4a48b90041fad7ab8e9bc17e8a0a602
Author: vporpo <vporpodas at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Add MemDGNode::MemSuccs (#127253)
This patch adds Memory successors to the memory nodes of the DAG. This
will help maintain the memory dependencies when nodes get removed.
Commit: 2157aecfe429f763c23d0ec8a59b896799e2d031
https://github.com/llvm/llvm-project/commit/2157aecfe429f763c23d0ec8a59b896799e2d031
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/tests/expected_output/subdir/test.h
Log Message:
-----------
[libc] Produce standard-compliant header guard macros in hdrgen (#127356)
Macros starting with alphabetic characters such as "LLVM" are in
the application name space and cannot be defined or used by a
conforming implementation's headers. This fixes the headers that
are entirely generated, and the __llvm-libc-common.h header to
use a conforming macro name for the header guard. That is, it
starts with "_LLVM_LIBC_" instead of "LLVM_LIBC_", as identifiers
starting with an underscore followed by a capital letter are in
the name space reserved for the implementation.
The remaining headers either will be fixed implicitly by removal
of their custom template files, or will need to be fixed by hand.
Commit: c6d95c441a29a45782ff72d6cb82839b86fd0e4a
https://github.com/llvm/llvm-project/commit/c6d95c441a29a45782ff72d6cb82839b86fd0e4a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/src/iostream.cpp
A libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp
Log Message:
-----------
[libc++] Fix initialization-order-fiasco with iostream.cpp constructors (#126995)
Asan reports it after #124103.
It's know case of false positive for Asan.
https://github.com/google/sanitizers/wiki/AddressSanitizerInitializationOrderFiasco#false-positives
It's can be avoided with `constexpr` constructors.
In general order global constructors in different
modules is undefined. If global constructor uses
external global, they can be not constructed yet.
However, implementation may contain workaround for
that, or the state of non-constructed global can
be still valid.
Asan will still falsely report such cases, as it
has no machinery to detect correctness of such
cases.
We need to fix/workaround the issue in libc++, as
it will affect many libc++ with Asan users.
Commit: dbc98cfa46d52ede06e8be7fc5e855d807ba0fac
https://github.com/llvm/llvm-project/commit/dbc98cfa46d52ede06e8be7fc5e855d807ba0fac
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] [cmake] Fix per-target *_convert.cl dependencies (#127315)
Fix `add_libclc_builtin_set` to add an appropriate dependency to either
`clspv-generate_convert.cl` or `generate_convert.cl` based on the `ARCH`
argument, rather than to both unconditionally. This fixes build failures
due to missing dependencies when `clspv*` targets are not enabled.
The added check mirrors the one from `libclc/CMakeLists.txt`.
Fixes: #127378
Commit: 538b8f8008b95782ea1967284e22500c72aec67d
https://github.com/llvm/llvm-project/commit/538b8f8008b95782ea1967284e22500c72aec67d
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/include/clang/AST/Redeclarable.h
Log Message:
-----------
[Clang] [NFC] Remove outdated FIXME (#126978)
Commit: a422bc773fab84e4e68dbfbe4e4859760eb1f67e
https://github.com/llvm/llvm-project/commit/a422bc773fab84e4e68dbfbe4e4859760eb1f67e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Test for trunc to i1 in foldSelectICmpAndBinOp. (NFC)
Commit: d64cf1998367cb7d0df398991808f3eed12f084f
https://github.com/llvm/llvm-project/commit/d64cf1998367cb7d0df398991808f3eed12f084f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
Log Message:
-----------
[clang][bytecode] Add Descriptor::dumpFull (#127386)
This is useful to print all (or most) of the valid offsets into a block
of the given descriptor.
Commit: e8d848824bbd76892a7b371a8409b0fb378a55a4
https://github.com/llvm/llvm-project/commit/e8d848824bbd76892a7b371a8409b0fb378a55a4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
A clang/test/AST/ByteCode/allocate-arrays.cpp
Log Message:
-----------
[clang][bytecode] Fix dynamic array allocation return values (#127387)
We need to return a pointer to the first element, not the array itself.
Commit: dab9156923133b4ce3c40efcae4f80b0d720e72f
https://github.com/llvm/llvm-project/commit/dab9156923133b4ce3c40efcae4f80b0d720e72f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/shaintrin.h
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/sha-builtins.c
Log Message:
-----------
[X86] Add missing explicit conversion for AMXAVX512 and SHA (#127385)
Address the X86 part of #126491
Commit: 29f3a352068ce562bcb65e18a676c82a9991583c
https://github.com/llvm/llvm-project/commit/29f3a352068ce562bcb65e18a676c82a9991583c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/umax-icmp.ll
Log Message:
-----------
[InstCombine] Do not keep samesign when speculatively executing icmps (#127007)
Closes https://github.com/llvm/llvm-project/issues/126974.
Commit: 54f37133b7b05f82960f47bc980c4a1aaa7d04df
https://github.com/llvm/llvm-project/commit/54f37133b7b05f82960f47bc980c4a1aaa7d04df
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
A flang-rt/.clang-format
A flang-rt/cmake/config.h.cmake.in
A flang-rt/examples/ExternalHelloWorld/external-hello.cpp
A flang-rt/include/flang-rt/runtime/allocator-registry.h
A flang-rt/include/flang-rt/runtime/array-constructor.h
A flang-rt/include/flang-rt/runtime/assign-impl.h
A flang-rt/include/flang-rt/runtime/buffer.h
A flang-rt/include/flang-rt/runtime/connection.h
A flang-rt/include/flang-rt/runtime/derived.h
A flang-rt/include/flang-rt/runtime/descriptor.h
A flang-rt/include/flang-rt/runtime/emit-encoded.h
A flang-rt/include/flang-rt/runtime/environment.h
A flang-rt/include/flang-rt/runtime/file.h
A flang-rt/include/flang-rt/runtime/format-implementation.h
A flang-rt/include/flang-rt/runtime/format.h
A flang-rt/include/flang-rt/runtime/internal-unit.h
A flang-rt/include/flang-rt/runtime/io-error.h
A flang-rt/include/flang-rt/runtime/io-stmt.h
A flang-rt/include/flang-rt/runtime/lock.h
A flang-rt/include/flang-rt/runtime/memory.h
A flang-rt/include/flang-rt/runtime/namelist.h
A flang-rt/include/flang-rt/runtime/non-tbp-dio.h
A flang-rt/include/flang-rt/runtime/numeric-templates.h
A flang-rt/include/flang-rt/runtime/random-templates.h
A flang-rt/include/flang-rt/runtime/reduction-templates.h
A flang-rt/include/flang-rt/runtime/stat.h
A flang-rt/include/flang-rt/runtime/terminator.h
A flang-rt/include/flang-rt/runtime/tools.h
A flang-rt/include/flang-rt/runtime/type-code.h
A flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/utf.h
A flang-rt/lib/cuda/allocatable.cpp
A flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/descriptor.cpp
A flang-rt/lib/cuda/init.cpp
A flang-rt/lib/cuda/kernel.cpp
A flang-rt/lib/cuda/memmove-function.cpp
A flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/pointer.cpp
A flang-rt/lib/cuda/registration.cpp
A flang-rt/lib/quadmath/acos.cpp
A flang-rt/lib/quadmath/acosh.cpp
A flang-rt/lib/quadmath/asin.cpp
A flang-rt/lib/quadmath/asinh.cpp
A flang-rt/lib/quadmath/atan.cpp
A flang-rt/lib/quadmath/atan2.cpp
A flang-rt/lib/quadmath/atanh.cpp
A flang-rt/lib/quadmath/ceil.cpp
A flang-rt/lib/quadmath/complex-math.c
A flang-rt/lib/quadmath/complex-math.h
A flang-rt/lib/quadmath/cos.cpp
A flang-rt/lib/quadmath/cosh.cpp
A flang-rt/lib/quadmath/erf.cpp
A flang-rt/lib/quadmath/erfc.cpp
A flang-rt/lib/quadmath/exp.cpp
A flang-rt/lib/quadmath/exponent.cpp
A flang-rt/lib/quadmath/floor.cpp
A flang-rt/lib/quadmath/fma.cpp
A flang-rt/lib/quadmath/fraction.cpp
A flang-rt/lib/quadmath/hypot.cpp
A flang-rt/lib/quadmath/j0.cpp
A flang-rt/lib/quadmath/j1.cpp
A flang-rt/lib/quadmath/jn.cpp
A flang-rt/lib/quadmath/lgamma.cpp
A flang-rt/lib/quadmath/llround.cpp
A flang-rt/lib/quadmath/log.cpp
A flang-rt/lib/quadmath/log10.cpp
A flang-rt/lib/quadmath/lround.cpp
A flang-rt/lib/quadmath/math-entries.h
A flang-rt/lib/quadmath/mod-real.cpp
A flang-rt/lib/quadmath/modulo-real.cpp
A flang-rt/lib/quadmath/nearbyint.cpp
A flang-rt/lib/quadmath/nearest.cpp
A flang-rt/lib/quadmath/norm2.cpp
A flang-rt/lib/quadmath/numeric-template-specs.h
A flang-rt/lib/quadmath/pow.cpp
A flang-rt/lib/quadmath/random.cpp
A flang-rt/lib/quadmath/remainder.cpp
A flang-rt/lib/quadmath/round.cpp
A flang-rt/lib/quadmath/rrspacing.cpp
A flang-rt/lib/quadmath/scale.cpp
A flang-rt/lib/quadmath/set-exponent.cpp
A flang-rt/lib/quadmath/sin.cpp
A flang-rt/lib/quadmath/sinh.cpp
A flang-rt/lib/quadmath/spacing.cpp
A flang-rt/lib/quadmath/sqrt.cpp
A flang-rt/lib/quadmath/tan.cpp
A flang-rt/lib/quadmath/tanh.cpp
A flang-rt/lib/quadmath/tgamma.cpp
A flang-rt/lib/quadmath/trunc.cpp
A flang-rt/lib/quadmath/y0.cpp
A flang-rt/lib/quadmath/y1.cpp
A flang-rt/lib/quadmath/yn.cpp
A flang-rt/lib/runtime/ISO_Fortran_binding.cpp
A flang-rt/lib/runtime/ISO_Fortran_util.h
A flang-rt/lib/runtime/allocatable.cpp
A flang-rt/lib/runtime/allocator-registry.cpp
A flang-rt/lib/runtime/array-constructor.cpp
A flang-rt/lib/runtime/assign.cpp
A flang-rt/lib/runtime/buffer.cpp
A flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/command.cpp
A flang-rt/lib/runtime/complex-powi.cpp
A flang-rt/lib/runtime/complex-reduction.c
A flang-rt/lib/runtime/complex-reduction.h
A flang-rt/lib/runtime/connection.cpp
A flang-rt/lib/runtime/copy.cpp
A flang-rt/lib/runtime/copy.h
A flang-rt/lib/runtime/derived-api.cpp
A flang-rt/lib/runtime/derived.cpp
A flang-rt/lib/runtime/descriptor-io.cpp
A flang-rt/lib/runtime/descriptor-io.h
A flang-rt/lib/runtime/descriptor.cpp
A flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/edit-input.cpp
A flang-rt/lib/runtime/edit-input.h
A flang-rt/lib/runtime/edit-output.cpp
A flang-rt/lib/runtime/edit-output.h
A flang-rt/lib/runtime/environment-default-list.h
A flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/execute.cpp
A flang-rt/lib/runtime/extensions.cpp
A flang-rt/lib/runtime/external-unit.cpp
A flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/file.cpp
A flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/format.cpp
A flang-rt/lib/runtime/inquiry.cpp
A flang-rt/lib/runtime/internal-unit.cpp
A flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-api-minimal.cpp
A flang-rt/lib/runtime/io-api.cpp
A flang-rt/lib/runtime/io-error.cpp
A flang-rt/lib/runtime/io-stmt.cpp
A flang-rt/lib/runtime/iostat.cpp
A flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/memory.cpp
A flang-rt/lib/runtime/misc-intrinsic.cpp
A flang-rt/lib/runtime/namelist.cpp
A flang-rt/lib/runtime/non-tbp-dio.cpp
A flang-rt/lib/runtime/numeric.cpp
A flang-rt/lib/runtime/pointer.cpp
A flang-rt/lib/runtime/product.cpp
A flang-rt/lib/runtime/pseudo-unit.cpp
A flang-rt/lib/runtime/ragged.cpp
A flang-rt/lib/runtime/random.cpp
A flang-rt/lib/runtime/reduce.cpp
A flang-rt/lib/runtime/reduction.cpp
A flang-rt/lib/runtime/stack.h
A flang-rt/lib/runtime/stat.cpp
A flang-rt/lib/runtime/stop.cpp
A flang-rt/lib/runtime/sum.cpp
A flang-rt/lib/runtime/support.cpp
A flang-rt/lib/runtime/temporary-stack.cpp
A flang-rt/lib/runtime/terminator.cpp
A flang-rt/lib/runtime/time-intrinsic.cpp
A flang-rt/lib/runtime/tools.cpp
A flang-rt/lib/runtime/transformational.cpp
A flang-rt/lib/runtime/type-code.cpp
A flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/unit-map.cpp
A flang-rt/lib/runtime/unit-map.h
A flang-rt/lib/runtime/unit.cpp
A flang-rt/lib/runtime/unit.h
A flang-rt/lib/runtime/utf.cpp
A flang-rt/test/Driver/ctofortran.f90
A flang-rt/test/Driver/exec.f90
A flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/Evaluate/reshape.cpp
A flang-rt/unittests/Runtime/AccessTest.cpp
A flang-rt/unittests/Runtime/Allocatable.cpp
A flang-rt/unittests/Runtime/ArrayConstructor.cpp
A flang-rt/unittests/Runtime/BufferTest.cpp
A flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
A flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang-rt/unittests/Runtime/CUDA/Memory.cpp
A flang-rt/unittests/Runtime/CharacterTest.cpp
A flang-rt/unittests/Runtime/CommandTest.cpp
A flang-rt/unittests/Runtime/Complex.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.h
A flang-rt/unittests/Runtime/Derived.cpp
A flang-rt/unittests/Runtime/ExternalIOTest.cpp
A flang-rt/unittests/Runtime/Format.cpp
A flang-rt/unittests/Runtime/Inquiry.cpp
A flang-rt/unittests/Runtime/ListInputTest.cpp
A flang-rt/unittests/Runtime/LogicalFormatTest.cpp
A flang-rt/unittests/Runtime/Matmul.cpp
A flang-rt/unittests/Runtime/MatmulTranspose.cpp
A flang-rt/unittests/Runtime/MiscIntrinsic.cpp
A flang-rt/unittests/Runtime/Namelist.cpp
A flang-rt/unittests/Runtime/Numeric.cpp
A flang-rt/unittests/Runtime/NumericalFormatTest.cpp
A flang-rt/unittests/Runtime/Pointer.cpp
A flang-rt/unittests/Runtime/Ragged.cpp
A flang-rt/unittests/Runtime/Random.cpp
A flang-rt/unittests/Runtime/Reduction.cpp
A flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
A flang-rt/unittests/Runtime/Stop.cpp
A flang-rt/unittests/Runtime/Support.cpp
A flang-rt/unittests/Runtime/TemporaryStack.cpp
A flang-rt/unittests/Runtime/Time.cpp
A flang-rt/unittests/Runtime/Transformational.cpp
A flang-rt/unittests/Runtime/tools.h
M flang/CMakeLists.txt
M flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/examples/ExternalHelloWorld/external-hello.cpp
M flang/include/flang/Runtime/allocatable.h
R flang/include/flang/Runtime/allocator-registry.h
R flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/descriptor-consts.h
R flang/include/flang/Runtime/descriptor.h
R flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/pointer.h
R flang/include/flang/Runtime/type-code.h
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/CUDA/allocatable.cpp
R flang/runtime/CUDA/allocator.cpp
R flang/runtime/CUDA/descriptor.cpp
R flang/runtime/CUDA/init.cpp
R flang/runtime/CUDA/kernel.cpp
R flang/runtime/CUDA/memmove-function.cpp
R flang/runtime/CUDA/memory.cpp
R flang/runtime/CUDA/pointer.cpp
R flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
R flang/runtime/Float128Math/acos.cpp
R flang/runtime/Float128Math/acosh.cpp
R flang/runtime/Float128Math/asin.cpp
R flang/runtime/Float128Math/asinh.cpp
R flang/runtime/Float128Math/atan.cpp
R flang/runtime/Float128Math/atan2.cpp
R flang/runtime/Float128Math/atanh.cpp
R flang/runtime/Float128Math/ceil.cpp
R flang/runtime/Float128Math/complex-math.c
R flang/runtime/Float128Math/complex-math.h
R flang/runtime/Float128Math/cos.cpp
R flang/runtime/Float128Math/cosh.cpp
R flang/runtime/Float128Math/erf.cpp
R flang/runtime/Float128Math/erfc.cpp
R flang/runtime/Float128Math/exp.cpp
R flang/runtime/Float128Math/exponent.cpp
R flang/runtime/Float128Math/floor.cpp
R flang/runtime/Float128Math/fma.cpp
R flang/runtime/Float128Math/fraction.cpp
R flang/runtime/Float128Math/hypot.cpp
R flang/runtime/Float128Math/j0.cpp
R flang/runtime/Float128Math/j1.cpp
R flang/runtime/Float128Math/jn.cpp
R flang/runtime/Float128Math/lgamma.cpp
R flang/runtime/Float128Math/llround.cpp
R flang/runtime/Float128Math/log.cpp
R flang/runtime/Float128Math/log10.cpp
R flang/runtime/Float128Math/lround.cpp
R flang/runtime/Float128Math/math-entries.h
R flang/runtime/Float128Math/mod-real.cpp
R flang/runtime/Float128Math/modulo-real.cpp
R flang/runtime/Float128Math/nearbyint.cpp
R flang/runtime/Float128Math/nearest.cpp
R flang/runtime/Float128Math/norm2.cpp
R flang/runtime/Float128Math/numeric-template-specs.h
R flang/runtime/Float128Math/pow.cpp
R flang/runtime/Float128Math/random.cpp
R flang/runtime/Float128Math/remainder.cpp
R flang/runtime/Float128Math/round.cpp
R flang/runtime/Float128Math/rrspacing.cpp
R flang/runtime/Float128Math/scale.cpp
R flang/runtime/Float128Math/set-exponent.cpp
R flang/runtime/Float128Math/sin.cpp
R flang/runtime/Float128Math/sinh.cpp
R flang/runtime/Float128Math/spacing.cpp
R flang/runtime/Float128Math/sqrt.cpp
R flang/runtime/Float128Math/tan.cpp
R flang/runtime/Float128Math/tanh.cpp
R flang/runtime/Float128Math/tgamma.cpp
R flang/runtime/Float128Math/trunc.cpp
R flang/runtime/Float128Math/y0.cpp
R flang/runtime/Float128Math/y1.cpp
R flang/runtime/Float128Math/yn.cpp
R flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/ISO_Fortran_util.h
R flang/runtime/allocatable.cpp
R flang/runtime/allocator-registry.cpp
R flang/runtime/array-constructor.cpp
R flang/runtime/assign-impl.h
R flang/runtime/assign.cpp
R flang/runtime/buffer.cpp
R flang/runtime/buffer.h
R flang/runtime/character.cpp
R flang/runtime/command.cpp
R flang/runtime/complex-powi.cpp
R flang/runtime/complex-reduction.c
R flang/runtime/complex-reduction.h
R flang/runtime/config.h.cmake
R flang/runtime/connection.cpp
R flang/runtime/connection.h
R flang/runtime/copy.cpp
R flang/runtime/copy.h
R flang/runtime/derived-api.cpp
R flang/runtime/derived.cpp
R flang/runtime/derived.h
R flang/runtime/descriptor-io.cpp
R flang/runtime/descriptor-io.h
R flang/runtime/descriptor.cpp
R flang/runtime/dot-product.cpp
R flang/runtime/edit-input.cpp
R flang/runtime/edit-input.h
R flang/runtime/edit-output.cpp
R flang/runtime/edit-output.h
R flang/runtime/emit-encoded.h
R flang/runtime/environment-default-list.h
R flang/runtime/environment.cpp
R flang/runtime/environment.h
R flang/runtime/exceptions.cpp
R flang/runtime/execute.cpp
R flang/runtime/extensions.cpp
R flang/runtime/external-unit.cpp
R flang/runtime/extrema.cpp
R flang/runtime/file.cpp
R flang/runtime/file.h
R flang/runtime/findloc.cpp
R flang/runtime/format-implementation.h
R flang/runtime/format.cpp
R flang/runtime/format.h
R flang/runtime/inquiry.cpp
R flang/runtime/internal-unit.cpp
R flang/runtime/internal-unit.h
R flang/runtime/io-api-common.h
R flang/runtime/io-api-minimal.cpp
R flang/runtime/io-api.cpp
R flang/runtime/io-error.cpp
R flang/runtime/io-error.h
R flang/runtime/io-stmt.cpp
R flang/runtime/io-stmt.h
R flang/runtime/iostat.cpp
R flang/runtime/lock.h
R flang/runtime/main.cpp
R flang/runtime/matmul-transpose.cpp
R flang/runtime/matmul.cpp
R flang/runtime/memory.cpp
R flang/runtime/misc-intrinsic.cpp
R flang/runtime/namelist.cpp
R flang/runtime/namelist.h
R flang/runtime/non-tbp-dio.cpp
R flang/runtime/non-tbp-dio.h
R flang/runtime/numeric-templates.h
R flang/runtime/numeric.cpp
R flang/runtime/pointer.cpp
R flang/runtime/product.cpp
R flang/runtime/pseudo-unit.cpp
R flang/runtime/ragged.cpp
R flang/runtime/random-templates.h
R flang/runtime/random.cpp
R flang/runtime/reduce.cpp
R flang/runtime/reduction-templates.h
R flang/runtime/reduction.cpp
R flang/runtime/stack.h
R flang/runtime/stat.cpp
R flang/runtime/stat.h
R flang/runtime/stop.cpp
R flang/runtime/sum.cpp
R flang/runtime/support.cpp
R flang/runtime/temporary-stack.cpp
R flang/runtime/terminator.cpp
R flang/runtime/terminator.h
R flang/runtime/time-intrinsic.cpp
R flang/runtime/tools.cpp
R flang/runtime/tools.h
R flang/runtime/transformational.cpp
R flang/runtime/type-code.cpp
R flang/runtime/type-info.cpp
R flang/runtime/type-info.h
R flang/runtime/unit-map.cpp
R flang/runtime/unit-map.h
R flang/runtime/unit.cpp
R flang/runtime/unit.h
R flang/runtime/utf.cpp
R flang/runtime/utf.h
R flang/test/Driver/ctofortran.f90
R flang/test/Driver/exec.f90
R flang/test/Runtime/no-cpp-dep.c
M flang/unittests/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
R flang/unittests/Evaluate/reshape.cpp
R flang/unittests/Runtime/AccessTest.cpp
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Allocatable.cpp
R flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Memory.cpp
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/Support.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
Log Message:
-----------
[Flang][NFC] Move runtime library files to flang-rt (#110298)
Mostly mechanical changes in preparation of extracting the Flang-RT
"subproject" in #110217. This PR intends to only move pre-existing files
to the new folder structure, with no behavioral change. Common files
(headers, testing, cmake) shared by Flang-RT and Flang remain in
`flang/`.
Some cosmetic changes and files paths were necessary:
* Relative paths to the new path for the source files and
`add_subdirectory`.
* Add the new location's include directory to `include_directories`
* The unittest/Evaluate directory has unitests for flang-rt and Flang. A
new `CMakeLists.txt` was introduced for the flang-rt tests.
* Change the `#include` paths relative to the include directive
* clang-format on the `#include` directives
* Since the paths are part if the copyright header and include guards, a
script was used to canonicalize those
* `test/Runtime` and runtime tests in `test/Driver` are moved, but the
lit.cfg.py mechanism to execute the will only be added in #110217.
Commit: a1120c9b797a8af57022d6840ded8e9f6c5057eb
https://github.com/llvm/llvm-project/commit/a1120c9b797a8af57022d6840ded8e9f6c5057eb
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/iglp-no-clobber.ll
Log Message:
-----------
[AMDGPU] NFC: Fix some details for lit test (#127141)
Addressed comments in https://github.com/llvm/llvm-project/pull/126976
Commit: 8ac5d2d1805ecb70b683531b602ac3d288351e97
https://github.com/llvm/llvm-project/commit/8ac5d2d1805ecb70b683531b602ac3d288351e97
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: test edge-cases of makeAllowedICmpRegion (#127080)
Exhaustively test signed-unsigned min-max edge-cases of
makeAllowedICmpRegion.
Commit: 81c85ea30f7bd962e5306a02525ba22afa42b7c7
https://github.com/llvm/llvm-project/commit/81c85ea30f7bd962e5306a02525ba22afa42b7c7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M flang-rt/lib/runtime/io-api-minimal.cpp
Log Message:
-----------
[flang-rt] Fix aarch64-libcxx build failure
There seems to be multiple declarations of __libcpp_verbose_abort, some
with noexcept and some without. Reverting to the previous
forward-declaration (without noexcept) which seemes to have worked
before.
Commit: 9c4ef23126728562b8717cf404bdbbdeea1aa72e
https://github.com/llvm/llvm-project/commit/9c4ef23126728562b8717cf404bdbbdeea1aa72e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test foldSelectICmpAnd with extra uses. (NFC)
Commit: 552e4659d3f935b8896a1350856781417bcbdcde
https://github.com/llvm/llvm-project/commit/552e4659d3f935b8896a1350856781417bcbdcde
Author: GS-GOAT <86884129+GS-GOAT at users.noreply.github.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang][NFCI] Fix a logic issue in TransformDesignatedInitExpr (#127211)
It was clearly a typo regarding whether the array index expression has changed in its transforming.
This doesn't appear to be a functional change in practice, so no test case or release note provided.
Fixes #126113
Commit: 79d8a34bc5c0a261b9e9f77c1d4480ef135481ac
https://github.com/llvm/llvm-project/commit/79d8a34bc5c0a261b9e9f77c1d4480ef135481ac
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Dialect/Math/ops.mlir
Log Message:
-----------
[mlir] add some FP classification ops and their lowering to libdevice (#127322)
Introduce a subset of floating point classification ops to the Math
dialect. These ops mirror functions provided by the C math library and,
similarly to the existing `math.copysign`, belong to the math dialect.
Add a lowering of those ops to Nvidia libdevice calls when possible as
the first mechanism to exercise them.
Commit: c01c3cf7d75ce23c165224b5470b9132f53e95c2
https://github.com/llvm/llvm-project/commit/c01c3cf7d75ce23c165224b5470b9132f53e95c2
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/test/MC/ARM/diagnostics.s
Log Message:
-----------
[ARM] Fix MRC cp10 and cp11 warning (#126407)
The MRC format is
MRC GPRwithAPSR:$Rt, p_imm:$cop, imm0_7:$opc1,
c_imm:$CRn, c_imm:$CRm, 0, pred:$p
The $cop is the second operand.
Patch for
https://github.com/llvm/llvm-project/commit/b7d41a11cd31388e8b542b2d881f5c9d7130b95e.
Commit: 17d508f30d897e7392e48885850c9595546e342c
https://github.com/llvm/llvm-project/commit/17d508f30d897e7392e48885850c9595546e342c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test foldSelectICmpAnd with cast. (NFC)
Commit: b55f7512a76f2358000139074c79d4c2521588de
https://github.com/llvm/llvm-project/commit/b55f7512a76f2358000139074c79d4c2521588de
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
A flang-rt/.clang-tidy
A flang-rt/CMakeLists.txt
A flang-rt/CODE_OWNERS.TXT
A flang-rt/LICENSE.TXT
A flang-rt/README.md
M flang-rt/cmake/config.h.cmake.in
A flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/AddFlangRTOffload.cmake
A flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/examples/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
A flang-rt/lib/CMakeLists.txt
A flang-rt/lib/Testing/CMakeLists.txt
A flang-rt/lib/cuda/CMakeLists.txt
A flang-rt/lib/quadmath/CMakeLists.txt
A flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/test/CMakeLists.txt
M flang-rt/test/Driver/ctofortran.f90
M flang-rt/test/Driver/exec.f90
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
M flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/Evaluate/CMakeLists.txt
A flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
M flang/CMakeLists.txt
A flang/cmake/modules/FlangCommon.cmake
M flang/docs/GettingStarted.md
M flang/docs/ReleaseNotes.md
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/projects/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[Flang] LLVM_ENABLE_RUNTIMES=flang-rt (#110217)
Extract Flang's runtime library to use the LLVM_ENABLE_RUNTIME
mechanism. It will only become active when
`LLVM_ENABLE_RUNTIMES=flang-rt` is used, which also changes the
`FLANG_INCLUDE_RUNTIME` to `OFF` so the old runtime build rules do not
conflict. This also means that unless `LLVM_ENABLE_RUNTIMES=flang-rt` is
passed, nothing changes with the current build process.
Motivation:
* Consistency with LLVM's other runtime libraries (compiler-rt, libc,
libcxx, openmp offload, ...)
* Allows compiling the runtime for multiple targets at once using the
LLVM_RUNTIME_TARGETS configuration options
* Installs the runtime into the compiler's per-target resource directory
so it can be automatically found even when cross-compiling
Also see RFC discussion at
https://discourse.llvm.org/t/rfc-use-llvm-enable-runtimes-for-flangs-runtime/80826
Commit: 9f6b7b4e5f792bc5167a3bcfab400160cc1803ed
https://github.com/llvm/llvm-project/commit/9f6b7b4e5f792bc5167a3bcfab400160cc1803ed
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
Log Message:
-----------
[analyzer] StackAddrEscapeChecker: also check return for child stack frames (#126986)
Fixes #123459.
This changes checking of the returned expr to also look for memory
regions whose stack frame context was a child of the current stack frame
context, e.g., for cases like this given in #123459:
```
struct S { int *p; };
S f() {
S s;
{
int a = 1;
s.p = &a;
}
return s;
}
```
Commit: 1c87e4739f487aea1fbafa06b92ec1a1c011c6f2
https://github.com/llvm/llvm-project/commit/1c87e4739f487aea1fbafa06b92ec1a1c011c6f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/AST/ExternalASTMerger.cpp
Log Message:
-----------
[AST] Avoid repeated map lookups (NFC) (#127369)
Commit: 0bae0bf8ba73bd0201c58a6cfd6d9f54aaf39ca2
https://github.com/llvm/llvm-project/commit/0bae0bf8ba73bd0201c58a6cfd6d9f54aaf39ca2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated hash lookups (NFC) (#127370)
Commit: 8d752467e0e023f9b2dc83ca1829f75024f0440d
https://github.com/llvm/llvm-project/commit/8d752467e0e023f9b2dc83ca1829f75024f0440d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127371)
Commit: 03235540558c869841cf016ebd7e1aeb7eb341b0
https://github.com/llvm/llvm-project/commit/03235540558c869841cf016ebd7e1aeb7eb341b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Log Message:
-----------
[GlobalISel] Avoid repeated hash lookups (NFC) (#127372)
Commit: e81f7ca63738d04c9f3f2a4542832d6f510e65bc
https://github.com/llvm/llvm-project/commit/e81f7ca63738d04c9f3f2a4542832d6f510e65bc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#127373)
Commit: ec880b1450c5b9526d6310d1a66cf3a5297551de
https://github.com/llvm/llvm-project/commit/ec880b1450c5b9526d6310d1a66cf3a5297551de
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[X86] Avoid repeated map lookups (NFC) (#127374)
Commit: d235b72178adc710bf704078fbe0cd687642f3e0
https://github.com/llvm/llvm-project/commit/d235b72178adc710bf704078fbe0cd687642f3e0
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/warn-unreachable.cpp
Log Message:
-----------
Reapply "[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression" (#127338)
This PR reapply https://github.com/llvm/llvm-project/pull/117437.
The issue has been fixed by the 2nd commit, we need to ignore parens in
CXXDefaultArgExpr when build CFG, because CXXDefaultArgExpr::getExpr
stripped off the top level FullExpr and ConstantExpr, ParenExpr may
occurres in the top level.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 6812fc02fbb81d679f95d5c3e15768ae11e1bad8
https://github.com/llvm/llvm-project/commit/6812fc02fbb81d679f95d5c3e15768ae11e1bad8
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
M mlir/test/Dialect/Affine/unroll-jam.mlir
Log Message:
-----------
[mlir][affine] make affine-loop-unroll-jam interface pass (#127402)
Made affine-loop-unroll-jam an interface pass, so it can run on the gpu
module.
Commit: 6e94007623ca9d98d090fe04491f21ec72a5d0d4
https://github.com/llvm/llvm-project/commit/6e94007623ca9d98d090fe04491f21ec72a5d0d4
Author: Yeaseen <yeaseen.arafat96 at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-storebytesmerge.ll
M llvm/test/CodeGen/AArch64/br-to-eh-lpad.ll
M llvm/test/CodeGen/AArch64/br-undef-cond.ll
M llvm/test/CodeGen/AArch64/gep-nullptr.ll
M llvm/test/CodeGen/AArch64/machine-sink-getmemoperandwithoffset.mir
M llvm/test/CodeGen/AArch64/madd-combiner.ll
M llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
M llvm/test/CodeGen/AArch64/shrink-wrap.ll
M llvm/test/CodeGen/AArch64/tail-call-unused-zext.ll
M llvm/test/CodeGen/AArch64/tailcall-ssp-split-debug.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
Log Message:
-----------
[llvm] Remove `br i1 undef` in some `llvm/test/CodeGen` tests (#127368)
This PR replaces some instances of `br i1 undef` with function argument
value in several tests under `llvm/test/CodeGen/ `directory. This PR is
a continuation of PR #125460
Commit: e080366a76b78a746c53caccf84661b109ccbc20
https://github.com/llvm/llvm-project/commit/e080366a76b78a746c53caccf84661b109ccbc20
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
Log Message:
-----------
[LAA] Inline hasComputableBounds in only caller, simplify isNoWrap.
Inline hasComputableBounds into createCheckForAccess. This removes a
level of indirection and allows for passing the AddRec directly to
isNoWrap, removing the need to retrieve the AddRec for the pointer
again.
The early continue for invariant SCEVs now also applies to forked
pointers (i.e. when there's more than one entry in TranslatedPtrs) when
ShouldCheckWrap is true, as those trivially won't wrap.
The change is NFC otherwise. replaceSymbolicStrideSCEV is now called
earlier.
Commit: f5d63ccb22bf98ec28785fea432fc5a19b1913c4
https://github.com/llvm/llvm-project/commit/f5d63ccb22bf98ec28785fea432fc5a19b1913c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
Log Message:
-----------
[LICM] Add test with deref assumption of GEP.
Commit: c22d84f7bb58005638b24f976582acf62a56d19d
https://github.com/llvm/llvm-project/commit/c22d84f7bb58005638b24f976582acf62a56d19d
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
Log Message:
-----------
[ELF] Refine ctx.arg.exportDynamic condition
--export-dynamic should be a no-op when ctx.hasDynsym is false.
* Drop unneeded ctx.hasDynsym checks.
* Static linking with --export-dynamic does not prevent devirtualization.
Commit: 627387722469a358a80d77488509fb23d890d402
https://github.com/llvm/llvm-project/commit/627387722469a358a80d77488509fb23d890d402
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M lld/CMakeLists.txt
M lld/cmake/modules/AddLLD.cmake
Log Message:
-----------
[lld] enable installing lld headers and libraries as part of distribution (#127123)
This patch allows `lld-headers` and `lld-libraries` in
`LLVM_DISTRIBUTION_COMPONENTS` to be specified and thus enable piecewise
installation of `lld/**/*.h` headers and/or lld libraries (both in
shared and static builds).
This is similar to use cases such as
`clang;clang-headers;clang-libraries`. Note when `lld-libraries` is
present, `llvm-libraries` must be present as well because various lld
libraries depend on various llvm libraries.
Commit: b4f91b007fa4df0923b92c88103dab37c576150b
https://github.com/llvm/llvm-project/commit/b4f91b007fa4df0923b92c88103dab37c576150b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use IRBuilder::insert to insert VPWidenRecipe (NFC).
Commit: f75126eeabba13ce2aab53c2e4296fca12b9da0d
https://github.com/llvm/llvm-project/commit/f75126eeabba13ce2aab53c2e4296fca12b9da0d
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/freebsd.cpp
Log Message:
-----------
[FreeBSD] Support -stdlib=libstdc++
The experimental-library-flag.cpp test was failing on FreeBSD builders,
which turned to be caused by missing support for -stdlib=libcstdc++ (and
just using a hardcoded libc++ in all cases).
Simplify FreeBSD::AddCXXStdlibLibArgs() by deferring to the parent class
and dealing with the FreeSBD < 14 profiling support as a special case.
While touching the test file also drop the unnecessary `-o %t.o`. This is
not needed since the RUN lines use -### and don't produce any output.
Reviewed By: DimitryAndric, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/126302
Commit: 7817045e5c5cfbcbf3428ace7a4b3bfb5281a641
https://github.com/llvm/llvm-project/commit/7817045e5c5cfbcbf3428ace7a4b3bfb5281a641
Author: dong-miao <miaozhendong24 at mails.ucas.ac.cn>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-only-csr-names.s
Log Message:
-----------
[RISCV] Support [mh]edelegh CSRs (#121634)
These RV32-only CSRs are defined in privileged spec v1.13.
Commit: 01b7e65c9197d64531133c5890f076de6c1ae793
https://github.com/llvm/llvm-project/commit/01b7e65c9197d64531133c5890f076de6c1ae793
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
Log Message:
-----------
[FreeBSD] Fix comparison in f75126eeabba13ce2aab53c2e4296fca12b9da0d
We have to compare the string contents and not the const char* pointer.
This happened to work in my testing but is not reliable.
Commit: d150101160b7d518e1329abb578c4ca4d4224621
https://github.com/llvm/llvm-project/commit/d150101160b7d518e1329abb578c4ca4d4224621
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
Log Message:
-----------
[Hexagon] Use MCRegister. NFC
Commit: 26fc2e90fc54313bfe3e0e1fbbb14251ed8afe29
https://github.com/llvm/llvm-project/commit/26fc2e90fc54313bfe3e0e1fbbb14251ed8afe29
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
[Mips] Use MCRegisterClass::getRegister() instead of begin()+RegNo. NFC
Commit: a7a02083acf39b9f1ad7edec3b7e344afc6cac49
https://github.com/llvm/llvm-project/commit/a7a02083acf39b9f1ad7edec3b7e344afc6cac49
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M flang/include/flang/Support/LangOptions.h
Log Message:
-----------
[flang] Assert the Options fit into the storage bits (#126169)
Commit: ecb7f5aaeed2de738a79f1bb78b2196718007176
https://github.com/llvm/llvm-project/commit/ecb7f5aaeed2de738a79f1bb78b2196718007176
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][linalg] Update docs for `linalg.generic`(NFC) (#127178)
The mixed tensor/buffer semantics has been disallowed in #80660. Closes
#124090.
Commit: 9e8cd733c2643c92807a23b9b65099d9bb6bc560
https://github.com/llvm/llvm-project/commit/9e8cd733c2643c92807a23b9b65099d9bb6bc560
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
M llvm/lib/Target/Mips/MipsTargetStreamer.h
Log Message:
-----------
[Mips] Use MCRegister. NFC
Use id() to get rid of some implicit conversions.
Commit: 69f3e003bfef75d28af09e2822cb5750fa45c38d
https://github.com/llvm/llvm-project/commit/69f3e003bfef75d28af09e2822cb5750fa45c38d
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
Log Message:
-----------
[MLIR] NFC. Refactor IntegerRelation getSliceBounds (#127308)
Refactor FlatLinearConstraints getSliceBounds. The method was too long
and nested. NFC.
Commit: 885382f4379b3b8060213606a8f7bd8a1750f33a
https://github.com/llvm/llvm-project/commit/885382f4379b3b8060213606a8f7bd8a1750f33a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating braces (#127306)
Fixes #107616.
Commit: 5d62a79bb79fee20f92f26dc55fd78440b9945ca
https://github.com/llvm/llvm-project/commit/5d62a79bb79fee20f92f26dc55fd78440b9945ca
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Remove getMacroID (#127413)
The last use was removed in:
commit ee977933f7df9cef13cc06ac7fa3e4a22b72e41f
Author: Richard Smith <richard-llvm at metafoo.co.uk>
Date: Fri May 1 21:22:17 2015 +0000
Commit: 9b7282e545d5e47315e3ffb9e5e00d0fb547c8e3
https://github.com/llvm/llvm-project/commit/9b7282e545d5e47315e3ffb9e5e00d0fb547c8e3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Recognize de-interleave shuffles with 2 sources. (#127272)
We can use vnsrl+trunc on each source and concatenate the results
with vslideup.
For low LMUL it would be better to concat first, but I'm leaving
this for later.
Commit: c3cae9d6fccc96297e832a09f5230346ef4c42f3
https://github.com/llvm/llvm-project/commit/c3cae9d6fccc96297e832a09f5230346ef4c42f3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
A clang/test/AST/ByteCode/non-const-local-temporary.cpp
Log Message:
-----------
[clang][bytecode] Fix const-ness of local primitive temporary (#127405)
This used to cause certain std::range tests in libc++ to be diagnosed as
modifying a const-qualified field, because we set the IsConst flag to
true unconditionally. Check the type instead.
Commit: 06a3abd9e85d89a3b2b1b5024b328d1047d40c2a
https://github.com/llvm/llvm-project/commit/06a3abd9e85d89a3b2b1b5024b328d1047d40c2a
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
A llvm/lib/Target/AMDGPU/SIFormMemoryClauses.h
M llvm/test/CodeGen/AMDGPU/limit-soft-clause-reg-pressure.mir
M llvm/test/CodeGen/AMDGPU/memory_clause.mir
M llvm/test/CodeGen/AMDGPU/reserved-reg-in-clause.mir
M llvm/test/CodeGen/AMDGPU/smem-no-clause-coalesced.mir
M llvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
Log Message:
-----------
[AMDGPU][NewPM] Port "SIFormMemoryClauses" to NPM (#127181)
Commit: f1627e1a9e2482106ba2ea3bcd22ecaff257950d
https://github.com/llvm/llvm-project/commit/f1627e1a9e2482106ba2ea3bcd22ecaff257950d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R clang/test/AST/ByteCode/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
R clang/test/AST/ByteCode/non-const-local-temporary.cpp
Log Message:
-----------
[clang][bytecode][NFC] Move reduced libcxx tests to a subdir (#127438)
Commit: 02d4aac55cdd1760ba9cda4aa512fe1a0240bf86
https://github.com/llvm/llvm-project/commit/02d4aac55cdd1760ba9cda4aa512fe1a0240bf86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[AMDGPU] Remove materializeImmediate (#127420)
The lase use was removed in:
commit cbf34a5f7701148d68951320a72f483849b22eaf
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: Fri Aug 23 14:06:17 2024 +0200
Commit: 36f8c8b43836775c3d9d8da63b97d984b19853d1
https://github.com/llvm/llvm-project/commit/36f8c8b43836775c3d9d8da63b97d984b19853d1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix rejecting non-constexpr array ctors (#127448)
We shouldn't abort here when compiling, this is happening (and properly
diagnosed) when interpreting the bytecode.
Commit: de06978ebcff5f75913067b019d2d522d0be0872
https://github.com/llvm/llvm-project/commit/de06978ebcff5f75913067b019d2d522d0be0872
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127445)
Commit: 86d82228a58071a68d7ac450af18eadd641f3477
https://github.com/llvm/llvm-project/commit/86d82228a58071a68d7ac450af18eadd641f3477
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/tools/dsymutil/BinaryHolder.cpp
Log Message:
-----------
[dsymutil] Avoid repeated hash lookups (NFC) (#127449)
Commit: 153dd19e3057169e6935027ffbc84b62b392aa35
https://github.com/llvm/llvm-project/commit/153dd19e3057169e6935027ffbc84b62b392aa35
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Log Message:
-----------
[SelectionDAG] Remove lowerCallToExternalSymbol (#127408)
The last use was removed in:
commit 05e6bb40ebfd285cc87f7ce326b7ba76c3c7f870
Author: Roger Ferrer Ibáñez <rofirrim at gmail.com>
Date: Thu May 30 14:55:32 2024 +0200
Commit: b16ce8fc24f32aa0614562de0a2d0916118398fb
https://github.com/llvm/llvm-project/commit/b16ce8fc24f32aa0614562de0a2d0916118398fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
Log Message:
-----------
[X86] getFauxShuffleMask - match 256-bit CONCAT(SUB0, SUB1) 64-bit elt patterns as well as 512-bit (#127392)
The 512-bit filter was to prevent AVX1/2 regressions, but most of that is now handled by canonicalizeShuffleWithOp
Ideally we need to support smaller element widths as well.
Noticed while triaging #116931
Commit: 6684a5970e74b8b4c0c83361a90e25dae9646db0
https://github.com/llvm/llvm-project/commit/6684a5970e74b8b4c0c83361a90e25dae9646db0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
Log Message:
-----------
[analyzer][NFC] Trivial cleanup in ArrayBoundChecker (#126941)
Two small stylistic improvements in code that I wrote ~a year ago:
1. fix a typo in a comment; and
2. simplify the code of `tryDividePair` by swapping the true and the
false branches.
Commit: 94585dc59de23c52274fc542df7b821c7e6bb326
https://github.com/llvm/llvm-project/commit/94585dc59de23c52274fc542df7b821c7e6bb326
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Add test coverage for #116931
Commit: 948a8477c6a966ee8509400d2857706e933f4149
https://github.com/llvm/llvm-project/commit/948a8477c6a966ee8509400d2857706e933f4149
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/extend-shuffles.ll
M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
Log Message:
-----------
[WebAssembly] Recognise EXTEND_HIGH (#123325)
When lowering EXTEND_VECTOR_INREG, check whether the operand is a
shuffle that is moving the top half of a vector into the lower half. If
so, we can EXTEND_HIGH the input to the shuffle instead.
Commit: ea7897a617b897f87f148db48cda9fcc7c1c53dc
https://github.com/llvm/llvm-project/commit/ea7897a617b897f87f148db48cda9fcc7c1c53dc
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/CodeGen/WebAssembly/interleave.ll
Log Message:
-----------
[WebAssembly] Enable interleaved memory accesses (#125696)
Enable the vectorizer to access interleaved memory. This means that,
when it's decided to be profitable, the memory accesses can be
vectorized instead of the value being built up by a sequence of
load_lane instructions. This will often increase the vectorization
factor of the loop, leading to significantly better performance.
I run a reasonably large collection of benchmarks and most are not
affected by this change, with most performance changes <1%. But I see a
2.5% speedup for the total run time of TSVC, 1% speedup for SPEC2017
x265, 28% speedup for a ResNet workload and 95% for libyuv. This is
running V8 on an AArch64 box.
Commit: e0545b5c6d54dcf3e3ef84cbf9695bb1aecd87db
https://github.com/llvm/llvm-project/commit/e0545b5c6d54dcf3e3ef84cbf9695bb1aecd87db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Remove getGuaranteedWellDefinedOps (#127453)
The last use was removed in:
commit ac9e67756e0157793d565c2cceaf82e4403f58ba
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: Mon Feb 26 01:53:16 2024 +0800
Commit: b9c6d3ed26789c33fc7f959198e4459ec4e1d3ac
https://github.com/llvm/llvm-project/commit/b9c6d3ed26789c33fc7f959198e4459ec4e1d3ac
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Avoid repeated hash lookups (NFC) (#127443)
Commit: ff4e21fccc439085f6381076a2ac7d9fa371ab29
https://github.com/llvm/llvm-project/commit/ff4e21fccc439085f6381076a2ac7d9fa371ab29
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated hash lookups (NFC) (#127444)
Commit: fb14638817004dc96c9401d7f704d7e5cd0ef3fc
https://github.com/llvm/llvm-project/commit/fb14638817004dc96c9401d7f704d7e5cd0ef3fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#127446)
Commit: d49776634e3c4bd62649e8e0fc0ff44951413c69
https://github.com/llvm/llvm-project/commit/d49776634e3c4bd62649e8e0fc0ff44951413c69
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
Log Message:
-----------
[Hexagon] Avoid repeated map lookups (NFC) (#127447)
Commit: 82dc2d403066a84ef0051b06f1d179e00331f319
https://github.com/llvm/llvm-project/commit/82dc2d403066a84ef0051b06f1d179e00331f319
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[clang][Modules] Remove a resloved issue from StandardCPlusPlusModules.rst
The issue has been fixed in https://github.com/llvm/llvm-project/pull/122726
Commit: 262e4c19878175780c88da867e88fc4e202d4788
https://github.com/llvm/llvm-project/commit/262e4c19878175780c88da867e88fc4e202d4788
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Revert "[clang][Modules] Remove a resloved issue from StandardCPlusPlusModules.rst"
This reverts commit 82dc2d403066a84ef0051b06f1d179e00331f319.
The fix has been reverted in f63e8ed16ef1fd2deb80cd88b5ca9d5b631b1c36
Commit: e0e67a62076ad56f48c64a7cd2ebf5754b8326b7
https://github.com/llvm/llvm-project/commit/e0e67a62076ad56f48c64a7cd2ebf5754b8326b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
A llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
A llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
Log Message:
-----------
[LV] Add initial support for vectorizing literal struct return values (#109833)
This patch adds initial support for vectorizing literal struct return
values. Currently, this is limited to the case where the struct is
homogeneous (all elements have the same type) and not packed. The users
of the call also must all be `extractvalue` instructions.
The intended use case for this is vectorizing intrinsics such as:
```
declare { float, float } @llvm.sincos.f32(float %x)
```
Mapping them to structure-returning library calls such as:
```
declare { <4 x float>, <4 x float> } @Sleef_sincosf4_u10advsimd(<4 x float>)
```
Or their widened form (such as `@llvm.sincos.v4f32` in this case).
Implementing this required two main changes:
1. Supporting widening `extractvalue`
2. Adding support for vectorized struct types in LV
* This is mostly limited to parts of the cost model and scalarization
Since the supported use case is narrow, the required changes are
relatively small.
Commit: c1a229252617ed58f943bf3f4698bd8204ee0f04
https://github.com/llvm/llvm-project/commit/c1a229252617ed58f943bf3f4698bd8204ee0f04
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
M mlir/include/mlir/Conversion/AffineToStandard/AffineToStandard.h
M mlir/include/mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h
M mlir/include/mlir/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.h
M mlir/include/mlir/Conversion/ArmSMEToSCF/ArmSMEToSCF.h
M mlir/include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h
M mlir/include/mlir/Conversion/ComplexToLibm/ComplexToLibm.h
M mlir/include/mlir/Conversion/ComplexToStandard/ComplexToStandard.h
M mlir/include/mlir/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.h
M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
M mlir/include/mlir/Conversion/FuncToSPIRV/FuncToSPIRVPass.h
M mlir/include/mlir/Conversion/LinalgToStandard/LinalgToStandard.h
M mlir/include/mlir/Conversion/MathToLibm/MathToLibm.h
M mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h
M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h
M mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
M mlir/include/mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h
M mlir/include/mlir/Conversion/PDLToPDLInterp/PDLToPDLInterp.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.h
M mlir/include/mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h
M mlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
M mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
M mlir/include/mlir/Conversion/TensorToLinalg/TensorToLinalgPass.h
M mlir/include/mlir/Conversion/TensorToSPIRV/TensorToSPIRVPass.h
M mlir/include/mlir/Conversion/TosaToArith/TosaToArith.h
M mlir/include/mlir/Conversion/TosaToSCF/TosaToSCF.h
M mlir/include/mlir/Conversion/TosaToTensor/TosaToTensor.h
M mlir/include/mlir/Conversion/VectorToArmSME/VectorToArmSME.h
M mlir/include/mlir/Conversion/VectorToSPIRV/VectorToSPIRVPass.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TensorToLinalg/TensorToLinalgPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
M mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensorPass.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
Log Message:
-----------
[MLIR][NFC] Retire `let constructor` for passes in Conversion directory (part1) (#127403)
`let constructor` is deprecated since the table gen backend emits most
of the glue logic to build a pass. This PR retires the td method for
most (I need another pass) passes in the Conversion directory.
Commit: 501c77da6024959438c92f33bd997fe6f39e6b6c
https://github.com/llvm/llvm-project/commit/501c77da6024959438c92f33bd997fe6f39e6b6c
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
A lld/test/ELF/arm-thumb-jump8-11.s
Log Message:
-----------
[LLD][ELF][ARM] Fix resolution of R_ARM_THM_JUMP8 and R_ARM_THM_JUMP11 for big endian (#126933)
These relocations apply to 16-bit Thumb instructions, so reading 16 bits
rather than 32 bits ensures the correct bits are masked and written
back. This fixes the incorrect masking and aligns the relocation logic
with the instruction encoding.
Before this patch, 32 bits were read from the ELF object. This did not
align with the instruction size of 16 bits, but the masking incidentally
made it all work nonetheless. However, this was the case only in little
endian.
In big endian mode, the read 32-bit word had to have its bytes reversed.
With this byte reordering, the masking would be applied to the wrong
bits, hence causing the incorrect encoding to be produced as a result of
the relocation resolution.
The added test checks the result for both little and big endian modes.
Commit: f378e52ed3c6f8da4973f97f1ef043c2eb0da721
https://github.com/llvm/llvm-project/commit/f378e52ed3c6f8da4973f97f1ef043c2eb0da721
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Analysis/LiveVariables.cpp
M clang/test/Analysis/live-stmts.cpp
Log Message:
-----------
[clang][analysis] Fix flaky clang/test/Analysis/live-stmts.cpp test (2nd attempt) (#127406)
In my previous attempt (#126913) of fixing the flaky case was on a good
track when I used the begin locations as a stable ordering. However, I
forgot to consider the case when the begin locations are the same among
the Exprs.
In an `EXPENSIVE_CHECKS` build, arrays are randomly shuffled prior to
sorting them. This exposed the flaky behavior much more often basically
breaking the "stability" of the vector - as it should.
Because of this, I had to revert the previous fix attempt in #127034.
To fix this, I use this time `Expr::getID` for a stable ID for an Expr.
Hopefully fixes #126619
Hopefully fixes #126804
Commit: b3028295e741159e5014c126cd74988785fe8bdb
https://github.com/llvm/llvm-project/commit/b3028295e741159e5014c126cd74988785fe8bdb
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
Log Message:
-----------
[mlir][linalg] Remove `computeStaticLoopSizes` (#124778)
`computeStaticLoopSizes()` is functionally identical to `getStaticLoopRanges()`.
Replace all uses of `computeStaticLoopSizes()` by `getStaticLoopRanges()` and remove the former.
Commit: f09fd94d6b40a80e18093fdfc7d9b199210f69fd
https://github.com/llvm/llvm-project/commit/f09fd94d6b40a80e18093fdfc7d9b199210f69fd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Program.h
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
Log Message:
-----------
[clang][bytecode] Restructure Program::CurrentDeclaration handling (#127456)
Properly reset to the last ID and return the current ID from
getCurrentDecl().
Commit: 9d24f943794420e512512eb9329341355e9289f8
https://github.com/llvm/llvm-project/commit/9d24f943794420e512512eb9329341355e9289f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - remove duplicate DAG.getContext() call. NFC.
Commit: 517800e37e8d3a4ee84214bef65e227612c2a98b
https://github.com/llvm/llvm-project/commit/517800e37e8d3a4ee84214bef65e227612c2a98b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
A mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
R mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
A mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
R mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/fold-empty-op.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
A mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Linalg/td/decompose-pack.mlir
M mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
A mlir/test/Dialect/Linalg/transform-op-tile-pack-unpack.mlir
M mlir/test/Dialect/Linalg/transform-pack-greedily.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
R mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
M mlir/test/Transforms/loop-invariant-code-motion.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
Log Message:
-----------
[mlir][tensor][linalg] Move Pack/UnPack Ops to Linalg (#123902)
Moves `PackOp` and `UnPackOp` from the Tensor dialect to Linalg. This change
was discussed in the following RFC:
* https://discourse.llvm.org/t/rfc-move-tensor-pack-and-tensor-unpack-into-linalg
This change involves significant churn but only relocates existing code - no new
functionality is added.
**Note for Downstream Users**
Downstream users must update references to `PackOp` and `UnPackOp` as follows:
* Code: `s/tensor::(Up)PackOp/linalg::(Un)PackOp/g`
* Tests: `s/tensor.(un)pack/linalg.(un)pack/g`
No other modifications should be required.
Commit: 02c44ce6c6b2ec595e863a2cc8eacbe11c579d7c
https://github.com/llvm/llvm-project/commit/02c44ce6c6b2ec595e863a2cc8eacbe11c579d7c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
Log Message:
-----------
Reformat reglists in SystemZMCTargetDesc.cpp (NFC) (#127472)
Commit: 837b89fc0fc6d0ae7f68e835789ee62580314dcc
https://github.com/llvm/llvm-project/commit/837b89fc0fc6d0ae7f68e835789ee62580314dcc
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/NVVMAttachTarget.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
A mlir/test/Dialect/GPU/nvvm-attach-target.mlir
A mlir/test/Integration/GPU/CUDA/command-line-arg.mlir
Log Message:
-----------
[MLIR][NVVM] Add `ptxas-cmd-options` to pass flags to the downstream compiler (#127457)
This PR adds `cmd-options` to the `gpu-lower-to-nvvm-pipeline` pipeline
and the `nvvm-attach-target` pass, allowing users to pass flags to the
downstream compiler, *ptxas*.
Example:
```
mlir-opt -gpu-lower-to-nvvm-pipeline="cubin-chip=sm_80 ptxas-cmd-options='-v --register-usage-level=8'"
```
Commit: a177be5528337575ee1b7079958d4250b2eb749f
https://github.com/llvm/llvm-project/commit/a177be5528337575ee1b7079958d4250b2eb749f
Author: gdehame <145553531+gdehame at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
Log Message:
-----------
[mlir][Linalg] Bugfix in decompose generic by unfolding permutation (#126737)
The pattern was returning success() by default which made the greedy
pattern application act as if the IR was modified and even though
nothing was changed and thus it can prevent it from converging for no
legitimate reason.
The patch makes the rewrite pattern return failure() by default and
success() if and only if the IR changed.
An example of unexpected behavior is by running `mlir-opt input.mlir
--linalg-specialize-generic-ops`, we obtain an empty mlir as output with
`input.mlir` as follows:
```
#map = affine_map<(d0) -> (d0)>
func.func @f(%arg0: tensor<8xi32>, %arg1: tensor<8xi32>) -> tensor<8xi32> {
%0 = tensor.empty() : tensor<8xi32>
%1 = linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = ["parallel"]} ins(%arg0, %arg1: tensor<8xi32>, tensor<8xi32>) outs(%0: tensor<8xi32>) {
^bb0(%in: i32, %in_0: i32, %out: i32):
%2 = arith.addi %in, %in_0: i32
linalg.yield %2: i32
} -> tensor<8xi32>
return %1 : tensor<8xi32>
}
```
Commit: 80b08d1bb803a2ee0af7ae5661dc8f2444d97a41
https://github.com/llvm/llvm-project/commit/80b08d1bb803a2ee0af7ae5661dc8f2444d97a41
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSchedule.td
A llvm/test/TableGen/PerWriteCycleCount.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Add support for per-write cycle tunables (#125870)
This patch adds support for describing per-write resource cycle counts
for ReadAdvance records via a new optional field called `tunables`.
This makes it possible to declare ReadAdvance records such as:
def : ReadAdvance<Read_C, 1, [Write_A, Write_B], [2]>;
The above will effectively declare two entries in the ReadAdvance
table for Read_C, one for Write_A with a cycle count of 1+2, and one for
Write_B with a cycle count of 1+0 (omitted values are assumed 0).
The field `tunables` provides a list of deltas relative to the base
`cycle` count of the ReadAdvance. Since the field is optional and
defaults to a list of 0's, this change doesn't affect current targets.
Commit: 43d308dd0d9ef18d35ea6dcc9283fcbc93066820
https://github.com/llvm/llvm-project/commit/43d308dd0d9ef18d35ea6dcc9283fcbc93066820
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M compiler-rt/lib/builtins/arm/negdf2vfp.S
Log Message:
-----------
[compiler-rt] Add support for big endian for Arm's __negdf2vfp (#127096)
In soft floating-point ABI, this function takes the double argument as a
pair of registers r0 and r1.
The ordering of these two registers follow the endianness rules,
therefore the register on which the bit flipping must happen depends on
the endianness.
Commit: 4c4fc4650fa66361f19f8c8b60768987fe48a90f
https://github.com/llvm/llvm-project/commit/4c4fc4650fa66361f19f8c8b60768987fe48a90f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/test/CMakeLists.txt
M flang-rt/test/lit.cfg.py
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
Log Message:
-----------
[Flang-RT] Build libflang_rt.so (#121782)
Under non-Windows platforms, also create a dynamic library version of
the runtime. Build of either version of the library can be switched on
using FLANG_RT_ENABLE_STATIC=ON respectively FLANG_RT_ENABLE_SHARED=ON.
Default is to build only the static library, consistent with previous
behaviour. This is because the way the flang driver invokes the linker,
most linkers choose the dynamic library by default, if available.
Building the dynamic library therefore causes flang-built executables to
depend on `libflang_rt.so`, unless explicitly told otherwise.
Commit: 9c9157b25662cedd63426f02cdbde7853454b38e
https://github.com/llvm/llvm-project/commit/9c9157b25662cedd63426f02cdbde7853454b38e
Author: Dinu Blanovschi <git at dnbln.dev>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
Log Message:
-----------
Fix typo in LangImpl03.rst (#127389)
Commit: 8eba128b2dac8e405b663ef602f85469c3d6edb8
https://github.com/llvm/llvm-project/commit/8eba128b2dac8e405b663ef602f85469c3d6edb8
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: exhaustively test makeExactICmpRegion (#127058)
Exhaustively test makeExactICmpRegion by comparing makeAllowedICmpRegion
against makeSatisfyingICmpRegion for all APInts.
Commit: 81a8b2004508a47f733bd8d1c063f7333577cf59
https://github.com/llvm/llvm-project/commit/81a8b2004508a47f733bd8d1c063f7333577cf59
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[SystemZ][z/OS] Define _XOPEN_SOURCE=600 for dlopen (#127254)
On z/OS, dlopen is guarded by _XOPEN_SOURCE=600 so define it when
checking for the symbol.
Commit: f4206f92c5f900a4e0fc0f6dcab6afb6865df1e9
https://github.com/llvm/llvm-project/commit/f4206f92c5f900a4e0fc0f6dcab6afb6865df1e9
Author: Yuriy Chernyshov <thegeorg at yandex-team.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libunwind/src/Unwind-wasm.c
Log Message:
-----------
[libunwind] Silence -Wunused-parameter warnings in Unwind-wasm.c (#125412)
Commit: 9c49b188b8e1434eb774ee8422124ad3e8870dce
https://github.com/llvm/llvm-project/commit/9c49b188b8e1434eb774ee8422124ad3e8870dce
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix false positive regression for lifetime analysis warning. (#127460)
This fixes a false positive caused by #114044.
For `GSLPointer*` types, it's less clear whether the lifetime issue is
about the GSLPointer object itself or the owner it points to. To avoid
false positives, we take a conservative approach in our heuristic.
Fixes #127195
(This will be backported to release 20).
Commit: 949e4041c9927a68a39bf42c71bc73728919505f
https://github.com/llvm/llvm-project/commit/949e4041c9927a68a39bf42c71bc73728919505f
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Add watchOS and tvOS checks for aligned_alloc (#126862)
Adds the equivalent watchOS and tvOS version checks to check for support
for aligned_alloc, we already have macOS and iOS checks.
Commit: d25becaa2079b19e475902ca712cad5df3e660ee
https://github.com/llvm/llvm-project/commit/d25becaa2079b19e475902ca712cad5df3e660ee
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/docs/PassManagement.md
Log Message:
-----------
[MLIR][Doc] Update the pass infra doc to advise against `let constructor = ` (NFC)
We should avoid specifying it manually and instead rely on TableGen, see also
cleanups in #127403
Commit: 18ea6c928088cf9ad2a990bfcca546c608825a7f
https://github.com/llvm/llvm-project/commit/18ea6c928088cf9ad2a990bfcca546c608825a7f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
Log Message:
-----------
AMDGPU: Stop emitting an error on illegal addrspacecasts (#127487)
These cannot be static compile errors, and should be treated as
poison. Invalid casts may be introduced which are dynamically dead.
For example:
```
void foo(volatile generic int* x) {
__builtin_assume(is_shared(x));
*x = 4;
}
void bar() {
private int y;
foo(&y); // violation, wrong address space
}
```
This could produce a compile time backend error or not depending on
the optimization level. Similarly, the new test demonstrates a failure
on a lowered atomicrmw which required inserting runtime address
space checks. The invalid cases are dynamically dead, we should not
error, and the AtomicExpand pass shouldn't have to consider the details
of the incoming pointer to produce valid IR.
This should go to the release branch. This fixes broken -O0 compiles
with 64-bit atomics which would have started failing in
1d0370872f28ec9965448f33db1b105addaf64ae.
Commit: 4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7
https://github.com/llvm/llvm-project/commit/4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/docs/PatternRewriter.md
M mlir/lib/Reducer/ReductionTreePass.cpp
Log Message:
-----------
[mlir] Update docs for Greedy Pattern Rewrite Driver(NFC) (#126701)
The `applyOpPatternsAndFold` is deprecated, use
`applyOpPatternsGreedily` instead.
Commit: 919e72f2513d57fc2105f6e3477c13eb1f0c6cba
https://github.com/llvm/llvm-project/commit/919e72f2513d57fc2105f6e3477c13eb1f0c6cba
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
Log Message:
-----------
[flang][OpenMP] Support `bind` clause for `teams loop` (#127021)
Extends generic `loop` directive support by supporting the `bind`
clause. Since semantic checking does the heavy lifting of verifying the
proper usage of the clause modifier, we can simply enable code-gen for
`teams loop bind(...)` without the need to differentiate between the
values the the clause can accept.
Commit: 9d487050a144b895950a6fd48b993513a714e69d
https://github.com/llvm/llvm-project/commit/9d487050a144b895950a6fd48b993513a714e69d
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
A clang/test/Analysis/issue-124474.cpp
Log Message:
-----------
[clang][analyzer] Teach the BlockInCriticalSectionChecker about O_NONBLOCK streams (#127049)
this PR close #124474
when calling `read` and `recv` function for a non-block file descriptor
or a invalid file descriptor(`-1`), it will not cause block inside a
critical section.
this commit checks for non-block file descriptor assigned by `open`
function with `O_NONBLOCK` flag.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: ab2d330feab3e1d9927a3c0de1a9d6e9bda5abe9
https://github.com/llvm/llvm-project/commit/ab2d330feab3e1d9927a3c0de1a9d6e9bda5abe9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
TableGen: Generate reverseComposeSubRegIndices (#127050)
This is necessary to enable composing subregisters in peephole-opt.
For now use a brute force table to find the return value. The worst
case target is AMDGPU with a 399 x 399 entry table.
Commit: fb29f19fdb0b2b3c8c87cc767482d941818e92a8
https://github.com/llvm/llvm-project/commit/fb29f19fdb0b2b3c8c87cc767482d941818e92a8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Synchronize status pages with Github issues list
Commit: ec544035227bd88e3622b85ba70499cb0e62b2bc
https://github.com/llvm/llvm-project/commit/ec544035227bd88e3622b85ba70499cb0e62b2bc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Synchronize a few remaining status page rows with Github issues
Commit: 788cb725d8b92a82e41e64540dccca97c9086a58
https://github.com/llvm/llvm-project/commit/788cb725d8b92a82e41e64540dccca97c9086a58
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/iss127296.ll
Log Message:
-----------
[Hexagon] Explicitly truncate constant in UAddSubO (#127360)
After #117558 landed, this code would assert "Value is not an N-bit
unsigned value" in getConstant(), from a test case in zig.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Fixes #127296
Commit: 6c627831f9a4ba5d9680cc83d610c1894a84908a
https://github.com/llvm/llvm-project/commit/6c627831f9a4ba5d9680cc83d610c1894a84908a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Use VPlan predecessors in VPWidenPHIRecipe (NFC). (#126388)
Update VPWidenPHIRecipe to use the predecessors in VPlan to determine
the incoming blocks instead of tracking them separately. This brings
VPWidenPHIRecipe in line with the other phi recipes.
PR: https://github.com/llvm/llvm-project/pull/126388
Commit: c5ea469f4dafe4c310ba26511575afda3569b0b5
https://github.com/llvm/llvm-project/commit/c5ea469f4dafe4c310ba26511575afda3569b0b5
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-depend-host-only.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir
Log Message:
-----------
[OMPIRBuilder] - Fix emitTargetTaskProxyFunc to not generate empty functions (#126958)
This is a fix for https://github.com/llvm/llvm-project/issues/126949
There are two issues being fixed here.
First, in some cases, OMPIRBuilder generates empty target task proxy functions. This happens
when the target kernel doesn't use any stack-allocated data (either no data or only globals).
The second problem is encountered when the target task i.e the code that makes the target call
spans a single basic block. This usually happens when we do not generate a target or device kernel
launch and instead fall back to the host. In such cases, we end up not outlining the target task entirely.
This can cause us to call target kernel twice - once via the target task proxy function and a second time
via the host fallback
This PR fixes both of these problems and updates some tests to catch these problems should this patch fail.
Commit: d29045622a1db3cd3729c1fe3fba7eebd5536517
https://github.com/llvm/llvm-project/commit/d29045622a1db3cd3729c1fe3fba7eebd5536517
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
Log Message:
-----------
[X86] combineConcatVectorOps - fold concat(EXTEND_VECTOR_INREG(x),EXTEND_VECTOR_INREG(y)) -> EXTEND_VECTOR_INREG(unpack(x,y)) (#127502)
Concat/unpack the src subvectors together in the bottom 128-bit vector and then extend with a single EXTEND/EXTEND_VECTOR_INREG instruction
Required the getEXTEND_VECTOR_INREG helper to be tweaked to accept EXTEND_VECTOR_INREG opcodes as well to avoid us having to remap the opcode between both types.
Commit: 8aff59d3f4e53751b23cd3bc22a74f8677c57d7d
https://github.com/llvm/llvm-project/commit/8aff59d3f4e53751b23cd3bc22a74f8677c57d7d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for three test cases (#127352)
- `CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll`
- `CodeGen/AMDGPU/call-preserved-registers.ll`
- `CodeGen/AMDGPU/stack-realign.ll`
This is to make preparation for another PR.
Commit: 6a3007683bf2fa05989c12c787f5547788d09178
https://github.com/llvm/llvm-project/commit/6a3007683bf2fa05989c12c787f5547788d09178
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Remove getGuaranteedNonPoisonOps (#127461)
commit 0517772b4ac20c5d3a0de0d4703354a179833248
Author: Philip Reames <preames at rivosinc.com>
Date: Thu Dec 19 14:14:11 2024 -0800
Commit: 6d86a8a1a12856955aba5e06a6552ddafaaa208f
https://github.com/llvm/llvm-project/commit/6d86a8a1a12856955aba5e06a6552ddafaaa208f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
LAA: scope responsibility of isNoWrapAddRec (NFC) (#127479)
Free isNoWrapAddRec from the AddRec check, and rename it to isNoWrapGEP.
Commit: 15c2d1b328433d2c26327e072059c8960469d378
https://github.com/llvm/llvm-project/commit/15c2d1b328433d2c26327e072059c8960469d378
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix dependencies on generated convert builtins (#127515)
In #127378 it was reported that builds without clspv targets enabled
were failing after #124727, as all targets had a dependency on a file
that only clspv targets generated.
A quick fix was merged in #127315 which wasn't correct. It moved the
dependency on those generated files to the spirv targets, instead of
onto the clspv targets. This means a build with spirv targets and
without clspv targets would see the same problems as #127378 reported.
I tried simply removing the requirement to explicitly add dependencies
to the custom command, relying instead on the file-level dependencies.
This didn't seem reliable enough; in some cases on a Makefiles build,
the clang command compiling (e.g.,) convert.cl would begin before the
file was fully written.
Instead, we keep the target-level dependency but automatically infer it
based on the generated file name, to avoid manual book-keeping of pairs
of files and targets.
This commit also fixes what looks like an unintended bug where, when
ENABLE_RUNTIME_SUBNORMAL was enabled, the OpenCL conversions weren't
being compiled.
Commit: 2dda529838e622e7a79b1e26d2899f319fd7e379
https://github.com/llvm/llvm-project/commit/2dda529838e622e7a79b1e26d2899f319fd7e379
Author: Marius Kamp <msk at posteo.org>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/shift-const-ne-0.ll
Log Message:
-----------
[AArch64] Fix Fold of Compare with Right-shifted Value (#127209)
This change folds (setcc ne (lshr x c) 0) for 64-bit types and constants
c >= 32. This fold already existed for other types or smaller constants
but was not applicable to 64-bit types and constants >= 32 due to a
comparison of the constant c with the bit size of the setcc operation.
The type of this operation is legalized to i32, which does not
necessarily match the type of the lshr operation. Use the bit size of
the type of the lshr operation instead for the comparison.
Fixes #122380.
Commit: 85f7ec12b86494f98f1ea28e51b38d52f2aecc8b
https://github.com/llvm/llvm-project/commit/85f7ec12b86494f98f1ea28e51b38d52f2aecc8b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unneeded unmasked patterns for vcpop_v and riscv_vfirst_vl. (#127435)
The pseudos had RISCVMaskedPseudo add in #115162 so I we are able to convert the
masked form to unmasked form automatically.
Commit: 62254f6615e453ee576a39557e4fc9ddb84965c2
https://github.com/llvm/llvm-project/commit/62254f6615e453ee576a39557e4fc9ddb84965c2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R llvm/lib/Target/ARC/ARCTargetStreamer.h
A llvm/lib/Target/ARC/MCTargetDesc/ARCTargetStreamer.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
R llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
A llvm/lib/Target/Hexagon/MCTargetDesc/HexagonTargetStreamer.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
R llvm/lib/Target/Mips/MipsTargetStreamer.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
A llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
R llvm/lib/Target/PowerPC/PPCTargetStreamer.h
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
R llvm/lib/Target/SystemZ/SystemZTargetStreamer.h
A llvm/lib/Target/XCore/MCTargetDesc/XCoreTargetStreamer.h
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
R llvm/lib/Target/XCore/XCoreTargetStreamer.h
Log Message:
-----------
[Targets] Move *TargetStreamer.h files into their MCTargetDesc directory. (#127433)
These files are included from MCTargetDesc so should be there instead of in
the main directory for the target.
Commit: 74656476b860be93ccaac12b62d81679166207fd
https://github.com/llvm/llvm-project/commit/74656476b860be93ccaac12b62d81679166207fd
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/inline-asm-vector-avx512.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/mask-compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/rsqrt.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/vp2intersect-i32.mlir
Log Message:
-----------
[mlir][x86vector] Fix integration tests lowering (#124934)
Fixes MLIR lowering passes in x86vector integration tests.
The tests are refactored with lowering pass bundle which ensures that all
dialect are lowered into LLVM dialect.
This simplifies the test pipelines and addresses missing arith lowering.
Commit: 941f7cbf5a3e7aa9f36b002dc22cfdb4ff50fea8
https://github.com/llvm/llvm-project/commit/941f7cbf5a3e7aa9f36b002dc22cfdb4ff50fea8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/include/__chrono/time_zone.h
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
Log Message:
-----------
[libc++][TZDB] Fixes mapping of nonexisting time. (#127330)
All non-existing local times in a contiguous range should map to the
same time point. This fixes a bug, were the times inside the range were
mapped to the wrong time.
Fixes: #113654
Commit: eaa460ca499bec0547393bae7c18b128c2926839
https://github.com/llvm/llvm-project/commit/eaa460ca499bec0547393bae7c18b128c2926839
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
Log Message:
-----------
[AMDGPU] Remove dead function metadata after amdgpu-lower-kernel-arguments (#126147)
The verifier ensures function !dbg metadata is unique across the module,
so ensure the old nameless function we leave behind doesn't violate
this invariant.
Removing the function via e.g. eraseFromParent seems like a better
option, but doesn't seem to be legal from a FunctionPass.
Commit: 29ca3b8b28cb42ee796f40fe40f5f9ddc1ea2f42
https://github.com/llvm/llvm-project/commit/29ca3b8b28cb42ee796f40fe40f5f9ddc1ea2f42
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
[AMDGPU] Push amdgpu-preload-kern-arg-prolog after livedebugvalues (#126148)
This is effectively a workaround for a bug in livedebugvalues, but seems
to potentially be a general improvement, as BB sections seems like it
could ruin the special 256-byte prelude scheme that
amdgpu-preload-kern-arg-prolog requires anyway. Moving it even later
doesn't seem to have any material impact, and just adds livedebugvalues
to the list of things which no longer have to deal with pseudo
multiple-entry functions.
AMDGPU debug-info isn't supported upstream yet, so the bug being avoided
isn't testable here. I am posting the patch upstream to avoid an
unnecessary diff with AMD's fork.
Commit: 0d2722c20d75b237524dd4ec87a1d3da707ec96e
https://github.com/llvm/llvm-project/commit/0d2722c20d75b237524dd4ec87a1d3da707ec96e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc][Docs] Add proper 'offload' build to use libc with offload
Summary:
Since this was added the offloading target now requires `offload`.
Fixes: https://github.com/llvm/llvm-project/issues/127458
Commit: 15944056aa5c1ab2c777dd2e3b4f19b8a1f1403d
https://github.com/llvm/llvm-project/commit/15944056aa5c1ab2c777dd2e3b4f19b8a1f1403d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/COFF/Writer.h
A lld/test/COFF/arm64x-crt-sec.s
Log Message:
-----------
[LLD][COFF] Split native and EC .CRT chunks on ARM64X (#127203)
Commit: f0e39c45df2075ac338bc06b595079da8466b695
https://github.com/llvm/llvm-project/commit/f0e39c45df2075ac338bc06b595079da8466b695
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add aliases for processors apple-a18/s6..10. (#127152)
apple-a18 is an alias of apple-m4.
apple-s6/s7/s8 are aliases of apple-a13.
apple-s9/s10 are aliases of apple-a16.
As with some other aliases today, this reflects identical ISA feature
support, but not necessarily identical microarchitectures and
performance characteristics.
Commit: 6fde8fe9adc835df50ea57b710781ffe8a6657e8
https://github.com/llvm/llvm-project/commit/6fde8fe9adc835df50ea57b710781ffe8a6657e8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb] Provide default impl for MightHaveChildren (NFC) (#119977)
The vast majority of `SyntheticChildrenFrontEnd` subclasses provide
children, and as such implement `MightHaveChildren` with a constant
value of `true`. This change makes `true` the default value. With this
change, `MightHaveChildren` only needs to be implemented by synthetic
providers that can return `false`, which is only 3 subclasses.
Commit: 83e180cb70266545f03a3449e4de0c3725fdfa55
https://github.com/llvm/llvm-project/commit/83e180cb70266545f03a3449e4de0c3725fdfa55
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
[Clang][PGO] Fix profile function visibility bug (#127257)
This pull request fixes an issue that was introduced in #93365.
`__llvm_write_custom_profile` visibility was causing issues on Darwin.
This function needs to be publicly accessible in order to be accessed by
libomptarget, so this pull request makes `__llvm_write_custom_profile`
an explicitly exported symbol on Darwin. Tested on M3 and X86 macs.
Commit: f5c5bc5ed57e63fe11ddd58c4b392f27b86730f1
https://github.com/llvm/llvm-project/commit/f5c5bc5ed57e63fe11ddd58c4b392f27b86730f1
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
Log Message:
-----------
[CodeGen][ObjC] Invalidate cached ObjC class layout information after parsing ObjC class implementations if new ivars are added to the interface (#126591)
The layout and the size of an ObjC interface can change after its
corresponding implementation is parsed when synthesized ivars or ivars
declared in categories are added to the interface's list of ivars. This
can cause clang to mis-compile if the optimization that emits fixed
offsets for ivars (see 923ddf65f4e21ec67018cf56e823895de18d83bc) uses an
ObjC class layout that is outdated and no longer reflects the current
state of the class.
For example, when compiling `constant-non-fragile-ivar-offset.m`, clang
emits 20 instead of 24 as the offset for `IntermediateClass2Property` as
the class layout for `SuperClass2`, which is created when the
implementation of IntermediateClass3 is parsed, is outdated when the
implementation of `IntermediateClass2` is parsed.
This commit invalidates the stale layout information of the class and
its subclasses if new ivars are added to the interface.
With this change, we can also stop using ObjC implementation decls as
the key to retrieve ObjC class layouts information as the layout
retrieved using the ObjC interface as the key will always be up to date.
rdar://139531391
Commit: 3fa85c7cce3047ae0fc54874c2bf8340e8c4803c
https://github.com/llvm/llvm-project/commit/3fa85c7cce3047ae0fc54874c2bf8340e8c4803c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/Status/Cxx20Issues.csv
Log Message:
-----------
[libc++] Document that libc++ does not and will never implement the Networking TS (#127508)
There has been discussion around this a few times already, and there
seemed to be consensus that we would never pursue an implementation of
the Networking TS. This patch solidifies that discussion by documenting
it and closing issues related to the Networking TS.
Closes #103799
Closes #100223
Closes #100228
Closes #100231
Closes #100232
Commit: a7a356833df81b605ecaa3b0a7391da68805b680
https://github.com/llvm/llvm-project/commit/a7a356833df81b605ecaa3b0a7391da68805b680
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[NFC][Clang][CodeGen] Remove vestigial assertion (#127528)
This removes a vestigial assertion, which would erroneously trigger even
though we now correctly handle valid arg mismatches
(<https://github.com/llvm/llvm-project/blob/2dda529838e622e7a79b1e26d2899f319fd7e379/clang/lib/CodeGen/CGCall.cpp#L5397>),
after #114062 went in.
Commit: 9a584b07d7c29cec65bb446782c4ddddaf72e6d8
https://github.com/llvm/llvm-project/commit/9a584b07d7c29cec65bb446782c4ddddaf72e6d8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/nvptxintrin.h
M libc/src/__support/GPU/utils.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
Log Message:
-----------
[Clang] Add handlers for 'match_any' and 'match_all' to `gpuintrin.h` (#127504)
Summary:
These helpers are very useful but currently absent. They allow the user
to get a bitmask representing the matches within the warp. I have made
an executive decision to drop the `predicate` return from `match_all`
because it's easily testable with `match_all() == __activemask()`.
Commit: a8b177aa6048e3dc278f63f4bc79e2c199ecd722
https://github.com/llvm/llvm-project/commit/a8b177aa6048e3dc278f63f4bc79e2c199ecd722
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Remove unneeded hasNoOverflow call (NFC).
The function already calls hasNoOverflow above.
Commit: a92bfaa7d92180c3c88b2c116689de30a72546c2
https://github.com/llvm/llvm-project/commit/a92bfaa7d92180c3c88b2c116689de30a72546c2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-ctors-sec.s
Log Message:
-----------
[LLD][COFF] Support MinGW constructor and destructor lists on ARM64X (#127205)
Split the chunks for EC and native views, inserting headers and tails for both.
Commit: 620a51535ba7934a6f6bca5b74ff75946e886d87
https://github.com/llvm/llvm-project/commit/620a51535ba7934a6f6bca5b74ff75946e886d87
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Add message to assert in HCFGBuilder (NFC).
Suggested in https://github.com/llvm/llvm-project/pull/126388.
Commit: 88e72c401b5bbedb3461039935e940eccff53f02
https://github.com/llvm/llvm-project/commit/88e72c401b5bbedb3461039935e940eccff53f02
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
Log Message:
-----------
[LAA] Add test where GEPs may wrap.
Commit: 93a1184409feb6b0ebb1001e1bebcecf760a6673
https://github.com/llvm/llvm-project/commit/93a1184409feb6b0ebb1001e1bebcecf760a6673
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Fix import split marker in alias test (#127540)
Commit: a377cdd23db180b881f54fc7f88bf3aa85de21cc
https://github.com/llvm/llvm-project/commit/a377cdd23db180b881f54fc7f88bf3aa85de21cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/API/SBType.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/test/API/lang/cpp/template-arguments/main.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Add support for floating point template argument constants (#127206)
This patch adds support for template arguments of
`clang::TemplateArgument::ArgKind::StructuralValue` kind (added in
https://github.com/llvm/llvm-project/pull/78041). These are used for
non-type template parameters such as floating point constants. When LLDB
created `clang::NonTypeTemplateParmDecl`s, it previously assumed
integral values, this patch accounts for structural values too.
Anywhere LLDB assumed a `DW_TAG_template_value_parameter` was
`Integral`, it will now also check for `StructuralValue`, and will
unpack the `TemplateArgument` value and type accordingly.
We can rely on the fact that any `TemplateArgument` of `StructuralValue`
kind that the `DWARFASTParserClang` creates will have a valid value,
because it gets those from `DW_AT_const_value`.
Commit: 44cfb6b434a5f7d29fb48e10cf25e74a669a926d
https://github.com/llvm/llvm-project/commit/44cfb6b434a5f7d29fb48e10cf25e74a669a926d
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
Log Message:
-----------
[SPIR-V] Ensure that a correct pointer type is deduced from the Value argument of OpAtomic* instructions (#127492)
This PR improves the set of rules for type inference by ensuring that a
correct pointer type is deduced from the Value argument of OpAtomic*
instructions, also when a pointer argument is coming from an `inttoptr
.. to` instruction that caused problems earlier. Existing test cases are
updated accordingly. This fixes
https://github.com/llvm/llvm-project/issues/127491
Commit: 798890ea10c4a111dff79d975534744f19c5a00d
https://github.com/llvm/llvm-project/commit/798890ea10c4a111dff79d975534744f19c5a00d
Author: David Green <david.green at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Remove unused HasFPAC. NFC
It contains a syntax error, but us it is unused it can be removed until we need
it.
Commit: 0b8bd472b0faf79005dfdd1078904fdf39879d61
https://github.com/llvm/llvm-project/commit/0b8bd472b0faf79005dfdd1078904fdf39879d61
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp_os.h
Log Message:
-----------
[OpenMP][libomp] Add OpenBSD, NetBSD and DragonFly stdarg handling (#126182)
Fixes build on OpenBSD/aarch64.
```
FAILED: openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o
/home/brad/tmp/llvm-build/bin/clang++ --target=aarch64-unknown-openbsd7.6 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Domp_EXPORTS -I/home/brad/tmp/llvm-build/runtimes/runtimes-bins/openmp/runtime/src -I/home/brad/tmp/llvm-brad/openmp/runtime/src -I/home/brad/tmp/llvm-brad/openmp/runtime/src/i18n -I/home/brad/tmp/llvm-brad/openmp/runtime/src/include -I/home/brad/tmp/llvm-brad/openmp/runtime/src/thirdparty/ittnotify -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -fcolor-diagnostics -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -fno-semantic-interposition -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -D _GNU_SOURCE -D _REENTRANT -U_GLIBCXX_ASSERTIONS -UNDEBUG -fno-exceptions -fno-rtti -Wno-covered-switch-default -Wno-frame-address -Wno-strict-aliasing -Wno-switch -Wno-uninitialized -Wno-return-type-c-linkage -Wno-cast-qual -Wno-int-to-void-pointer-cast -MD -MT openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o -MF openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o.d -o openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o -c /home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1449:47: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
1449 | return (master_th->th.th_teams_microtask && ap &&
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1449:44: error: invalid operands to binary expression ('microtask_t' (aka 'void (*)(int *, int *, ...)') and 'kmp_va_list' (aka '__builtin_va_list'))
1449 | return (master_th->th.th_teams_microtask && ap &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1457:15: warning: comparison between NULL and non-pointer ('kmp_va_list' (aka '__builtin_va_list') and NULL) [-Wnull-arithmetic]
1457 | return ((ap == NULL && active_level == 0) ||
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1457:15: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'long')
1457 | return ((ap == NULL && active_level == 0) ||
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1458:12: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
1458 | (ap && teams_level > 0 && teams_level == level));
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1458:15: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'bool')
1458 | (ap && teams_level > 0 && teams_level == level));
| ~~ ^ ~~~~~~~~~~~~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1735:9: error: invalid argument type 'kmp_va_list' (aka '__builtin_va_list') to unary expression
1735 | if (!ap) {
| ^~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2169:66: warning: comparison between NULL and non-pointer ('kmp_va_list' (aka '__builtin_va_list') and NULL) [-Wnull-arithmetic]
2169 | !(microtask == (microtask_t)__kmp_teams_master || ap == NULL))
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2169:66: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'long')
2169 | !(microtask == (microtask_t)__kmp_teams_master || ap == NULL))
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2284:9: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
2284 | if (ap) {
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2302:58: error: invalid argument type 'kmp_va_list' (aka '__builtin_va_list') to unary expression
2302 | __kmp_fork_team_threads(root, team, master_th, gtid, !ap);
| ^~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2363:9: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
2363 | if (ap) {
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:7803:3: error: no matching function for call to '__kmp_fork_call'
7803 | __kmp_fork_call(loc, gtid, fork_context_intel, team->t.t_argc,
| ^~~~~~~~~~~~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1927:5: note: candidate function not viable: no known conversion from 'long' to 'kmp_va_list' (aka '__builtin_va_list') for 7th argument
1927 | int __kmp_fork_call(ident_t *loc, int gtid,
| ^
1928 | enum fork_context_e call_context, // Intel, GNU, ...
1929 | kmp_int32 argc, microtask_t microtask, launch_t invoker,
1930 | kmp_va_list ap) {
| ~~~~~~~~~~~~~~
2 warnings and 11 errors generated.
```
Commit: a3dc77c00a012bb613cb08e669dab4fadf88e935
https://github.com/llvm/llvm-project/commit/a3dc77c00a012bb613cb08e669dab4fadf88e935
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
A lldb/test/API/lang/cpp/thunk/Makefile
A lldb/test/API/lang/cpp/thunk/TestThunk.py
A lldb/test/API/lang/cpp/thunk/main.cpp
Log Message:
-----------
[lldb] Support stepping through C++ thunks (#127419)
This PR fixes LLDB stepping out, rather than stepping through a C++
thunk. The implementation is based on, and upstreams, the support for
runtime thunks in the Swift fork.
Fixes #43413
Commit: 2b41277a09820bc47dc533ad37b5213edc2e8d52
https://github.com/llvm/llvm-project/commit/2b41277a09820bc47dc533ad37b5213edc2e8d52
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/thunk/TestThunk.py
Log Message:
-----------
[lldb] Disable test_step_out_thunk on Windows
On Windows we end up in assembly. Not sure if the thread plans behave
differently or this is a debug info issue. I have no environment to
reproduce and investigate this in, so I'm disabling the test for now.
Commit: 8fe290efa634c449937d0576e391555d0ebb6efb
https://github.com/llvm/llvm-project/commit/8fe290efa634c449937d0576e391555d0ebb6efb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R libc/include/fenv.h.def
M libc/include/fenv.yaml
Log Message:
-----------
[libc] Canonicalize generated fenv.h (#127363)
This removes the custom template for fenv.h by declaring all the
standard-specified macros using macro_header.
Commit: ed38d6702f7695092c9486016e2504f8c6bfef37
https://github.com/llvm/llvm-project/commit/ed38d6702f7695092c9486016e2504f8c6bfef37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
Log Message:
-----------
PeepholeOpt: Handle subregister compose when looking through reg_sequence (#127051)
Previously this would give up on folding subregister copies through
a reg_sequence if the input operand already had a subregister index.
d246cc618adc52fdbd69d44a2a375c8af97b6106 stopped introducing these
subregister uses, and this is the first step to lifting that restriction.
I was expecting to be able to implement this only purely with compose /
reverse compose, but I wasn't able to make it work so relies on testing
the lanemasks for whether the copy reads a subset of the input.
Commit: b5b8a59a530b69f02bfc98b1ab8758e1757ddb8f
https://github.com/llvm/llvm-project/commit/b5b8a59a530b69f02bfc98b1ab8758e1757ddb8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.h
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Log Message:
-----------
AMDGPU: Implement getRequiredProperties for SIFoldOperands (#127522)
Fix the broken MIR tests violating isSSA.
Commit: 09d14149f61d1f723ed39ce5297c572d53eb7c44
https://github.com/llvm/llvm-project/commit/09d14149f61d1f723ed39ce5297c572d53eb7c44
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix return value of array CXXNewExprs (#127526)
Just like with the __builtin_operator_new version, we need to point to
the first array element, not the array element itself.
Commit: 51c91095ab5b1f8f0d65e6fbd551e8b991866b3f
https://github.com/llvm/llvm-project/commit/51c91095ab5b1f8f0d65e6fbd551e8b991866b3f
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Reapply "Make llvm::telemetry::Manager::preDispatch protected. (#127114) (#127431)
This reverts commit 66465c3b0ab1b32403ad5a1c3114174d87830f54.
New change: added missing return statement.
Commit: d19187f5fe01c89a09c1b2f14849a3f29988d6d5
https://github.com/llvm/llvm-project/commit/d19187f5fe01c89a09c1b2f14849a3f29988d6d5
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
Log Message:
-----------
[AMDGPU] Move into SIProgramInfo and cache getFunctionCodeSize. NFCI. (#127111)
This moves function as is, improvements to the estimate go into
a subseqent patch.
Commit: f71b83b3593588c56fd4ab3e1347ad9c7bec624f
https://github.com/llvm/llvm-project/commit/f71b83b3593588c56fd4ab3e1347ad9c7bec624f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add a release note for #127419
Commit: fe1ef413ab3634cf9e10bcd68f0633b28d7e2228
https://github.com/llvm/llvm-project/commit/fe1ef413ab3634cf9e10bcd68f0633b28d7e2228
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Add more tests for peephole-opt immediate folding (#127480)
Commit: 4dee305ce2c92fbffd51ac1948e5916bccf2c9cb
https://github.com/llvm/llvm-project/commit/4dee305ce2c92fbffd51ac1948e5916bccf2c9cb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Fix foldImmediate breaking register class constraints (#127481)
This fixes a verifier error when folding an immediate materialized
into an aligned vgpr class into a copy to an unaligned virtual register.
Commit: af1e2a374e3845454914348793341f4f931e805a
https://github.com/llvm/llvm-project/commit/af1e2a374e3845454914348793341f4f931e805a
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
A llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
[Mips] Support llvm.readcyclecounter intrinsic (#127553)
The llvm.readcyclecounter intrinsic can be implemented via the `rdhwr
$2, $hwr_cc` instruction.
$hwr_cc: High-resolution cycle counter. This register provides read
access to the coprocessor 0 Count Register.
Fix #106318.
Commit: 83d7f4b8c38147dbb57a40b385e70908ebbbb554
https://github.com/llvm/llvm-project/commit/83d7f4b8c38147dbb57a40b385e70908ebbbb554
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Implement getConstValDefinedInReg and use in foldImmediate (NFC) (#127482)
This is NFC because it currently only matters for cases that are not
isMoveImmediate, and we do not yet implement any of those. This just
moves the implementation of foldImmediate to use the common interface,
similar to how x86 does it.
Commit: c5def84ca4a1aa08333a0428bc453ea901139eca
https://github.com/llvm/llvm-project/commit/c5def84ca4a1aa08333a0428bc453ea901139eca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Handle brev and not cases in getConstValDefinedInReg (#127483)
We should not encounter these cases in the peephole-opt use today,
but get the common helper function to handle these.
Commit: ef9f0b3c414a5d55e694829514d7b2ff8736d3c3
https://github.com/llvm/llvm-project/commit/ef9f0b3c414a5d55e694829514d7b2ff8736d3c3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
Log Message:
-----------
[DAGCombiner] Don't peek through truncates of shift amounts in takeInexpensiveLog2. (#126957)
Shift amounts in SelectionDAG don't have to match the result type
of the shift. SelectionDAGBuilder will aggressively truncate shift
amounts to the target's preferred type. This may result in a zero extend
that existed in IR being removed.
If we look through a truncate here, we can't guarantee the upper bits
of the truncate input are zero. There may have been a zext that was
removed. Unfortunately, this regresses tests where no truncate was
involved. The only way I can think to fix this is to add an assertzext
when SelectionDAGBuilder truncates a shift amount or remove the
early truncation of shift amounts from SelectionDAGBuilder all together.
Fixes #126889.
Commit: 663db5c70dfef8961dfb0ef5408db48555de7afc
https://github.com/llvm/llvm-project/commit/663db5c70dfef8961dfb0ef5408db48555de7afc
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
A llvm/lib/Target/AMDGPU/GCNNSAReassign.h
Log Message:
-----------
[AMDGPU][NewPM] Port GCNNSAReassign pass to new pass manager (#125034)
tests to be added while porting virtregrewrite and greedy regalloc
Commit: 0b719d3d63100c6af66b015f796ab74d3d218107
https://github.com/llvm/llvm-project/commit/0b719d3d63100c6af66b015f796ab74d3d218107
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
Log Message:
-----------
[clangd] Enable parsing of forwarding functions in the preamble by default (#127359)
Fixes https://github.com/clangd/clangd/issues/2324
Commit: d09cce166de9fc4fa243bdb4a2ea22df08110abd
https://github.com/llvm/llvm-project/commit/d09cce166de9fc4fa243bdb4a2ea22df08110abd
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/test/Index/Core/index-dependent-source.cpp
Log Message:
-----------
[clang][Index] Use HeuristicResolver in libIndex (#125153)
The uses replace hand-rolled code that did a subset of what
HeuristicResolver does.
Commit: a5e6ccf546932118cbbab6633f5d599914fd75ec
https://github.com/llvm/llvm-project/commit/a5e6ccf546932118cbbab6633f5d599914fd75ec
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/517800e37e8d3a4ee84214bef65e227612c2a98b (#127544)
Introduces a `LinalgInterfaces` target so that `TensorDialect` doesn't
need to depend on `LinalgDialect`, which would introduce a circular
dependency.
Commit: 6ba34f9e7374109e2d2119b5de3c196aa928f179
https://github.com/llvm/llvm-project/commit/6ba34f9e7374109e2d2119b5de3c196aa928f179
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use policy instead of ForceTailAgnostic for vmsbf/vmsif/vmsof pseudos. (#127535)
ForceTailAgnostic is currently treated as an override of the policy
operand. It doesn't do anything else so we can just use the policy
directly.
Commit: 6b2e511aedb1b372ecd6eaa89720dc3586f3ae19
https://github.com/llvm/llvm-project/commit/6b2e511aedb1b372ecd6eaa89720dc3586f3ae19
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
Log Message:
-----------
[RISCV] Implement isHighLatencyDef() (#127476)
And returns true for div/rem/sqrt/... operations.
This is an alternative if we don't support generic scheduling model.
Commit: 6e532700f86f56b51506cc5a733f4f21fd03ab03
https://github.com/llvm/llvm-project/commit/6e532700f86f56b51506cc5a733f4f21fd03ab03
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Port https://github.com/llvm/llvm-project/commit/d09cce166de9fc4fa243bdb4a2ea22df08110abd
Commit: ab8d99530d4e80b619c19681781eac5f545b2c38
https://github.com/llvm/llvm-project/commit/ab8d99530d4e80b619c19681781eac5f545b2c38
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix after https://github.com/llvm/llvm-project/pull/127544
Commit: 77410f2a25529c9675853cf30c76168cccfe0f5d
https://github.com/llvm/llvm-project/commit/77410f2a25529c9675853cf30c76168cccfe0f5d
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor] Remove unnecessary include.
This include introduced an unwanted dependency from tensor to tensor utils.
Commit: 251377c47d296000158347d6a1cba2e6b30132a3
https://github.com/llvm/llvm-project/commit/251377c47d296000158347d6a1cba2e6b30132a3
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
Log Message:
-----------
[InstCombine] Fold shift+cttz with power of 2 operands (#127055)
#121386 Introduced cttz intrinsics which caused a regression where
vscale/vscale divisions could no longer be constant folded.
This fold was suggested as a fix in #126411.
https://alive2.llvm.org/ce/z/gWbtPw
Commit: b227c2578cc77e2113846b270d0b0a08f53e8019
https://github.com/llvm/llvm-project/commit/b227c2578cc77e2113846b270d0b0a08f53e8019
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Transforms/scf-loop-unroll.mlir
M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
Log Message:
-----------
[mlir][scf] add unroll-full option to test-loop-unrolling pass (#127158)
Some loops cannot be unrolled by affine-loop-unroll pass. After running
lower-affine pass, they can be unrolled in scf.To enable conversion of
vector Ops in scf to llvm dialect, unroll-full option was added.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: d49c3181e68de20ebd5f8e9fc5f4ad3ce20cad6d
https://github.com/llvm/llvm-project/commit/d49c3181e68de20ebd5f8e9fc5f4ad3ce20cad6d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[X86] emitEpilogue - silence implicit integer extension warning. (#127185)
Silence compiler warning introduced in #125007 - assign the address delta to int64_t, assert it is negative and negate it only as part of the mergeSPAdd call
Fixes #125825
Commit: 1ae9dd31a21022d360e5f1efa32a71c4073c7e18
https://github.com/llvm/llvm-project/commit/1ae9dd31a21022d360e5f1efa32a71c4073c7e18
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add EXTEND_VECTOR_INREG() 512-bit handling (#127530)
Support extension to 512-bit vectors on AVX512/BWI targets.
Commit: 13de15c9c49068db850368c45ffed8f7bbf07f20
https://github.com/llvm/llvm-project/commit/13de15c9c49068db850368c45ffed8f7bbf07f20
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating StartOfName (#127545)
Also ensure we can break before ClassHeadName like StartOfName.
Fixes #127470
Commit: e235fcb582eec5f58c905b66f96d0732d17b875e
https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M bolt/CMakeLists.txt
A bolt/include/bolt/Core/TargetConfig.def.in
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
Log Message:
-----------
[BOLT] Only link and initialize supported targets (#127509)
Bolt currently links and initializes all LLVM targets. This
substantially increases the binary size, and link time if LTO is used.
Instead, only link the targets specified by BOLT_TARGETS_TO_BUILD. We
also have to only initialize those targets, so generate a
TargetConfig.def file with the necessary information. The way the
initialization is done mirrors what llvm-exegesis does.
This reduces llvm-bolt size from 137MB to 78MB for me.
Commit: 03cb46d248b08fa7ca740d78f0847adcc3e76ad8
https://github.com/llvm/llvm-project/commit/03cb46d248b08fa7ca740d78f0847adcc3e76ad8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
Log Message:
-----------
[CodeGen] Use getSignedConstant() in more places (#127501)
Use getSignedConstant() in a few more places, based on a search of
`\bgetConstant(-`. Most of these were fine as-is (e.g. because they work
on 64-bits), but I think it's better to use getSignedConstant()
consistently for negative numbers.
Commit: 6a360b313d27e46988d573a663e9127622eb205c
https://github.com/llvm/llvm-project/commit/6a360b313d27e46988d573a663e9127622eb205c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
AMDGPU: Remove redundant inline constant check (#127582)
We don't really care of this is an inline constant, only if it
will be legal.
Commit: f7c71f162269a10a635c4125142ae8b0a194f3aa
https://github.com/llvm/llvm-project/commit/f7c71f162269a10a635c4125142ae8b0a194f3aa
Author: Jason Rice <ricejasonf at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[Clang][P1061] Consolidate ResolvedUnpexandedPackExpr into FunctionParmPackExpr (#125394)
This merges the functionality of ResolvedUnexpandedPackExpr into
FunctionParmPackExpr. I also added a test to show that
https://github.com/llvm/llvm-project/issues/125103 should be fixed with
this. I put the removal of ResolvedUnexpandedPackExpr in its own commit.
Let me know what you think.
Fixes #125103
Commit: 252c83bc9ef9fc885e9e6517f1b4423188bb919f
https://github.com/llvm/llvm-project/commit/252c83bc9ef9fc885e9e6517f1b4423188bb919f
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/gh106576.c
Log Message:
-----------
[clang][Sema] Fix type of an statement expression ending with an atomic type (#119711)
When a statement expression's last statement is an atomic variable, GCC
and Clang disagree on the type of the expression. This can be made
apparent using `typeof` and forcing a diagnostic message:
```cpp
_Atomic int a = 0;
typeof(({a;})) x = "0";
```
* GCC complains about initializing `int` with `char*`
* Clang complains about initializing `_Atomic(int)` with a `char[2]`
Due to the type of the statement expression being deduced to be atomic,
we end with three implicit casts inside the `StmtExpr` on the AST:
* `LValueToRValue` -> `AtomicToNonAtomic` -> `NonAtomicToAtomic`
In some situations, this can end on an assertion inside
`IntExprEvaluator`, as reported in #106576.
With this patch, we now have two implicit casts, since the type of the
statement expression is deduced to be non-atomic:
* `LValueToRValue` -> `AtomicToNonAtomic`
This is consistent with the C standard (6.7.2.4, p4)
> The properties associated with atomic types are meaningful only for
expressions that are lvalues.
But a statement expression is an rvalue.
`IntExprEvaluator` assumptions are now satisfied and there is no
assertion error.
Additionally, the `typeof` trick mentioned above shows that the type is
consistently deduced between GCC and Clang.
Fixes #106576
---------
Co-authored-by: John McCall <rjmccall at gmail.com>
Commit: 88dd372d673c7e6967c93aa2879f0ef04fc7ac20
https://github.com/llvm/llvm-project/commit/88dd372d673c7e6967c93aa2879f0ef04fc7ac20
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
Log Message:
-----------
[flang][Lower][OpenMP] Don't read moldarg for static sized array (#125901)
This should further reduce the number of spurious barriers
Commit: d4a0848dc6678bc4ce8c74855a818dfc8c30a088
https://github.com/llvm/llvm-project/commit/d4a0848dc6678bc4ce8c74855a818dfc8c30a088
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[SelectionDAG] Add PARTIAL_REDUCE_U/SMLA ISD Nodes (#125207)
Add signed and unsigned PARTIAL_REDUCE_MLA ISD nodes. Add command line
argument (aarch64-enable-partial-reduce-nodes) that indicates whether the
intrinsic experimental_vector_partial_ reduce_add will be transformed
into the new ISD node. Lowering with the new ISD nodes will, for now,
always be done as an expand.
Commit: 22ef210100ca9ccfee6198a18fa0aae62950f481
https://github.com/llvm/llvm-project/commit/22ef210100ca9ccfee6198a18fa0aae62950f481
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
Log Message:
-----------
Revert "[flang][Lower][OpenMP] Don't read moldarg for static sized array" (#127596)
Reverts llvm/llvm-project#125901
Revert until I have fixed bot failures
Commit: 9fec0a0942f5a11f4dcfec20aa485a8513661720
https://github.com/llvm/llvm-project/commit/9fec0a0942f5a11f4dcfec20aa485a8513661720
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Disable external-calls testing for clspv targets (#127529)
These targets don't include all OpenCL builtins, so there will always be
external calls in the final bytecode module.
Fixes #127316.
Commit: b8054104d36d0b26b2a445d61ba12cf0fe6ba805
https://github.com/llvm/llvm-project/commit/b8054104d36d0b26b2a445d61ba12cf0fe6ba805
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
LLVM/Test: Mark Mips readcyclecounter.ll XFAIL: expensive_checks (#127587)
expsensive_check complains that:
bb.0.entry:
%0:gpr32 = RDHWR $hwr2, 0
%1:gpr32 = ADDiu $zero, 0
$v0 = COPY %0:gpr32
$v1 = COPY %1:gpr32
RetRA implicit $v0, implicit $v1
*** Bad machine code: Using an undefined physical register ***
- function: test_readcyclecounter
- basic block: %bb.0 entry (0xad97ee0)
- instruction: %0:gpr32 = RDHWR $hwr2, 0
- operand 1: $hwr2
LLVM ERROR: Found 1 machine code errors.
Commit: 61ab476460516f4bd60a03a46902e801d0db7306
https://github.com/llvm/llvm-project/commit/61ab476460516f4bd60a03a46902e801d0db7306
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
A llvm/test/CodeGen/SPIRV/opencl/get_num_groups.ll
Log Message:
-----------
[SPIR-V] Fix out-of-range value for NumWorkgroups builtin (#127198)
The OpenCL C specification states that for out-of-range dimension
indices, `get_num_groups` must return 1 instead of 0.
Commit: 2fdb26da619cd09e3ccc8d154e48eb0034474823
https://github.com/llvm/llvm-project/commit/2fdb26da619cd09e3ccc8d154e48eb0034474823
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[clang][RISCV] Introduce preprocessor macro when Zicfiss-based shadow stack is enabled (#127592)
The `-fcf-protection=[full|return]` flag enables shadow stack
implementation based on RISC-V Zicfiss extension. This patch adds the
`__riscv_shadow_stack` predefined macro to preprocessing when such a
shadow stack implementation is enabled.
Commit: 2b71df5a74cb5bd67f3f34277749dc920fd35105
https://github.com/llvm/llvm-project/commit/2b71df5a74cb5bd67f3f34277749dc920fd35105
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
A mlir/test/Dialect/X86Vector/cvt-packed-f32-to-bf16.mlir
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
Log Message:
-----------
[mlir][x86vector] AVX512-BF16 Convert packed F32 to BF16 (#125685)
Adds AVX512 bf16 conversion from packed f32 to bf16 elements.
Tests are slightly refactored to better follow file's convention.
Commit: bc4f05d8a8a4f908252aba9444571de4398d4288
https://github.com/llvm/llvm-project/commit/bc4f05d8a8a4f908252aba9444571de4398d4288
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
Log Message:
-----------
[AMDGPU] Early bail in getFunctionCodeSize for meta inst. NFC. (#127129)
It does not change the estimate because getInstSizeInBytes() already
returns 0 for meta instructions, but added a test and early bail.
Commit: 7c03865a1ec6de2b734d8cbf75ca2e79ac6d013d
https://github.com/llvm/llvm-project/commit/7c03865a1ec6de2b734d8cbf75ca2e79ac6d013d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Extract lambda used in foldImmediate into a helper function (#127484)
It was also too permissive for a more general utilty, only return
the original immediate if there is no subregister.
Commit: 1c8add1ec70d8d730572029ac11a70f4dfac8ed5
https://github.com/llvm/llvm-project/commit/1c8add1ec70d8d730572029ac11a70f4dfac8ed5
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/test/Analysis/out-of-bounds.c
Log Message:
-----------
[analyzer] Add hack in ArrayBound to cover up missing casts (#127117)
Currently there are many casts that are not modeled (i.e. ignored) by
the analyzer, which can cause paradox states (e.g. negative value stored
in `unsigned` variable) and false positive reports from various
checkers, e.g. from `security.ArrayBound`.
Unfortunately this issue is deeply rooted in the architectural
limitations of the analyzer (if we started to model the casts, it would
break other things). For details see the umbrella ticket
https://github.com/llvm/llvm-project/issues/39492
This commit adds an ugly hack in `security.ArrayBound` to silence most
of the false positives caused by this shortcoming of the engine.
Fixes #126884
Commit: cd10c01767f1d06748c1d4502cc4384a18c06115
https://github.com/llvm/llvm-project/commit/cd10c01767f1d06748c1d4502cc4384a18c06115
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Log Message:
-----------
AMDGPU: Handle subregister uses in SIFoldOperands constant folding (#127485)
Commit: ef218317d7e30eb32a8e4e1a68d3fe95ca3b8402
https://github.com/llvm/llvm-project/commit/ef218317d7e30eb32a8e4e1a68d3fe95ca3b8402
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/configure.bzl
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
Log Message:
-----------
[bolt][bazel] Port https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e.
Commit: 6646b65082e8bc5f485c744a9c15344011c6aede
https://github.com/llvm/llvm-project/commit/6646b65082e8bc5f485c744a9c15344011c6aede
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
[LAA] Rework and rename stripGetElementPtr (#125315)
The stripGetElementPtr function is mysteriously named, and calls into
another mysterious getGEPInductionOperand which does something
complicated with GEP indices. The real purpose of the badly-named
stripGetElementPtr function is to get a loop-variant GEP index, if there
is one. The getGEPInductionOperand is totally redundant, as stripping
off zeros from the end of GEP indices has no effect on computing the
loop-variant GEP index, as constant zeros are always loop-invariant.
Moreover, the GEP induction operand is simply the first non-zero index
from the end, which stripGetElementPtr returns when it finds that any of
the GEP indices are loop-variant: this is a completely unrelated value
to the GEP index that is loop-variant. The implicit assumption here is
that there is only ever one loop-variant index, and it is the first
non-zero one from the end.
The logic is unnecessarily complicated for what stripGetElementPtr wants
to achieve, and the header comments are confusing as well. Strip
getGEPInductionOperand, rework and rename stripGetElementPtr.
Commit: c71f9141a970b6f6d46d27d7c26c7747dd525275
https://github.com/llvm/llvm-project/commit/c71f9141a970b6f6d46d27d7c26c7747dd525275
Author: David Green <david.green at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-counting-elems.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/vscale.ll
Log Message:
-----------
[AArch64] Add a phase-ordering test for dividing vscale. NFC
See #126411 / #127055, the test isn't expected to fold in a single instcombine
iteration, needing instcombine->cse->instcombine.
Commit: 41be5bbbdba2939a5fdb82c968c102f993edc4d8
https://github.com/llvm/llvm-project/commit/41be5bbbdba2939a5fdb82c968c102f993edc4d8
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (3/N) (#127320)
* Remove `vector.create_mask` from tests. Instead, pass masks as
arguments. This simplifies the tests without sacrificing test
coverage.
* Update `@xfer_read_minor_identity_tranposed_with_mask_scalable` to use
similar shapes as other tests and to avoid using test Ops (e.g.
`@test.some_use`). This improves consistency between tests.
* Fix some comment typos.
Commit: 86553788780ec3992eb0ab18815cc12f2782be1a
https://github.com/llvm/llvm-project/commit/86553788780ec3992eb0ab18815cc12f2782be1a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-types.ll
Log Message:
-----------
[SPIR-V] Built-in variables: mapping from an OpenCL to SPIR-V BuiltIn and SPIR-V friendly builtins for Image Read/Write instructions (#127242)
This PR improves built-in variables and functions support:
* extends mapping from an OpenCL C built-in function to the SPIR-V
BuiltIn variables as in
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Env.html#_built_in_variables,
and
* adds SPIR-V friendly builtins for Image Read/Write instructions.
Test cases are extended accordingly.
Commit: 762001118c068317ec67274221497be2e6499c6a
https://github.com/llvm/llvm-project/commit/762001118c068317ec67274221497be2e6499c6a
Author: Steven Cooreman <steven.cooreman at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/include/__mbstate_t.h
Log Message:
-----------
[libc++] Do not guard inclusion of wchar.h with _LIBCPP_HAS_WIDE_CHARACTERS (#126924)
`mbstate_t` needs to be visible to libcpp, even when it is not providing
wide
character functionality (i.e. `_LIBCPP_HAS_WIDE_CHARACTERS` is turned
off)
and thus not using any of the C library's wide character functions.
There are C libraries (such as newlib-nano/nanolib/picolibc) which do
provide their definition of `mbstate_t` in `<wchar.h>` even though they
do not
come with wide character functions.
Since there is a way to conditionally include the C library's
`<wchar.h>`
only if it exists, we should rely on the fact that if it exists, it will
provide `mbstate_t`. Removing this guard will allow using libc++ on top
of
newlib-nano/picolibc while not breaking the cases where it is used on
top
of a C library which doesn't provide `<wchar.h>` (since it would then
still
go look for `<uchar.h>` or error out).
Commit: 059f044309a282447fb25073875cff8d2bd96f78
https://github.com/llvm/llvm-project/commit/059f044309a282447fb25073875cff8d2bd96f78
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Propagate weak & hidden flags when creating lazy reexports, redirectables.
Updates JITLinkRedirectableSymbolManager to take alias flags into account when
setting the scope and linkage of the created stubs (weak aliases get now get weak
linkage, hidden stubs get hidden visibility).
Updates lazyReexports to propagate alias flags (rather than trampoline flags)
when building the initial destinations map for the redirectable symbols manager.
Together these changes allow the LazyObjectLinkingLayer to link objects
containing weak and hidden symbols.
Commit: 719c46b35958782622e300696fbe6af6549b4cdc
https://github.com/llvm/llvm-project/commit/719c46b35958782622e300696fbe6af6549b4cdc
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[FunctionAttrs] Fix typo in `getArgumentAccessInfo` name (NFC)
Commit: 519b53e65ef6ad5385d80d0726e48bbc3b08992f
https://github.com/llvm/llvm-project/commit/519b53e65ef6ad5385d80d0726e48bbc3b08992f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
R llvm/lib/CodeGen/RegAllocEvictionAdvisor.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Port RegAllocEvictionAdvisor analysis to NPM (#117309)
Legacy pass used to provide the advisor, so this extracts that logic
into a provider class used by both analysis passes.
All three (Default, Release, Development) legacy passes
`*AdvisorAnalysis` are basically renamed to `*AdvisorProvider`, so the
actual legacy wrapper passes are `*AdvisorAnalysisLegacy`.
There is only one NPM analysis `RegAllocEvictionAnalysis` that switches
between the three providers in the `::run` method, to be cached by the
NPM.
Also adds `RequireAnalysis<RegAllocEvictionAnalysis>` to the optimized
target reg alloc codegen builder.
Commit: d64f177a2f4ae91cf520111dffed73f3c6b555eb
https://github.com/llvm/llvm-project/commit/d64f177a2f4ae91cf520111dffed73f3c6b555eb
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix `no-allow-shlib-undefined` errors.
The BUILD file changes in https://github.com/llvm/llvm-project/pull/127544 adds `LinalgInterfaces` which is incomplete without `LinalgDialect`.
For now, just add the `LinalgDialect` as dependency to tests which do not otherwise depend on it (but depend on `LinalgInterfaces` through e.g. `TensorDialect`).
This is a temporary solution until the dependency of `TensorDialect` is trimmed to just the `linalg::RelayoutOpInterface`, but not the other linalg interfaces. See https://github.com/llvm/llvm-project/pull/127544#pullrequestreview-2622065243.
Commit: 91ef371ae6201d481358a816d9b8fbea2ac3f565
https://github.com/llvm/llvm-project/commit/91ef371ae6201d481358a816d9b8fbea2ac3f565
Author: Hyunsung Lee <ita9naiwa at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[MLIR] Update `operator<<` in objects of DataFlowFramework.h (#127586)
Commit: 1c6cecdbdd2470292ce0b508922d807e3100f85c
https://github.com/llvm/llvm-project/commit/1c6cecdbdd2470292ce0b508922d807e3100f85c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/cmake/modules/AddLibclc.cmake
M libclc/r600/lib/image/get_image_attributes_impl.ll
M libclc/r600/lib/image/read_image_impl.ll
M libclc/r600/lib/image/write_image_impl.ll
Log Message:
-----------
[libclc] Suppress data-layout warnings during linking (#127532)
libclc uses llvm-link to link together all of the individually built
libclc builtins files into one module. Some of these builtins files are
compiled from source by clang whilst others are converted from LLVM IR
directly to bytecode.
When llvm-link links a 'source' module into a 'destination' module, it
warns if the two modules have differing data layouts.
The LLVM IR files libclc links either have no data layout (shared
submodule files) or an explicit data layout in the case of certain
amdgcn/r600 files.
The warnings are very noisy and largely inconsequential. We can suppress
them exploiting a specific behaviours exhibited by llvm-link. When the
destination module has no data layout, it is given the source module's
data layout. Thus, if we link together all IR files first, followed by
the clang-compiled modules, 99% of the warnings are suppressed as they
arose from linking an empty data layout into a non-empty one.
The remaining warnings came from the amdgcn and r600 targets. Some of
these were because the data layouts were out of date compared with what
clang currently produced, so those could have been updated.
However, even with those changes and by grouping the IR files together,
the linker may still link explicit data layouts with empty ones
depending on the order the IR files are processed.
As it happens, the data layouts aren't essential. With the changes to
the link line we can rely on those IR files receiving the correct data
layout from the clang-compiled modules later in the link line. This also
makes the previously AMDGPU-specific IR files available to be used by
all targets in a generic capacity in the future.
Commit: df300a4a67affc2262131486314d2ca16688eda3
https://github.com/llvm/llvm-project/commit/df300a4a67affc2262131486314d2ca16688eda3
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Fix typo in Backporting section of GitHub.rst.
Commit: 93d3e20bb226507c6eb777cfb15ea13f2cd129e8
https://github.com/llvm/llvm-project/commit/93d3e20bb226507c6eb777cfb15ea13f2cd129e8
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
M mlir/test/Target/SPIRV/terminator.mlir
Log Message:
-----------
[mlir][spirv] Add definition for OpKill (#126554)
Although the operation is deprecated in the most recent version of the
SPIR-V spec, it is still used by older shaders, so having it defined is
valuable and incurs negligible maintenance overhead, due to op
simplicity.
Commit: eb7c947272952d40d3235d89652a10da52cb2b4d
https://github.com/llvm/llvm-project/commit/eb7c947272952d40d3235d89652a10da52cb2b4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
A llvm/test/CodeGen/AMDGPU/fold-literal-multiple-gfx10.mir
M llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir
Log Message:
-----------
AMDGPU: Correct legal literal operand logic for multiple uses (#127594)
The same literal can be used multiple times in an instruction,
not just once. We were not tracking the used value to verify this,
so correct this.
This helps avoid regressions in a future patch.
Commit: e5ce1d3a56676a18d1c7659f6190efcbfbb51ddd
https://github.com/llvm/llvm-project/commit/e5ce1d3a56676a18d1c7659f6190efcbfbb51ddd
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/Target/write_target_def_file.gni
Log Message:
-----------
[gn] Move write_target_def_file to its own .gni file
Commit: 09c2441037efeaa2980da4bb24286d0684ba99b5
https://github.com/llvm/llvm-project/commit/09c2441037efeaa2980da4bb24286d0684ba99b5
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/driver/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/heatmap/BUILD.gn
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
Log Message:
-----------
[gn] port e235fcb582ee (bolt TargetConfig.def)
Commit: 5fbb6d919d528d54538df3330e76f220ff52ab30
https://github.com/llvm/llvm-project/commit/5fbb6d919d528d54538df3330e76f220ff52ab30
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Allow up/down casts of nullptr (#127615)
If the target type is a pointer type.
Commit: 7e2707ad4673869fcca119a0ad8bd25aa38a5503
https://github.com/llvm/llvm-project/commit/7e2707ad4673869fcca119a0ad8bd25aa38a5503
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/test/Dialect/Linalg/specialize-generic-ops-fail.mlir
Log Message:
-----------
[mlir][nfc] Add a negative test for --linalg-specialize-generic-ops (#127600)
Following on from #126737, adds a negative test that:
* prior to #126737, would incorrectly generated empty output,
* with the fix in-tree, simply outputs the input IR (i.e. the
specialization "fails").
I've also made minor editorial changes.
Commit: 3b6cc94e7410b818658693885d4f5857c2fdbc6b
https://github.com/llvm/llvm-project/commit/3b6cc94e7410b818658693885d4f5857c2fdbc6b
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[SystemZ][z/OS] Mark text files as text in ClangScanDeps (#127514)
This patch continues the work that was started here
https://reviews.llvm.org/D99426 to correctly open text files in text
mode.
Commit: 0d666598a06420d1c59f3b02ef5022ec9af39b0d
https://github.com/llvm/llvm-project/commit/0d666598a06420d1c59f3b02ef5022ec9af39b0d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
Log Message:
-----------
[BasicAA] Add test for #126670 (NFC)
Commit: 27fe2c95ee067ee013b947040538224187b3adb7
https://github.com/llvm/llvm-project/commit/27fe2c95ee067ee013b947040538224187b3adb7
Author: Danial Klimkin <dklimkin at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
Log Message:
-----------
[bazel]Move HAVE_GETAUXVAL from config.h to config.bzl (#127637)
This fixes build errors on mac OS.
Commit: 4cc7d60fe3e060e33cb01f054e2d26870d6256b7
https://github.com/llvm/llvm-project/commit/4cc7d60fe3e060e33cb01f054e2d26870d6256b7
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Target/Cpp/CppEmitter.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
A mlir/test/Target/Cpp/file.mlir
Log Message:
-----------
[MLIR] emitc: Add emitc.file op (#123298)
A `emitc.file` represents a file that can be emitted
into a single C++ file.
This allows to manage multiple source files within the same MLIR module,
but emit them into separate files.
This feature is opt-in.
By default, `mlir-translate` emits all ops outside of `emitc.file`
and ignores all `emitc.file` ops and their bodies.
When specifying the `-file-id=id` flag,
`mlir-translate` emits all ops outside of `emitc.file` and
the ops within the `emitc.file` with matching `id`.
Example:
```mlir
emitc.file "main" {
func @func_one() {
return
}
}
emitc.file "test" {
func @func_two() {
return
}
}
```
`mlir-translate -file-id=main` will emit `func_one` and
`mlir-translate -file-id=test` will emit `func_two`.
Commit: 31abb20162a7d035841c9506b1cd18d3ae8df10c
https://github.com/llvm/llvm-project/commit/31abb20162a7d035841c9506b1cd18d3ae8df10c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Move bases and virtual bases in moveRecord (#127627)
The fixme comment turned out to be true.
Commit: 10fc06a3215ac11220cc8e13d65ef0aa4c4089c9
https://github.com/llvm/llvm-project/commit/10fc06a3215ac11220cc8e13d65ef0aa4c4089c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-partial-undef.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] canonicalizeShuffleWithOp - add handling for X86ISD::VPERMV nodes (#127625)
Handle different src/mask operand ordering of X86ISD::VPERMV nodes
Commit: df12bad075b77953fc3af6fc3db3b7dd25a81977
https://github.com/llvm/llvm-project/commit/df12bad075b77953fc3af6fc3db3b7dd25a81977
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_upsample.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
Log Message:
-----------
[libclc] Use CLC conversion builtins in CLC functions (#127628)
This commit is a broad update across libclc to use the CLC conversion
builtins in CLC functions, even those with a '__clc' prefix in the
generic folder. This better prepares them for an official move to the
CLC library in time.
The CLC conversion builtins have an additional benefit in that they
support scalars, unlike the __builtin_convertvector builtin which we
were using previously. This allows us to simplify some shared
definitions.
There is one change to the IR, in the scalar upsample(char, uchar)
builtin. It now sign-extends the first argument to i16, where before it
zero-extended it. This appears to be correct, and matches the vector
behaviour.
Commit: 378c6fbe330e6de2feac8a8e3bc0c93ec6aca80d
https://github.com/llvm/llvm-project/commit/378c6fbe330e6de2feac8a8e3bc0c93ec6aca80d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/clc/lib/generic/integer/clc_upsample.cl
Log Message:
-----------
[libclc][NFC] Rename macro; undef at end of file
Commit: 9516f44f6b67965f245cb0e533aa88090f990f71
https://github.com/llvm/llvm-project/commit/9516f44f6b67965f245cb0e533aa88090f990f71
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV] Add policy operand to masked vector compare pseudos. Remove ForceTailAgnostic. NFC (#127575)
Add a policy operand to set the tail agnostic policy instead of using
ForceTailAgnostic. The masked to unmasked transforms had to be updated
to drop the policy operand when converting to unmasked.
Commit: 38376dee92224c6657ef6d88413bfc77f4441268
https://github.com/llvm/llvm-project/commit/38376dee92224c6657ef6d88413bfc77f4441268
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[VPlan] Build initial VPlan 0 using HCFGBuilder for inner loops. (NFC) (#124432)
Use HCFGBuilder to build an initial VPlan 0, which wraps all input
instructions in VPInstructions and update tryToBuildVPlanWithVPRecipes
to replace the VPInstructions with widened recipes.
At the moment, widened recipes are created based on the underlying
instruction of the VPInstruction. Masks are also still created based on
the input IR basic blocks and the loop CFG is flattened in the main loop
processing the VPInstructions.
This patch also incldues support for Switch instructions in HCFGBuilder
using just a VPInstruction with Instruction::Switch opcode.
There are multiple follow-ups planned:
* Perform predication on the VPlan directly,
* Unify code constructing VPlan 0 to be shared by both inner and outer
loop code paths.
* Construct VPlan 0 once, clone subsequent ones for VFs
PR: https://github.com/llvm/llvm-project/pull/124432
Commit: f5cf04c548ed848b9d79436803809db36101ab02
https://github.com/llvm/llvm-project/commit/f5cf04c548ed848b9d79436803809db36101ab02
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused variable after 38376dee92224c66.
Commit: 3305d9f08d4a947f77143bdb817016dd909cd634
https://github.com/llvm/llvm-project/commit/3305d9f08d4a947f77143bdb817016dd909cd634
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 4cc7d60fe3e060e33cb01f054e2d26870d6256b7
Commit: e1a393e39275ca0fea4bb19fa08c88bae3178cf8
https://github.com/llvm/llvm-project/commit/e1a393e39275ca0fea4bb19fa08c88bae3178cf8
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
Define Telemetry plugin for LLDB. (#126588)
Details:
Make LLDB's TelemetryManager a "plugin" so that vendor can supply
appropriate implementation.
The rest of LLDB code will simply call `TelemetryManager::getInstance`
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 8806311bb7c2b5a4a40698f544f775d62538d7df
https://github.com/llvm/llvm-project/commit/8806311bb7c2b5a4a40698f544f775d62538d7df
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Math/Transforms/Approximation.h
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/mlir-runner/math-polynomial-approx.mlir
M mlir/utils/vim/syntax/mlir.vim
Log Message:
-----------
[MLIR][Math] Add erfc to math dialect (#126439)
This patch adds the erfc op to the math dialect. It also does lowering
of the math.erfc op to libm calls. There is also a f32 polynomial
approximation for the function based on
https://stackoverflow.com/questions/35966695/vectorizable-implementation-of-complementary-error-function-erfcf
This is in turn based on
M. M. Shepherd and J. G. Laframboise, "Chebyshev Approximation of
(1+2x)exp(x^2)erfc x in 0 <= x < INF", Mathematics of Computation, Vol.
36, No. 153, January 1981, pp. 249-253.
The code has a ULP error less than 3, which was tested, and MLIR test
values were verified against the C implementation.
Commit: 37bde7ae5baa85889c9fcc647bdac149c646116e
https://github.com/llvm/llvm-project/commit/37bde7ae5baa85889c9fcc647bdac149c646116e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
Log Message:
-----------
[SLP]Fix hanging on small trees with phis only with adjusted cost threshold
Need to check if the tree is too small before attempting to vectorize the tree to prevent hanging on small trees with phis only.
Commit: f7a5f067885b7f6cc4a000c8392adf6b777a9108
https://github.com/llvm/llvm-project/commit/f7a5f067885b7f6cc4a000c8392adf6b777a9108
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] FLAT_load using D16 pseudo instruction (#114500)
Implement new pseudos with the suffix _t16 for FLAT_LOAD which have
VGPR_16 as the load dst. Lower the pseudos to the existing real
instructions with VGPR_32 src or dst (which makes them consistent with
the hardware encoding). This patch reduces VGPR usage by making hi
halves of VGPRs available for other values.
There are more 8/16 bits ld/st instructions to be supported in the
up-coming patches
Commit: e61deef8fe0e94be7a309dc53436f70dc69491cf
https://github.com/llvm/llvm-project/commit/e61deef8fe0e94be7a309dc53436f70dc69491cf
Author: André Brand <andre.brand at mailbox.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-decl.cpp
Log Message:
-----------
[Clang] Add 'instantiated_from' for enums in TextNodeDumper (#124409)
This commit adds "instantiated_from" to the AST dump for EnumDecl,
improving consistency with CXXRecordDecl and FunctionDecl, which also
include this information. To achieve this, TextNodeDumper::VisitEnumDecl
is updated with analogous lines found in
TextNodeDumper::VisitFunctionDecl and
TextNodeDumper::VisitCXXRecordDecl.
Commit: 7a781527682ebe90616b05fb2311b1d0d6fc997e
https://github.com/llvm/llvm-project/commit/7a781527682ebe90616b05fb2311b1d0d6fc997e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const int' and
'const unsigned long' [-Werror,-Wsign-compare]
Commit: 0e960f12dccc26b6d0d49a2359089e0846c44b74
https://github.com/llvm/llvm-project/commit/0e960f12dccc26b6d0d49a2359089e0846c44b74
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add OMP Declare Mapper MLIR Op definition (#117045)
This patch adds the OMP.DeclareMapperOp to MLIR.
The HLFIR/FIR lowering for Declare Mapper is available here #117046.
Commit: a6f2a1ecaaa83ea211c8fbb12edbccda39859d74
https://github.com/llvm/llvm-project/commit/a6f2a1ecaaa83ea211c8fbb12edbccda39859d74
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll
Log Message:
-----------
[SCEV] Generate test checks (NFC)
Commit: 55dba06540d17cb9abf2fca094a3805b4eef3be3
https://github.com/llvm/llvm-project/commit/55dba06540d17cb9abf2fca094a3805b4eef3be3
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
Addressed additional review comments from PR/119716. (#126757)
Commit: 2cb5241c7724cbf4fa02b25547e098bfc635aba9
https://github.com/llvm/llvm-project/commit/2cb5241c7724cbf4fa02b25547e098bfc635aba9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
Revert "[AMDGPU][True16][CodeGen] FLAT_load using D16 pseudo instruction (#114500)"
This reverts commit f7a5f067885b7f6cc4a000c8392adf6b777a9108.
Fails to build with:
llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:126:37: error: no member named 'OPERAND_LAST' in 'llvm::AMDGPU::OpName'
126 | uint16_t OpName = AMDGPU::OpName::OPERAND_LAST;
Commit: 0e1ffa397ef35fe55f7bd768d42f94241d1a2caa
https://github.com/llvm/llvm-project/commit/0e1ffa397ef35fe55f7bd768d42f94241d1a2caa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
Log Message:
-----------
[SLP]Fix a crash when comparing phis from unreachable blocks
Need to check if the block is reachable before comparing phis from it to
avoid compiler crash when requesting node.
Fixes report in https://github.com/llvm/llvm-project/pull/110529#issuecomment-2664723338
Commit: 0cc532b79e36d46669ebba01180e8fc1a9595d7b
https://github.com/llvm/llvm-project/commit/0cc532b79e36d46669ebba01180e8fc1a9595d7b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
Log Message:
-----------
[RISCV] Move the RISCVII namespaced enums into RISCVVType namespace in RISCVTargetParser.h. NFC (#127585)
The VLMUL and policy enums originally lived in RISCVBaseInfo.h in the
backend which is where everything else in the RISCVII namespace is
defined.
RISCVTargetParser.h is used by much more of the compiler and it
doesn't really make sense to have 2 different namespaces exposed.
These enums are both associated with VTYPE so using the RISCVVType
namespace seems like a good home for them.
Commit: 270284dbc225cf836bad320bf4adcbb725f553b1
https://github.com/llvm/llvm-project/commit/270284dbc225cf836bad320bf4adcbb725f553b1
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/MachO/export-options.s
Log Message:
-----------
[lld][MachO] Test with exported_symbol and exported_symbols_list together (#127243)
Commit: 9905728e2fb4ebe9b7518dfd73a0574eea0a2083
https://github.com/llvm/llvm-project/commit/9905728e2fb4ebe9b7518dfd73a0574eea0a2083
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for OpenMP Declare Mapper directive (#117046)
This patch adds HLFIR/FIR lowering support for OpenMP Declare Mapper
directive.
Depends on #117045.
Commit: 7a5d1e994600eb01716e7b7f784e26672ba8d623
https://github.com/llvm/llvm-project/commit/7a5d1e994600eb01716e7b7f784e26672ba8d623
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127573)
Commit: e0ed5e8db98ebcf58a94cc730c6927cb85db41b5
https://github.com/llvm/llvm-project/commit/e0ed5e8db98ebcf58a94cc730c6927cb85db41b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127574)
Commit: 4405451a22b98fe10a0d7d844dc8223bae468470
https://github.com/llvm/llvm-project/commit/4405451a22b98fe10a0d7d844dc8223bae468470
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated map lookups (NFC) (#127576)
Commit: 4cfeebd9b4823025ed6bd992cf9310725e487aea
https://github.com/llvm/llvm-project/commit/4cfeebd9b4823025ed6bd992cf9310725e487aea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#127577)
Commit: 06829f4f8fc0ab5ed6fc8fd9b0918bc13eb9fea0
https://github.com/llvm/llvm-project/commit/06829f4f8fc0ab5ed6fc8fd9b0918bc13eb9fea0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#127578)
Commit: 9a4bf985f8e920704c4da12f2db0caeebc25a0a3
https://github.com/llvm/llvm-project/commit/9a4bf985f8e920704c4da12f2db0caeebc25a0a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#127579)
Commit: 6682753ceb5ae2e5b3bd1f0cdd31fc3d61ee4f97
https://github.com/llvm/llvm-project/commit/6682753ceb5ae2e5b3bd1f0cdd31fc3d61ee4f97
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Refactor globals insertion point in import (#127490)
Unifies imports to use a single insertion point, `globalInsertionOp`,
for global values.
Refactors insertion point setup into `setGlobalInsertionPoint`, which
sets insertion point after `globalInsertionOp` or defaults to the start
of the module if it is not set.
Commit: bfcec1999c7ec30c53ccfcda372a4e9e27a43268
https://github.com/llvm/llvm-project/commit/bfcec1999c7ec30c53ccfcda372a4e9e27a43268
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86] Add test coverage for bfloat <-> half conversion
Inspired by #90738 (although that is a clang codegen issue)
Commit: 74016728e34ff4fcc6f0e0c412415cf70c2584e5
https://github.com/llvm/llvm-project/commit/74016728e34ff4fcc6f0e0c412415cf70c2584e5
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll
Log Message:
-----------
[DSE] Update dereferenceable attributes when adjusting memintrinsic ptr (#125073)
Consider IR like this
call void @llvm.memset.p0.i64(ptr dereferenceable(28) %p, i8 0, i64 28,
i1 false)
store i32 1, ptr %p
In the past it has been optimized like this:
%p2 = getelementptr inbounds i8, ptr %p, i64 4
call void @llvm.memset.p0.i64(ptr dereferenceable(28) %p2, i8 0, i64 24,
i1 false)
store i32 1, ptr %p
As the input IR doesn't guarantee that it is OK to deref 28 bytes
starting at the adjusted pointer %p2 the transformation has been a bit
flawed.
With this patch we make sure to drop any
dereferenceable/dereferenceable_or_null attributes when doing such
transforms. An alternative would have been to adjust the amount of
dereferenceable bytes, but since a memset with a constant length already
implies dereferenceability by itself it is simpler to just drop the
attributes.
The new filtering of attributes is done using a helper that only keep
attributes that we explicitly handle. For the adjusted mem instrinsic
pointers that currently involve "NonNull", "NoUndef" and "Alignment"
(when the alignment is known to be fulfilled also after offsetting the
pointer).
Fixes #115976
Commit: 1fd06001a9e4f3da4c70f71e1d8df28198f67529
https://github.com/llvm/llvm-project/commit/1fd06001a9e4f3da4c70f71e1d8df28198f67529
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Cleanup iterators in CodeGenSchedule.h (#127401)
- Use range for loops for processor models and schedule classes.
- Cleanup duplicated or unused iterators in CodeGenSchedule.h
Commit: 7b89c41e41ce1a8832130ce9bfa24b216bfe327b
https://github.com/llvm/llvm-project/commit/7b89c41e41ce1a8832130ce9bfa24b216bfe327b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M offload/libomptarget/OpenMP/Mapping.cpp
Log Message:
-----------
[offload] Remove redundant checks in MappingInfoTy::lookupMapping (#127638)
Also add some clarifying comments.
Commit: ca0c84dbfd22ef060abe62ce34a51a6e6c2ceedb
https://github.com/llvm/llvm-project/commit/ca0c84dbfd22ef060abe62ce34a51a6e6c2ceedb
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/Expr.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[NFC] [clang] make isFlexibleArrayMemberLike Ctx const (#126656)
it is not used mutably
Commit: 64675ccc36e4b2adc10594f5681735e533247cad
https://github.com/llvm/llvm-project/commit/64675ccc36e4b2adc10594f5681735e533247cad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
Log Message:
-----------
[NVPTX] Use MCRegister. NFC
Commit: 74cb1f9f51e5dcc6d0689994b6e0fa9c19d687c9
https://github.com/llvm/llvm-project/commit/74cb1f9f51e5dcc6d0689994b6e0fa9c19d687c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Use MCRegister. NFC
Commit: ee17955dfe454f78bef41e47ef7ce255fa2563e9
https://github.com/llvm/llvm-project/commit/ee17955dfe454f78bef41e47ef7ce255fa2563e9
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add OMP Mapper field to MapInfoOp (#120994)
This patch adds the mapper field to the omp.map.info op.
Depends on #117046.
Commit: 886b2edfbeea9f35a0495e2a531429ec9cce5e57
https://github.com/llvm/llvm-project/commit/886b2edfbeea9f35a0495e2a531429ec9cce5e57
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/test/Lower/OpenMP/Todo/map-mapper.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
A flang/test/Lower/OpenMP/map-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for OpenMP custom mappers in map clause (#121001)
Add Lowering support for OpenMP mapper field in mapInfoOp.
NOTE: This patch only supports explicit mapper lowering. I'll add a
separate PR soon which handles implicit default mapper recognition.
Depends on #120994.
Commit: d6ab12c7cc7058776ad46fe0767080b1e7710cc2
https://github.com/llvm/llvm-project/commit/d6ab12c7cc7058776ad46fe0767080b1e7710cc2
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
Log Message:
-----------
[MLIR][OpenMP] Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper (#121005)
Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper.
Depends on #121001
Commit: 785a5b4676e7aa77904babb9f66e862b5fc39295
https://github.com/llvm/llvm-project/commit/785a5b4676e7aa77904babb9f66e862b5fc39295
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A offload/test/offloading/fortran/target-custom-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add LLVM translation support for OpenMP UserDefinedMappers (#124746)
This patch adds OpenMPToLLVMIRTranslation support for the OpenMP Declare
Mapper directive.
Since both MLIR and Clang now support custom mappers, I've changed the
respective function params to no longer be optional as well.
Depends on #121005
Commit: f66d97fe51a007b81aaa73a336dd56afebb19cc0
https://github.com/llvm/llvm-project/commit/f66d97fe51a007b81aaa73a336dd56afebb19cc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/lib/Analysis/CallGraph.cpp
Log Message:
-----------
[Analysis] Remove unused functions in CallGraphNode (#127411)
The last uses of these functions were removed in:
commit 58bc98cd3abd72226cdbaa05bd92af9598d491db
Author: Arthur Eubanks <aeubanks at google.com>
Date: Fri Jul 12 10:02:50 2024 -0700
Commit: 5d4eb08379cc2574fc8641576c8e5cfc37fe2e6e
https://github.com/llvm/llvm-project/commit/5d4eb08379cc2574fc8641576c8e5cfc37fe2e6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/docs/OptBisect.rst
M llvm/include/llvm/Analysis/CallGraphSCCPass.h
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
Log Message:
-----------
[Analysis] Remove skipSCC (#127412)
The last use was removed in:
commit fa6ea7a419f37befbed04368bcb8af4c718facbb
Author: Arthur Eubanks <aeubanks at google.com>
Date: Mon Mar 20 11:18:35 2023 -0700
Commit: 360630b567a46d4bf2cd64025a9e07a8b7cd2e97
https://github.com/llvm/llvm-project/commit/360630b567a46d4bf2cd64025a9e07a8b7cd2e97
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
Log Message:
-----------
[mlir][GPUDialect] Add cmdOption suffix consumer in GpuModuleToBinary Pass (#127646)
Add cmdOption suffix consumer function in GpuModuleToBinary Pass, which
can tokenize and remove a specific suffix of cmdOption.
Commit: 49453bf18e1877a3bd4d1cef40bb52c209b9c1e3
https://github.com/llvm/llvm-project/commit/49453bf18e1877a3bd4d1cef40bb52c209b9c1e3
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointList.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/Breakpoint/BreakpointLocationList.h
M lldb/include/lldb/Breakpoint/WatchpointList.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/QueueList.h
M lldb/include/lldb/Target/TargetList.h
M lldb/include/lldb/Target/ThreadCollection.h
M lldb/include/lldb/Utility/Iterable.h
Log Message:
-----------
[lldb][NFC] remove AdaptedConstIterator and AdaptedIterable (#127507)
AdaptedConstIterator currently doesn't have iterator traits, so I can't
use STL algorithms with containers like WatchpointList.
This patch replaces AdaptedConstIterator and AdaptedIterable with
llvm::iterator_adaped_base and llvm::iterator_range respectively.
Commit: 055872acc28afdd8d29acdbec24f4bd415481d33
https://github.com/llvm/llvm-project/commit/055872acc28afdd8d29acdbec24f4bd415481d33
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Integrate OpAsmTypeInterface with AsmPrinter (#124700)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This is a follow up PR of #121187, by integrating OpAsmTypeInterface
with AsmPrinter. There are a few conditions when OpAsmTypeInterface
comes into play
* There is no OpAsmOpInterface
* Or OpAsmOpInterface::getAsmResultName/getBlockArgumentName does not
invoke `setName` (i.e. the default impl)
* All results have OpAsmTypeInterface (otherwise we can not handle
result grouping behavior)
Cc @River707 @jpienaar @ftynse for review.
Commit: 7c104b63c7aae66cf91fa65b04011c49641b456d
https://github.com/llvm/llvm-project/commit/7c104b63c7aae66cf91fa65b04011c49641b456d
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[mlir] Introduce OpAsmAttrInterface for pretty-print (#124721)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR adds
* Definition of `OpAsmAttrInterface`
* Integration of `OpAsmAttrInterface` with `AsmPrinter`
In
https://github.com/llvm/llvm-project/pull/121187#discussion_r1931472250
I mentioned splitting them into two PRs, but I realized that a PR with
only definition of `OpAsmAttrInterface` is hard to test as it requires a
custom Dialect with `OpAsmDialectInterface` to hook with `AsmPrinter`,
so I just put them together to have a e2e test.
Cc @River707 @jpienaar @ftynse for review.
Commit: b22fc43551bd6862401e4684e545f445df4bc2be
https://github.com/llvm/llvm-project/commit/b22fc43551bd6862401e4684e545f445df4bc2be
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
[libc++] Updates the compilers used post LLVM-20 branching. (#126564)
Once LLVM 20 is released the clang-18 will no longer be supported.
Commit: 1f6165e1844a69a726b92cf8821a645b0fff5303
https://github.com/llvm/llvm-project/commit/1f6165e1844a69a726b92cf8821a645b0fff5303
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86InstrBuilder.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
X86: Fix convertToThreeAddress losing subregister indexes (#124098)
This avoids dozens of regressions in a future patch. These
primarily manifested as assertions where we had copies of 64-bit
registers to 32-bit registers.
This is testable in principle with hand written MIR, but that's
a bit too much x86 for me.
Commit: f796747a17941681c8f806cab4e10570b97b5089
https://github.com/llvm/llvm-project/commit/f796747a17941681c8f806cab4e10570b97b5089
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/src/experimental/tzdb.cpp
Log Message:
-----------
[libc++][TZDB] Improves system time zone detection. (#127339)
On some (Linux) systems /etc/localtime is not a symlink to the time
zone, but contains a copy of the binary time zone file. In these case
there usually is a file named /etc/timezone which contains the text for
the current time zone name.
Instead of throwing when /etc/localtime does not exist or is not a
symlink use this fallback.
Fixes: #105634
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: aa16ca3422d6ed4847bffb469cc5a1db14dca0b3
https://github.com/llvm/llvm-project/commit/aa16ca3422d6ed4847bffb469cc5a1db14dca0b3
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[mlir] Add getAlias for OpAsmTypeInterface (#126364)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR should be rebased once #124721 is merged.
This PR adds
* Definition of `getAlias` for `OpAsmTypeInterface`
* Integration of `OpAsmTypeInterface` with `AsmPrinter` alias handling
part
This is partly in response to
https://github.com/llvm/llvm-project/pull/124721/files#r1940399862
Cc @River707 for review.
Commit: d9803af3eb6c3ffe767f65ea853e9a1bc62de256
https://github.com/llvm/llvm-project/commit/d9803af3eb6c3ffe767f65ea853e9a1bc62de256
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 7c104b63c7aae66cf91fa65b04011c49641b456d
Commit: 4efab09252b5a62265efec6226f66da40975c8d0
https://github.com/llvm/llvm-project/commit/4efab09252b5a62265efec6226f66da40975c8d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Used named subreg indices instead of hardcoded numbers. NFC (#127671)
Commit: 8e16e5ca23d70b6d21346abfbe292aa7e91dcb2e
https://github.com/llvm/llvm-project/commit/8e16e5ca23d70b6d21346abfbe292aa7e91dcb2e
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/AST/HLSL/TypdefArrayParam.hlsl
Log Message:
-----------
[HLSL] Bug fix crash using Array Parameters when De-sugaring is the same as canonicalizing (#127670)
Fixes this crash: https://hlsl.godbolt.org/z/9aP74s4bP
Which happens because the de-sugared type is the same as the
canonicalized type.
Check if the de-sugared type is canonical before getting the
ArrayParameterType of the canonical type.
Add AST test to ensure crash doesn't happen.
Commit: 426148b26959b6ef3db8e05c82f708cf60301701
https://github.com/llvm/llvm-project/commit/426148b26959b6ef3db8e05c82f708cf60301701
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Implement DAG maintainance on Instruction removal (#127361)
This patch implements dependency maintenance upon receiveing the
notification that an instruction gets deleted.
Commit: 5ecce45ea2980aff35d1283d4dd3feb8f74de16c
https://github.com/llvm/llvm-project/commit/5ecce45ea2980aff35d1283d4dd3feb8f74de16c
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
M llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
[SandboxVec] Move seed collection into its own separate pass (#127132)
This patch moves the seed collection logic from the BottomUpVec pass
into a new Sandbox IR Function pass. The new "seed-collection" pass
collects the seeds, builds a region and runs the region pass pipeline.
Commit: e31a1c828d365ef94414be965a2a330a3b69250d
https://github.com/llvm/llvm-project/commit/e31a1c828d365ef94414be965a2a330a3b69250d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
Log Message:
-----------
[CodeGen] Remove getSubReg from TargetRegisterInfo. NFC (#127680)
Users can use the version inherited from MCRegisterInfo.
This version was added by e7694f34ab6a1 to return a Register. It was
later changed to return MCRegister by bab72dd5d5122 making it identical
MCRegisterInfo.
Commit: 56e0bf2958ffdcd74192cc7d8188d62bdbe068d6
https://github.com/llvm/llvm-project/commit/56e0bf2958ffdcd74192cc7d8188d62bdbe068d6
Author: Dmitry Babokin <babokin at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
Fix for issue #126162: warn for inconsistent Python search options (#126329)
Fixes #126162
I check locally that it works without warning for:
- neither options are defined
- both defined to the same value
And I checked that it warns if:
- only one is defined
- they defined to different values
Commit: 936fe9bb5ca66e13a609d1be0dfc9e5d7dd497b1
https://github.com/llvm/llvm-project/commit/936fe9bb5ca66e13a609d1be0dfc9e5d7dd497b1
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-function.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-value.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-no-root-element-list.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-root-element-not-mdnode.ll
Log Message:
-----------
[HLSL] Add more tests to root signature metadata extraction (#127283)
This PR adds a few more tests to validate some error scenarios of root
signature metadata representation.
Closes: https://github.com/llvm/llvm-project/issues/127280
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: ed147459502722ad2052db5d4650435387b204ab
https://github.com/llvm/llvm-project/commit/ed147459502722ad2052db5d4650435387b204ab
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Add test for regression in #127398. (NFC)
Commit: 083f80ff6b6666a8211867c0a026f872e742cfe6
https://github.com/llvm/llvm-project/commit/083f80ff6b6666a8211867c0a026f872e742cfe6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Remove implementation from LinalgInterfaces target.
Move LinalgInterfaces.cpp from LinalgInterfaces to LinalgDialect target.
This allows TensorDialect to use header-only RelayoutOpInterface without introducing a hidden dependency on LinalgDialect (producing an `no-allow-shlib-undefined` error if a target depends on TensorDialect but not LinalgDialect).
Also reverts https://github.com/llvm/llvm-project/commit/d64f177a2f4ae91cf520111dffed73f3c6b555eb because it's no longer needed.
Commit: 277512239a166e5376c705a9543773b142454522
https://github.com/llvm/llvm-project/commit/277512239a166e5376c705a9543773b142454522
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
Log Message:
-----------
[libc++][NFC] Clarify libc++'s stance about implementing the Networking TS
Commit: 7f275e09a788412414e23e32dd3767ec92595cad
https://github.com/llvm/llvm-project/commit/7f275e09a788412414e23e32dd3767ec92595cad
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A lld/test/ELF/lto/arm-rtlibcall.ll
Log Message:
-----------
[ELF][LTO] Add baseline test for invalid relocations against runtime calls
This can happen when using a LTO build of compiler-rt for ARM and the
program uses 64-bit division.
The 64-bit division function in compiler-rt (__aeabi_ldivmod) is written
in assembly and calls the C function __divmoddi4, which works fine in
non-LTO links. However, when building with LTO the call inside
__aeabi_ldivmod is replaced with a jump to address zero, which then
crashes the program.
Building with -pie generates an error instead of a jump to address zero,
and surprisingly just declaring the __aeabi_ldivmod function (but not
calling it) in the input IR also avoids this issue.
Reported as https://github.com/llvm/llvm-project/issues/127284
Co-authored-by: Fangrui Song <i at maskray.me>
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/127286
Commit: 3a00c428d903c5857eae83cb5e9dab73614c5ddb
https://github.com/llvm/llvm-project/commit/3a00c428d903c5857eae83cb5e9dab73614c5ddb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Add Hagenberg issues and papers to the Status pages (#127510)
Corresponding Github issues will be created shortly.
Commit: f7d03707d1f59cddab98d49fe55d8946477f87c8
https://github.com/llvm/llvm-project/commit/f7d03707d1f59cddab98d49fe55d8946477f87c8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/LICM/AMDGPU/buffer-rsrc-ptrs.ll
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Generalize amdgcn.make.buffer.rsrc to fat pointers (#126828)
Attempting to pass a `ptr addrspace(7)` to functions that take `ptr`
arguments produces undesirable `addrspacecast(addrspacecast(p8 x to p7)
to p0) => addrspacecast(p8 x to p0)` folds. This results in illegal GEP
operations on buffer resources, which can't be GEP'd. (However, note
that, while unimplemneted, addressspacecast from ptr addrspace(7) to ptr
is legal - it's just an effective address computation)
To resolve this problem, and thus prevent illegal
`getelementptr T, ptr addrspace(8) %x, ...` s from being produces, this
commit extends amdgcn.make.buffer.rsrc to also be variadic in its result
type, auto-upgrading old manglings.
The logic for handling a make.buffer.rsrc in instruction selection
remains untouched and expects the output type to be a ptr addrspace(8),
as does the Clang lowering for its builtin (the pointer-to-pointer
version might want a different name in clang). LowerBufferFatPointers
has been updated to lower
amdgcn.make.buffer.rsrc.p7.p* to amdgcn.make.buffer.rsrc.p8.p* .
This'll also make exposing buffer fat pointers in Clang easier, since
you don't have to cast between a `__amdgcn_rsrc_t` and a pointer.
Commit: 0049adfe122502444ca9cac6d059570e91e9b923
https://github.com/llvm/llvm-project/commit/0049adfe122502444ca9cac6d059570e91e9b923
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/verbatim.mlir
Log Message:
-----------
[MLIR] emitc: Add fmtArgs to verbatim (#123294)
Allows to print code snippets that refer to arguments or local
variables. E.g. `emitc.verbatim "#pragma abc var={}" args %arg0 :
!emitc.ptr<i32>` is printed as `#pragma abc var=v1` when the translator
had decided to print `%arg0` as `v1`.
As a follow-up PR, we will use the same infra to extend opaque type,
which provides a way to generate template types depending on the
spelling of other types.
Commit: 1f5edb17b23f5ac0576f83a6c122ce38bd5ec18e
https://github.com/llvm/llvm-project/commit/1f5edb17b23f5ac0576f83a6c122ce38bd5ec18e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
Log Message:
-----------
[lldb][Mach-O] Read dyld_all_image_infos addr from `main bin spec` LC_NOTE (#127156)
Mach-O corefiles have LC_NOTE metadata, one LC_NOTE that lldb recognizes
is `main bin spec` which can specify that this is a kernel corefile,
userland corefile, or firmware/standalone corefile. With a userland
corefile, the LC_NOTE would specify the virtual address of the dyld
binary's Mach-O header. lldb would create a Module from that in-memory
binary, find the `dyld_all_image_infos` object in dyld's DATA segment,
and use that object to find all of the binaries present in the corefile.
ProcessMachCore takes the metadata from this LC_NOTE and passes the
address to the DynamicLoader plugin via its `GetImageInfoAddress()`
method, so the DynamicLoader can find all of the binaries and load them
in the Target at their correct virtual addresses.
We have a corefile creator who would prefer to specify the address of
`dyld_all_image_infos` directly, instead of specifying the address of
dyld and parsing that to find the object. DynamicLoaderMacOSX, the
DynamicLoader plugin being used here, will accept either a dyld virtual
address or a `dyld_all_image_infos` virtual address from
ProcessMachCore, and do the correct thing with either value.
lldb's process save-core mach-o corefile reader will continue to specify
the virtual address of the dyld binary.
rdar://144322688
Commit: 2c05d026831f09d8c61eb752c8a0fbc1494fae6d
https://github.com/llvm/llvm-project/commit/2c05d026831f09d8c61eb752c8a0fbc1494fae6d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/EmitC/IR/EmitC.cpp:994:20: error: unused function
'parseVariadicTypeFmtArgs' [-Werror,-Wunused-function]
mlir/lib/Dialect/EmitC/IR/EmitC.cpp:1010:13: error: unused function
'printVariadicTypeFmtArgs' [-Werror,-Wunused-function]
Commit: 2847e1501e42bce813db10397230b5f33fc96b99
https://github.com/llvm/llvm-project/commit/2847e1501e42bce813db10397230b5f33fc96b99
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
M llvm/test/Analysis/ProfileSummary/basic.ll
Log Message:
-----------
[PGO] Fix incorrect count threshold calculation when 0% cutoff (#117359)
DefaultCutoffsData does not have an entry for the 0th percentile. As a
result, when the getEntryForPercentile method is called with a
percentile argument of 0, it returns a ProfileSummaryEntry for the 1st
percentile instead. This behavior affects the threshold calculations,
such as getHotCountThreshold, causing them to incorrectly identify some
sample profile counts as hot when they should not be.
This patch addresses the issue by handling the 0th percentile case in
the getEntryForPercentile method. This ensures that when the
-profile-summary-cutoff-hot (or -cold) option is set to 0, no sample
counts are treated as hot (or all sample counts are treated as cold).
Commit: 01f2f81f2b9a592e64a7efe9b1ee154d0979ee0a
https://github.com/llvm/llvm-project/commit/01f2f81f2b9a592e64a7efe9b1ee154d0979ee0a
Author: Eugene Epshteyn <59377284+eugeneepshteyn at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang-rt] Fixed uninitialized class member variable (#127681)
valgrind complained that `OpenStatementState::pathLength_` was used
before it was initialized, when a file was opened with
`status='scratch'`. The code seems to expect that `pathLengh_` should be
initialized to 0, so added default initialization to the declaration.
Commit: 78703c176fb725012d4569dc38a1c5711536badc
https://github.com/llvm/llvm-project/commit/78703c176fb725012d4569dc38a1c5711536badc
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
Log Message:
-----------
[gn] port e235fcb582ee more (bolt TargetConfig.def)
Commit: 8983d7a521ae9be47d9440e10d4398a24742d292
https://github.com/llvm/llvm-project/commit/8983d7a521ae9be47d9440e10d4398a24742d292
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 5ecce45ea298
Commit: 8529bd7b964cc9fafe8fece84f7bd12dacb09560
https://github.com/llvm/llvm-project/commit/8529bd7b964cc9fafe8fece84f7bd12dacb09560
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
Log Message:
-----------
[AMDGPU] Respect MBB alignment in the getFunctionCodeSize() (#127142)
Commit: db5bc8e9d07729ce4994cc908275722a093e5c0c
https://github.com/llvm/llvm-project/commit/db5bc8e9d07729ce4994cc908275722a093e5c0c
Author: nerix <nerixdev at outlook.de>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
Log Message:
-----------
[Clang] Warn about `[[noreturn]]` on coroutines (#127623)
Declaring a coroutine `[[noreturn]]` doesn't make sense, because it will
always return its handle. Clang previously crashed when trying to warn
about this (diagnostic ID was 0).
Fixes #127327.
Commit: 0f6c18e8c65b273af7e7af7ef38f78b4b66c481b
https://github.com/llvm/llvm-project/commit/0f6c18e8c65b273af7e7af7ef38f78b4b66c481b
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
Log Message:
-----------
[SandboxVec] Replace hard-coded context save() with transaction-save pass (#127690)
This patch implements a small region pass that saves the context's
state. The patch is now used in the default pipeline to save the context
state instead of the hard-coded call to Context::save().
The concept behind this is that the passes themselves should not have to
do the actual saving/restoring of the IR state, because that would make
it challenging to reorder them in the pipeline. Having separate
save/restore passes makes the transformation passes more composable as
parts of arbitrary pipelines.
Commit: beaca53947a2d95e2798a783f86198337a849d12
https://github.com/llvm/llvm-project/commit/beaca53947a2d95e2798a783f86198337a849d12
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0f6c18e8c65b
Commit: 0afe2bd21b06bed4d48eb88a99d13a768426359c
https://github.com/llvm/llvm-project/commit/0afe2bd21b06bed4d48eb88a99d13a768426359c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test trunc to i1 in foldSelectICmpAnd. (NFC)
Commit: 9bf582fc090f28c2423fdf472635c39145a13bc9
https://github.com/llvm/llvm-project/commit/9bf582fc090f28c2423fdf472635c39145a13bc9
Author: Timothy Herchen <timothy.herchen at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang][docs] Fix typos concerning wasm __funcref (#124365)
The docs conflate `__funcref` with an actual type in a couple places.
Commit: 7c24041895bc46dc19634e285a8907c787f8a3f9
https://github.com/llvm/llvm-project/commit/7c24041895bc46dc19634e285a8907c787f8a3f9
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] reopen "FLAT_load using D16 pseudo instruction" (#127673)
Previous patch is merged
https://github.com/llvm/llvm-project/pull/114500 and it hit a buildbot
failure and thus reverted
It seems the AMDGPU::OpName::OPERAND_LAST is removed at the meantime
when previous patch is merged and that's causing the compile error.
Fixed and reopen it here
Commit: 3430bc31a77381ddb5048ae9d33470254f746ceb
https://github.com/llvm/llvm-project/commit/3430bc31a77381ddb5048ae9d33470254f746ceb
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Make TOSA RESIZE's scale, offset, border as Input (#124956)
Move the `scale`, `offset`, and `border` parameters of the RESIZE
operator in the MLIR TOSA dialect from attributes to inputs and update
lit tests appropriately.
Add the verifier of the `tosa::ResizeOp` operation.
---------
Co-authored-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 0cc7381543e363da1f609ea4a1bbb57f573b0d20
https://github.com/llvm/llvm-project/commit/0cc7381543e363da1f609ea4a1bbb57f573b0d20
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Don't insert scheduled instrs into the ready list (#127688)
In a particular scenario (see test) we used to insert scheduled
instructions into the ready list. This patch fixes this by fixing the
trimSchedule() function.
Commit: 02c9dae8149722448ac955a3dad774a1a82d2df0
https://github.com/llvm/llvm-project/commit/02c9dae8149722448ac955a3dad774a1a82d2df0
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/unittests/Target/DirectX/CMakeLists.txt
A llvm/unittests/Target/DirectX/UniqueResourceFromUseTests.cpp
Log Message:
-----------
[HLSL] Add support to lookup a ResourceBindingInfo from its use (#126556)
Adds `findByUse` which takes a `llvm::Value` from a use and resolves it
(as best as possible) back to the creation of that resource.
It may return multiple ResourceBindingInfo if the use comes from
branched control flow.
Fixes #125746
Commit: 738f3a1493995875f1d8d557946ec8c3c557f5ab
https://github.com/llvm/llvm-project/commit/738f3a1493995875f1d8d557946ec8c3c557f5ab
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/DirectX/BUILD.gn
Log Message:
-----------
[gn build] Port 02c9dae81497
Commit: e10ac5fc71578a043eab6a2a53f0171c9230db97
https://github.com/llvm/llvm-project/commit/e10ac5fc71578a043eab6a2a53f0171c9230db97
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][NFC] Fix unused variable warning in test
Commit: 61cfa53896f3cf6d3356caa747311792053d5524
https://github.com/llvm/llvm-project/commit/61cfa53896f3cf6d3356caa747311792053d5524
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
Log Message:
-----------
[compiler-rt][asan] Re-enable forkpty test on AArch64 (NFC) (#127667)
Disabled in 86474c7a1addf59d511050552b697b8b2af61838, no longer failing
on AArch64 (for me at least).
Fixes: https://github.com/llvm/llvm-project/issues/24774
Commit: 2207e3e32549306bf563c6987f790cabe8d4ea78
https://github.com/llvm/llvm-project/commit/2207e3e32549306bf563c6987f790cabe8d4ea78
Author: A. Jiang <de34 at live.cn>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Set feature-test macro `__cpp_lib_atomic_float` (#127559)
The corresponding feature was implemented in LLVM 18 (by #67799), but
this FTM wasn't added before.
Commit: b2659ca44b2e26b558fce66689792709411c7d38
https://github.com/llvm/llvm-project/commit/b2659ca44b2e26b558fce66689792709411c7d38
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Propagate flags in `foldSelectICmpAndBinOp` (#127437)
It is always safe to add poison-generating flags for `BinOp Y,
Identity`.
Proof: https://alive2.llvm.org/ce/z/8BLEpq
and https://alive2.llvm.org/ce/z/584Bb4
Then we can propagate flags from one of the arms:
```
select Cond, Y, (BinOp flags Y, Z) ->
select Cond, (BinOp flags Y, Identity), (BinOp flags Y, Z) ->
BinOp flags Y, (select Cond, Identity, Z)
```
This patch is proposed to avoid information loss caused by
https://github.com/llvm/llvm-project/pull/127390.
Commit: da47a80d0398d4b5c680ab31a15f48293c731091
https://github.com/llvm/llvm-project/commit/da47a80d0398d4b5c680ab31a15f48293c731091
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Analysis/ProfileSummary/basic.ll
Log Message:
-----------
[PGO][test] Specify exact match for check labels (#117376)
Some check labels in the basic.ll test are simply f[1-3], which matches
all cases where the function entry is hot, cold, or uncategorized. Since
the actual test results for each label have mixed cases, the current
labels can be considered ambiguous.
This patch specifies exact matches for each label to ensure more precise
validation and to prevent potential regressions in the future.
Commit: b100c5074bb761f1a2ca39c4e274aa2f7e724439
https://github.com/llvm/llvm-project/commit/b100c5074bb761f1a2ca39c4e274aa2f7e724439
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/wasm/data-segments.ll
Log Message:
-----------
[lld][WebAssembly] Fix warnings in test. NFC (#127714)
Commit: f6d74af4d9cabb9a940656887c82aaba3ad1f922
https://github.com/llvm/llvm-project/commit/f6d74af4d9cabb9a940656887c82aaba3ad1f922
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[clang][X86] Only define __CET__ macro for X86 targets (#127616)
The `-fcf-protection` flag is now also used to enable CFI features for
the RISC-V target, so it's not suitable to define `__CET__` solely based
on the flag anymore. This patch moves the definition of the `__CET__`
macro into X86 target hook, so only X86 targets with the
`-fcf-protection` flag would enable the `__CET__` macro.
See https://github.com/llvm/llvm-project/pull/109784 and
https://github.com/llvm/llvm-project/pull/112477 for the adoption
of `-fcf-protection` flag for RISC-V targets.
Commit: 715edd70fdbda213668b55405c27c63292516fba
https://github.com/llvm/llvm-project/commit/715edd70fdbda213668b55405c27c63292516fba
Author: Chris B <chris.bieneman at me.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
Log Message:
-----------
[HLSL] Allow arrays to copy-initialize (#127557)
This change allows array variables to copy-initialize from other arrays.
It also corrects a small error in HLSL C-Style casting that did not
error on casting to arrays if elementwise and splat conversions fail.
Fixes #127551
Commit: 6662fe393cab2c4e550002c276813a89d9ab4443
https://github.com/llvm/llvm-project/commit/6662fe393cab2c4e550002c276813a89d9ab4443
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.td
A llvm/test/CodeGen/X86/bfloat-calling-conv.ll
Log Message:
-----------
[X86] Add missing vNbf16 handling in X86CallingConv.td file (#127102)
Lack of these entries caused clang to crash on the following code:
```c
__m256bh fun(__m256bh arg) {
return arg;
}
__m256bh run() {
__m256bh arg= {0};
fun(arg);
}
```
It caused the FastISel to fail since it handled the call lowering basing
on the X86CallingConv table.
Curiously, if FastISel fails somewhere down the line and
selectionDAGISel fallbacks, the crash does not occur. Following code
_does not_ crash:
```c
__m256bh fun(__m256bh arg) {
return arg;
}
__m256bh run() {
__m256bh arg= {0};
return fun(arg);
}
```
This is puzzling to me. Obviously, if FastISel fails then compiler
fallbacks to something else to lower these calls -- but since the
X86callingConv table _doesn't_ have entries for vNbf16 how does this
other thing manage not to crash? It has to use some other mechanism, one
which doesn't use the table. This rises following questions:
- how is this lowering accomplished without, presumably, using the
CallingConv entries?
- why is the table not used? I mean this points to some logic
duplication (fastISel way vs. the other bug-free way)
- How to properly test this? There is a test for vNbf16 values, but it
also must not be using the FastISel path? This duplication of logic
makes it hard to test this, since we don't have direct control whether
the FastISel path or the other one is used.
Nonetheless, this PR fixes the crash, though I didn't create a test for
it, since I am unsure yet how it should look like. I would like to learn
how the working non-FastISel mechanism works; I tried looking for it,
but didn't yet manage to find anything
Commit: aed9f11965d44e86fa5a53c7a6c1dfc7d8cbe6b8
https://github.com/llvm/llvm-project/commit/aed9f11965d44e86fa5a53c7a6c1dfc7d8cbe6b8
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
Log Message:
-----------
[AMDGPU] Handle lowering addrspace casts from LDS to FLAT address in amdgpu-sw-lower-lds. (#121214)
"infer-address-spaces" pass replaces all refinable generic pointers with
equivalent specific pointers.
At -O0 optimisation level, infer-address-spaces pass doesn't run in the
pipeline.
"amdgpu-sw-lower-lds" pass instruments memory operations on addrspace(3)
ptrs. Since, extra addrspacecasts are present from lds to flat
addrspaces at -O0 and the actual store/load memory instructions are now
on flat addrspace, these addrspacecast need to be handled in the
amdgpu-sw-lower-lds pass itself. This patch lowers the lds ptr first to
the corresponding ptr in the global memory from the asan_malloc. Then
replaces the original cast with addrspacecast from global ptr to flat
ptr.
Commit: 22d65d898961e96f0a8340e090ffa34558279eab
https://github.com/llvm/llvm-project/commit/22d65d898961e96f0a8340e090ffa34558279eab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
Log Message:
-----------
AMDGPU: Teach isOperandLegal about SALU literal restrictions (#127626)
isOperandLegal mostly implemented the VALU operand rules, and
largely ignored SALU restrictions. This theoretically avoids
folding literals into SALU insts which already have a literal
operand. This issue is currently avoided due to a bug in
SIFoldOperands; this change will allow using raw operand
legality rules.
This breaks the formation of s_fmaak_f32 in SIFoldOperands,
but it probably should not have been forming there in the first
place. TwoAddressInsts or RA should generally handle that,
and this only worked by accident.
Commit: 27e6561d108e8a3c17432b14bb5e8675c22a787b
https://github.com/llvm/llvm-project/commit/27e6561d108e8a3c17432b14bb5e8675c22a787b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
Log Message:
-----------
[Sparc] Use MCRegister. NFC
Commit: 8187caf8e3691b47ca5c9849df4cebd2f46a8fea
https://github.com/llvm/llvm-project/commit/8187caf8e3691b47ca5c9849df4cebd2f46a8fea
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
Log Message:
-----------
[NFC][AMDGPU] Pre-commit a test case of checking register coalescer on `v_pk_mov_b32` (#127715)
This PR serves as a preliminary step, adding a test case for register coalescer on v_pk_mov_b32. It is intended to demonstrate the code changes introduced in an upcoming PR.
Commit: 6c39ee717f03a0fe28f563d525fa5aff09804ba8
https://github.com/llvm/llvm-project/commit/6c39ee717f03a0fe28f563d525fa5aff09804ba8
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/cl-link.c
Log Message:
-----------
[Driver][MSVC] Pass profile file to lld-link via -lto-sample-profile option (#127442)
In SPGO lto mode, linker needs -lto-sample-profile option to set sample
profile file.
Linux adds this option by transferring fprofile-sample-use to
-plugin-opt=sample-profile=, which is alias of lto-sample-profile. (in
clang\lib\Driver\ToolChains\CommonArgs.cpp: tools::addLTOOptions()).
But clang on Windows misses the transferring. So add it now.
Commit: 8b284dc31070b9d1d99c593146da6248a5ca545d
https://github.com/llvm/llvm-project/commit/8b284dc31070b9d1d99c593146da6248a5ca545d
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Interfaces/FunctionInterfaces.cpp
Log Message:
-----------
[mlir] Fix FunctionOpInterface impl for external func (#124693)
For function declarations (i.e. func op has no entry block), the
FunctionOpInterface method `insertArgument` and `eraseArgument` will
cause segfault. This PR guards against manipulation of empty entry block
by checking whether func op is external.
An example can be seen in https://github.com/google/heir/pull/1324
The segfault trace
```
#1 0x0000560f1289d9db PrintStackTraceSignalHandler(void*) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:874:1
#2 0x0000560f1289b116 llvm::sys::RunSignalHandlers() /proc/self/cwd/external/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x0000560f1289e145 SignalHandler(int) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:415:1
#4 0x00007f829a3d9520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x0000560f1257f8bc void __gnu_cxx::new_allocator<mlir::BlockArgument>::construct<mlir::BlockArgument, mlir::BlockArgument>(mlir::BlockArgument*, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:162:23
#6 0x0000560f1257f84d void std::allocator_traits<std::allocator<mlir::BlockArgument> >::construct<mlir::BlockArgument, mlir::BlockArgument>(std::allocator<mlir::BlockArgument>&, mlir::BlockArgument*, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:520:2
#7 0x0000560f12580498 void std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> >::_M_insert_aux<mlir::BlockArgument>(__gnu_cxx::__normal_iterator<mlir::BlockArgument*, std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> > >, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:405:7
#8 0x0000560f1257cf7e std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> >::insert(__gnu_cxx::__normal_iterator<mlir::BlockArgument const*, std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> > >, mlir::BlockArgument const&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:154:6
#9 0x0000560f1257b349 mlir::Block::insertArgument(unsigned int, mlir::Type, mlir::Location) /proc/self/cwd/external/llvm-project/mlir/lib/IR/Block.cpp:178:13
#10 0x0000560f123d2a1c mlir::function_interface_impl::insertFunctionArguments(mlir::FunctionOpInterface, llvm::ArrayRef<unsigned int>, mlir::TypeRange, llvm::ArrayRef<mlir::DictionaryAttr>, llvm::ArrayRef<mlir::Location>, unsigned int, mlir::Type) /proc/self/cwd/external/llvm-project/mlir/lib/Interfaces/FunctionInterfaces.cpp:232:11
#11 0x0000560f0be6b727 mlir::detail::FunctionOpInterfaceTrait<mlir::func::FuncOp>::insertArguments(llvm::ArrayRef<unsigned int>, mlir::TypeRange, llvm::ArrayRef<mlir::DictionaryAttr>, llvm::ArrayRef<mlir::Location>) /proc/self/cwd/bazel-out/k8-dbg/bin/external/llvm-project/mlir/include/mlir/Interfaces/FunctionInterfaces.h.inc:809:7
#12 0x0000560f0be6b536 mlir::detail::FunctionOpInterfaceTrait<mlir::func::FuncOp>::insertArgument(unsigned int, mlir::Type, mlir::DictionaryAttr, mlir::Location) /proc/self/cwd/bazel-out/k8-dbg/bin/external/llvm-project/mlir/include/mlir/Interfaces/FunctionInterfaces.h.inc:796:7
```
Commit: 960b80c9f89eef9203ccd46c449008958eb3d5d9
https://github.com/llvm/llvm-project/commit/960b80c9f89eef9203ccd46c449008958eb3d5d9
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/ELF/input-section-flags.s
Log Message:
-----------
[ELF] Improve INPUT_SECTION_FLAGS test
Commit: a44284c02f39f68a754471a7e00b61ebf448d271
https://github.com/llvm/llvm-project/commit/a44284c02f39f68a754471a7e00b61ebf448d271
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
Log Message:
-----------
[AMDGPU] Add `isAsCheapAsAMove` for `v_pk_mov_b32` (#127632)
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: fb394451ca8de4536ba9a8aca2144248bc3fdea8
https://github.com/llvm/llvm-project/commit/fb394451ca8de4536ba9a8aca2144248bc3fdea8
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Add vfsqrt/vfrsqrt7 instruction to isSupportInstr (#127462)
Commit: 1c02c8f6fcbea1750e0c50c8a22af29b19588d72
https://github.com/llvm/llvm-project/commit/1c02c8f6fcbea1750e0c50c8a22af29b19588d72
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[clang] fix use after free in clang/tools/c-index-test/c-index-test.c (#127063)
recent change e76739eeb952940b2979c70ba44a28fecf592695 has exposed
use after free in GetCursorSource() function that returned pointer to
a disposed CXString
Commit: 6b67aac31377992465c419b5a296f9a7ba8e7984
https://github.com/llvm/llvm-project/commit/6b67aac31377992465c419b5a296f9a7ba8e7984
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[mlir:python] Improve `mlir_(attribute|type|value)_subclass` for `nanobind`s `stubgen` (#127584)
This PR makes several improvements to the stubs that are created by
`mlir_(attribute|type|value)_subclass`.
First, the PR sets the `__module__` attribute of the classes generated
by the nanobind adaptors for attributes, types, and values (via
`mlir_(attribute|type|value)_subclass`). By default, the `__module__`
property is set to `importlib._bootstrap`, which isn't where we want the
new class to live. The new logic sets the property to the name of the
module provided as `scope` instead. This also makes nanobind's `stubgen`
generate stubs for those classes properly, which ignores classes whose
`__module__` does not correspond to the module it is generating stubs
for. This resolves #127518.
Second, the PR overwrites the function signatures generated by `stubgen`
to a format that uses the desired type names (e.g., `mlir.ir.Attribute`
instead of `MlirAttribute`).
Finally, the PR piggy-backs some minor doc and style improvements to
`PythonAdaptors.h`.
---------
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 8f41d28d89ee287d0f5a6518116ab316be2657b8
https://github.com/llvm/llvm-project/commit/8f41d28d89ee287d0f5a6518116ab316be2657b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[c-index-test] Fix warnings
This patch fixes:
clang/tools/c-index-test/c-index-test.c:1240:15: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
clang/tools/c-index-test/c-index-test.c:1367:14: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
clang/tools/c-index-test/c-index-test.c:1468:14: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
Commit: ffab4eeb143debc12fb0a39e4e498ef47514bdda
https://github.com/llvm/llvm-project/commit/ffab4eeb143debc12fb0a39e4e498ef47514bdda
Author: Vitaly Buka <vitalybuka at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/premerge.yaml
M .github/workflows/release-binaries.yml
M .mailmap
M bolt/CMakeLists.txt
A bolt/include/bolt/Core/TargetConfig.def.in
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/CodeGen/CGFunctionInfo.h
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/ParentMap.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Headers/shaintrin.h
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Lex/CMakeLists.txt
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/HLSL/TypdefArrayParam.hlsl
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-recovery.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
A clang/test/Analysis/issue-124474.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/Analysis/live-stmts.cpp
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/CodeGen/X86/sha-builtins.c
M clang/test/CodeGen/allow-ubsan-check.c
A clang/test/CodeGen/builtin-assume-dereferenceable.c
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
M clang/test/CodeGen/partial-reinitialization2.c
M clang/test/CodeGen/sret.c
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/Driver/cl-link.c
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
R clang/test/Modules/pr121245.cpp
M clang/test/Parser/recovery.cpp
A clang/test/Preprocessor/riscv-cf-protection-return.c
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/attr-model.cpp
A clang/test/Sema/gh106576.c
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
M clang/test/Sema/types.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/unique_object_duplication.h
M clang/test/SemaCXX/warn-unreachable.cpp
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
A clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Lex/CMakeLists.txt
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/www/cxx_status.html
M compiler-rt/lib/builtins/arm/negdf2vfp.S
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
A flang-rt/.clang-format
A flang-rt/.clang-tidy
A flang-rt/CMakeLists.txt
A flang-rt/CODE_OWNERS.TXT
A flang-rt/LICENSE.TXT
A flang-rt/README.md
A flang-rt/cmake/config.h.cmake.in
A flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/AddFlangRTOffload.cmake
A flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/examples/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/external-hello.cpp
A flang-rt/include/flang-rt/runtime/allocator-registry.h
A flang-rt/include/flang-rt/runtime/array-constructor.h
A flang-rt/include/flang-rt/runtime/assign-impl.h
A flang-rt/include/flang-rt/runtime/buffer.h
A flang-rt/include/flang-rt/runtime/connection.h
A flang-rt/include/flang-rt/runtime/derived.h
A flang-rt/include/flang-rt/runtime/descriptor.h
A flang-rt/include/flang-rt/runtime/emit-encoded.h
A flang-rt/include/flang-rt/runtime/environment.h
A flang-rt/include/flang-rt/runtime/file.h
A flang-rt/include/flang-rt/runtime/format-implementation.h
A flang-rt/include/flang-rt/runtime/format.h
A flang-rt/include/flang-rt/runtime/internal-unit.h
A flang-rt/include/flang-rt/runtime/io-error.h
A flang-rt/include/flang-rt/runtime/io-stmt.h
A flang-rt/include/flang-rt/runtime/lock.h
A flang-rt/include/flang-rt/runtime/memory.h
A flang-rt/include/flang-rt/runtime/namelist.h
A flang-rt/include/flang-rt/runtime/non-tbp-dio.h
A flang-rt/include/flang-rt/runtime/numeric-templates.h
A flang-rt/include/flang-rt/runtime/random-templates.h
A flang-rt/include/flang-rt/runtime/reduction-templates.h
A flang-rt/include/flang-rt/runtime/stat.h
A flang-rt/include/flang-rt/runtime/terminator.h
A flang-rt/include/flang-rt/runtime/tools.h
A flang-rt/include/flang-rt/runtime/type-code.h
A flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/utf.h
A flang-rt/lib/CMakeLists.txt
A flang-rt/lib/Testing/CMakeLists.txt
A flang-rt/lib/cuda/CMakeLists.txt
A flang-rt/lib/cuda/allocatable.cpp
A flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/descriptor.cpp
A flang-rt/lib/cuda/init.cpp
A flang-rt/lib/cuda/kernel.cpp
A flang-rt/lib/cuda/memmove-function.cpp
A flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/pointer.cpp
A flang-rt/lib/cuda/registration.cpp
A flang-rt/lib/quadmath/CMakeLists.txt
A flang-rt/lib/quadmath/acos.cpp
A flang-rt/lib/quadmath/acosh.cpp
A flang-rt/lib/quadmath/asin.cpp
A flang-rt/lib/quadmath/asinh.cpp
A flang-rt/lib/quadmath/atan.cpp
A flang-rt/lib/quadmath/atan2.cpp
A flang-rt/lib/quadmath/atanh.cpp
A flang-rt/lib/quadmath/ceil.cpp
A flang-rt/lib/quadmath/complex-math.c
A flang-rt/lib/quadmath/complex-math.h
A flang-rt/lib/quadmath/cos.cpp
A flang-rt/lib/quadmath/cosh.cpp
A flang-rt/lib/quadmath/erf.cpp
A flang-rt/lib/quadmath/erfc.cpp
A flang-rt/lib/quadmath/exp.cpp
A flang-rt/lib/quadmath/exponent.cpp
A flang-rt/lib/quadmath/floor.cpp
A flang-rt/lib/quadmath/fma.cpp
A flang-rt/lib/quadmath/fraction.cpp
A flang-rt/lib/quadmath/hypot.cpp
A flang-rt/lib/quadmath/j0.cpp
A flang-rt/lib/quadmath/j1.cpp
A flang-rt/lib/quadmath/jn.cpp
A flang-rt/lib/quadmath/lgamma.cpp
A flang-rt/lib/quadmath/llround.cpp
A flang-rt/lib/quadmath/log.cpp
A flang-rt/lib/quadmath/log10.cpp
A flang-rt/lib/quadmath/lround.cpp
A flang-rt/lib/quadmath/math-entries.h
A flang-rt/lib/quadmath/mod-real.cpp
A flang-rt/lib/quadmath/modulo-real.cpp
A flang-rt/lib/quadmath/nearbyint.cpp
A flang-rt/lib/quadmath/nearest.cpp
A flang-rt/lib/quadmath/norm2.cpp
A flang-rt/lib/quadmath/numeric-template-specs.h
A flang-rt/lib/quadmath/pow.cpp
A flang-rt/lib/quadmath/random.cpp
A flang-rt/lib/quadmath/remainder.cpp
A flang-rt/lib/quadmath/round.cpp
A flang-rt/lib/quadmath/rrspacing.cpp
A flang-rt/lib/quadmath/scale.cpp
A flang-rt/lib/quadmath/set-exponent.cpp
A flang-rt/lib/quadmath/sin.cpp
A flang-rt/lib/quadmath/sinh.cpp
A flang-rt/lib/quadmath/spacing.cpp
A flang-rt/lib/quadmath/sqrt.cpp
A flang-rt/lib/quadmath/tan.cpp
A flang-rt/lib/quadmath/tanh.cpp
A flang-rt/lib/quadmath/tgamma.cpp
A flang-rt/lib/quadmath/trunc.cpp
A flang-rt/lib/quadmath/y0.cpp
A flang-rt/lib/quadmath/y1.cpp
A flang-rt/lib/quadmath/yn.cpp
A flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/ISO_Fortran_binding.cpp
A flang-rt/lib/runtime/ISO_Fortran_util.h
A flang-rt/lib/runtime/allocatable.cpp
A flang-rt/lib/runtime/allocator-registry.cpp
A flang-rt/lib/runtime/array-constructor.cpp
A flang-rt/lib/runtime/assign.cpp
A flang-rt/lib/runtime/buffer.cpp
A flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/command.cpp
A flang-rt/lib/runtime/complex-powi.cpp
A flang-rt/lib/runtime/complex-reduction.c
A flang-rt/lib/runtime/complex-reduction.h
A flang-rt/lib/runtime/connection.cpp
A flang-rt/lib/runtime/copy.cpp
A flang-rt/lib/runtime/copy.h
A flang-rt/lib/runtime/derived-api.cpp
A flang-rt/lib/runtime/derived.cpp
A flang-rt/lib/runtime/descriptor-io.cpp
A flang-rt/lib/runtime/descriptor-io.h
A flang-rt/lib/runtime/descriptor.cpp
A flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/edit-input.cpp
A flang-rt/lib/runtime/edit-input.h
A flang-rt/lib/runtime/edit-output.cpp
A flang-rt/lib/runtime/edit-output.h
A flang-rt/lib/runtime/environment-default-list.h
A flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/execute.cpp
A flang-rt/lib/runtime/extensions.cpp
A flang-rt/lib/runtime/external-unit.cpp
A flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/file.cpp
A flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/format.cpp
A flang-rt/lib/runtime/inquiry.cpp
A flang-rt/lib/runtime/internal-unit.cpp
A flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-api-minimal.cpp
A flang-rt/lib/runtime/io-api.cpp
A flang-rt/lib/runtime/io-error.cpp
A flang-rt/lib/runtime/io-stmt.cpp
A flang-rt/lib/runtime/iostat.cpp
A flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/memory.cpp
A flang-rt/lib/runtime/misc-intrinsic.cpp
A flang-rt/lib/runtime/namelist.cpp
A flang-rt/lib/runtime/non-tbp-dio.cpp
A flang-rt/lib/runtime/numeric.cpp
A flang-rt/lib/runtime/pointer.cpp
A flang-rt/lib/runtime/product.cpp
A flang-rt/lib/runtime/pseudo-unit.cpp
A flang-rt/lib/runtime/ragged.cpp
A flang-rt/lib/runtime/random.cpp
A flang-rt/lib/runtime/reduce.cpp
A flang-rt/lib/runtime/reduction.cpp
A flang-rt/lib/runtime/stack.h
A flang-rt/lib/runtime/stat.cpp
A flang-rt/lib/runtime/stop.cpp
A flang-rt/lib/runtime/sum.cpp
A flang-rt/lib/runtime/support.cpp
A flang-rt/lib/runtime/temporary-stack.cpp
A flang-rt/lib/runtime/terminator.cpp
A flang-rt/lib/runtime/time-intrinsic.cpp
A flang-rt/lib/runtime/tools.cpp
A flang-rt/lib/runtime/transformational.cpp
A flang-rt/lib/runtime/type-code.cpp
A flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/unit-map.cpp
A flang-rt/lib/runtime/unit-map.h
A flang-rt/lib/runtime/unit.cpp
A flang-rt/lib/runtime/unit.h
A flang-rt/lib/runtime/utf.cpp
A flang-rt/test/CMakeLists.txt
A flang-rt/test/Driver/ctofortran.f90
A flang-rt/test/Driver/exec.f90
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
A flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/Evaluate/CMakeLists.txt
A flang-rt/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/Evaluate/reshape.cpp
A flang-rt/unittests/Runtime/AccessTest.cpp
A flang-rt/unittests/Runtime/Allocatable.cpp
A flang-rt/unittests/Runtime/ArrayConstructor.cpp
A flang-rt/unittests/Runtime/BufferTest.cpp
A flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
A flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Memory.cpp
A flang-rt/unittests/Runtime/CharacterTest.cpp
A flang-rt/unittests/Runtime/CommandTest.cpp
A flang-rt/unittests/Runtime/Complex.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.h
A flang-rt/unittests/Runtime/Derived.cpp
A flang-rt/unittests/Runtime/ExternalIOTest.cpp
A flang-rt/unittests/Runtime/Format.cpp
A flang-rt/unittests/Runtime/Inquiry.cpp
A flang-rt/unittests/Runtime/ListInputTest.cpp
A flang-rt/unittests/Runtime/LogicalFormatTest.cpp
A flang-rt/unittests/Runtime/Matmul.cpp
A flang-rt/unittests/Runtime/MatmulTranspose.cpp
A flang-rt/unittests/Runtime/MiscIntrinsic.cpp
A flang-rt/unittests/Runtime/Namelist.cpp
A flang-rt/unittests/Runtime/Numeric.cpp
A flang-rt/unittests/Runtime/NumericalFormatTest.cpp
A flang-rt/unittests/Runtime/Pointer.cpp
A flang-rt/unittests/Runtime/Ragged.cpp
A flang-rt/unittests/Runtime/Random.cpp
A flang-rt/unittests/Runtime/Reduction.cpp
A flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
A flang-rt/unittests/Runtime/Stop.cpp
A flang-rt/unittests/Runtime/Support.cpp
A flang-rt/unittests/Runtime/TemporaryStack.cpp
A flang-rt/unittests/Runtime/Time.cpp
A flang-rt/unittests/Runtime/Transformational.cpp
A flang-rt/unittests/Runtime/tools.h
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
A flang/cmake/modules/FlangCommon.cmake
M flang/docs/GettingStarted.md
M flang/docs/ReleaseNotes.md
M flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/examples/ExternalHelloWorld/external-hello.cpp
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Runtime/allocatable.h
R flang/include/flang/Runtime/allocator-registry.h
R flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/descriptor-consts.h
R flang/include/flang/Runtime/descriptor.h
R flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/pointer.h
R flang/include/flang/Runtime/type-code.h
M flang/include/flang/Support/LangOptions.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/CUDA/allocatable.cpp
R flang/runtime/CUDA/allocator.cpp
R flang/runtime/CUDA/descriptor.cpp
R flang/runtime/CUDA/init.cpp
R flang/runtime/CUDA/kernel.cpp
R flang/runtime/CUDA/memmove-function.cpp
R flang/runtime/CUDA/memory.cpp
R flang/runtime/CUDA/pointer.cpp
R flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
R flang/runtime/Float128Math/acos.cpp
R flang/runtime/Float128Math/acosh.cpp
R flang/runtime/Float128Math/asin.cpp
R flang/runtime/Float128Math/asinh.cpp
R flang/runtime/Float128Math/atan.cpp
R flang/runtime/Float128Math/atan2.cpp
R flang/runtime/Float128Math/atanh.cpp
R flang/runtime/Float128Math/ceil.cpp
R flang/runtime/Float128Math/complex-math.c
R flang/runtime/Float128Math/complex-math.h
R flang/runtime/Float128Math/cos.cpp
R flang/runtime/Float128Math/cosh.cpp
R flang/runtime/Float128Math/erf.cpp
R flang/runtime/Float128Math/erfc.cpp
R flang/runtime/Float128Math/exp.cpp
R flang/runtime/Float128Math/exponent.cpp
R flang/runtime/Float128Math/floor.cpp
R flang/runtime/Float128Math/fma.cpp
R flang/runtime/Float128Math/fraction.cpp
R flang/runtime/Float128Math/hypot.cpp
R flang/runtime/Float128Math/j0.cpp
R flang/runtime/Float128Math/j1.cpp
R flang/runtime/Float128Math/jn.cpp
R flang/runtime/Float128Math/lgamma.cpp
R flang/runtime/Float128Math/llround.cpp
R flang/runtime/Float128Math/log.cpp
R flang/runtime/Float128Math/log10.cpp
R flang/runtime/Float128Math/lround.cpp
R flang/runtime/Float128Math/math-entries.h
R flang/runtime/Float128Math/mod-real.cpp
R flang/runtime/Float128Math/modulo-real.cpp
R flang/runtime/Float128Math/nearbyint.cpp
R flang/runtime/Float128Math/nearest.cpp
R flang/runtime/Float128Math/norm2.cpp
R flang/runtime/Float128Math/numeric-template-specs.h
R flang/runtime/Float128Math/pow.cpp
R flang/runtime/Float128Math/random.cpp
R flang/runtime/Float128Math/remainder.cpp
R flang/runtime/Float128Math/round.cpp
R flang/runtime/Float128Math/rrspacing.cpp
R flang/runtime/Float128Math/scale.cpp
R flang/runtime/Float128Math/set-exponent.cpp
R flang/runtime/Float128Math/sin.cpp
R flang/runtime/Float128Math/sinh.cpp
R flang/runtime/Float128Math/spacing.cpp
R flang/runtime/Float128Math/sqrt.cpp
R flang/runtime/Float128Math/tan.cpp
R flang/runtime/Float128Math/tanh.cpp
R flang/runtime/Float128Math/tgamma.cpp
R flang/runtime/Float128Math/trunc.cpp
R flang/runtime/Float128Math/y0.cpp
R flang/runtime/Float128Math/y1.cpp
R flang/runtime/Float128Math/yn.cpp
R flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/ISO_Fortran_util.h
R flang/runtime/allocatable.cpp
R flang/runtime/allocator-registry.cpp
R flang/runtime/array-constructor.cpp
R flang/runtime/assign-impl.h
R flang/runtime/assign.cpp
R flang/runtime/buffer.cpp
R flang/runtime/buffer.h
R flang/runtime/character.cpp
R flang/runtime/command.cpp
R flang/runtime/complex-powi.cpp
R flang/runtime/complex-reduction.c
R flang/runtime/complex-reduction.h
R flang/runtime/config.h.cmake
R flang/runtime/connection.cpp
R flang/runtime/connection.h
R flang/runtime/copy.cpp
R flang/runtime/copy.h
R flang/runtime/derived-api.cpp
R flang/runtime/derived.cpp
R flang/runtime/derived.h
R flang/runtime/descriptor-io.cpp
R flang/runtime/descriptor-io.h
R flang/runtime/descriptor.cpp
R flang/runtime/dot-product.cpp
R flang/runtime/edit-input.cpp
R flang/runtime/edit-input.h
R flang/runtime/edit-output.cpp
R flang/runtime/edit-output.h
R flang/runtime/emit-encoded.h
R flang/runtime/environment-default-list.h
R flang/runtime/environment.cpp
R flang/runtime/environment.h
R flang/runtime/exceptions.cpp
R flang/runtime/execute.cpp
R flang/runtime/extensions.cpp
R flang/runtime/external-unit.cpp
R flang/runtime/extrema.cpp
R flang/runtime/file.cpp
R flang/runtime/file.h
R flang/runtime/findloc.cpp
R flang/runtime/format-implementation.h
R flang/runtime/format.cpp
R flang/runtime/format.h
R flang/runtime/inquiry.cpp
R flang/runtime/internal-unit.cpp
R flang/runtime/internal-unit.h
R flang/runtime/io-api-common.h
R flang/runtime/io-api-minimal.cpp
R flang/runtime/io-api.cpp
R flang/runtime/io-error.cpp
R flang/runtime/io-error.h
R flang/runtime/io-stmt.cpp
R flang/runtime/io-stmt.h
R flang/runtime/iostat.cpp
R flang/runtime/lock.h
R flang/runtime/main.cpp
R flang/runtime/matmul-transpose.cpp
R flang/runtime/matmul.cpp
R flang/runtime/memory.cpp
R flang/runtime/misc-intrinsic.cpp
R flang/runtime/namelist.cpp
R flang/runtime/namelist.h
R flang/runtime/non-tbp-dio.cpp
R flang/runtime/non-tbp-dio.h
R flang/runtime/numeric-templates.h
R flang/runtime/numeric.cpp
R flang/runtime/pointer.cpp
R flang/runtime/product.cpp
R flang/runtime/pseudo-unit.cpp
R flang/runtime/ragged.cpp
R flang/runtime/random-templates.h
R flang/runtime/random.cpp
R flang/runtime/reduce.cpp
R flang/runtime/reduction-templates.h
R flang/runtime/reduction.cpp
R flang/runtime/stack.h
R flang/runtime/stat.cpp
R flang/runtime/stat.h
R flang/runtime/stop.cpp
R flang/runtime/sum.cpp
R flang/runtime/support.cpp
R flang/runtime/temporary-stack.cpp
R flang/runtime/terminator.cpp
R flang/runtime/terminator.h
R flang/runtime/time-intrinsic.cpp
R flang/runtime/tools.cpp
R flang/runtime/tools.h
R flang/runtime/transformational.cpp
R flang/runtime/type-code.cpp
R flang/runtime/type-info.cpp
R flang/runtime/type-info.h
R flang/runtime/unit-map.cpp
R flang/runtime/unit-map.h
R flang/runtime/unit.cpp
R flang/runtime/unit.h
R flang/runtime/utf.cpp
R flang/runtime/utf.h
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
M flang/test/CMakeLists.txt
R flang/test/Driver/ctofortran.f90
R flang/test/Driver/exec.f90
A flang/test/Driver/mabi-riscv.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/CUDA/cuda-device-proc.cuf
R flang/test/Lower/OpenMP/Todo/map-mapper.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
A flang/test/Lower/OpenMP/map-mapper.f90
A flang/test/Lower/RISCV/riscv-target-abi.f90
R flang/test/Runtime/no-cpp-dep.c
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/unittests/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
R flang/unittests/Evaluate/reshape.cpp
M flang/unittests/Optimizer/CMakeLists.txt
R flang/unittests/Runtime/AccessTest.cpp
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Allocatable.cpp
R flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Memory.cpp
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/Support.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
M libc/CMakeLists.txt
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/gpu/building.rst
M libc/include/__llvm-libc-common.h
R libc/include/ctype.h.def
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
R libc/include/fenv.h.def
M libc/include/fenv.yaml
R libc/include/malloc.h.def
M libc/include/malloc.yaml
A libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
M libc/include/time.yaml
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/big_int.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrtf128.cpp
M libc/src/time/CMakeLists.txt
A libc/src/time/strftime.cpp
A libc/src/time/strftime.h
A libc/src/time/strftime_core/CMakeLists.txt
A libc/src/time/strftime_core/composite_converter.h
A libc/src/time/strftime_core/converter.cpp
A libc/src/time/strftime_core/converter.h
A libc/src/time/strftime_core/core_structs.h
A libc/src/time/strftime_core/num_converter.h
A libc/src/time/strftime_core/parser.h
A libc/src/time/strftime_core/str_converter.h
A libc/src/time/strftime_core/strftime_main.cpp
A libc/src/time/strftime_core/strftime_main.h
M libc/src/time/time_constants.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcTest.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/strftime_test.cpp
M libc/utils/hdrgen/enumeration.py
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/gpu_headers.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/merge1.yaml
A libc/utils/hdrgen/tests/input/merge2.yaml
A libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
M libclc/CMakeLists.txt
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_upsample.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/r600/lib/image/get_image_attributes_impl.ll
M libclc/r600/lib/image/read_image_impl.ll
M libclc/r600/lib/image/write_image_impl.ll
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/index.rst
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
M libcxx/include/__format/formatter.h
M libcxx/include/__mbstate_t.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/optional
M libcxx/include/set
M libcxx/include/string
M libcxx/include/version
M libcxx/src/experimental/tzdb.cpp
M libcxx/src/iostream.cpp
M libcxx/src/string.cpp
M libcxx/test/benchmarks/algorithms/fill.bench.cpp
M libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
A libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
M libcxx/test/support/test_container_comparisons.h
M libcxx/utils/generate_feature_test_macro_components.py
M libunwind/src/Unwind-wasm.c
M lld/CMakeLists.txt
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Writer.cpp
M lld/COFF/Writer.h
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/ICF.cpp
M lld/MachO/Target.h
M lld/cmake/modules/AddLLD.cmake
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/arm64x-buildid.s
A lld/test/COFF/arm64x-crt-sec.s
A lld/test/COFF/arm64x-ctors-sec.s
M lld/test/COFF/pdata-arm64ec.test
A lld/test/ELF/arm-thumb-jump8-11.s
M lld/test/ELF/bp-section-orderer.s
M lld/test/ELF/input-section-flags.s
M lld/test/ELF/loongarch-relax-align.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12-got-symbols.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
A lld/test/ELF/lto/arm-rtlibcall.ll
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/MachO/arm64-thunks.s
M lld/test/MachO/bp-section-orderer.s
M lld/test/MachO/export-options.s
M lld/test/wasm/data-segments.ll
M lldb/cmake/modules/FindCursesAndPanel.cmake
M lldb/examples/synthetic/libcxx.py
M lldb/include/lldb/Breakpoint/BreakpointList.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/Breakpoint/BreakpointLocationList.h
M lldb/include/lldb/Breakpoint/WatchpointList.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Core/IOHandlerCursesGUI.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/include/lldb/Target/QueueList.h
M lldb/include/lldb/Target/TargetList.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadCollection.h
M lldb/include/lldb/Utility/Iterable.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/SBType.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
A lldb/test/API/lang/cpp/enum_promotion/Makefile
A lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py
A lldb/test/API/lang/cpp/enum_promotion/main.cpp
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/test/API/lang/cpp/template-arguments/main.cpp
A lldb/test/API/lang/cpp/thunk/Makefile
A lldb/test/API/lang/cpp/thunk/TestThunk.py
A lldb/test/API/lang/cpp/thunk/main.cpp
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/output/main.c
M lldb/test/API/tools/lldb-server/main.cpp
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/TelemetryTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/Utility/CMakeLists.txt
M lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
M llvm/CMakeLists.txt
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/GitHub.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/OptBisect.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/include/llvm/Analysis/CallGraphSCCPass.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
A llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/ConstantRange.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/Support/ModRef.h
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/Telemetry/Telemetry.h
A llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/PhiValues.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
R llvm/lib/CodeGen/RegAllocEvictionAdvisor.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/SandboxIR/User.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
A llvm/lib/Target/AMDGPU/GCNNSAReassign.h
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.h
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
A llvm/lib/Target/AMDGPU/SIFormMemoryClauses.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
R llvm/lib/Target/ARC/ARCTargetStreamer.h
A llvm/lib/Target/ARC/MCTargetDesc/ARCTargetStreamer.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.h
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
R llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
A llvm/lib/Target/Hexagon/MCTargetDesc/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
R llvm/lib/Target/Mips/MipsTargetStreamer.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
A llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
R llvm/lib/Target/PowerPC/PPCTargetStreamer.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
R llvm/lib/Target/RISCV/RISCVSchedGeneric.td
A llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
R llvm/lib/Target/SystemZ/SystemZTargetStreamer.h
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrBuilder.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
A llvm/lib/Target/XCore/MCTargetDesc/XCoreTargetStreamer.h
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
R llvm/lib/Target/XCore/XCoreTargetStreamer.h
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/lib/Telemetry/Telemetry.cpp
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CMakeLists.txt
A llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/PartialInlining.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/projects/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
A llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
M llvm/test/Analysis/ProfileSummary/basic.ll
M llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll
M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Analysis/ValueTracking/known-non-equal.ll
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Assembler/flags.ll
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/CodeGen/AArch64/arm64-storebytesmerge.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/br-to-eh-lpad.ll
M llvm/test/CodeGen/AArch64/br-undef-cond.ll
A llvm/test/CodeGen/AArch64/execute-only-section.ll
M llvm/test/CodeGen/AArch64/gep-nullptr.ll
M llvm/test/CodeGen/AArch64/machine-sink-getmemoperandwithoffset.mir
M llvm/test/CodeGen/AArch64/madd-combiner.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
A llvm/test/CodeGen/AArch64/shift-const-ne-0.ll
M llvm/test/CodeGen/AArch64/shrink-wrap.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/tail-call-unused-zext.ll
M llvm/test/CodeGen/AArch64/tailcall-ssp-split-debug.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
A llvm/test/CodeGen/AMDGPU/fold-literal-multiple-gfx10.mir
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
M llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/iglp-no-clobber.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/limit-soft-clause-reg-pressure.mir
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.mir
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/reserved-reg-in-clause.mir
A llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
A llvm/test/CodeGen/AMDGPU/shl64_reduce_flags.ll
M llvm/test/CodeGen/AMDGPU/smem-no-clause-coalesced.mir
M llvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
A llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
M llvm/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-function.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-value.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-no-root-element-list.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-root-element-not-mdnode.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-NullFunction-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/Hexagon/iss127296.ll
A llvm/test/CodeGen/Mips/readcyclecounter.ll
M llvm/test/CodeGen/NVPTX/prefetch.ll
A llvm/test/CodeGen/NVPTX/redux-sync-f32.ll
M llvm/test/CodeGen/NVPTX/surf-read.ll
M llvm/test/CodeGen/NVPTX/surf-write.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
A llvm/test/CodeGen/PowerPC/pr127298.ll
M llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
M llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
M llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/add-imm.ll
M llvm/test/CodeGen/RISCV/alloca.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bf16-promote.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/branch-on-zero.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32e.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/condbinops.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fastcc-bf16.ll
M llvm/test/CodeGen/RISCV/fastcc-float.ll
M llvm/test/CodeGen/RISCV/fastcc-half.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-select-fcmp.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fp-fcanonicalize.ll
M llvm/test/CodeGen/RISCV/fp128.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/get-setcc-result-type.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-mem.ll
M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-zfinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm-zhinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/legalize-fneg.ll
M llvm/test/CodeGen/RISCV/llvm.exp10.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/mem.ll
M llvm/test/CodeGen/RISCV/mem64.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/memmove.ll
M llvm/test/CodeGen/RISCV/memset-pattern.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/orc-b-patterns.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/RISCV/pr58511.ll
M llvm/test/CodeGen/RISCV/pr63816.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64-double-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store-merge-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mutate-prior-vsetvli-avl.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
M llvm/test/CodeGen/RISCV/rvv/pr125306.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/shrinkwrap.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.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/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-chain-fixed-load.ll
M llvm/test/CodeGen/RISCV/scmp.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
M llvm/test/CodeGen/RISCV/select-optimize-multiple.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shift-amount-mod.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/stack-slot-size.ll
M llvm/test/CodeGen/RISCV/stack-store-check.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/ucmp.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
M llvm/test/CodeGen/RISCV/xtheadmempair.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
M llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
A llvm/test/CodeGen/SPIRV/opencl/get_num_groups.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-types.ll
A llvm/test/CodeGen/SPIRV/validate/triton-tut-softmax-kernel.ll
M llvm/test/CodeGen/SystemZ/fp-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
M llvm/test/CodeGen/SystemZ/vec-round-01.ll
M llvm/test/CodeGen/SystemZ/vec-round-02.ll
M llvm/test/CodeGen/SystemZ/vec-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/vec-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
A llvm/test/CodeGen/WebAssembly/extend-shuffles.ll
M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
A llvm/test/CodeGen/WebAssembly/interleave.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
A llvm/test/CodeGen/X86/bfloat-calling-conv.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
A llvm/test/CodeGen/X86/pr8925.ll
M llvm/test/CodeGen/X86/ptrtoint-constexpr.ll
M llvm/test/CodeGen/X86/select.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-partial-undef.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll
M llvm/test/MC/ARM/diagnostics.s
A llvm/test/MC/ELF/AArch64/execute-only-populated-text-section.s
A llvm/test/MC/ELF/AArch64/execute-only-section.s
A llvm/test/MC/ELF/AArch64/execute-only-text-section-data.s
M llvm/test/MC/ELF/section-flags-unknown.s
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-only-csr-names.s
M llvm/test/MC/RISCV/rv32i-invalid.s
A llvm/test/MC/RISCV/rv32p-valid.s
A llvm/test/MC/RISCV/rv64p-valid.s
M llvm/test/Other/constant-fold-gep-address-spaces.ll
M llvm/test/Other/constant-fold-gep.ll
A llvm/test/TableGen/PerWriteCycleCount.td
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll
A llvm/test/Transforms/FatLTOCleanup/remove-type-checked-load.ll
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/GVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
M llvm/test/Transforms/Inline/AArch64/inline-target-attr.ll
M llvm/test/Transforms/Inline/last-callsite.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-counting-elems.ll
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
M llvm/test/Transforms/InstCombine/malloc-free.ll
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
M llvm/test/Transforms/InstCombine/umax-icmp.ll
M llvm/test/Transforms/LICM/AMDGPU/buffer-rsrc-ptrs.ll
M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
A llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
A llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
M llvm/test/Transforms/MemCpyOpt/memmove.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/vscale.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vecreduceadd.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
A llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
M llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
A llvm/test/Transforms/Scalarizer/sadd_with_overflow.ll
A llvm/test/Transforms/Scalarizer/sincos.ll
A llvm/test/Transforms/Scalarizer/smul_with_overflow.ll
A llvm/test/Transforms/Scalarizer/ssub_with_overflow.ll
R llvm/test/Transforms/Scalarizer/uadd_overflow.ll
A llvm/test/Transforms/Scalarizer/uadd_with_overflow.ll
A llvm/test/Transforms/Scalarizer/umul_with_overflow.ll
A llvm/test/Transforms/Scalarizer/usub_with_overflow.ll
M llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/atomic.s
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/integer.s
M llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
M llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
M llvm/test/tools/llvm-readobj/ELF/section-arch-flags.test
M llvm/tools/dsymutil/BinaryHolder.cpp
M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/ConstantRangeTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/SandboxIR/RegionTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M llvm/unittests/Target/DirectX/CMakeLists.txt
A llvm/unittests/Target/DirectX/UniqueResourceFromUseTests.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
R llvm/utils/count_running_jobs.py
A llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/driver/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/heatmap/BUILD.gn
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Lex/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/Target/write_target_def_file.gni
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/DirectX/BUILD.gn
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/docs/PassManagement.md
M mlir/docs/PatternRewriter.md
A mlir/include/mlir-c/Dialect/Index.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
M mlir/include/mlir/Conversion/AffineToStandard/AffineToStandard.h
M mlir/include/mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h
M mlir/include/mlir/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.h
M mlir/include/mlir/Conversion/ArmSMEToSCF/ArmSMEToSCF.h
M mlir/include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h
M mlir/include/mlir/Conversion/ComplexToLibm/ComplexToLibm.h
M mlir/include/mlir/Conversion/ComplexToStandard/ComplexToStandard.h
M mlir/include/mlir/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.h
M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
M mlir/include/mlir/Conversion/FuncToSPIRV/FuncToSPIRVPass.h
M mlir/include/mlir/Conversion/LinalgToStandard/LinalgToStandard.h
M mlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h
M mlir/include/mlir/Conversion/MathToLibm/MathToLibm.h
M mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h
M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h
M mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
M mlir/include/mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h
M mlir/include/mlir/Conversion/PDLToPDLInterp/PDLToPDLInterp.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.h
M mlir/include/mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h
M mlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
M mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
M mlir/include/mlir/Conversion/TensorToLinalg/TensorToLinalgPass.h
M mlir/include/mlir/Conversion/TensorToSPIRV/TensorToSPIRVPass.h
M mlir/include/mlir/Conversion/TosaToArith/TosaToArith.h
M mlir/include/mlir/Conversion/TosaToSCF/TosaToSCF.h
M mlir/include/mlir/Conversion/TosaToTensor/TosaToTensor.h
M mlir/include/mlir/Conversion/VectorToArmSME/VectorToArmSME.h
M mlir/include/mlir/Conversion/VectorToSPIRV/VectorToSPIRVPass.h
M mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
M mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
A mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Math/Transforms/Approximation.h
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
A mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMeshOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
R mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/Support/TypeID.h
M mlir/include/mlir/Target/Cpp/CppEmitter.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/Index.cpp
M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TensorToLinalg/TensorToLinalgPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
M mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensorPass.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/NVVMAttachTarget.cpp
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
A mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/SwapExtractSliceWithFillPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/IR/MeshOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
R mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Interfaces/FunctionInterfaces.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Support/TypeID.cpp
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
A mlir/test/Conversion/GPUToNVVM/gpu-arith-ops-to-nvvm.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Affine/unroll-jam.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Dialect/GPU/nvvm-attach-target.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/fold-empty-op.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
A mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Linalg/specialize-generic-ops-fail.mlir
M mlir/test/Dialect/Linalg/td/decompose-pack.mlir
M mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
A mlir/test/Dialect/Linalg/transform-op-tile-pack-unpack.mlir
M mlir/test/Dialect/Linalg/transform-pack-greedily.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/Math/ops.mlir
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SCF/canonicalize.mlir
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
A mlir/test/Dialect/SPIRV/IR/mesh-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
R mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
R mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-non-atomic.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
A mlir/test/Dialect/X86Vector/cvt-packed-f32-to-bf16.mlir
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
R mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/inline-asm-vector-avx512.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/mask-compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/rsqrt.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/vp2intersect-i32.mlir
A mlir/test/Integration/GPU/CUDA/command-line-arg.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
A mlir/test/Target/Cpp/file.mlir
M mlir/test/Target/Cpp/verbatim.mlir
M mlir/test/Target/LLVMIR/Import/alias.ll
M mlir/test/Target/LLVMIR/omptarget-depend-host-only.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
A mlir/test/Target/SPIRV/mesh-ops.mlir
M mlir/test/Target/SPIRV/terminator.mlir
M mlir/test/Transforms/loop-invariant-code-motion.mlir
M mlir/test/Transforms/scf-loop-unroll.mlir
M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/mlir-runner/math-polynomial-approx.mlir
M mlir/test/mlir-runner/test-expand-math-approx.mlir
M mlir/utils/vim/syntax/mlir.vim
M offload/libomptarget/OpenMP/Mapping.cpp
M offload/test/offloading/bug51781.c
A offload/test/offloading/fortran/target-custom-mapper.f90
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_taskdeps.cpp
M openmp/runtime/src/kmp_taskdeps.h
M runtimes/CMakeLists.txt
M utils/bazel/configure.bzl
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/a831b96cc2eb...ffab4eeb143d
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