[all-commits] [llvm/llvm-project] 61ea63: [Hexagon] Add support for decoding PLT symbols (#1...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Mon Feb 3 07:12:02 PST 2025
Branch: refs/heads/users/kparzysz/spr/m04-sema-checks
Home: https://github.com/llvm/llvm-project
Commit: 61ea63baafb503470fccef2712f0f9a449943bcd
https://github.com/llvm/llvm-project/commit/61ea63baafb503470fccef2712f0f9a449943bcd
Author: quic-areg <aregmi at quicinc.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M lld/test/ELF/hexagon-plt.s
M lld/test/ELF/hexagon-shared.s
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
A llvm/test/tools/llvm-objdump/ELF/Hexagon/plt.test
Log Message:
-----------
[Hexagon] Add support for decoding PLT symbols (#123425)
Describes PLT entries for hexagon.
Commit: 46f9cddfd7e40998422d1e34a3f1193210ee2fb8
https://github.com/llvm/llvm-project/commit/46f9cddfd7e40998422d1e34a3f1193210ee2fb8
Author: Sebastian Pop <568397+sebpop at users.noreply.github.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/AA.ll
M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
M llvm/test/Analysis/DependenceAnalysis/Constraints.ll
M llvm/test/Analysis/DependenceAnalysis/Coupled.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/DependenceAnalysis/Dump.ll
M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
M llvm/test/Analysis/DependenceAnalysis/GCD.ll
M llvm/test/Analysis/DependenceAnalysis/Invariant.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
M llvm/test/Analysis/DependenceAnalysis/MIVMaxLevelThreshold.ll
M llvm/test/Analysis/DependenceAnalysis/MismatchingNestLevels.ll
M llvm/test/Analysis/DependenceAnalysis/NonAffineExpr.ll
M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
M llvm/test/Analysis/DependenceAnalysis/PR21585.ll
M llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
M llvm/test/Analysis/DependenceAnalysis/PreliminaryNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
M llvm/test/Analysis/DependenceAnalysis/Separability.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheck.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/StrongSIV.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
M llvm/test/Analysis/DependenceAnalysis/UsefulGEP.ll
M llvm/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
M llvm/test/Analysis/DependenceAnalysis/ZIV.ll
M llvm/test/Analysis/DependenceAnalysis/lcssa.ll
M llvm/test/Analysis/DependenceAnalysis/new-pm-invalidation.ll
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
[DA] enable update_analyze_test_checks.py (#123435)
Modify the DA pretty printer to match the output of other analysis
passes. This enables update_analyze_test_checks.py to also work on DA
tests. Auto generate all the Dependence Analysis tests.
Commit: 956c0707d9098499a2682297b71f46b0a562eed9
https://github.com/llvm/llvm-project/commit/956c0707d9098499a2682297b71f46b0a562eed9
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor-invalid.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Change the start and size of slice to tosa shape type (#124209)
Update to use getConstShapeValue to collect shape information along the
graph.
Change-Id: Ic6fc2341e3bcfbec06a1d08986e26dd08573bd9c
Co-authored-by: TatWai Chong <tatwai.chong at arm.com>
Commit: 4479a2273a12b40f56bb8399f0ffe7e61c63c83f
https://github.com/llvm/llvm-project/commit/4479a2273a12b40f56bb8399f0ffe7e61c63c83f
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
A llvm/test/Analysis/DependenceAnalysis/PR31848.ll
Log Message:
-----------
[DA] add testcase (#116631)
Make sure the testcase for this bug continues to work:
https://github.com/llvm/llvm-project/issues/31196
Commit: 5921295dcaa1ad514d79e0ee824b9df1c077a2d0
https://github.com/llvm/llvm-project/commit/5921295dcaa1ad514d79e0ee824b9df1c077a2d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
Log Message:
-----------
Revert "[SLP] getSpillCost - fully populate IntrinsicCostAttributes to improve cost analysis." (#124962)
Reverts llvm/llvm-project#124129 as its currently causing a regression at #124499 - avoids the regression until a proper fix can be added to getSpillCost
Commit: 8a86e6aefead228a75107c813c282557425f0987
https://github.com/llvm/llvm-project/commit/8a86e6aefead228a75107c813c282557425f0987
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Constify a couple of methods used during cloning (#124994)
This also helps ensure we don't inadvartently create map entries
by forcing use of at() instead of operator[].
Commit: 774b12c4a06bd68f314bd741be0eb77a1cb49b7d
https://github.com/llvm/llvm-project/commit/774b12c4a06bd68f314bd741be0eb77a1cb49b7d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] Initialize AllocInfoIter and CallSitesIter (NFC) (#124972)
This patch initializes AllocInfoIter and CallSitesIter to their
respective end(). I'm doing this not because I'm worried about
uninitialized iterators, but because the resulting code looks shorter
and makes it clear which data structure each iterator is associated
with.
Commit: fdd4e9f1012c01403eeb31fd0297a13397dc40a2
https://github.com/llvm/llvm-project/commit/fdd4e9f1012c01403eeb31fd0297a13397dc40a2
Author: Prabhuk <prabhukr at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/uefi-constructed-args.c
M clang/test/Driver/unsupported-target-arch.c
Log Message:
-----------
[clang] UEFI handle unsupported triples. (#124824)
The only architecture currently being supported (still a WIP) is
x86_64. Other UEFI triples targeting other architectures will now
report an `unknown target triple` error.
Commit: 62f6d637c015a6fcf6e493e25e91f5d833da999f
https://github.com/llvm/llvm-project/commit/62f6d637c015a6fcf6e493e25e91f5d833da999f
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
Log Message:
-----------
[libc++] Add clang-21 to failing tests on Windows (#124955)
After we switched to LLVM version 21, some libc++ tests started failing
on Windows. This patch adds the clang-21 condition to XFAIL to fix the
issue.
Commit: e094c0fa677851786b7bdf53bedd11e0f4a59e35
https://github.com/llvm/llvm-project/commit/e094c0fa677851786b7bdf53bedd11e0f4a59e35
Author: vporpo <vporpodas at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
A llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Don't vectorize when instructions repeat (#124479)
This patch adds a legality check that checks for repeated instrs in a
bundle and won't vectorize if such pattern is found.
Commit: f0d05b099dafda89df4c971b64b2051c33db5da1
https://github.com/llvm/llvm-project/commit/f0d05b099dafda89df4c971b64b2051c33db5da1
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
Log Message:
-----------
[asan][test] Attempt to fix suppressions-alloc-dealloc-mismatch.cpp on Darwin (#124987)
Add %env_asan_opts=alloc_dealloc_mismatch=1 since it is disabled by
default.
rdar://143830493
Commit: de7438e472839df63e1f10478436c2f15b8e4184
https://github.com/llvm/llvm-project/commit/de7438e472839df63e1f10478436c2f15b8e4184
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
A llvm/test/CodeGen/NVPTX/upgrade-nvvm-annotations.ll
Log Message:
-----------
[NVPTX] Auto-Upgrade some nvvm.annotations to attributes (#119261)
Add a new AutoUpgrade function to convert some legacy nvvm.annotations
metadata to function level attributes. These attributes are quicker to
look-up so improve compile time and are more idiomatic than using
metadata which should not include required information that changes the
meaning of the program.
Currently supported annotations are:
- !"kernel" -> ptx_kernel calling convention
- !"align" -> alignstack parameter attributes (return not yet supported)
Commit: cdc09a118a7107b8e13ba5a254d3d794f51f9818
https://github.com/llvm/llvm-project/commit/cdc09a118a7107b8e13ba5a254d3d794f51f9818
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRef.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Interfaces/Utils/CMakeLists.txt
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
A mlir/test/Dialect/MemRef/int-range-inference.mlir
A mlir/test/Dialect/Tensor/int-range-inference.mlir
Log Message:
-----------
[mlir][IntRangeInference] Infer values for {memref,tensor}.dim (#122945)
Implement the integer range inference niterface for memref.dim and
tetnor.dim using shared code. The inference will infer the `dim` of
dynamic dimensions to [0, index_max] and take the union of all the
dimensions that the `dim` argument could be validly referring to.
Commit: b32e55df246e26f3ea8edc65e92e4c19d2658f0c
https://github.com/llvm/llvm-project/commit/b32e55df246e26f3ea8edc65e92e4c19d2658f0c
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Stop using ccache (#124415)
Using ccache relies on the GitHub Actions Cache, which may be
susceptible to cache poisoning. See
https://adnanthekhan.com/2024/05/06/the-monsters-in-your-build-cache-github-actions-cache-poisoning/
Even though these attacks may be difficult, it's better to err on the
side of caution and ensure that the build environment for our releases
is as isolated as possible. Additionally, ccache was only being used for
the stage1 build, which is a small part of the overall build, so the
speed up from using it was not that large.
Commit: 69c24684f66dda2e804853baf178ec16cb14fe8f
https://github.com/llvm/llvm-project/commit/69c24684f66dda2e804853baf178ec16cb14fe8f
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M bolt/test/AArch64/pad-before-funcs.s
Log Message:
-----------
[BOLT] Fix test. NFC (#124851)
Keep output files different for multiple tool invocations. Otherwise, it
causes issues with our internal testing infra.
Commit: 3c6aa04cf4dee65113e2a780b9f90b36bb4c4e04
https://github.com/llvm/llvm-project/commit/3c6aa04cf4dee65113e2a780b9f90b36bb4c4e04
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
Log Message:
-----------
[CodeGenPrepare] Replace deleted ext instr with the promoted value. (#71058)
This PR replaces the deleted ext with the promoted value in `AddrMode`.
Fixes #70938.
Commit: 00c096e604ad3a5244af06602556f8de867e36c4
https://github.com/llvm/llvm-project/commit/00c096e604ad3a5244af06602556f8de867e36c4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
A clang/test/Analysis/anonymous-decls.cpp
R clang/test/Analysis/anonymous-parameter.cpp
Log Message:
-----------
[clang] StmtPrinter: Handle DeclRefExpr to a Decomposition (#125001)
A DeclRefExpr could never refer to a Decomposition in valid C++ code,
but somehow the Analyzer creates these entities and then it tries to
print them.
There is no sensible answer here, so we print 'decomposition' followed
by the names of all of its bindings, separated by dashes.
Commit: a8d4335ee08b18068eb913528b963590f510d0b4
https://github.com/llvm/llvm-project/commit/a8d4335ee08b18068eb913528b963590f510d0b4
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang][AIX] Handle more trig functions with complex argument to have consistent results in folding (#124203)
This patch extends 71d4f34 to all trig functions that take complex
arguments. On AIX, the `libm` routines are called in compile time
folding instead of the STL routines.
Commit: 59613ac2371badc5ada8ddb17446a985ec1eca9a
https://github.com/llvm/llvm-project/commit/59613ac2371badc5ada8ddb17446a985ec1eca9a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/wait4.cpp
Log Message:
-----------
Revert "[asan] Enable wait4 test on Android" (#125011)
Reverts llvm/llvm-project#124879
Commit: a3a3e6997bd7bd82cce6737c1315019704a846ed
https://github.com/llvm/llvm-project/commit/a3a3e6997bd7bd82cce6737c1315019704a846ed
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
A llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
A llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard-attrs.mir
M llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard.mir
M llvm/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mir
Log Message:
-----------
[AMDGPU] Rewrite GFX12 SGPR hazard handling to dedicated pass (#118750)
- Algorithm operates over whole IR to attempt to minimize waits.
- Add support for VALU->VALU SGPR hazards via VA_SDST/VA_VCC.
Commit: 6c3bf341144dbaf6dc3f91301b52ffacfea55726
https://github.com/llvm/llvm-project/commit/6c3bf341144dbaf6dc3f91301b52ffacfea55726
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof_imported_internal.ll
A llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
Log Message:
-----------
[MemProf] Fix summary identification for imported locals (#124659)
When we apply cloning decisions in the ThinLTO backend, we need to find
the corresponding summary for each function in the IR, and in some cases
for callee functions. This is complicated when the function was a
promoted local, in which case the GUID was formed from the hash of the
original source file prepended to the function name. Those functions
can be identified by the fact that they were given a ".llvm." suffix
during promotion.
We previously didn't do this correctly for promoted locals imported from
other modules, as we only tried the current module source name. This led
to crashes, in particular when the current module also had an local
function of the same original name. In particular, we were attempting to
iterate through the wrong summary's callsites, and there were fewer than
in the actual function so we accessed data off the end (in a release
build with assertion checking off - with assertion checking on we double
check the stack ids and that would have failed). Even if we hadn't
crashed or hit an assert, we could have applied the wrong cloning
decisions, leading to unsats at link time.
Luckily, function importing attaches thinlto_src_file metadata
containing the original source file name to all imported functions. It
normally doesn't do this by default, however, it always does if MemProf
context disambiguation is enabled. Therefore, we can just look to see if
the function contains this metadata and if so use it to recreate the
original GUID.
A similar issue can occur when looking for the ValueInfo / GUID of
a direct tail call to see if we synthesized a callsite record for a
missing tail call frame. In that case, the callee function may be a
declaration, if we imported its caller but not the callee function
definition. Because imported declarations don't get the thinlto_src_file
metadata, we instead look at its caller (which works because this
happens very early in the backend before any inlining).
Commit: 751ae26b959c931efb6db84a27bf2a0444120094
https://github.com/llvm/llvm-project/commit/751ae26b959c931efb6db84a27bf2a0444120094
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
M compiler-rt/test/asan/TestCases/suppressions-exec-relative-location.cpp
M compiler-rt/test/asan/TestCases/suppressions-function.cpp
M compiler-rt/test/asan/TestCases/suppressions-interceptor.cpp
M compiler-rt/test/asan/TestCases/suppressions-library.cpp
Log Message:
-----------
[asan][android] XFAIL suppressions-alloc-dealloc-mismatch
Android is missing suppression file on device.
Follow up to #124197.
Commit: 1fcba94add45e38ce8d809d914dcb8bb4bd58b1d
https://github.com/llvm/llvm-project/commit/1fcba94add45e38ce8d809d914dcb8bb4bd58b1d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port a3a3e6997bd7
Commit: d6524c8dfa37634257050ca71d16e117b802181c
https://github.com/llvm/llvm-project/commit/d6524c8dfa37634257050ca71d16e117b802181c
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/test/Interpreter/simple-exception.cpp
M compiler-rt/lib/orc/macho_platform.cpp
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
Log Message:
-----------
Reapply "[ORC] Enable JIT support for the compact-unwind frame..." with fixes.
This reapplies 4f0325873fa (and follow up patches 26fc07d5d88, a001cc0e6cdc,
c9bc242e387, and fd174f0ff3e), which were reverted in 212cdc9a377 to
investigate bot failures (e.g.
https://lab.llvm.org/buildbot/#/builders/108/builds/8502)
The fix to address the bot failures was landed in d0052ebbe2e. This patch also
restricts construction of the UnwindInfoManager object to Apple platforms (as
it won't be used on other platforms).
Commit: b1bd73700a1fb6f450e0f6f9c405a9c8bde2cae7
https://github.com/llvm/llvm-project/commit/b1bd73700a1fb6f450e0f6f9c405a9c8bde2cae7
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
A llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
A llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.cpp
A llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
A llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
A llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp
Log Message:
-----------
[ORC] Add missing files from d6524c8dfa3.
Commit: 1fdf3340fbc8b6f2dcb3f63b9d6763933b3d3335
https://github.com/llvm/llvm-project/commit/1fdf3340fbc8b6f2dcb3f63b9d6763933b3d3335
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn
Log Message:
-----------
[gn build] Port d6524c8dfa37
Commit: edb7f6c0da17469f53f38b648380b49c4a5362fb
https://github.com/llvm/llvm-project/commit/edb7f6c0da17469f53f38b648380b49c4a5362fb
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Add more assertion checking to the edge removal helper (#125017)
Check a few unexpected cases (edge already removed, edge not in its
caller or callee edge lists).
Commit: 97a1f494a6778df24cfca817a30b73b1f0a7228a
https://github.com/llvm/llvm-project/commit/97a1f494a6778df24cfca817a30b73b1f0a7228a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
Log Message:
-----------
DAG: Avoid breaking legal vector_shuffle with multiple uses (#123712)
Previously this combine would undo AMDGPU's new custom legalization of
wide vector shuffles into 2 element pieces. The comment also
states that this combine is only done before legalization,
but the case with a build_vector source was unconditional.
We probably don't want to do this if the multiple uses are full
scalarization of the vector, but this seems to work well enough.
Scalarizing extracts should have folded out pre-legalize.
Commit: 60174804611a2543c757d274b293c139412ab41c
https://github.com/llvm/llvm-project/commit/60174804611a2543c757d274b293c139412ab41c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/MachineVerifier/AMDGPU/test_g_incompatible_range.mir
Log Message:
-----------
MachineVerifier: Fix check for range type (#124894)
We need to permit scalar extending loads with range annotations.
Fix expensive_checks failures after 11db7fb09b36e656a801117d6a2492133e9c2e46
Commit: 1cbfac04d078434f32c20285cfda2115cf53465a
https://github.com/llvm/llvm-project/commit/1cbfac04d078434f32c20285cfda2115cf53465a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/copy-phys-reg-fp64-to-gr64.mir
A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr64-to-fp64.mir
Log Message:
-----------
SystemZ: Handle copies between gr64 and fp64 (#124890)
I'm guessing based on tablegen definitions. I also don't
really understand how this could have been missing.
This defends against regressions in a future peephole-opt
patch.
Commit: 11026a8d8b03014665e18c5cf9a0f76c857ef85f
https://github.com/llvm/llvm-project/commit/11026a8d8b03014665e18c5cf9a0f76c857ef85f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachinePassManager.cpp
Log Message:
-----------
[CodeGen][NewPM] Preserve all MF analyses in MFPM (#124707)
Invalidation is already handled in the passes loop for MFAM, so all of
the rest analyses are preserved. (See `PassManager::run()`)
This won't change the number of invalidations, but will prevent needless
`MFAM::Invalidator::invalidate()` invocations made by results depending
on other results (since the invalidate shorts if `<AllAnalysesOn<MF>>`
is preserved)
Commit: c4a019747c98ad9326a675d3cb5a70311ba170a2
https://github.com/llvm/llvm-project/commit/c4a019747c98ad9326a675d3cb5a70311ba170a2
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/CMakeLists.txt
M clang/cmake/caches/Android.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
R clang/include/clang/ARCMigrate/ARCMT.h
R clang/include/clang/ARCMigrate/ARCMTActions.h
R clang/include/clang/ARCMigrate/FileRemapper.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
R clang/lib/ARCMigrate/ARCMT.cpp
R clang/lib/ARCMigrate/ARCMTActions.cpp
R clang/lib/ARCMigrate/CMakeLists.txt
R clang/lib/ARCMigrate/FileRemapper.cpp
R clang/lib/ARCMigrate/Internals.h
R clang/lib/ARCMigrate/ObjCMT.cpp
R clang/lib/ARCMigrate/PlistReporter.cpp
R clang/lib/ARCMigrate/TransAPIUses.cpp
R clang/lib/ARCMigrate/TransARCAssign.cpp
R clang/lib/ARCMigrate/TransAutoreleasePool.cpp
R clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
R clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp
R clang/lib/ARCMigrate/TransGCAttrs.cpp
R clang/lib/ARCMigrate/TransGCCalls.cpp
R clang/lib/ARCMigrate/TransProperties.cpp
R clang/lib/ARCMigrate/TransProtectedScope.cpp
R clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
R clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
R clang/lib/ARCMigrate/TransUnusedInitDelegate.cpp
R clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
R clang/lib/ARCMigrate/TransformActions.cpp
R clang/lib/ARCMigrate/Transforms.cpp
R clang/lib/ARCMigrate/Transforms.h
M clang/lib/CMakeLists.txt
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
R clang/test/ARCMT/Common.h
R clang/test/ARCMT/GC-check-warn-nsalloc.m
R clang/test/ARCMT/GC-check.m
R clang/test/ARCMT/GC-no-arc-runtime.m
R clang/test/ARCMT/GC-no-arc-runtime.m.result
R clang/test/ARCMT/GC-no-finalize-removal.m
R clang/test/ARCMT/GC-no-finalize-removal.m.result
R clang/test/ARCMT/GC.h
R clang/test/ARCMT/GC.m
R clang/test/ARCMT/GC.m.result
R clang/test/ARCMT/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Buried/Treasure.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Module.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/NotInModule.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Sub.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Sub2.h
R clang/test/ARCMT/Inputs/Module.framework/Module
R clang/test/ARCMT/Inputs/Module.framework/PrivateHeaders/ModulePrivate.h
R clang/test/ARCMT/Inputs/module.modulemap
R clang/test/ARCMT/Inputs/test.h
R clang/test/ARCMT/Inputs/test.h.result
R clang/test/ARCMT/Inputs/test1.m.in
R clang/test/ARCMT/Inputs/test1.m.in.result
R clang/test/ARCMT/Inputs/test2.m.in
R clang/test/ARCMT/Inputs/test2.m.in.result
R clang/test/ARCMT/Inputs/with space/test.h
R clang/test/ARCMT/Inputs/with space/test.h.result
R clang/test/ARCMT/Inputs/with space/test1.m.in
R clang/test/ARCMT/Inputs/with space/test1.m.in.result
R clang/test/ARCMT/Inputs/with space/test2.m.in
R clang/test/ARCMT/Inputs/with space/test2.m.in.result
R clang/test/ARCMT/allowlisted/Inputs/header1.h
R clang/test/ARCMT/allowlisted/header1.h
R clang/test/ARCMT/allowlisted/header1.h.result
R clang/test/ARCMT/allowlisted/header2.h
R clang/test/ARCMT/allowlisted/header2.h.result
R clang/test/ARCMT/allowlisted/objcmt-with-allowlist-impl.m
R clang/test/ARCMT/allowlisted/objcmt-with-allowlist-impl.m.result
R clang/test/ARCMT/allowlisted/objcmt-with-allowlist.m
R clang/test/ARCMT/api.m
R clang/test/ARCMT/api.m.result
R clang/test/ARCMT/assign-prop-no-arc-runtime.m
R clang/test/ARCMT/assign-prop-no-arc-runtime.m.result
R clang/test/ARCMT/assign-prop-with-arc-runtime.m
R clang/test/ARCMT/assign-prop-with-arc-runtime.m.result
R clang/test/ARCMT/atautorelease-2.m
R clang/test/ARCMT/atautorelease-2.m.result
R clang/test/ARCMT/atautorelease-3.m
R clang/test/ARCMT/atautorelease-3.m.result
R clang/test/ARCMT/atautorelease-check.m
R clang/test/ARCMT/atautorelease.m
R clang/test/ARCMT/atautorelease.m.result
R clang/test/ARCMT/autoreleases.m
R clang/test/ARCMT/autoreleases.m.result
R clang/test/ARCMT/block_copy_release.m
R clang/test/ARCMT/block_copy_release.m.result
R clang/test/ARCMT/check-api.m
R clang/test/ARCMT/check-with-pch.m
R clang/test/ARCMT/check-with-serialized-diag.m
R clang/test/ARCMT/checking-in-arc.m
R clang/test/ARCMT/checking.m
R clang/test/ARCMT/cxx-checking.mm
R clang/test/ARCMT/cxx-rewrite.mm
R clang/test/ARCMT/cxx-rewrite.mm.result
R clang/test/ARCMT/dealloc.m
R clang/test/ARCMT/dealloc.m.result
R clang/test/ARCMT/designated-init-in-header/designated-init-in-header.m
R clang/test/ARCMT/designated-init-in-header/file1.m.in
R clang/test/ARCMT/designated-init-in-header/file2.m.in
R clang/test/ARCMT/designated-init-in-header/file2.m.in.result
R clang/test/ARCMT/designated-init-in-header/header1.h
R clang/test/ARCMT/designated-init-in-header/header1.h.result
R clang/test/ARCMT/dispatch.m
R clang/test/ARCMT/dispatch.m.result
R clang/test/ARCMT/driver-migrate.m
R clang/test/ARCMT/init.m
R clang/test/ARCMT/init.m.result
R clang/test/ARCMT/lit.local.cfg
R clang/test/ARCMT/migrate-emit-errors.m
R clang/test/ARCMT/migrate-on-pch-and-module.m
R clang/test/ARCMT/migrate-plist-output.m
R clang/test/ARCMT/migrate-space-in-path.m
R clang/test/ARCMT/migrate-with-pch.m
R clang/test/ARCMT/migrate.m
R clang/test/ARCMT/no-canceling-bridge-to-bridge-cast.m
R clang/test/ARCMT/nonobjc-to-objc-cast-2.m
R clang/test/ARCMT/nonobjc-to-objc-cast.m
R clang/test/ARCMT/nonobjc-to-objc-cast.m.result
R clang/test/ARCMT/objcmt-arc-cf-annotations.m
R clang/test/ARCMT/objcmt-arc-cf-annotations.m.result
R clang/test/ARCMT/objcmt-atomic-property.m
R clang/test/ARCMT/objcmt-atomic-property.m.result
R clang/test/ARCMT/objcmt-boxing.m
R clang/test/ARCMT/objcmt-boxing.m.result
R clang/test/ARCMT/objcmt-designated-initializer.m
R clang/test/ARCMT/objcmt-designated-initializer.m.result
R clang/test/ARCMT/objcmt-instancetype-2.m
R clang/test/ARCMT/objcmt-instancetype-2.m.result
R clang/test/ARCMT/objcmt-instancetype-unnecessary-diff.m
R clang/test/ARCMT/objcmt-instancetype.m
R clang/test/ARCMT/objcmt-instancetype.m.result
R clang/test/ARCMT/objcmt-invalid-code.mm
R clang/test/ARCMT/objcmt-invalid-code.mm.result
R clang/test/ARCMT/objcmt-migrate-all.m
R clang/test/ARCMT/objcmt-migrate-all.m.result
R clang/test/ARCMT/objcmt-ns-enum-crash.m
R clang/test/ARCMT/objcmt-ns-enum-crash.m.result
R clang/test/ARCMT/objcmt-ns-macros.m
R clang/test/ARCMT/objcmt-ns-macros.m.result
R clang/test/ARCMT/objcmt-ns-nonatomic-iosonly.m
R clang/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result
R clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m
R clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result
R clang/test/ARCMT/objcmt-numeric-literals.m
R clang/test/ARCMT/objcmt-numeric-literals.m.result
R clang/test/ARCMT/objcmt-property-availability.m
R clang/test/ARCMT/objcmt-property-availability.m.result
R clang/test/ARCMT/objcmt-property-dot-syntax.m
R clang/test/ARCMT/objcmt-property-dot-syntax.m.result
R clang/test/ARCMT/objcmt-property.m
R clang/test/ARCMT/objcmt-property.m.result
R clang/test/ARCMT/objcmt-protocol-conformance.m
R clang/test/ARCMT/objcmt-protocol-conformance.m.result
R clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m
R clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m.result
R clang/test/ARCMT/objcmt-subscripting-literals.m
R clang/test/ARCMT/objcmt-subscripting-literals.m.result
R clang/test/ARCMT/objcmt-subscripting-unavailable.m
R clang/test/ARCMT/objcmt-subscripting-unavailable.m.result
R clang/test/ARCMT/objcmt-undefined-ns-macros.m
R clang/test/ARCMT/objcmt-undefined-ns-macros.m.result
R clang/test/ARCMT/objcmt-with-pch.m
R clang/test/ARCMT/objcmt-with-pch.m.result
R clang/test/ARCMT/protected-scope.m
R clang/test/ARCMT/protected-scope.m.result
R clang/test/ARCMT/releases-driver.m
R clang/test/ARCMT/releases-driver.m.result
R clang/test/ARCMT/releases.m
R clang/test/ARCMT/releases.m.result
R clang/test/ARCMT/remap-applying.c
R clang/test/ARCMT/remap-applying.c.result
R clang/test/ARCMT/remove-dealloc-method.m
R clang/test/ARCMT/remove-dealloc-method.m.result
R clang/test/ARCMT/remove-dealloc-zerouts.m
R clang/test/ARCMT/remove-dealloc-zerouts.m.result
R clang/test/ARCMT/remove-statements.m
R clang/test/ARCMT/remove-statements.m.result
R clang/test/ARCMT/retains.m
R clang/test/ARCMT/retains.m.result
R clang/test/ARCMT/rewrite-block-var.m
R clang/test/ARCMT/rewrite-block-var.m.result
R clang/test/ARCMT/safe-arc-assign.m
R clang/test/ARCMT/safe-arc-assign.m.result
R clang/test/ARCMT/verify.m
R clang/test/ARCMT/with-arc-mode-modify.m
R clang/test/ARCMT/with-arc-mode-modify.m.result
M clang/test/CMakeLists.txt
M clang/test/ClangScanDeps/strip-input-args.m
R clang/test/Driver/objc-sdk-migration-options.m
M clang/test/Misc/warning-flags.c
M clang/test/Rewriter/lit.local.cfg
R clang/test/Rewriter/missing-dllimport.c
A clang/test/Sema/missing-dllimport.c
M clang/test/lit.site.cfg.py.in
M clang/tools/CMakeLists.txt
R clang/tools/arcmt-test/CMakeLists.txt
R clang/tools/arcmt-test/arcmt-test.cpp
R clang/tools/c-arcmt-test/CMakeLists.txt
R clang/tools/c-arcmt-test/c-arcmt-test.c
R clang/tools/libclang/ARCMigrate.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/libclang.map
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/utils/analyzer/entrypoint.py
M flang/docs/FlangDriver.md
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/ARCMigrate/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/ARCMigrate/enable.gni
M llvm/utils/gn/secondary/clang/lib/FrontendTool/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
R llvm/utils/gn/secondary/clang/tools/arcmt-test/BUILD.gn
R llvm/utils/gn/secondary/clang/tools/c-arcmt-test/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h
Log Message:
-----------
[Clang] Remove ARCMigrate (#119269)
In the discussion around #116792, @rjmccall mentioned that ARCMigrate
has been obsoleted and that we could go ahead and remove it from Clang,
so this patch does just that.
Commit: 4b2d6157744ca7693e6e904bd53d435df1ff6ee8
https://github.com/llvm/llvm-project/commit/4b2d6157744ca7693e6e904bd53d435df1ff6ee8
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
Log Message:
-----------
[DA] use alias analysis cross iteration mode (#116628)
This patch fixes two bugs:
https://github.com/llvm/llvm-project/issues/41488
https://github.com/llvm/llvm-project/issues/53942
The dependence analysis assumes that the base address of array accesses
is invariant across loop iterations. In both bugs the base address
evolves following loop iterations: the base address flip-flops between
two different memory objects.
The patch uses the cross iteration mode of alias analysis to disambiguate the
base objects.
Commit: dccd27112722109d2e2f03e8da9ce8690f06e11b
https://github.com/llvm/llvm-project/commit/dccd27112722109d2e2f03e8da9ce8690f06e11b
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Sanitizers.h
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check-inline.c
M clang/test/CodeGen/allow-ubsan-check.c
Log Message:
-----------
[ubsan] Connect -fsanitize-skip-hot-cutoff to LowerAllowCheckPass<cutoffs> (#124857)
This adds the plumbing between -fsanitize-skip-hot-cutoff (introduced in
https://github.com/llvm/llvm-project/pull/121619) and
LowerAllowCheckPass<cutoffs> (introduced in
https://github.com/llvm/llvm-project/pull/124211).
The net effect is that -fsanitize-skip-hot-cutoff now combines the
functionality of -ubsan-guard-checks and
-lower-allow-check-percentile-cutoff (though this patch does not remove
those yet), and generalizes the latter to allow per-sanitizer cutoffs.
Note: this patch replaces Intrinsic::allow_ubsan_check's
SanitizerHandler parameter with SanitizerOrdinal; this is necessary
because the hot cutoffs are specified in terms of SanitizerOrdinal
(e.g., null, alignment), not SanitizerHandler (e.g., TypeMismatch).
Likewise, CodeGenFunction::EmitCheck is changed to emit
allow_ubsan_check() for each individual check.
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: f50ca2e8a6180fe8bdd7364ca5af58b6784725f3
https://github.com/llvm/llvm-project/commit/f50ca2e8a6180fe8bdd7364ca5af58b6784725f3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Remove more references to ARCMigrate (#125027)
c4a019747c98ad9326a675d3cb5a70311ba170a2 removed arc_migrate targets but
accidentally left a few references to the now deleted target. Remove
those.
Commit: 1f38d38d544b090fd7b9b63454d8310eff0bb7d9
https://github.com/llvm/llvm-project/commit/1f38d38d544b090fd7b9b63454d8310eff0bb7d9
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Fix documentation table formatting from #118750 (NFC)
Commit: ab9e447fb17029573a517ac14c4c0f8c0733c3aa
https://github.com/llvm/llvm-project/commit/ab9e447fb17029573a517ac14c4c0f8c0733c3aa
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for mapa MLIR Ops (#124514)
Adds `mapa` and `mapa.shared.cluster` MLIR Ops to generate mapa
instructions.
`mapa` - Map the address of the shared variable in the target CTA.
- `mapa` - source is a register containing generic address pointing to
shared memory.
- `mapa.shared.cluster` - source is a shared memory variable or a
register containing a valid shared memory address.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-mapa
Commit: 31fa4e0b32a5d0a4711103ba31d24da38d7aa57d
https://github.com/llvm/llvm-project/commit/31fa4e0b32a5d0a4711103ba31d24da38d7aa57d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port cdc09a118a7107b8e13ba5a254d3d794f51f9818 (#125030)
Commit: fd94c851222e984912948ef46e0329cc32d44105
https://github.com/llvm/llvm-project/commit/fd94c851222e984912948ef46e0329cc32d44105
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port c4a019747c98 more
c4a019747c98 did a great job updating the GN build files, but it
missed this one detail.
Commit: 928cad49beec0120686478f502899222e836b545
https://github.com/llvm/llvm-project/commit/928cad49beec0120686478f502899222e836b545
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Sanitizers.h
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check-inline.c
M clang/test/CodeGen/allow-ubsan-check.c
Log Message:
-----------
Revert "[ubsan] Connect -fsanitize-skip-hot-cutoff to LowerAllowCheckPass<cutoffs>" (#125032)
Reverts llvm/llvm-project#124857 due to buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/46/builds/11310)
Commit: 7fd84264eda6546950883a20c2f948eb1a560f4f
https://github.com/llvm/llvm-project/commit/7fd84264eda6546950883a20c2f948eb1a560f4f
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][Sema] Handle pointer and reference type more robustly in HeuristicResolver::resolveMemberExpr() (#124451)
Fixes https://github.com/llvm/llvm-project/issues/124450
Commit: dd3edc8365112c47ea01cc942c8223749d007608
https://github.com/llvm/llvm-project/commit/dd3edc8365112c47ea01cc942c8223749d007608
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
Log Message:
-----------
[CodeGen] Add Register::stackSlotIndex(). Replace uses of Register::stackSlot2Index. NFC (#125028)
Commit: 8fcb1263f42657ecbc355beff12500dfbcddee17
https://github.com/llvm/llvm-project/commit/8fcb1263f42657ecbc355beff12500dfbcddee17
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[PreISelIntrinsicLowering] Produce a memset_pattern16 libcall for llvm.experimental.memset.pattern when available (#120420)
This is to enable a transition of LoopIdiomRecognize to selecting the
llvm.experimental.memset.pattern intrinsic as requested in #118632 (as
opposed to supporting selection of the libcall or the intrinsic). As
such, although it _is_ a TODO to add costing considerations on whether
to lower to the libcall (when available) or expand directly, lacking
such logic is helpful at this stage in order to minimise any unexpected
code gen changes in this transition.
Commit: 83a8bb363ad578da67a7cb568460a3871ce0ad8b
https://github.com/llvm/llvm-project/commit/83a8bb363ad578da67a7cb568460a3871ce0ad8b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
Log Message:
-----------
[ReachingDefAnalysis] Use non-state Register::isPhysical. NFC
Commit: 3cf56b5f04cdec567cfab3975ac7b531422c1e2c
https://github.com/llvm/llvm-project/commit/3cf56b5f04cdec567cfab3975ac7b531422c1e2c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Remove some unused code in SymbolFileDWARF::ResolveFunction (#123206)
The purpose of this originally was to check for DWARF which refers to
garbage-collected functions (by checking whether we're able to get a
good address out of the function). The address check has been removed in
https://reviews.llvm.org/D112310, so the code computing it is not doing
anything.
Commit: b8d4ba674b6027891610bd3157ed79d01bd72cd3
https://github.com/llvm/llvm-project/commit/b8d4ba674b6027891610bd3157ed79d01bd72cd3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h
Log Message:
-----------
[bazel] Disable CLANG_ENABLE_OBJC_REWRITER (for #119269)
Commit: 473953a15fcf68f2a213e2fed7b47a2a690baff2
https://github.com/llvm/llvm-project/commit/473953a15fcf68f2a213e2fed7b47a2a690baff2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegisterScavenging.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
Log Message:
-----------
[CodeGen] Use non-static Register::virtRegIndex() instead of static Register::virtReg2Index. NFC (#125031)
These are the the ones where we already had a Register object being
used. Some places are still using unsigned which I did not convert.
Commit: ae3038379fa7f9a26179652ddd01122b4b49c917
https://github.com/llvm/llvm-project/commit/ae3038379fa7f9a26179652ddd01122b4b49c917
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIR-V] Avoid repeated map lookups. NFC (#125036)
Commit: fffa68ad325b01fb366d4b9f761fe49fa967b7ed
https://github.com/llvm/llvm-project/commit/fffa68ad325b01fb366d4b9f761fe49fa967b7ed
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update exception handling maintainer (#120585)
Nominate rnk as the new maintainer for exception handling.
Commit: 62bcbe62dd635ceaad25d2fb2c94e9914451dc99
https://github.com/llvm/llvm-project/commit/62bcbe62dd635ceaad25d2fb2c94e9914451dc99
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/MCA/InstrBuilder.cpp
Log Message:
-----------
[llvm-mca] Use MCRegister::id() to remove an implicit conversion. NFC
It might be worth plumbing MCRegister through this code, but it's
very often used as a index and would require many more calls to
id().
Commit: 2b7509e9885c9a5656bb3c201421e146a21fb88e
https://github.com/llvm/llvm-project/commit/2b7509e9885c9a5656bb3c201421e146a21fb88e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaARM.cpp
R clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
A clang/test/Sema/aarch64-incompat-sm-builtin-calls.cpp
Log Message:
-----------
[clang][SME] Account for C++ lambdas in SME builtin diagnostics (#124750)
A C++ lambda does not inherit attributes from the parent function. So
the SME builtin diagnostics should look at the lambda's attributes, not
the parent function's.
The fix is very simple and just adds the missing "AllowLambda" flag to
the function decl lookups.
Commit: 467b3d06c1fd072e8635278a88379b6eb483ae9c
https://github.com/llvm/llvm-project/commit/467b3d06c1fd072e8635278a88379b6eb483ae9c
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/LLVM/NVVM/Utils.h
Log Message:
-----------
[mlir] Apply ClangTidyLegacy finding (NFC)
virtual is redundant since the function is already declared override.
Commit: 956cfa69b153a0e798060f67e713790eeefebc04
https://github.com/llvm/llvm-project/commit/956cfa69b153a0e798060f67e713790eeefebc04
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/locale
M libcxx/src/locale.cpp
Log Message:
-----------
[libc++] Refactor num_get optimization to not be ABI breaking (#121690)
```
----------------------------------------------------
Benchmark old new
----------------------------------------------------
BM_num_get<bool> 81.8 ns 79.6 ns
BM_num_get<long> 80.2 ns 75.4 ns
BM_num_get<long long> 81.5 ns 76.4 ns
BM_num_get<unsigned short> 82.5 ns 78.4 ns
BM_num_get<unsigned int> 82.8 ns 78.6 ns
BM_num_get<unsigned long> 81.2 ns 78.1 ns
BM_num_get<unsigned long long> 83.6 ns 76.7 ns
BM_num_get<float> 119 ns 120 ns
BM_num_get<double> 113 ns 109 ns
BM_num_get<long double> 115 ns 119 ns
BM_num_get<void*> 147 ns 139 ns
```
Commit: 5c24847e7dba01dde230e18b39a3074022279c89
https://github.com/llvm/llvm-project/commit/5c24847e7dba01dde230e18b39a3074022279c89
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
R clang/test/SemaTemplate/GH55509.cpp
Log Message:
-----------
Revert "[clang] Track function template instantiation from definition (#112241)"
This reverts commit 07a0e2be86f33beb6d519a3d466b95c2257e93cb.
This change broke compiling Qt; see
https://github.com/llvm/llvm-project/pull/112241 for details.
Commit: 3bc2dade36cb14156ea2442e576d65ff5e5e1a50
https://github.com/llvm/llvm-project/commit/3bc2dade36cb14156ea2442e576d65ff5e5e1a50
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/docs/Vectorizers.rst
M llvm/docs/vplan-early-exit.dot
M llvm/docs/vplan-early-exit.png
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.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/uncountable-early-exit-vplan.ll
Log Message:
-----------
[LoopVectorize] Enable vectorisation of early exit loops with live-outs (#120567)
This work feeds part of PR
https://github.com/llvm/llvm-project/pull/88385, and adds support for
vectorising
loops with uncountable early exits and outside users of loop-defined
variables. When calculating the final value from an uncountable early
exit we need to calculate the vector lane that triggered the exit,
and hence determine the value at the point we exited.
All code for calculating the last value when exiting the loop early
now lives in a new vector.early.exit block, which sits between the
middle.split block and the original exit block. Doing this required
two fixes:
1. The vplan verifier incorrectly assumed that the block containing
a definition always dominates the block of the user. That's not true
if you can arrive at the use block from multiple incoming blocks.
This is possible for early exit loops where both the early exit and
the latch jump to the same block.
2. We were adding the new vector.early.exit to the wrong parent loop.
It needs to have the same parent as the actual early exit block from
the original loop.
I've added a new ExtractFirstActive VPInstruction that extracts the
first active lane of a vector, i.e. the lane of the vector predicate
that triggered the exit.
NOTE: The IR generated for dealing with live-outs from early exit
loops is unoptimised, as opposed to normal loops. This inevitably
leads to poor quality code, but this can be fixed up later.
Commit: 7939ce6295e7fc0214cd307f97dfccc0cabde381
https://github.com/llvm/llvm-project/commit/7939ce6295e7fc0214cd307f97dfccc0cabde381
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
A clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp
Log Message:
-----------
[AArch64] Add MSVC mangling for the __mfp8 type (#124968)
Fixes #124907
Commit: 3262863805d8a1de3e5c104d9daab82bf4a6d8d1
https://github.com/llvm/llvm-project/commit/3262863805d8a1de3e5c104d9daab82bf4a6d8d1
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp
Log Message:
-----------
[clang-tidy] Add C++ member function support to custom bugprone-unsafe-functions matches (#117165)
Before, C++ member functions in the format of ``Class instance;
instance.memberfn();`` were unable to be matched.
This PR adds support for this type of call, and it is matched in exactly
the same format as other functions (eg. ``::Class::memberfn`` qualified
name).
Commit: c75b251103a6acd785e6f43f640d7a08bd259c41
https://github.com/llvm/llvm-project/commit/c75b251103a6acd785e6f43f640d7a08bd259c41
Author: Lou <lou.knauer at sipearl.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/VNCoercion.h
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Utils/VNCoercion.cpp
M llvm/test/Transforms/GVN/vscale.ll
M llvm/test/Transforms/NewGVN/vscale.ll
Log Message:
-----------
[GVN] Load-store forwaring of scalable store to fixed load. (#124748)
When storing a scalable vector and loading a fixed-size vector, where
the
scalable vector is known to be larger based on vscale_range, perform
store-to-load forwarding through temporary @llvm.vector.extract calls.
InstCombine then folds the insert/extract pair away.
The usecase is shown in https://godbolt.org/z/KT3sMrMbd, which shows
that clang generates IR that matches this pattern when the
"arm_sve_vector_bits" attribute is used:
```c
typedef svfloat32_t svfloat32_fixed_t
__attribute__((arm_sve_vector_bits(512)));
struct svfloat32_wrapped_t {
svfloat32_fixed_t v;
};
static inline svfloat32_wrapped_t
add(svfloat32_wrapped_t a, svfloat32_wrapped_t b) {
return {svadd_f32_x(svptrue_b32(), a.v, b.v)};
}
svfloat32_wrapped_t
foo(svfloat32_wrapped_t a, svfloat32_wrapped_t b) {
// The IR pattern this patch matches is generated for this return:
return add(a, b);
}
```
Commit: b68b4f64a2bd2e0a22375cf89a4d655fc3667e11
https://github.com/llvm/llvm-project/commit/b68b4f64a2bd2e0a22375cf89a4d655fc3667e11
Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
[Driver][ASan] Refactor Clang-Driver "Sanitizer Bitcode" linking. (#123922)
ASan bitcode linking is currently available for HIPAMD,OpenMP and
OpenCL. Moving sanitizer specific common parts of logic to appropriate
API's so as to reduce code redundancy and maintainability.
Commit: 025541ddedd23e39d9394ea8a1e41a64dfbe4e94
https://github.com/llvm/llvm-project/commit/025541ddedd23e39d9394ea8a1e41a64dfbe4e94
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/test/Analysis/null-deref-path-notes.cpp
Log Message:
-----------
[analyzer] Relax assertion in BugReporterVisitors.cpp isInitializationOfVar (#125044)
If we see a variable declaration (aka. DeclStmt), and the VarRegion it
declared doesn't have Stack memspace, we assumed that it must be a local
static variable.
However, the declared variable may be an extern declaration of a global.
In this patch, let's admit that local extern declarations are a thing.
For the sake of completeness, I also added one more test for
thread_locals - which are implicitly considered statics btw. (the
`isStaticLocal()` correctly also considers thread locals as local
statics).
Fixes #124975
Commit: 355d0b186f178668b103068537e517f3d52ad639
https://github.com/llvm/llvm-project/commit/355d0b186f178668b103068537e517f3d52ad639
Author: gbMattN <146744444+gbMattN at users.noreply.github.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/docs/TypeSanitizer.rst
Log Message:
-----------
Fix link to TySan issues page (#125052)
Commit: 56ad54260c5b929af410d0969ebbffc05d90a126
https://github.com/llvm/llvm-project/commit/56ad54260c5b929af410d0969ebbffc05d90a126
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A llvm/test/Transforms/InstSimplify/constant-fold-inttoptr-add.ll
Log Message:
-----------
[InstSimplify] Add tests with inttoptr (add ..) ConstExprs.
Precommit tests for https://github.com/llvm/llvm-project/pull/124981.
Commit: 4b57236bace610d3b05dbba0e9f5b11ed3a9fbee
https://github.com/llvm/llvm-project/commit/4b57236bace610d3b05dbba0e9f5b11ed3a9fbee
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
Log Message:
-----------
[lldb][test] Add test for detecting CV-quals of explicit object member functions (#125053)
This is XFAILed for now until we find a good way to locate the
DW_AT_object_pointer of function declarations (a possible solution being
https://github.com/llvm/llvm-project/pull/124790).
Made it a shell test because I couldn't find any SBAPIs that i could
query to find the CV-qualifiers/etc. of member functions.
Commit: 8cdc16d350c9f162759689402db841685e9534b1
https://github.com/llvm/llvm-project/commit/8cdc16d350c9f162759689402db841685e9534b1
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
Log Message:
-----------
[MLIR][LLVM] Avoid importing broken calls and invokes (#125041)
This commit adds a check to catch calls/invokes that do not satisfy the
type constraints of their callee. This is not verified in LLVM IR but is
considered UB. Importing this into MLIR will lead to verification
errors, thus we should avoid this early on.
Commit: 9ebfee9d686b41f789b47a6acc7dcdba808fb3f9
https://github.com/llvm/llvm-project/commit/9ebfee9d686b41f789b47a6acc7dcdba808fb3f9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
Log Message:
-----------
[X86][AVX10] Disable m[no-]avx10.1 and switch m[no-]avx10.2 to alias of 512 bit options (#124511)
Per the feedback we got, we’d like to switch m[no-]avx10.2 to alias of
512 bit options and disable m[no-]avx10.1 due to they were alias of 256
bit options.
We also change -mno-avx10.[1,2]-512 to alias of 256 bit options to
disable both 256 and 512 instructions.
Commit: d553e5d4b601ead44ed5045156f5644aa26ae107
https://github.com/llvm/llvm-project/commit/d553e5d4b601ead44ed5045156f5644aa26ae107
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
Log Message:
-----------
[flang] Fix build break after bac95752748a4
.../flang/lib/Optimizer/Builder/FIRBuilder.cpp: In function ‘llvm::Small
Vector<mlir::Value> fir::factory::updateRuntimeExtentsForEmptyArrays(fir
::FirOpBuilder&, mlir::Location, mlir::ValueRange)’:
.../flang/lib/Optimizer/Builder/FIRBuilder.cpp:1786:10: error: could not
convert ‘newExtents’ from ‘SmallVector<[...],15>’ to ‘SmallVector<[...]
,6>’
1786 | return newExtents;
| ^~~~~~~~~~
| |
| SmallVector<[...],15>
Remove size from template parameters in the declaration of `newExtents`.
Commit: 104c2b86a5e9f4871707b25399735f0e5db58745
https://github.com/llvm/llvm-project/commit/104c2b86a5e9f4871707b25399735f0e5db58745
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
Log Message:
-----------
[TableGen][Docs] Accept "code" as a Type (#124902)
Previously the Type production did not include "code", which was only
accepted in one place in the grammar:
BodyItem: (`Type` | "code") `TokIdentifier` ["=" `Value`] ";"
However the parser implementation accepts "code" as a Type with only one
place where it is *not* allowed, corresponding to this production:
SimpleValue9: `BangOperator` ["<" `Type` ">"] "(" `ValueListNE` ")"
This patch changes the production for Type to include "code", thereby
fixing most occurrences of Type in the grammar, and documents the
restriction for BangOperator Types in the text instead of codifying it
in the grammar.
Commit: 2e581dc54b8983122528ade578824d70ec42b503
https://github.com/llvm/llvm-project/commit/2e581dc54b8983122528ade578824d70ec42b503
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang][NFC] make IR generation for ieee_next deterministic (#125055)
C++ function call argument evaluation order is unspecified. When piping
functions that generates IR, this creates indeterminism in the IR
generated by flang (e.g., depend which C++ compiler compiled flang).
While it has interesting fuzzing property for flang (Initially, most of
expression lowering used that pattern for binary operation where Fortran
also does not specify any order, and we did found bugs exposed by some
of the IR version and not the other), it is not ideal for lit tests (I
found this because of a CI failure when not properly adding `-DAG` [in
test updates](https://github.com/llvm/llvm-project/pull/124966)), and
many people also really value bit to bit reproducibility from compilers.
Commit: 29371d3b55c9b44f413e05de4844452c1e0e5be0
https://github.com/llvm/llvm-project/commit/29371d3b55c9b44f413e05de4844452c1e0e5be0
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 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/AffineParallelize.cpp
Log Message:
-----------
[AffineParallelize] expose options when creating pass (#124959)
Add a createAffineParallelizePass() that takes AffineParallelizeOptions
so it can be customized in a pass pipeline.
Commit: d246cc618adc52fdbd69d44a2a375c8af97b6106
https://github.com/llvm/llvm-project/commit/d246cc618adc52fdbd69d44a2a375c8af97b6106
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/idot2.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
Log Message:
-----------
PeepholeOpt: Do not add subregister indexes to reg_sequence operands (#124111)
Given the rest of the pass just gives up when it needs to compose
subregisters, folding a subregister extract directly into a reg_sequence
is counterproductive. Later fold attempts in the function will give up
on the subregister operand, preventing looking up through the reg_sequence.
It may still be profitable to do these folds if we start handling
the composes. There are some test regressions, but this mostly
looks better.
Commit: 8d506b9a5b7cfc9f6f574fc31ac2a013a8dd606a
https://github.com/llvm/llvm-project/commit/8d506b9a5b7cfc9f6f574fc31ac2a013a8dd606a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
Log Message:
-----------
PeepholeOpt: Simplify tracking of current op for copy and reg_sequence (#124224)
Set the starting index in the constructor instead of treating
0 as a special case. There should also be no need for bounds
checking in the rewrite.
Commit: 83ca720ef280256ffb0424947e4221e95b314a09
https://github.com/llvm/llvm-project/commit/83ca720ef280256ffb0424947e4221e95b314a09
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
Log Message:
-----------
PeepholeOpt: Remove check for reg_sequence def of subregister (#124512)
The verifier does not allow reg_sequence to have subregister defs,
even if undef.
Commit: fe1f6b4855ea5cb164524e137ecd891cf0734838
https://github.com/llvm/llvm-project/commit/fe1f6b4855ea5cb164524e137ecd891cf0734838
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
Log Message:
-----------
PeepholeOpt: Avoid double map lookup (#124531)
Commit: 0caba6c8dc2f6f0da61f30c169f59d40591cddbc
https://github.com/llvm/llvm-project/commit/0caba6c8dc2f6f0da61f30c169f59d40591cddbc
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanBase.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
A lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
A lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanBase.cpp
A lldb/test/API/functionalities/reverse-execution/Makefile
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
A lldb/test/API/functionalities/reverse-execution/main.c
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
Reland "[lldb] Implement basic support for reverse-continue" (#123906)" (#123945)
This reverts commit 22561cfb443267905d4190f0e2a738e6b412457f and fixes
b7b9ccf44988edf49886743ae5c3cf4184db211f (#112079).
The problem is that x86_64 and Arm 32-bit have memory regions above the
stack that are readable but not writeable. First Arm:
```
(lldb) memory region --all
<...>
[0x00000000fffcf000-0x00000000ffff0000) rw- [stack]
[0x00000000ffff0000-0x00000000ffff1000) r-x [vectors]
[0x00000000ffff1000-0xffffffffffffffff) ---
```
Then x86_64:
```
$ cat /proc/self/maps
<...>
7ffdcd148000-7ffdcd16a000 rw-p 00000000 00:00 0 [stack]
7ffdcd193000-7ffdcd196000 r--p 00000000 00:00 0 [vvar]
7ffdcd196000-7ffdcd197000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]
```
Compare this to AArch64 where the test did pass:
```
$ cat /proc/self/maps
<...>
ffffb87dc000-ffffb87dd000 r--p 00000000 00:00 0 [vvar]
ffffb87dd000-ffffb87de000 r-xp 00000000 00:00 0 [vdso]
ffffb87de000-ffffb87e0000 r--p 0002a000 00:3c 76927217 /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
ffffb87e0000-ffffb87e2000 rw-p 0002c000 00:3c 76927217 /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
fffff4216000-fffff4237000 rw-p 00000000 00:00 0 [stack]
```
To solve this, look up the memory region of the stack pointer (using
https://lldb.llvm.org/resources/lldbgdbremote.html#qmemoryregioninfo-addr)
and constrain the read to within that region. Since we know the stack is
all readable and writeable.
I have also added skipIfRemote to the tests, since getting them working
in that context is too complex to be worth it.
Memory write failures now display the range they tried to write, and
register write errors will show the name of the register where possible.
The patch also includes a workaround for a an issue where the test code
could mistake an `x` response that happens to begin with an `O` for an
output packet (stdout). This workaround will not be necessary one we
start using the [new
implementation](https://discourse.llvm.org/t/rfc-fixing-incompatibilties-of-the-x-packet-w-r-t-gdb/84288)
of the `x` packet.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 2bde7a1b7c777ae0f0303af9634dd6e4a98cab00
https://github.com/llvm/llvm-project/commit/2bde7a1b7c777ae0f0303af9634dd6e4a98cab00
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP][NFC] Remove dead uses of OpenMPVarMappingStackFrame (#125061)
This is left over from the old way reductions were implemented.
OpenMPVarMappingStackFrame doesn't actually do anything anymore so these
uses can go away.
Commit: d1033d15cb6b87007d22d93bb8bd8d39fd984b29
https://github.com/llvm/llvm-project/commit/d1033d15cb6b87007d22d93bb8bd8d39fd984b29
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/NVPTX/vectorizable-intrinsic.ll
Log Message:
-----------
[SLP][NFC]Autogenerate checks and remove undef, NFC
Commit: 59a9a8f2eadeadc2a1281fc7ae74054ca264abbb
https://github.com/llvm/llvm-project/commit/59a9a8f2eadeadc2a1281fc7ae74054ca264abbb
Author: Jan Voung <jvoung at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[clang][dataflow] Fix smart pointer accessor caching to handle aliases (#124964)
Check the canonical type in the matchers to handle aliases.
For example std::optional uses add_pointer_t<...>.
Commit: 2fbfaff00c68139cc33b2099484b2a0dd6e60244
https://github.com/llvm/llvm-project/commit/2fbfaff00c68139cc33b2099484b2a0dd6e60244
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
A llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
Log Message:
-----------
[AArch64][SME] Make getRegAllocationHints more specific for multi-vector loads (#123081)
getRegAllocationHints looks for ZPR2StridedOrContiguous load instructions
which are used by FORM_TRANSPOSED_REG_TUPLE pseudos and adds all
strided registers from this class to the list of hints.
This patch changes getRegAllocationHints to restrict this list:
- If the pseudo uses ZPRMul class, the first load must begin with a register
which is a multiple of 2 or 4.
- Only add a hint if it is part of a sequence of registers that do not already
have any live intervals.
This also contains changes to suggest hints when the load instructions and
the FORM_TRANSPOSED pseudo use multi-vectors of different lengths,
e.g. a pseudo with a 4-vector sequence of registers formed of one column
extracted from four 2-vector loads.
Commit: fc39617746695160cbd5fcef99e20e726f46c3d5
https://github.com/llvm/llvm-project/commit/fc39617746695160cbd5fcef99e20e726f46c3d5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll
Log Message:
-----------
[SLP][NFC]Update tests and remove undefs, NFC
Commit: 59da23232ae2824de278a7245d9b8183f9e9b27b
https://github.com/llvm/llvm-project/commit/59da23232ae2824de278a7245d9b8183f9e9b27b
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.cpp
Log Message:
-----------
[clang][CodeComplete] Use HeuristicResolver to resolve CXXDependentScopeMemberExpr (#124888)
Commit: 38cb69373eef033c219efc7aaa11b84d9b307e69
https://github.com/llvm/llvm-project/commit/38cb69373eef033c219efc7aaa11b84d9b307e69
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
Log Message:
-----------
[lldb][test] explicit-member-function-quals.cpp: fix triple flag
The compilation was failing because `triple` is an `Xclang` flag.
The failure was hidden by the XFAIL.
Commit: 9acaaebcdd39f7584a20388f1bad8a9f721bf9d0
https://github.com/llvm/llvm-project/commit/9acaaebcdd39f7584a20388f1bad8a9f721bf9d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/insert-binop-vector.ll
Log Message:
-----------
[VectorCombine][X86] Add insert(binop(x,y),binop(a,b),idx) test coverage for #124909
Commit: a3fdc36ac97fc7ed5e1e78564db8f58a6fa1103d
https://github.com/llvm/llvm-project/commit/a3fdc36ac97fc7ed5e1e78564db8f58a6fa1103d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[FunctionAttrs] Remove dead code code in nocaptures inference (NFCI)
An argument graph node without uses forms a trivial SCC, which will
already be handled by the preceding branch.
If a node in the SCC points to a node with empty uses, then it will
be part of a different SCC, and as such assumed to be capturing
if it does not have an attribute. There is no need to handle them
separately.
Commit: 83a1fe866640ac60c735a1427c41169067d31e05
https://github.com/llvm/llvm-project/commit/83a1fe866640ac60c735a1427c41169067d31e05
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
Log Message:
-----------
[CaptureTracking] Convert check to assertion (NFC)
If it's not the callee operand, it must be a data operand.
Commit: eb7e19998dd119ed391bd7f6882c393a712d571c
https://github.com/llvm/llvm-project/commit/eb7e19998dd119ed391bd7f6882c393a712d571c
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
Log Message:
-----------
[RISCV][VLOPT] Allow users that are passthrus if tail elements aren't demanded (#124066)
The motivation for this to allow reducing the vl when a user is a
ternary pseudo, where the third operand is tied and also acts as a
passthru.
When checking the users of an instruction, we currently bail if the user
is used as a passthru because all of its elements past vl will be used
for the tail.
We can allow passthru users if we know the tail of their result isn't
used, which we will have computed beforehand after #124530
It's worth noting that this is all irrelevant of the tail policy,
because tail agnostic still ends up using the passthru.
I've checked that SPEC CPU 2017 + llvm-test-suite pass with this (on
qemu with rvv_ta_all_1s=true)
Fixes #123760
Commit: 81f50989016a16f2d9e93cd220a89f1af851dfda
https://github.com/llvm/llvm-project/commit/81f50989016a16f2d9e93cd220a89f1af851dfda
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Passes/Pipelines.cpp
Log Message:
-----------
[flang] Enable optimizeEmptyElementals for BufferizeHLFIR pass. (#124982)
Enable the option under opt-for-speed. Elementals with shapes
like `(0, HUGE)` should run faster.
Commit: 6160a671380425594ffd2d38ff037eca77aada8c
https://github.com/llvm/llvm-project/commit/6160a671380425594ffd2d38ff037eca77aada8c
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
A flang/test/HLFIR/simplify-hlfir-intrinsics-reshape.fir
Log Message:
-----------
[flang] Inline hlfir.reshape as hlfir.elemental. (#124683)
This patch inlines hlfir.reshape for simple cases, such as
when there is no ORDER argument; and when PAD is present,
only the trivial types are handled.
Commit: 41f76070f3a44a32fd834e2ea528dff0856767a3
https://github.com/llvm/llvm-project/commit/41f76070f3a44a32fd834e2ea528dff0856767a3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
Log Message:
-----------
AMDGPU: Regenerate test checks
Commit: 3cef99f652422405f0b071ab9045c6f6a429b446
https://github.com/llvm/llvm-project/commit/3cef99f652422405f0b071ab9045c6f6a429b446
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Use early return in NoCallIntrinsic
Commit: 242aa8c743fe4344844753d8faf59744235319df
https://github.com/llvm/llvm-project/commit/242aa8c743fe4344844753d8faf59744235319df
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/test/HLFIR/assign-codegen.fir
Log Message:
-----------
[flang][hlfir] get rid of box when translating scalars to extented value (#125059)
The code in `translateToExtendedValue(hlfir::Entity)` was not getting
rid of the fir.box for scalars because isSimplyContiguous() returned
false for them.
This created issues downstream because utilities using
fir::ExtendedValue were not implemented to work with intrinsic scalars
fir.box.
fir.box of intrinsic scalars are not very commonly used as hlfir::Entity
but they are allowed and should work where accepted.
Commit: 5b65896ad66e1c63d3d5b708f0b748a860272b21
https://github.com/llvm/llvm-project/commit/5b65896ad66e1c63d3d5b708f0b748a860272b21
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/copy.h
M libcxx/include/__bit_reference
M libcxx/include/bitset
A libcxx/test/benchmarks/algorithms/copy.bench.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
Log Message:
-----------
[libc++] Optimize ranges::copy{, _n} for vector<bool>::iterator (#121013)
This PR optimizes the performance of `std::ranges::copy` and
`std::ranges::copy_n` specifically for `vector<bool>::iterator`,
addressing a subtask outlined in issue #64038. The optimizations yield
performance improvements of up to **2000x** for aligned copies and
**60x** for unaligned copies. Additionally, new tests have been added to
validate these enhancements.
- Aligned source-destination bits
ranges::copy
```
--------------------------------------------------------------------------
Benchmark Before After Improvement
--------------------------------------------------------------------------
bm_ranges_copy_vb_aligned/8 10.8 ns 1.42 ns 8x
bm_ranges_copy_vb_aligned/64 88.5 ns 2.28 ns 39x
bm_ranges_copy_vb_aligned/512 709 ns 1.95 ns 364x
bm_ranges_copy_vb_aligned/4096 5568 ns 5.01 ns 1111x
bm_ranges_copy_vb_aligned/32768 44754 ns 38.7 ns 1156x
bm_ranges_copy_vb_aligned/65536 91092 ns 73.2 ns 1244x
bm_ranges_copy_vb_aligned/102400 139473 ns 127 ns 1098x
bm_ranges_copy_vb_aligned/106496 189004 ns 81.5 ns 2319x
bm_ranges_copy_vb_aligned/110592 153647 ns 71.1 ns 2161x
bm_ranges_copy_vb_aligned/114688 159261 ns 70.2 ns 2269x
bm_ranges_copy_vb_aligned/118784 181910 ns 73.5 ns 2475x
bm_ranges_copy_vb_aligned/122880 174117 ns 76.5 ns 2276x
bm_ranges_copy_vb_aligned/126976 176020 ns 82.0 ns 2147x
bm_ranges_copy_vb_aligned/131072 180757 ns 137 ns 1319x
bm_ranges_copy_vb_aligned/135168 190342 ns 158 ns 1205x
bm_ranges_copy_vb_aligned/139264 192831 ns 103 ns 1872x
bm_ranges_copy_vb_aligned/143360 199627 ns 89.4 ns 2233x
bm_ranges_copy_vb_aligned/147456 203881 ns 88.6 ns 2301x
bm_ranges_copy_vb_aligned/151552 213345 ns 88.4 ns 2413x
bm_ranges_copy_vb_aligned/155648 216892 ns 92.9 ns 2335x
bm_ranges_copy_vb_aligned/159744 222751 ns 96.4 ns 2311x
bm_ranges_copy_vb_aligned/163840 225995 ns 173 ns 1306x
bm_ranges_copy_vb_aligned/167936 235230 ns 202 ns 1165x
bm_ranges_copy_vb_aligned/172032 244093 ns 131 ns 1863x
bm_ranges_copy_vb_aligned/176128 244434 ns 111 ns 2202x
bm_ranges_copy_vb_aligned/180224 249570 ns 108 ns 2311x
bm_ranges_copy_vb_aligned/184320 254538 ns 108 ns 2357x
bm_ranges_copy_vb_aligned/188416 261817 ns 113 ns 2317x
bm_ranges_copy_vb_aligned/192512 269923 ns 125 ns 2159x
bm_ranges_copy_vb_aligned/196608 273494 ns 210 ns 1302x
bm_ranges_copy_vb_aligned/200704 280035 ns 269 ns 1041x
bm_ranges_copy_vb_aligned/204800 293102 ns 231 ns 1269x
```
ranges::copy_n
```
--------------------------------------------------------------------------
Benchmark Before After Improvement
--------------------------------------------------------------------------
bm_ranges_copy_n_vb_aligned/8 11.8 ns 0.89 ns 13x
bm_ranges_copy_n_vb_aligned/64 91.6 ns 2.06 ns 44x
bm_ranges_copy_n_vb_aligned/512 718 ns 2.45 ns 293x
bm_ranges_copy_n_vb_aligned/4096 5750 ns 5.02 ns 1145x
bm_ranges_copy_n_vb_aligned/32768 45824 ns 40.9 ns 1120x
bm_ranges_copy_n_vb_aligned/65536 92267 ns 73.8 ns 1250x
bm_ranges_copy_n_vb_aligned/102400 143267 ns 125 ns 1146x
bm_ranges_copy_n_vb_aligned/106496 148625 ns 82.4 ns 1804x
bm_ranges_copy_n_vb_aligned/110592 154817 ns 72.0 ns 2150x
bm_ranges_copy_n_vb_aligned/114688 157953 ns 70.4 ns 2244x
bm_ranges_copy_n_vb_aligned/118784 162374 ns 71.5 ns 2270x
bm_ranges_copy_n_vb_aligned/122880 168638 ns 72.9 ns 2313x
bm_ranges_copy_n_vb_aligned/126976 175596 ns 76.6 ns 2292x
bm_ranges_copy_n_vb_aligned/131072 181164 ns 135 ns 1342x
bm_ranges_copy_n_vb_aligned/135168 184697 ns 157 ns 1176x
bm_ranges_copy_n_vb_aligned/139264 191395 ns 104 ns 1840x
bm_ranges_copy_n_vb_aligned/143360 194954 ns 88.3 ns 2208x
bm_ranges_copy_n_vb_aligned/147456 208917 ns 86.1 ns 2426x
bm_ranges_copy_n_vb_aligned/151552 211101 ns 87.2 ns 2421x
bm_ranges_copy_n_vb_aligned/155648 213175 ns 89.0 ns 2395x
bm_ranges_copy_n_vb_aligned/159744 218988 ns 86.7 ns 2526x
bm_ranges_copy_n_vb_aligned/163840 225263 ns 156 ns 1444x
bm_ranges_copy_n_vb_aligned/167936 230725 ns 184 ns 1254x
bm_ranges_copy_n_vb_aligned/172032 235795 ns 119 ns 1981x
bm_ranges_copy_n_vb_aligned/176128 241145 ns 101 ns 2388x
bm_ranges_copy_n_vb_aligned/180224 250680 ns 99.5 ns 2519x
bm_ranges_copy_n_vb_aligned/184320 262954 ns 99.7 ns 2637x
bm_ranges_copy_n_vb_aligned/188416 258584 ns 103 ns 2510x
bm_ranges_copy_n_vb_aligned/192512 267190 ns 125 ns 2138x
bm_ranges_copy_n_vb_aligned/196608 270821 ns 213 ns 1271x
bm_ranges_copy_n_vb_aligned/200704 279532 ns 262 ns 1067x
bm_ranges_copy_n_vb_aligned/204800 283412 ns 222 ns 1277x
```
- Unaligned source-destination bits
```
--------------------------------------------------------------------------------
Benchmark Before After Improvement
--------------------------------------------------------------------------------
bm_ranges_copy_vb_unaligned/8 12.8 ns 8.59 ns 1.5x
bm_ranges_copy_vb_unaligned/64 98.2 ns 8.24 ns 12x
bm_ranges_copy_vb_unaligned/512 755 ns 18.1 ns 42x
bm_ranges_copy_vb_unaligned/4096 6027 ns 102 ns 59x
bm_ranges_copy_vb_unaligned/32768 47663 ns 774 ns 62x
bm_ranges_copy_vb_unaligned/262144 378981 ns 6455 ns 59x
bm_ranges_copy_vb_unaligned/1048576 1520486 ns 25942 ns 59x
bm_ranges_copy_n_vb_unaligned/8 11.3 ns 8.22 ns 1.4x
bm_ranges_copy_n_vb_unaligned/64 97.3 ns 7.89 ns 12x
bm_ranges_copy_n_vb_unaligned/512 747 ns 18.1 ns 41x
bm_ranges_copy_n_vb_unaligned/4096 5932 ns 99.0 ns 60x
bm_ranges_copy_n_vb_unaligned/32768 47776 ns 749 ns 64x
bm_ranges_copy_n_vb_unaligned/262144 378802 ns 6576 ns 58x
bm_ranges_copy_n_vb_unaligned/1048576 1547234 ns 26229 ns 59x
```
Commit: 4186805060bb06dc3362707d45e6f0f826208a8f
https://github.com/llvm/llvm-project/commit/4186805060bb06dc3362707d45e6f0f826208a8f
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/DataLayout.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Support/DataLayout.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
Log Message:
-----------
[Flang][MLIR] Extend DataLayout utilities to have basic GPU Module support (#123149)
As there is now certain areas where we now have the possibility of
having either a ModuleOp or GPUModuleOp and both of these modules can
have DataLayout's and we may require utilising the DataLayout utilities
in these areas I've taken the liberty of trying to extend them for use
with both.
Those with more knowledge of how they wish the GPUModuleOp's to interact
with their parent ModuleOp's DataLayout may have further alterations
they wish to make in the future, but for the moment, it'll simply
utilise the basic data layout construction which I believe combines
parent and child datalayouts from the ModuleOp and GPUModuleOp. If there
is no GPUModuleOp DataLayout it should default to the parent ModuleOp.
It's worth noting there is some weirdness if you have two module
operations defining builtin dialect DataLayout Entries, it appears the
combinatorial functionality for DataLayouts doesn't support the merging
of these.
This behaviour is useful for areas like:
https://github.com/llvm/llvm-project/pull/119585/files#diff-19fc4bcb38829d085e25d601d344bbd85bf7ef749ca359e348f4a7c750eae89dR1412
where we have a crossroads between the two different module operations.
Commit: 2428b6ec40bc60bfcdf1d481f92f34f7279fb5f3
https://github.com/llvm/llvm-project/commit/2428b6ec40bc60bfcdf1d481f92f34f7279fb5f3
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A offload/test/offloading/fortran/target-data-map-if-present.f90
Log Message:
-----------
[Flang][MLIR][OpenMP] Fix Target Data if (present(...)) causing LLVM-IR branching error (#123771)
Currently if we generate code for the below target data map that uses an
optional mapping:
!$omp target data if(present(a)) map(alloc:a)
do i = 1, 10
a(i) = i
end do
!$omp end target data
We yield an LLVM-IR error as the branch for the else path is not
generated. This occurs because we enter the NoDupPriv path of the call
back function when generating the else branch, however, the emitBranch
function needs to be set to a block for it to functionally generate and
link in a follow up branch. The NoDupPriv path currently doesn't do
this, while it's not supposed to generate anything (as far as I am
aware) we still need to at least set the builders placement back so that
it emits the appropriate follow up branch. This avoids the missing
terminator LLVM-IR verification error by correctly generating the follow
up branch.
Commit: c39fba209ce655cf5997878b0bf794da269f008a
https://github.com/llvm/llvm-project/commit/c39fba209ce655cf5997878b0bf794da269f008a
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/copy-to-reg-frameindex.ll
Log Message:
-----------
[AMDGPU] S_SET_GPR_IDX_ON can be passed an immediate index (#125086)
Oversight found by ISel fuzz effort. Assuming the argument is a
register, in some cases it can be an immediate. Tablegen's type for the
instruction is SSrc_b32, i.e. register or immediate fine. Added the
repro from the bug reporter as a test case - prior to this patch llvm
will assert in getReg.
Fixes SWDEV-508589
Commit: a774de807e56c1147d4630bfec3110c11d41776e
https://github.com/llvm/llvm-project/commit/a774de807e56c1147d4630bfec3110c11d41776e
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanBase.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
R lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
R lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanBase.cpp
R lldb/test/API/functionalities/reverse-execution/Makefile
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
R lldb/test/API/functionalities/reverse-execution/main.c
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
Revert "Reland "[lldb] Implement basic support for reverse-continue" (#123906)"" (#125091)
Reverts llvm/llvm-project#123945
Has failed on the Windows on Arm buildbot:
https://lab.llvm.org/buildbot/#/builders/141/builds/5865
```
********************
Unresolved Tests (2):
lldb-api :: functionalities/reverse-execution/TestReverseContinueBreakpoints.py
lldb-api :: functionalities/reverse-execution/TestReverseContinueWatchpoints.py
********************
Failed Tests (1):
lldb-api :: functionalities/reverse-execution/TestReverseContinueNotSupported.py
```
Reverting while I reproduce locally.
Commit: a643e449749332e974ce14b12cf3cb270dbf1b1f
https://github.com/llvm/llvm-project/commit/a643e449749332e974ce14b12cf3cb270dbf1b1f
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Replace gentbl with gentbl_cc_library (#124996)
LLVM has two tablegen generators: one in llvm/tblgen.bzl (`gentbl`,
macro-based) and one in mlir/tblgen.bzl (`gentbl_cc_library`,
rule-based). The `gentbl_cc_library` generator in MLIR has some
advantages to being a rule, and at any rate, it seems better to just use
the same tablegen rule everywhere instead of competing implementations.
Commit: e7e72a9bb48077d1ee161486a6908e1ade79b0b8
https://github.com/llvm/llvm-project/commit/e7e72a9bb48077d1ee161486a6908e1ade79b0b8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/vp-vaaddu.ll
Log Message:
-----------
[RISCV] Add DAG combine for forming VAADDU_VL from VP intrinsics. (#124848)
This adds a VP version of an existing DAG combine. I've put it in
RISCVISelLowering since we would need to add a ISD::VP_AVGCEIL opcode
otherwise.
This pattern appears in 525.264_r.
Commit: e5b2be3a27946d730de390fe92a53b04bc38a435
https://github.com/llvm/llvm-project/commit/e5b2be3a27946d730de390fe92a53b04bc38a435
Author: Thibaut Goetghebuer-Planchon <tessil at gmx.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/transpose-fold.mlir
Log Message:
-----------
[mlir][tosa] Switch arith::ConstantOp to tosa::ConstOp for optimized Transpose perms parameter (#124945)
When consolidating transpose ops into one, use `tosa::ConstOp` for the
permutations parameter instead of `arith::ConstantOp`.
Commit: 44c0719e77b37374c89b7fc1320664ebb404323d
https://github.com/llvm/llvm-project/commit/44c0719e77b37374c89b7fc1320664ebb404323d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
Log Message:
-----------
Silence MSVC warnings; NFC
After the changes to DynamicRecursiveASTVisitor, we started getting
several warnings from MSVC like:
warning C4661: 'bool clang::DynamicRecursiveASTVisitorBase<false>::WalkUpFromNamedDecl(clang::NamedDecl *)':
no suitable definition provided for explicit template instantiation request
These changes silence the warnings by providing a definition for those
functions.
Commit: 33d401fb15148f212990b94775c5f59e0b72bb92
https://github.com/llvm/llvm-project/commit/33d401fb15148f212990b94775c5f59e0b72bb92
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen for icmp and is_fpclass (#124757)
True16 codegen pattern for icmp patterns and is_fpclass
Commit: 6b6c09e44ec01bb2b9b7e538d669543e56f23abc
https://github.com/llvm/llvm-project/commit/6b6c09e44ec01bb2b9b7e538d669543e56f23abc
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_mad_u/i32_u/i16 (#124781)
true16 asm/dasm support for v_mad_u32_i16 and v_mad_i32_i16
Commit: 4985804c0608a83f6ab017137c3d3d4f02827774
https://github.com/llvm/llvm-project/commit/4985804c0608a83f6ab017137c3d3d4f02827774
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
Log Message:
-----------
[asan][test] Disable suppressions-alloc-dealloc-mismatch.cpp on Darwin
The suppressions mechanism doesn't work reliably in optimized builds,
which turns out to be a known issue (see b87543c704724 / svn r308908).
Disable this test, as it is also testing a feature (alloc/dealloc
mismatch) that is disabled by default on Darwin anyway.
rdar://143830493
Commit: e436bf64b50ac7f18218b8168da13176457fa3aa
https://github.com/llvm/llvm-project/commit/e436bf64b50ac7f18218b8168da13176457fa3aa
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
Log Message:
-----------
[MLIR][XeGPU] Add sg_map for scatter verification (#124300)
This PR adds sg_map to the verification of scatter ops in XeGPU.
The documentation says `chunk_size: indicates the number of continuous
elements accessed for each offset`, it also mentions the fact that
scatter ops are SG-level.
Hence, if an operation is distributed to work-items, a 1-d load means a
work-item reads one element, a 2-d load means a work-item loads
`chunk-size` or second dimension of tdesc elements. The changes in this
PR reflect the documentation with the presence of sg_map attribute
(i.e., distributed case).
Commit: 2f48ca3aec4aa81b81d8591773bf29b4c72c623f
https://github.com/llvm/llvm-project/commit/2f48ca3aec4aa81b81d8591773bf29b4c72c623f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
Log Message:
-----------
Revert "Silence MSVC warnings; NFC"
This reverts commit 44c0719e77b37374c89b7fc1320664ebb404323d.
It broke several -Werror bots because of misuse of override.
Commit: 9c0606a08b7e81df59afa3894830cb5c374f99ac
https://github.com/llvm/llvm-project/commit/9c0606a08b7e81df59afa3894830cb5c374f99ac
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Sanitizers.h
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check-inline.c
M clang/test/CodeGen/allow-ubsan-check.c
Log Message:
-----------
Reapply "[ubsan] Connect -fsanitize-skip-hot-cutoff to LowerAllowCheckPass<cutoffs>" (#125032) (#125037)
This reverts commit 928cad49beec0120686478f502899222e836b545 i.e.,
relands dccd27112722109d2e2f03e8da9ce8690f06e11b, with a fix to avoid
use-after-scope by changing the lambda to capture by value.
Commit: 205b0bddcd8bdd19381e095a547302fffaf2750d
https://github.com/llvm/llvm-project/commit/205b0bddcd8bdd19381e095a547302fffaf2750d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-if-nowait.mlir
Log Message:
-----------
[OpenMP][IRBuilder] Handle `target` directives with both `if` & `nowait` (#125029)
This fixes a bug when a `target` directive has both an `if` and a
`nowait` clauses. The bug happens because we tried to `emitKernelLaunch`
for `else` branch of the `if` clause.
Commit: 1128343727ce17f65976ef791783cd737f8cb5bd
https://github.com/llvm/llvm-project/commit/1128343727ce17f65976ef791783cd737f8cb5bd
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/test/Lower/Intrinsics/aint.f90
M flang/test/Lower/Intrinsics/anint.f90
M flang/test/Lower/Intrinsics/dot_product.f90
M flang/test/Lower/Intrinsics/exponent.f90
M flang/test/Lower/Intrinsics/fraction.f90
M flang/test/Lower/Intrinsics/ieee_class_queries.f90
M flang/test/Lower/Intrinsics/ieee_is_normal.f90
M flang/test/Lower/Intrinsics/ieee_next.f90
M flang/test/Lower/Intrinsics/isnan.f90
M flang/test/Lower/Intrinsics/mod.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/norm2.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/scale.f90
M flang/test/Lower/Intrinsics/set_exponent.f90
M flang/test/Lower/Intrinsics/spacing.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/basic-function.f90
M flang/test/Lower/math-lowering/aint.f90
M flang/test/Lower/math-lowering/anint.f90
M flang/test/Lower/math-lowering/sign.f90
M flang/test/Lower/real-descriptors.f90
M flang/test/Lower/real-operations-1.f90
Log Message:
-----------
[flang][NFC] do not hard code KIND 10 and 16 in lowering tests (#124966)
KIND 10 and 16 are platform dependent and it will soon be a hard error
to use them when not available
(PR124655)
Update some tests that used them to use SELECTED_REAL_KIND + lit
conditional checks to make the tests usable on all platform.
Also update all those tests to use HFLIR lowering while modifying them
since the goal is to remove the legacy lowering at some point.
Commit: 7ae964c55b0a2b8dccf076ced9f1ffa8d5487eca
https://github.com/llvm/llvm-project/commit/7ae964c55b0a2b8dccf076ced9f1ffa8d5487eca
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/translation.c
Log Message:
-----------
[mlir][llvmir] expose Type(To/From)LLVMIRTranslator C API (#124864)
Commit: 0e2abe7de3931daa1ecd13172e36fc6027ce45a8
https://github.com/llvm/llvm-project/commit/0e2abe7de3931daa1ecd13172e36fc6027ce45a8
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libclc/CMakeLists.txt
R libclc/amdgcn-mesa3d
R libclc/clc/lib/clspv64
R libclc/clc/lib/spirv64/SOURCES
R libclc/clspv64
R libclc/spirv64/lib/SOURCES
R libclc/spirv64/lib/math/fma.cl
R libclc/spirv64/lib/math/fma.inc
R libclc/spirv64/lib/subnormal_config.cl
Log Message:
-----------
[libclc] Remove use of symlinks (#125069)
Symlinks are problematic on some systems. They aren't strictly necessary
as we already have build infrastructure to 'alias' multiple targets'
source directories together, as nvptx/nvptx64 has been doing.
This commit takes the opportunity to merge together the spirv and
spirv64 directories through the same system as they were identical.
Fixes #114413
Commit: 05f8e0806e54a6c77347c118705cef1197d4ba18
https://github.com/llvm/llvm-project/commit/05f8e0806e54a6c77347c118705cef1197d4ba18
Author: Vishakh Prakash <vishakhpro2002 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
Log Message:
-----------
Update SPIRVUsage.rst (#123897)
Commit: b552e35a06aef4366a933ea85ad3d4bef71e586a
https://github.com/llvm/llvm-project/commit/b552e35a06aef4366a933ea85ad3d4bef71e586a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
Log Message:
-----------
[libc++] Forward-proof some tests for AppleClang 17
Commit: 0e43b9547d56762d29de9a99c998e7939417a1f3
https://github.com/llvm/llvm-project/commit/0e43b9547d56762d29de9a99c998e7939417a1f3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/lib/CAPI/Target/LLVMIR.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/CAPI/Target/LLVMIR.cpp:38:63: error: extra ';' outside of a
function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
mlir/lib/CAPI/Target/LLVMIR.cpp:60:61: error: extra ';' outside of a
function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: 845cc968e987492bda6a62c9a87cd96cfc631d5b
https://github.com/llvm/llvm-project/commit/845cc968e987492bda6a62c9a87cd96cfc631d5b
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/import-call-optimization.c
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
M llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
Log Message:
-----------
[clang][llvm][aarch64][win] Add a clang flag and module attribute for import call optimization, and remove LLVM flag (#122831)
Switches import call optimization from being enabled by an LLVM flag to
instead using a module attribute, and creates a new Clang flag that will
set that attribute. This addresses the concern raised in the original
PR:
<https://github.com/llvm/llvm-project/pull/121516#discussion_r1911763991>
This change also only creates the Called Global info if the module
attribute is present, addressing this concern:
<https://github.com/llvm/llvm-project/pull/122762#pullrequestreview-2547595934>
Commit: a7e8bfe5ad9a1c1e3f0bba886474f381ebc403a9
https://github.com/llvm/llvm-project/commit/a7e8bfe5ad9a1c1e3f0bba886474f381ebc403a9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[lldb] Fix CommandInterpreter.{h,cpp} formatting (NFC)
Fix CommandInterpreter.{h,cpp} formatting in preparation for #125006.
Commit: c8f4189eeb927247ead2d8b082a6920d5b873aa8
https://github.com/llvm/llvm-project/commit/c8f4189eeb927247ead2d8b082a6920d5b873aa8
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Clean up secondary tests. (#124999)
Change names to all begin with ScudoSecondary and change tests names
appropriately.
Move the cache option test to the cache test fixture.
Force the allocator test to use the no cached config so that all of
the allocations always fully exercise the allocator function and
don't skip this by using a previously cached element.
Commit: 08c76730f35e1dd3c9330b47fc304a35e6d9087e
https://github.com/llvm/llvm-project/commit/08c76730f35e1dd3c9330b47fc304a35e6d9087e
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/test/Driver/tls-dialect.c
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[llvm] Enable TLSDESC by default on Fuchsia targets (#124990)
Fuchsia uses TLSDESC by default for all target architectures. We also
make the comment and check for hasDefaultTLSDESC more accurately reflect
its usage.
Commit: 74690327c8fb3b1bc8722b8ae40091b268100468
https://github.com/llvm/llvm-project/commit/74690327c8fb3b1bc8722b8ae40091b268100468
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/include/lldb/Utility/StreamTee.h
M lldb/source/Interpreter/CommandReturnObject.cpp
Log Message:
-----------
[lldb] Constify methods in CommandReturnObject (NFC)
There's no reason these methods cannot be `const`. Currently this
prevents us from passing around a const ref. This patch is in
preparation for #125006.
Commit: 345512cbda296d262a28459afc7f83640b06b6a8
https://github.com/llvm/llvm-project/commit/345512cbda296d262a28459afc7f83640b06b6a8
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/translation.c
Log Message:
-----------
Revert "[mlir][llvmir] expose Type(To/From)LLVMIRTranslator C API (#124864)"
This reverts commit 7ae964c55b0a2b8dccf076ced9f1ffa8d5487eca.
Revert "[mlir] Fix warnings"
This reverts commit 0e43b9547d56762d29de9a99c998e7939417a1f3.
Commit: 8a20c6459eb955f32bf46afe75cd84d6614cfabc
https://github.com/llvm/llvm-project/commit/8a20c6459eb955f32bf46afe75cd84d6614cfabc
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/load-store-cnt.ll
Log Message:
-----------
[AMDGPU] Create new option for force flush load counter (#124974)
In ceratin situations it is beneficial to wait for all outstanding
loads regardless of specific load's data we need. This may allow
to reduce a number of cache requests.
Fixes: SWDEV-511507
Commit: b04847b427d6bf6d4415e7f4b4fc983dcdef1720
https://github.com/llvm/llvm-project/commit/b04847b427d6bf6d4415e7f4b4fc983dcdef1720
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/test/Interpreter/simple-exception.cpp
M compiler-rt/lib/orc/macho_platform.cpp
R compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
R llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
R llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
R llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.cpp
R llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
R llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
R llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp
Log Message:
-----------
Revert "Reapply "[ORC] Enable JIT support for the compact-unwind frame..." with fixes." (#125098)
This reverts commit d6524c8dfa37634257050ca71d16e117b802181c. This
reverts commit b1bd73700a1fb6f450e0f6f9c405a9c8bde2cae7.
This was causing bot failures on Darwin
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-cmake-RA-incremental/7315/
Clang.Interpreter.simple-exception.cpp
Clang-Unit.Interpreter/ExceptionTests/_/ClangReplInterpreterExceptionTests/0.1
LLVM.ExecutionEngine/OrcLazy.minimal-throw-catch.ll
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/3415/
ORC-x86_64-darwin.TestCases/Darwin/Generic.exceptions.cpp
ORC-x86_64-darwin.TestCases/Darwin/x86-64.lljit-ehframe.cpp
Commit: 12243234f667294fe0059e78be8f001a228d48bd
https://github.com/llvm/llvm-project/commit/12243234f667294fe0059e78be8f001a228d48bd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn
Log Message:
-----------
[gn build] Port b04847b427d6
Commit: 74d7f43b98910a110bc194752fca829eb19c265a
https://github.com/llvm/llvm-project/commit/74d7f43b98910a110bc194752fca829eb19c265a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
R clang/test/SemaCXX/remove_pointer.mm
A clang/test/SemaObjCXX/type-traits.mm
Log Message:
-----------
[Clang] Fix __{add,remove}_pointer in Objective-C++ (#123678)
This aligns the builtins with how implementations work which don't use
the buitins.
Commit: b4d52a9abdad2582d7aafc68448310066526acd8
https://github.com/llvm/llvm-project/commit/b4d52a9abdad2582d7aafc68448310066526acd8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/test/Semantics/kinds04_q10.f90
Log Message:
-----------
[flang] Repair recent Power build bot breakage (#124950)
Add AIX_WARNING expected warnings to a test that is now producing new
warnings.
Should fix https://lab.llvm.org/buildbot/#/builders/201/builds/2291.
Commit: 0e62c748d440a6d12d190e951c987efe309f40d6
https://github.com/llvm/llvm-project/commit/0e62c748d440a6d12d190e951c987efe309f40d6
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
Log Message:
-----------
[analyzer][NFC] Remove a redundant container lookup (#125064)
I found this using my experimental checker present at:
https://github.com/steakhal/llvm-project/tree/bb/add-redundant-lookup-checker
The idea for looking for redundant container lookups was inspired by
#123376
If there is interest, I could think of upstreaming this alpha checker.
(For the StaticAnalyzer sources it was the only TP, and I had no FPs
from the checker btw.)
Commit: e058c73526afeb9d4da07f090a73ae47a224fddc
https://github.com/llvm/llvm-project/commit/e058c73526afeb9d4da07f090a73ae47a224fddc
Author: youngdfb <davidayoung at meta.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify--completeness-json-output.s
A llvm/test/tools/llvm-dwarfdump/X86/dwarf-verify-good-json-output.s
Log Message:
-----------
Add test for dwarf verification JSON output (#124936)
Summary:
6244dfef5cd45f1395c66abbe061c6a7eb002676 LLVM commit added the ability
for llvm-dwarfdump to specify --verify-json and get a JSON aggregation
of the DWARF errors in a file. This diff improves the testing by
ensuring we validate the expected JSON shape.
A follow up diff will modify the JSON and this ensures we can verify.
Test Plan:
ninja check-llvm-tools-llvm-dwarfdump
Commit: edc3dc6abd9dec70f03107d1477a2baffe7208f7
https://github.com/llvm/llvm-project/commit/edc3dc6abd9dec70f03107d1477a2baffe7208f7
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__bit_reference
M libcxx/include/__vector/vector_bool.h
M libcxx/include/bitset
A libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
Log Message:
-----------
[libc++] Optimize ranges::copy_backward for vector<bool>::iterator (#121026)
As a follow-up to #121013 (which focused on `std::ranges::copy`), this
PR optimizes the performance of `std::ranges::copy_backward` for
`vector<bool>::iterator`, addressing a subtask outlined in issue #64038.
The optimizations yield performance improvements of up to 2000x for
aligned copies and 60x for unaligned copies.
Commit: 439bef9751e1769ccd5a7b4ca4127144912cacfc
https://github.com/llvm/llvm-project/commit/439bef9751e1769ccd5a7b4ca4127144912cacfc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/Utilities.h
M libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
M libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
M libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
M libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/set_intersection.bench.cpp
M libcxx/test/benchmarks/algorithms/sort.bench.cpp
M libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
R libcxx/test/benchmarks/containers/ContainerBenchmarks.h
A libcxx/test/benchmarks/containers/container_benchmarks.h
M libcxx/test/benchmarks/containers/deque.bench.cpp
A libcxx/test/benchmarks/containers/list.bench.cpp
M libcxx/test/benchmarks/containers/string.bench.cpp
A libcxx/test/benchmarks/containers/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set_operations.bench.cpp
A libcxx/test/benchmarks/containers/vector.bench.cpp
R libcxx/test/benchmarks/containers/vector_operations.bench.cpp
M libcxx/test/benchmarks/filesystem.bench.cpp
M libcxx/test/benchmarks/hash.bench.cpp
M libcxx/test/benchmarks/variant_visit_1.bench.cpp
M libcxx/test/benchmarks/variant_visit_2.bench.cpp
M libcxx/test/benchmarks/variant_visit_3.bench.cpp
Log Message:
-----------
[libc++] Refactor the sequence container benchmarks (#119763)
Rewrite the sequence container benchmarks to only rely on the actual
operations specified in SequenceContainer requirements and add
benchmarks for std::list, which is also considered a sequence container.
One of the major goals of this refactoring is also to make these
container benchmarks run faster so that they can be run more frequently.
The existing benchmarks have the significant problem that they take so
long to run that they must basically be run overnight. This patch
reduces the size of inputs such that the rewritten benchmarks each take
at most a minute to run.
This patch doesn't touch the string benchmarks, which were not using the
generic container benchmark functions previously.
Commit: 4f358d75d03b0d412f131a3d38c4781b5f06f584
https://github.com/llvm/llvm-project/commit/4f358d75d03b0d412f131a3d38c4781b5f06f584
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/copy-to-reg-frameindex.ll
Log Message:
-----------
[amdgpu][nfc] Post-commit feedback on c39fba209
Commit: fcc4ceb331957dc6d1d6d0f4035bd2f48f2945bd
https://github.com/llvm/llvm-project/commit/fcc4ceb331957dc6d1d6d0f4035bd2f48f2945bd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/include/__hash_table
M libcxx/include/__tree
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/list
A libcxx/test/std/containers/associative/map/map.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/map/map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/associative/set/set.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/set/set.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/sequences/deque/deque.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/deque/deque.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/sequences/list/list.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/list/list.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_assign_noexcept.pass.cpp
Log Message:
-----------
[libc++] Implement N4258(Cleaning-up noexcept in the Library) (#120312)
Fixes #99937
Commit: 7fa1257c35581268deb5f0fc2faa3ae46358f958
https://github.com/llvm/llvm-project/commit/7fa1257c35581268deb5f0fc2faa3ae46358f958
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] Build fix (#125087)
Reinstate a preprocessor define for a nonstandard exception.
[124978](https://github.com/llvm/llvm-project/issues/124978#event-16113621403)
Commit: 0d46657cb6bf04430ff8222e1974e49441767d47
https://github.com/llvm/llvm-project/commit/0d46657cb6bf04430ff8222e1974e49441767d47
Author: Matthew Bastien <matthew_bastien at apple.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A lldb/tools/lldb-dap/.vscodeignore
Log Message:
-----------
Only include necessary files in the lldb-dap VSIX (#124986)
The published VSIX for the LLDB DAP extension contains a bunch of
unnecessary files:
```
❯ tar tf llvm-vs-code-extensions.lldb-dap-0.2.8.vsix
extension.vsixmanifest
[Content_Types].xml
extension/.github/workflows/auto_publish.yml
extension/.github/workflows/integrate_llvmproject.yml
extension/.gitignore
extension/.vscode/launch.json
extension/.vscode/tasks.json
extension/LICENSE.TXT
extension/out/debug-adapter-factory.js
extension/out/debug-adapter-factory.js.map
extension/out/disposable-context.js
extension/out/disposable-context.js.map
extension/out/extension.js
extension/out/extension.js.map
extension/out/types.js
extension/out/types.js.map
extension/package.json
extension/README.md
extension/src-ts/debug-adapter-factory.ts
extension/src-ts/disposable-context.ts
extension/src-ts/extension.ts
extension/src-ts/types.ts
extension/syntaxes/arm.disasm
extension/syntaxes/arm64.disasm
extension/syntaxes/disassembly.json
extension/syntaxes/x86.disasm
extension/tsconfig.json
```
All that's really needed is the package.json, license, README, syntaxes
folder, and compiled sources. This PR adds a `.vscodeignore` file that
requires files and directories to be explicitly added to the VSIX.
Contents of the VSIX after applying this change and running `npm run
package`:
```
❯ tar tf out/lldb-dap.vsix
extension.vsixmanifest
[Content_Types].xml
extension/LICENSE.TXT
extension/out/debug-adapter-factory.js
extension/out/debug-adapter-factory.js.map
extension/out/disposable-context.js
extension/out/disposable-context.js.map
extension/out/extension.js
extension/out/extension.js.map
extension/package.json
extension/README.md
extension/syntaxes/arm.disasm
extension/syntaxes/arm64.disasm
extension/syntaxes/disassembly.json
extension/syntaxes/x86.disasm
```
I did a very basic sanity check of installing the packaged extension and
debugging a simple swift application in VS Code to make sure the
extension was still functional.
Commit: 72efe15c2bf262607420f81ab3b3b52f82698b4b
https://github.com/llvm/llvm-project/commit/72efe15c2bf262607420f81ab3b3b52f82698b4b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
Log Message:
-----------
Reapply 44c0719e77b37374c89b7fc1320664ebb404323d with fix; NFC (#125100)
Silence MSVC warnings; NFC
After the changes to DynamicRecursiveASTVisitor, we started getting
several warnings from MSVC like:
warning C4661: 'bool
clang::DynamicRecursiveASTVisitorBase<false>::WalkUpFromNamedDecl(clang::NamedDecl
*)': no suitable definition provided for explicit template instantiation
request
These changes silence the warnings by providing a definition for those
functions.
Commit: 20fd7df0b847bb46aac2f0b5b71d242220027cbc
https://github.com/llvm/llvm-project/commit/20fd7df0b847bb46aac2f0b5b71d242220027cbc
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/test/SemaCXX/uninitialized.cpp
Log Message:
-----------
Fix false negative when value initializing a field annotated with [[clang::require_field_initialization]] (#124329)
It turns out we weren't handling one case: the value-initialization of a
field inside a struct.
I'm not sure why this falls under `IK_Direct` rather than `IK_Value` in
Clang, but it seems to work.
Commit: 9b52dbe0e0c3298438fd0a32495dd796b1d33970
https://github.com/llvm/llvm-project/commit/9b52dbe0e0c3298438fd0a32495dd796b1d33970
Author: Alex Prabhat Bara <alexpbara at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] added _POSIX_ARG_MAX in limits.h (#124954)
Fixes: #124947
Commit: 55815b621b3a8f56a36c93229de1356e325a136f
https://github.com/llvm/llvm-project/commit/55815b621b3a8f56a36c93229de1356e325a136f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/Value.cpp
M llvm/test/Transforms/InstSimplify/constant-fold-inttoptr-add.ll
Log Message:
-----------
[Value] Look through inttoptr (add ..) in accumulateConstantOffsets (#124981)
Look through inttoptr (add (ptrtoint P), C) when accumulating offsets.
Adds a missing fold after
https://github.com/llvm/llvm-project/pull/123518
Alive2 for the tests with changes: https://alive2.llvm.org/ce/z/VvPrzv
PR: https://github.com/llvm/llvm-project/pull/124981
Commit: fdfd97959e91af46fc8b35cb07208db26ccf75e7
https://github.com/llvm/llvm-project/commit/fdfd97959e91af46fc8b35cb07208db26ccf75e7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] Improvements to Named operands in InstrInfoEmitter (#124960)
- Assign `OpName` enum values in the same alphabetical order in which
they are emitted.
- Get rid of OPERAND_LAST which is not used anywhere.
- Inline `initOperandMapData` into `emitOperandNameMappings` to help see
clearly how various maps are computed.
- Emit the static `OperandMap` table as int8_t when possible. This
should help reduce the static size by 50% in the common case.
- Change maps/vectors to use StringRef instead of std::string to avoid
unnecessary copies.
Commit: 38ddcb7e3639438dd925229bbbfb20fbcfb23f7f
https://github.com/llvm/llvm-project/commit/38ddcb7e3639438dd925229bbbfb20fbcfb23f7f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/LowerToLLVM.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
A clang/lib/CIR/Lowering/CMakeLists.txt
A clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/CIR/Lowering/hello.c
Log Message:
-----------
[CIR] Add framework for CIR to LLVM IR lowering (#124650)
Create the skeleton framework for lowering from ClangIR to LLVM IR. This
initial implementation just creates an empty LLVM IR module. Actual
lowering of even minimal ClangIR is deferred to a later patch.
Commit: fa4af0353b2071d8d009c9d14a5025a3dfc92fb3
https://github.com/llvm/llvm-project/commit/fa4af0353b2071d8d009c9d14a5025a3dfc92fb3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/Use.h
Log Message:
-----------
[IR] Remove stale reference to waymarking from Use.h comments. NFC (#125114)
Commit: c1e9b908d9c205970f025c188c6fbe6fb93be98d
https://github.com/llvm/llvm-project/commit/c1e9b908d9c205970f025c188c6fbe6fb93be98d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[lldb] Remove unused CommandReturnObject stack variable (NFC)
Per the title, the variable is unused.
Commit: fabe747bf051697cde72a963f1012d6ba9c3f5f5
https://github.com/llvm/llvm-project/commit/fabe747bf051697cde72a963f1012d6ba9c3f5f5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/test/MC/AMDGPU/gfx11_asm_opsel_err.s
Log Message:
-----------
[AMDGPU][True16][MC] validate op_sel and .l/.h syntax (#123250)
check if op_sel is consistent with .l/.h syntax if both are presented
Commit: b3458fdec5e183b49c634b72b828630bb6972400
https://github.com/llvm/llvm-project/commit/b3458fdec5e183b49c634b72b828630bb6972400
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh.ll
M llvm/test/CodeGen/X86/avx512-intel-ocl.ll
M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
M llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
M llvm/test/CodeGen/X86/break-false-dep.ll
M llvm/test/CodeGen/X86/catchpad-realign-savexmm.ll
M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
M llvm/test/CodeGen/X86/cleanuppad-realign.ll
M llvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
M llvm/test/CodeGen/X86/conditional-tailcall.ll
M llvm/test/CodeGen/X86/ldexp.ll
M llvm/test/CodeGen/X86/localescape.ll
M llvm/test/CodeGen/X86/mixed-ptr-sizes.ll
M llvm/test/CodeGen/X86/musttail-varargs.ll
M llvm/test/CodeGen/X86/no-sse-win64.ll
M llvm/test/CodeGen/X86/preserve_nonecc_call_win.ll
M llvm/test/CodeGen/X86/segmented-stacks.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/sse-regcall.ll
M llvm/test/CodeGen/X86/sse-regcall4.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/swift-async-win64.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/CodeGen/X86/taildup-callsiteinfo.mir
M llvm/test/CodeGen/X86/win-catchpad-csrs.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win-smallparams.ll
M llvm/test/CodeGen/X86/win64-byval.ll
M llvm/test/CodeGen/X86/win64-eh-empty-block-2.mir
M llvm/test/CodeGen/X86/win64-funclet-savexmm.ll
M llvm/test/CodeGen/X86/win64-seh-epilogue-statepoint.ll
M llvm/test/CodeGen/X86/win64_eh.ll
M llvm/test/CodeGen/X86/win64_frame.ll
M llvm/test/CodeGen/X86/x86-64-flags-intrinsics.ll
M llvm/test/CodeGen/X86/x86-win64-shrink-wrapping.ll
M llvm/test/DebugInfo/COFF/trailing-inlined-function.s
M llvm/test/DebugInfo/MIR/X86/instr-ref-join-def-vphi.mir
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_no_strip.s
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
M llvm/test/MC/AsmParser/directive_seh.s
M llvm/test/MC/AsmParser/seh-directive-errors.s
M llvm/test/MC/COFF/cv-def-range-align.s
M llvm/test/MC/COFF/cv-inline-linetable-unlikely.s
M llvm/test/MC/COFF/seh-align2.s
M llvm/test/MC/COFF/seh-align3.s
M llvm/test/MC/COFF/seh-linkonce.s
M llvm/test/MC/COFF/seh-section-2.s
M llvm/test/MC/COFF/seh-section.s
M llvm/test/MC/COFF/seh.s
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll.expected
Log Message:
-----------
[llvm] Win x64 Unwind V2 1/n: Mark beginning and end of epilogs (#110024)
Windows x64 Unwind V2 adds epilog information to unwind data:
specifically, the length of the epilog and the offset of each epilog.
The first step to do this is to add markers to the beginning and end of
each epilog when generating Windows x64 code. I've modelled this after
how LLVM was marking ARM and AArch64 epilogs in Windows (and unified the
code between the three).
Commit: ac7c199a63ddb7ba675e9da76dd07ffdbf07153a
https://github.com/llvm/llvm-project/commit/ac7c199a63ddb7ba675e9da76dd07ffdbf07153a
Author: David Green <david.green at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize more G_VECREDUCE_ADD operations. (#123392)
Non-power-2 vectors will now be padded with zero elements, smaller
vectors will be widened using anyext, which I believe will be better in
many situations than padding with zeros, although some small types may
prefer being scalarized depending on the code. Padding with zeros may
not be best for all sizes (v5i8 being the worst), we can hopefully
improve that in the future but they no longer fall back. We scalarize
other types like i128.
Commit: 26c2da5a122532035b8bf63af89208d6d799e40e
https://github.com/llvm/llvm-project/commit/26c2da5a122532035b8bf63af89208d6d799e40e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/source/Interpreter/CommandObject.cpp
Log Message:
-----------
[lldb] Remove another unused CommandReturnObject variable (NFC)
Commit: 6a05beeb2bed366f7e6e0056a758c6f8d385fdde
https://github.com/llvm/llvm-project/commit/6a05beeb2bed366f7e6e0056a758c6f8d385fdde
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/include/lldb/Core/Value.h
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
M lldb/source/Expression/Materializer.cpp
Log Message:
-----------
[NFC][lldb] Document a few ivars on the value object system. (#124971)
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 7eb193bd0e81e3b53bba82d0996486489dabda29
https://github.com/llvm/llvm-project/commit/7eb193bd0e81e3b53bba82d0996486489dabda29
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
R llvm/test/MC/AMDGPU/gfx11_asm_opsel_err.s
Log Message:
-----------
Revert "[AMDGPU][True16][MC] validate op_sel and .l/.h syntax (#123250)"
This reverts commit fabe747bf051697cde72a963f1012d6ba9c3f5f5.
Multiple buildbots are failing. See:
https://github.com/llvm/llvm-project/pull/123250
Commit: 7ceef1b1824073fcfd4724539f5942442da1a9c2
https://github.com/llvm/llvm-project/commit/7ceef1b1824073fcfd4724539f5942442da1a9c2
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Also use runPass for handleUncountableEarlyExit. (NFC)
Also use helper added in 2b55ef187cb602 to run
handleUncountableEarlyExit.
Commit: a51798e3d68b9e04660757ff6e645c8ba46baaa9
https://github.com/llvm/llvm-project/commit/a51798e3d68b9e04660757ff6e645c8ba46baaa9
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
A llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.gfx11plus-fake16.mir
A llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.gfx11plus.mir
M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pat for fptrunc_round (#124044)
true16 codegen pattern for fptrunc_round f32 to f16.
For mir test, split to preGFX11 and postGFX11. and add a true16 and a
fake16 test accordingly
Commit: cff0a460ae864505bc2a064c269ebe548aa35949
https://github.com/llvm/llvm-project/commit/cff0a460ae864505bc2a064c269ebe548aa35949
Author: Bill Wendling <morbo at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang][counted_by] Refactor __builtin_dynamic_object_size on FAMs (#122198)
Refactoring of how __builtin_dynamic_object_size() is calculated for
flexible array members (in preparation for adding support for the
'counted_by' attribute on pointers in structs).
The only functionality change is that we use the already emitted Expr
code to build our calculations off of rather than re-emitting the Expr.
That allows the 'StructFieldAccess' visitor to sift through all casts
and ArraySubscriptExprs to find the first MemberExpr. We build our GEPs
and calculate offsets based off of relative distances from that
MemberExpr.
The testcase passes execution tests.
Calculate the flexible array member's object size using these formulae
(note: if the calculation is negative, we return 0.):
struct p;
struct s {
/* ... */
int count;
struct p *array[] __attribute__((counted_by(count)));
};
1) 'ptr->array':
count = ptr->count;
flexible_array_member_base_size = sizeof (*ptr->array);
flexible_array_member_size =
count * flexible_array_member_base_size;
if (flexible_array_member_size < 0)
return 0;
return flexible_array_member_size;
2) '&ptr->array[idx]':
count = ptr->count;
index = idx;
flexible_array_member_base_size = sizeof (*ptr->array);
flexible_array_member_size =
count * flexible_array_member_base_size;
index_size = index * flexible_array_member_base_size;
if (flexible_array_member_size < 0 || index < 0)
return 0;
return flexible_array_member_size - index_size;
3) '&ptr->field':
count = ptr->count;
sizeof_struct = sizeof (struct s);
flexible_array_member_base_size = sizeof (*ptr->array);
flexible_array_member_size =
count * flexible_array_member_base_size;
field_offset = offsetof (struct s, field);
offset_diff = sizeof_struct - field_offset;
if (flexible_array_member_size < 0)
return 0;
return offset_diff + flexible_array_member_size;
4) '&ptr->field_array[idx]':
count = ptr->count;
index = idx;
sizeof_struct = sizeof (struct s);
flexible_array_member_base_size = sizeof (*ptr->array);
flexible_array_member_size =
count * flexible_array_member_base_size;
field_base_size = sizeof (*ptr->field_array);
field_offset = offsetof (struct s, field)
field_offset += index * field_base_size;
offset_diff = sizeof_struct - field_offset;
if (flexible_array_member_size < 0 || index < 0)
return 0;
return offset_diff + flexible_array_member_size;
---------
Signed-off-by: Bill Wendling <morbo at google.com>
Commit: 50a5c4f6b9ea8046f90aefdffb8170d1ffb790cd
https://github.com/llvm/llvm-project/commit/50a5c4f6b9ea8046f90aefdffb8170d1ffb790cd
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Log Message:
-----------
[Sanitizers][Apple] Fix logic bugs that break RestrictMemoryToMaxAddress (#124712)
There are two logic bugs breaking RestrictMemoryToMaxAddress.
1. adding left_padding within MapDynamicShadow.
- RoundUpTo((uptr)free_begin + left_padding, alignment) already adjusts
for left padding. Adding this additionally within MapDynamicShadow
causes us to allocate a page larger than necessary.
- This incorrect calculation also means RestrictMemoryToMaxAddress will
never find a big enough gap.
2. There is also an issue with the expectation of hitting
KERN_INVALID_ADDRESS when we are beyond the addressable regions.
- For most embedded scenarios, we exceed vm_max_address without getting
KREN_INVALID_ADDRESS so we setting max_occupied_address to a memory
region the process doesn't have access to, beyond the max address, and
that space is never marked as available so we never find a valid gap in
those regions.
- At some point previous it seems the assumption was once we were beyond
the Max address we could expect KREN_INVALID_ADDRESS, which is no longer
true up through the extended space not given to most processes.
- Because of this, the check` if (new_max_vm < max_occupied_addr)` will
always fail and we will never restrict the address on smaller devices.
- Additionally because of the extra page added by adding left_padding,
and how we only minimally restrict the vm, there's a chance we restrict
the vm only enough for the correctly calculated size of shadow. In these
cases, restricting the vm max address and will always fail due to the
extra page added to space size.
credit to @delcypher for the left_padding diagnosis, remembered his old
radar and PR when investigating this. https://reviews.llvm.org/D85389
Will monitor closely for fall out.
rdar://66603866
Commit: 72b73c9af694198096b2e0c47a1625e5b94c76a5
https://github.com/llvm/llvm-project/commit/72b73c9af694198096b2e0c47a1625e5b94c76a5
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/test/lib/IR/CMakeLists.txt
Log Message:
-----------
[mlir][cmake] Add missing MLIRTestDialect dependency (#125004)
Hopefully this will fix the flaky build issue that we have in one of the
bots: https://lab.llvm.org/buildbot/#/builders/50/builds/9532
Commit: bce2cc15133a1458e4ad053085e58c7423c365b4
https://github.com/llvm/llvm-project/commit/bce2cc15133a1458e4ad053085e58c7423c365b4
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/init-aarch64.c
Log Message:
-----------
[clang] Set __GCC_*STRUCTIVE_SIZE on Aarch64
Before this change, we would set this to Clang's default of {64, 64}.
Now, we explicitly set it to {256, 64} which matches our ARM behavior
for ARMv8 targets and GCC's behavior for AArch64 targets.
Commit: 536606f6f617b4a33389819a3a20c5cbb735ed7e
https://github.com/llvm/llvm-project/commit/536606f6f617b4a33389819a3a20c5cbb735ed7e
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
A clang/test/Analysis/bugfix-124477.m
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/ObjcBug-124477.cpp
Log Message:
-----------
[StaticAnalyzer] Fix state update in VisitObjCForCollectionStmt (#124477)
In `VisitObjCForCollectionStmt`, the function does `evalLocation` for
the current element at the original source state `Pred`. The evaluation
may result in a new state, say `PredNew`. I.e., there is a transition:
`Pred -> PredNew`, though it is a very rare case that `Pred` is NOT
identical to `PredNew`. (This explains why the bug exists for many years
but no one noticed until recently a crash observed downstream.) Later,
the original code does NOT use `PredNew` as the new source state in
`StmtNodeBuilder` for next transitions. In cases `Pred != PredNew`, the
program ill behaves.
(rdar://143280254)
Commit: 012e0a0def4f4cd92266bc5b967532c6a3b8c533
https://github.com/llvm/llvm-project/commit/012e0a0def4f4cd92266bc5b967532c6a3b8c533
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
[gn build] Port 536606f6f617
Commit: adb9ef035552d7fc42a34560677f89f4f6421295
https://github.com/llvm/llvm-project/commit/adb9ef035552d7fc42a34560677f89f4f6421295
Author: John Harrison <harjohn at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
Log Message:
-----------
[lldb-dap] Partially reverting OutputRedirector changes. (#125136)
I just noticed with these changes lldb-dap was using 200% of my CPU and
root causing the issue it seems that lldb_private::Pipe::Read() (without
a timeout) is using a timeout of `std::chrono::microseconds::zero()`
which ends up setting the SelectHelper timeout to `now + 0` (see
https://github.com/llvm/llvm-project/blob/7ceef1b1824073fcfd4724539f5942442da1a9c2/lldb/source/Host/posix/PipePosix.cpp#L314
and
https://github.com/llvm/llvm-project/blob/7ceef1b1824073fcfd4724539f5942442da1a9c2/lldb/source/Utility/SelectHelper.cpp#L46)
which causes SelectHelper to return immediately with a timeout error. As
a result the `lldb_dap::OutputRedirector::RedirectTo()` to turn into a
busy loop.
Additionally, the 'read' call is waiting until the output buffer is full
before returning, which prevents any partial output (see
https://github.com/llvm/llvm-project/blob/7ceef1b1824073fcfd4724539f5942442da1a9c2/lldb/source/Host/posix/PipePosix.cpp#L325C9-L326C17).
This is not the desired behavior for lldb-dap. Instead we want a write
to the FD to result in a callback to send the DAP Output event, which
mean we want partial output.
To mitigate this, I'm reverting the reading operation to the previous
behavior before 873426bea3dd67d80dd10650e64e91c69796614f but keeping the
refactored structure and thread management.
Commit: ba5b14655a3fb7adad3f9db0161c8742a035f744
https://github.com/llvm/llvm-project/commit/ba5b14655a3fb7adad3f9db0161c8742a035f744
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#125022)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect C to be nonnull.
Commit: 16e61df8a135ec6dfe90277ac47a0dd6f461b346
https://github.com/llvm/llvm-project/commit/16e61df8a135ec6dfe90277ac47a0dd6f461b346
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#125023)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Entry to be nonnull.
Commit: fc433089e3535de3ae31c1c91194f654996529be
https://github.com/llvm/llvm-project/commit/fc433089e3535de3ae31c1c91194f654996529be
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Migrate away from PointerUnion::dyn_cast (NFC) (#124884) (#125024)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Subject to be nonnull.
Commit: 3874620ef7477c47abb07b7b68c410c1a9ed1b53
https://github.com/llvm/llvm-project/commit/3874620ef7477c47abb07b7b68c410c1a9ed1b53
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/StackColoring.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#125025)
Commit: 381416a8c7e0e8fc8b12c83c6c856b8ef7c4d8a8
https://github.com/llvm/llvm-project/commit/381416a8c7e0e8fc8b12c83c6c856b8ef7c4d8a8
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
Log Message:
-----------
[flang] Fixed compilation warning inside assertion.
Commit: 4fb80788872e1c1c789fc9a06edd123414a427e6
https://github.com/llvm/llvm-project/commit/4fb80788872e1c1c789fc9a06edd123414a427e6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix annotation of class name after requires clause (#125019)
Uncovered in #124891.
Commit: 14178deab0334d9ce095ae7adce408868659faee
https://github.com/llvm/llvm-project/commit/14178deab0334d9ce095ae7adce408868659faee
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash on parsing requires clause (#125021)
Fixes #124921.
Commit: ea84474966f19af4f1f4a1250ec258af1c6e2571
https://github.com/llvm/llvm-project/commit/ea84474966f19af4f1f4a1250ec258af1c6e2571
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix annotation of Java/JavaScript keyword extends (#125038)
Uncovered in #124891.
Commit: 33c42f8bc5615b4dc46cb45ab41da97be52474ec
https://github.com/llvm/llvm-project/commit/33c42f8bc5615b4dc46cb45ab41da97be52474ec
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/ARM.h
Log Message:
-----------
[clang] Remove aarch64 logic from 32-bit ARM target info
This logic is effectively dead code as 64-bit triples will end up
creating 64-bit TargetInfo instances.
Commit: 8af24ce51630e4811a68201e863ea496196586ac
https://github.com/llvm/llvm-project/commit/8af24ce51630e4811a68201e863ea496196586ac
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
Log Message:
-----------
[RISCV] Cleanup vlseg-vsseg mca tests (#125099)
* LMUL8 is never valid for any segment instruction
* LMUL4 can only support seg2
* segments * LMUL must be <= 8
Commit: 45f538ecba1a51768002a5bc0c194b5af4cd9c27
https://github.com/llvm/llvm-project/commit/45f538ecba1a51768002a5bc0c194b5af4cd9c27
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/icf-safe.s
Log Message:
-----------
[ELF] ICF: replace includeInDynsym with isExported
Similar to the change to MarkLive.cpp when isExported was introduced.
includeInDynsym might return true even when isExported is false for
statically linked executables.
Commit: 1a25bea852cd4f7d99e644953c31278f7f257ccd
https://github.com/llvm/llvm-project/commit/1a25bea852cd4f7d99e644953c31278f7f257ccd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add ClassHeadName to help annotating StartOfName (#124891)
Fixes #124574.
Commit: b89617d02d1c8a2701c1d3290d2ff45cd858ccde
https://github.com/llvm/llvm-project/commit/b89617d02d1c8a2701c1d3290d2ff45cd858ccde
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
R .github/workflows/clang-tests.yml
R .github/workflows/libclc-tests.yml
R .github/workflows/lld-tests.yml
R .github/workflows/lldb-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/premerge.yaml
Log Message:
-----------
workflows/premerge: Add macOS testing for release branch (#124303)
Also, remove the old pre-merge tests since Linux and Windows are tested on buildkite now.
Commit: b8734797a3f605c4aaa37fcb5007baa273565460
https://github.com/llvm/llvm-project/commit/b8734797a3f605c4aaa37fcb5007baa273565460
Author: Gedare Bloom <gedare at rtems.org>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix mismatched break in BlockIndent (#124998)
Near the ColumnLimit a break could be inserted before a right parens
with BlockIndent without a break after the matching left parens. Avoid
these hanging right parens by disallowing breaks before right parens
unless there was a break after the left parens.
Fixes #103306
Commit: 79df1c3c41ccf564b3b9c1a6c227417ffd80f6eb
https://github.com/llvm/llvm-project/commit/79df1c3c41ccf564b3b9c1a6c227417ffd80f6eb
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Fix merge problems with mul shift (#125129)
This patch fixes merge issues in TosaOpBase.td and TosaOps.td wrt traits
on tosa elementwise ops and multiply op which, with the optional shift
operand, is no longer strictly an elementwise op.
fixed up inferReturnTypeComponents to be based on only the first two
operands (ie, ignoring shift, if present)
also fixed up TosaReduceTransposes to special handle tosa mul op now
that it is not an elementwise op.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: f8ef2699d860aea97750953f1b79db8ef7574e82
https://github.com/llvm/llvm-project/commit/f8ef2699d860aea97750953f1b79db8ef7574e82
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A .github/workflows/commit-access-greeter.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
workflows: Add some automation for commit access requests (#123113)
* Greet the user and ask them to read the developer policy.
* Post their contribution stats on the issue.
Commit: 2941fa39410f7492aeaf73c90b92c3bfb7115044
https://github.com/llvm/llvm-project/commit/2941fa39410f7492aeaf73c90b92c3bfb7115044
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Only perform qualifier check for instance methods (#125166)
Fixes https://github.com/llvm/llvm-project/issues/125164
Commit: a5a2e2fc62824287aca02e80ce237c695ea89000
https://github.com/llvm/llvm-project/commit/a5a2e2fc62824287aca02e80ce237c695ea89000
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
Log Message:
-----------
[CodeGen]RegisterCoalescer: Remove the print() method (#125042)
I saw that there used to be an overload `operator<<(OS, const Pass &P)`.
Now that it's gone, I still don't find anyone using the print method
except the internal debug printing hidden under `LLVM_DEBUG` in this
function.
Commit: 3b2f4f4ab2d7a2008a3b0dcc46526429f7e29101
https://github.com/llvm/llvm-project/commit/3b2f4f4ab2d7a2008a3b0dcc46526429f7e29101
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
Log Message:
-----------
[RISCV] Fix Enum for Custom Vendor CSR encodings (#125172)
The enum added in 1401703fe42003745e6937efa13078b462a9d706 does not work
for custom vendor CSRs due to the presence of a "." in the
`<vendor>.<csr>` naming scheme required by the toolchain convention.
Fix this by adding a new EnumName to the SysReg class which replaces the
"." with and "_" before passing it to tablegen.
Commit: d6fa74ab3d4cc77005836e72a2d6fe222bab4c59
https://github.com/llvm/llvm-project/commit/d6fa74ab3d4cc77005836e72a2d6fe222bab4c59
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Merge exportDynamic/isExported and remove Symbol::includeInDynsym
Commit 3733ed6f1c6b0eef1e13e175ac81ad309fc0b080 introduced isExported to
cache includeInDynsym. If we don't unnecessarily set isExported for
undefined symbols, exportDynamic/includeInDynsym can be replaced with
isExported.
Commit: 51b123078e64d73f7d8db78645d6f56fbed3215d
https://github.com/llvm/llvm-project/commit/51b123078e64d73f7d8db78645d6f56fbed3215d
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/qshrn.ll
Log Message:
-----------
[msan][NFCI] Add tests for NEON saturating extract and narrow (#125140)
Copied from llvm/test/CodeGen/AArch64/qshrn.ll
Unknown instructions (not correctly handled):
- llvm.aarch64.neon.sqxtn.v2i32, llvm.aarch64.neon.sqxtn.v4i16,
llvm.aarch64.neon.sqxtn.v8i8
- llvm.aarch64.neon.sqxtun.v2i32, llvm.aarch64.neon.sqxtun.v4i16,
llvm.aarch64.neon.sqxtun.v8i8
- llvm.aarch64.neon.uqxtn.v2i32, llvm.aarch64.neon.uqxtn.v4i16,
llvm.aarch64.neon.uqxtn.v8i8
Commit: e6d16f93b329f2f9618d18d0b99c6060e206cf08
https://github.com/llvm/llvm-project/commit/e6d16f93b329f2f9618d18d0b99c6060e206cf08
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx950-unsupported.s
M llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_ds_read_tr.txt
Log Message:
-----------
[AMDGPU] Allow unaligned VGPR for ds_read_b96_tr_b6 (#125169)
All load transpose instructions follow gfx950 standard of even aligned
VGPR except ds_read_b96_tr_b6, which allows unaligned VGPR.
Co-authored-by: Sirish Pande
[Sirish.Pande at amd.com](mailto:Sirish.Pande at amd.com)
Commit: d2d8e2e0306ab1f0eac6406b5f2ec4d231b1f7ff
https://github.com/llvm/llvm-project/commit/d2d8e2e0306ab1f0eac6406b5f2ec4d231b1f7ff
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode] Handle invalid temporary descriptors (#125033)
This happens e.g. when a vector element type is not primitive.
Commit: 9f1c825fb62319b94ac9604f733afd59e9eb461b
https://github.com/llvm/llvm-project/commit/9f1c825fb62319b94ac9604f733afd59e9eb461b
Author: David Green <david.green at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
Log Message:
-----------
[AArch64] Enable vscale_range with +sme (#124466)
If we have +sme but not +sve, we would not set vscale_range on
functions. It should be valid to apply it with the same range with just
+sme, which can help mitigate some performance regressions in cases such
as scalable vector bitcasts (https://godbolt.org/z/exhe4jd8d).
Commit: bc47daed6d5491a7c65d4dd42da6bb11d3b1ab00
https://github.com/llvm/llvm-project/commit/bc47daed6d5491a7c65d4dd42da6bb11d3b1ab00
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[Driver] Add DragonFly for handling of libdl and libexecinfo (#125179)
Commit: c242c7c13919ed273292d52fd464201105a76b53
https://github.com/llvm/llvm-project/commit/c242c7c13919ed273292d52fd464201105a76b53
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Log Message:
-----------
[AArch64] Don't store an MCRegister in an int64_t. NFC
Reassociate arithmetic to avoid negative values.
Commit: 13d0318a9848ec322ceea4f37fb6b421d70407b0
https://github.com/llvm/llvm-project/commit/13d0318a9848ec322ceea4f37fb6b421d70407b0
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
A lldb/test/API/functionalities/gdb_remote_client/TestReadMemory.py
Log Message:
-----------
[lldb] Add support for gdb-style 'x' packet (#124733)
See also
https://discourse.llvm.org/t/rfc-fixing-incompatibilties-of-the-x-packet-w-r-t-gdb/84288
and https://sourceware.org/pipermail/gdb/2025-January/051705.html
Commit: 3736de2e3c20b4ed496a6590bc758ac0e033bd4c
https://github.com/llvm/llvm-project/commit/3736de2e3c20b4ed496a6590bc758ac0e033bd4c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/source/Core/Module.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
Log Message:
-----------
[lldb] Use Function::GetAddress in Module::FindFunctions (#124938)
The original code resulted in a misfire in the symtab vs. debug info
deduplication code, which caused us to return the same function twice
when searching via a regex (for functions whose entry point is also not
the lowest address).
Commit: 3ae0f3047b5a0de8ef98c167610f6018f615b7ea
https://github.com/llvm/llvm-project/commit/3ae0f3047b5a0de8ef98c167610f6018f615b7ea
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Add missing implicit $vtype to vector copies in mir tests. NFC
After #118283 COPYs now have implicit uses on $vtype, but these were
silently missing in these tests because they're appended to the end of
line and so still pass.
Commit: 658c48e0b6d66c6280090c6fdf88137d50a35b67
https://github.com/llvm/llvm-project/commit/658c48e0b6d66c6280090c6fdf88137d50a35b67
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/gfni-shifts.ll
Log Message:
-----------
[X86] gfni-shifts.ll - regenerate VPTERNLOG comments
Commit: c58eb8c16049439cdb0ddd87b5d57a1dcf946c31
https://github.com/llvm/llvm-project/commit/c58eb8c16049439cdb0ddd87b5d57a1dcf946c31
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
Log Message:
-----------
[X86] gfni-funnel-shifts.ll - regenerate VPTERNLOG comments
Commit: 97b066f4e92a0df46b9d10721e988210f0d1afb6
https://github.com/llvm/llvm-project/commit/97b066f4e92a0df46b9d10721e988210f0d1afb6
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/CodeGen/Targets/ARM.cpp
A clang/test/CodeGen/arm-empty-args.cpp
Log Message:
-----------
[ARM] Empty structs are 1-byte for C++ ABI (#124762)
For C++ (but not C), empty structs should be passed to functions as if
they are a 1 byte object with 1 byte alignment.
This is defined in Arm's CPPABI32:
https://github.com/ARM-software/abi-aa/blob/main/cppabi32/cppabi32.rst
For the purposes of parameter passing in AAPCS32, a parameter whose
type is an empty class shall be treated as if its type were an
aggregate with a single member of type unsigned byte.
The AArch64 equivalent of this has an exception for structs containing
an array of size zero, I've kept that logic for ARM. I've not found a
reason for this exception, but I've checked that GCC does have the same
behaviour for ARM as it does for AArch64.
The AArch64 version has an Apple ABI with different rules, which ignores
empty structs in both C and C++. This is documented at
https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms.
The ARM equivalent of that appears to be AAPCS16_VFP, used for WatchOS,
but I can't find any documentation for that ABI, so I'm not sure what
rules it should follow. For now I've left it following the AArch64 Apple
rules.
Commit: 2bffa5bf7abd4fc7b84f14d029a97c49f4b61130
https://github.com/llvm/llvm-project/commit/2bffa5bf7abd4fc7b84f14d029a97c49f4b61130
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_WoW64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_i386.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_x86_64.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Windows] WoA HW Watchpoint support in LLDB (#108072)
This PR adds support for hardware watchpoints in LLDB for AArch64
Windows targets.
Windows does not provide an API to query the number of available
hardware watchpoints supported by underlying hardware platform.
Therefore, current implementation supports only a single hardware
watchpoint, which has been verified on Windows 11 using Microsoft
SQ2 and Snapdragon Elite X hardware.
LLDB test suite ninja check-lldb still fails watchpoint-related tests.
However, tests that do not require more than a single watchpoint
pass successfully when run individually.
Commit: aeaafce4644788963d9823067e46b50266af4f05
https://github.com/llvm/llvm-project/commit/aeaafce4644788963d9823067e46b50266af4f05
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir
M flang/test/Fir/boxproc-openmp.fir
M flang/test/HLFIR/opt-variable-assign-omp.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character.f90
M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
A flang/test/Lower/OpenMP/delayed-privatization-lastprivate-of-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/derived-type-allocatable.f90
M flang/test/Lower/OpenMP/firstprivate-alloc-comp.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
A flang/test/Lower/OpenMP/pointer-to-array.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/task2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Transforms/generic-loop-rewriting.mlir
M flang/test/Transforms/omp-maps-for-privatized-symbols.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-omp.private-dealloc.mlir
M mlir/test/Target/LLVMIR/openmp-private.mlir
M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-multiple-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-simd-on_device.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-private-cond_br.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
Log Message:
-----------
[mlir][OpenMP][flang] make private variable allocation implicit in omp.private (#124019)
The intention of this work is to give MLIR->LLVMIR conversion freedom to
control how the private variable is allocated so that it can be
allocated on the stack in ordinary cases or as part of a structure used
to give closure context for tasks which might outlive the current stack
frame. See RFC:
https://discourse.llvm.org/t/rfc-openmp-supporting-delayed-task-execution-with-firstprivate-variables/83084
For example, a privatizer for an integer used to look like
```mlir
omp.private {type = private} @x.privatizer : !fir.ref<i32> alloc {
^bb0(%arg0: !fir.ref<i32>):
%0 = ... allocate proper memory for the private clone ...
omp.yield(%0 : !fir.ref<i32>)
}
```
After this change, allocation become implicit in the operation:
```mlir
omp.private {type = private} @x.privatizer : i32
```
For more complex types that require initialization after allocation, an
init region can be used:
``` mlir
omp.private {type = private} @x.privatizer : !some.type init {
^bb0(%arg0: !some.pointer<!some.type>, %arg1: !some.pointer<!some.type>):
// initialize %arg1, using %arg0 as a mold for allocations
omp.yield(%arg1 : !some.pointer<!some.type>)
} dealloc {
^bb0(%arg0: !some.pointer<!some.type>):
... deallocate memory allocated by the init region ...
omp.yield
}
```
This patch lays the groundwork for delayed task execution but is not
enough on its own.
After this patch all gfortran tests which previously passed still pass.
There
are the following changes to the Fujitsu test suite:
- 0380_0009 and 0435_0009 are fixed
- 0688_0041 now fails at runtime. This patch is testing firstprivate
variables with tasks. Previously we got lucky with the undefined
behavior and won the race. After these changes we no longer get lucky.
This patch lays the groundwork for a proper fix for this issue.
In flang the lowering re-uses the existing lowering used for reduction
init and dealloc regions.
In flang, before this patch we hit a TODO with the same wording when
generating the copy region for firstprivate polymorphic variables. After
this patch the box-like fir.class is passed by reference into the copy
region, leading to a different path that didn't hit that old TODO but
the generated code still didn't work so I added a new TODO in
DataSharingProcessor.
Commit: a8a5998e9015523549a61458a9e5fdaedd0e2f59
https://github.com/llvm/llvm-project/commit/a8a5998e9015523549a61458a9e5fdaedd0e2f59
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Log Message:
-----------
[DSE] Add tests for redundant store elimination with different attrs (NFC)
Commit: 6f6d8084ad38734abc826ade0bdab75c001a6863
https://github.com/llvm/llvm-project/commit/6f6d8084ad38734abc826ade0bdab75c001a6863
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
M llvm/test/Transforms/VectorCombine/X86/insert-binop-vector.ll
Log Message:
-----------
[VectorCombine] Fold insert(binop(x,y),binop(a,b),idx) --> binop(insert(x,a,idx),insert(y,b,idx)) (#124909)
Add foldInsExtBinop fold to cleanup missed vectorization cases which can happen on targets with cheap insert/extract instructions which prevent foldExtractExtract (binop(extract(x),extract(y)) -> extract(binop(x,shuffle(y)))) from helping with the merge.
Commit: 41910f72638354cfd27cf7c518dde47e9eb9deab
https://github.com/llvm/llvm-project/commit/41910f72638354cfd27cf7c518dde47e9eb9deab
Author: John Harrison <harjohn at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/tools/lldb-dap/IOStream.h
Log Message:
-----------
[lldb-dap] Fix build failure on Windows. (#125156)
A previous change is triggering a failure due to SOCKET not being
defined in IOStream.h. Adjusting the Windows includes to correct the
imports and using a more narrow import (winsock2.h vs windows.h).
Also removed a stale comment.
Tested this on an x86_64 wins 11 vm.
This should fix https://lab.llvm.org/buildbot/#/builders/197/builds/1379
and https://lab.llvm.org/buildbot/#/builders/141/builds/5878
Commit: 614f1ab7575c83a28811fc6881eba512788101a0
https://github.com/llvm/llvm-project/commit/614f1ab7575c83a28811fc6881eba512788101a0
Author: kper <kevin.per at protonmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb] Add RISCV for Makefile.rules (#124758)
As discussed with @DavidSpickett in discord. Running the test runner
caused the following issue:
```
gmake: Entering directory '/home/kper/oss/llvm-project/build/lldb-test-build.noindex/functionalities/thread/concurrent_events/TestConcurrentSignalWatch.test'
/home/kper/oss/llvm-project/build/bin/clang++ -std=c++11 -g -O0 -mriscv -I/home/kper/oss/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/home/kper/oss/llvm-project/build/tools/lldb/include -I/home/kper/oss/llvm-project/lldb/test/API/functionalities/thread/concurrent_events -I/home/kper/oss/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /home/kper/oss/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info --driver-mode=g++ -MT main.o -MD -MP -MF main.d -c -o main.o /home/kper/oss/llvm-project/lldb/test/API/functionalities/thread/concurrent_events/main.cpp
clang++: error: unknown argument: '-mriscv'
gmake: *** [Makefile.rules:619: main.o] Error 1
```
By overriding the flags, we avoid the `-mriscv`.
Commit: 95e19e21c55db7ede8ff7795512bbfc4ca0ca782
https://github.com/llvm/llvm-project/commit/95e19e21c55db7ede8ff7795512bbfc4ca0ca782
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Support/Unix/Signals.inc
Log Message:
-----------
[llvm][Support] Enable dl_iterate_phdr support on OpenBSD and DragonFly (#125186)
Commit: a5f237f3ece6e85da6346b4b420878528d6f894d
https://github.com/llvm/llvm-project/commit/a5f237f3ece6e85da6346b4b420878528d6f894d
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/tools/llvm-mca/Views/ResourcePressureView.cpp
M llvm/tools/llvm-mca/Views/ResourcePressureView.h
Log Message:
-----------
[MCA] Optimize memory consumption in resource pressure view (NFC) (#124904)
ResourceUsage is a very sparse table. On large input asm sequences it
consumes a lot of memory utilizing only a few percents of it (~4% on my
benchmark). Reorganization of ResourceUsage to keep only used fields
allows saving up to 18% of total memory use by mca or ~850% of input
file size (~1.1GB in absolute values in my case).
Commit: 4cfbe55d9157054c62a63aa4597305afa7e8bfa1
https://github.com/llvm/llvm-project/commit/4cfbe55d9157054c62a63aa4597305afa7e8bfa1
Author: Guojin <he.guojin at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/target-triple.ll
Log Message:
-----------
[MLIR][LLVM] Import LLVM target triple into MLIR LLVM Dialect (#125084)
It would be essential and useful info to have it in MLIR when we are
doing optimizations at MLIR level using LLVM IR as input.
Commit: 28d7880618fc4d3702255803db186bfad2f9df59
https://github.com/llvm/llvm-project/commit/28d7880618fc4d3702255803db186bfad2f9df59
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
A llvm/test/Transforms/LoopVectorize/WebAssembly/int-mac-reduction-costs.ll
Log Message:
-----------
[WebAssembly] getMemoryOpCost and getCastInstrCost (#122896)
Add inital implementations of these TTI methods for SIMD types. For
casts, The costing covers the free extensions provided by extmul_low as
well as extend_low. For memory operations we consider the use of
load32_zero and load64_zero, as well as full width v128 loads.
Commit: 466217eb0334d467ec8e9b96c52ee988aaadc389
https://github.com/llvm/llvm-project/commit/466217eb0334d467ec8e9b96c52ee988aaadc389
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
Log Message:
-----------
[SLP]Fix graph traversal in getSpillCost
getSpill cost relies on def-use order when performs the analysis for the
vectorized instructions live-over-calls spills.
Patch fixes it to check the dependencies based on TreeEntries and
performs actual vectorized type analysis.
Reviewers: RKSimon, preames
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/124984
Commit: 32126a3fda7b840d6125dd4375bdf53502b3c110
https://github.com/llvm/llvm-project/commit/32126a3fda7b840d6125dd4375bdf53502b3c110
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
A llvm/test/Transforms/GlobalOpt/read-with-constexpr-users.ll
Log Message:
-----------
[GlobalOpt] Add tests with reads from globals with constant exprs.
Commit: 77d3f8a92564b533a3c60a8c8e0657c38fd88ba1
https://github.com/llvm/llvm-project/commit/77d3f8a92564b533a3c60a8c8e0657c38fd88ba1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/docs/UsersManual.rst
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/unittests/CodeGen/TBAAMetadataTest.cpp
Log Message:
-----------
[TBAA] Don't emit pointer-tbaa for void pointers. (#122116)
While there are no special rules in the standards regarding void
pointers and strict aliasing, emitting distinct tags for void pointers
break some common idioms and there is no good alternative to re-write
the code without strict-aliasing violations. An example is to count the
entries in an array of pointers:
int count_elements(void * values) {
void **seq = values;
int count;
for (count = 0; seq && seq[count]; count++);
return count;
}
https://clang.godbolt.org/z/8dTv51v8W
An example in the wild is from
https://github.com/llvm/llvm-project/issues/119099
This patch avoids emitting distinct tags for void pointers, to avoid
those idioms causing mis-compiles for now.
Fixes https://github.com/llvm/llvm-project/issues/119099.
Fixes https://github.com/llvm/llvm-project/issues/122537.
PR: https://github.com/llvm/llvm-project/pull/122116
Commit: 3c8dfce3def48982e47f2fbad5b78f409ef63467
https://github.com/llvm/llvm-project/commit/3c8dfce3def48982e47f2fbad5b78f409ef63467
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
Log Message:
-----------
[clang][bytecode][NFC] Use RetPC in InterpFrame::getExpr() as well (#125200)
Both getLocation() and getRange() use the RetPC if the current function
doesn't have a usable body. Using PC here was just a typo.
Commit: e588085af03ba4be14a502806918fd74ca1cf367
https://github.com/llvm/llvm-project/commit/e588085af03ba4be14a502806918fd74ca1cf367
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/alternate-vectorization-split-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
Log Message:
-----------
[SLP]Reduce number of alternate instruction, where possible
Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32
transformes to
%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.
Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.
-O3+LTO, AVX512
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 277800.00 280536.00 1.0%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 81802.00 82426.00 0.8%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 790552.00 790952.00 0.1%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 383795.00 383987.00 0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2075541.00 2076501.00 0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2075541.00 2076501.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 312702.00 312766.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12569783.00 12569751.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2049374.00 2049358.00 -0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1091836.00 1091772.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 852339.00 852211.00 -0.0%
test-suite :: MultiSource/Applications/oggenc/oggenc.test 190651.00 190523.00 -0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 44203.00 44155.00 -0.1%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12997.00 12981.00 -0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 668971.00 658427.00 -1.6%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 668971.00 658427.00 -1.6%
Prolangs-C/TimberWolfMC/timberwolfmc - small variations, some code not
inlined
FreeBench/pifft - extra stores <8 x double> vectorized, some other extra
vectorizations
CINT2006/464.h264ref - some smaller code + changes similar to x264
JM/ldecod - changes similar x264
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - significantly compact vector code
Benchmarks/Bullet - small variations
CFP2017rate/526.blender_r - small variations
CFP2017rate/510.parest_r - small variations
CINT2006/400.perlbench - extra vector code
JM/lencod - extra store <16 x i32> and other changes similar x264
Applications/oggenc - extra store <16 x i8>, small variations
DOE-ProxyApps-C/miniGMG - small variations
Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - better vector code
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.
-O3+LTO, march=rva32u64
CINT2017rate/525.x264_r - similar to x86, extra code in pixel_hadamard_ac
function vectorized, idct4x4dc stopped being vectorized (looks like
issue with shuffles cost)
CINT2006/400.perlbench - better vector code
CINT2006/445.gobmk - some variations in vector code
CINT2006/464.h264ref - extra code vectorized
CINT2017rate/500.perlbench_r - small variations
-O3+LTO, mcpu=sifive-p470
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 587336.00 587668.00 0.1%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 643308.00 643614.00 0.0%
test-suite :: MultiSource/Applications/d/make_dparser.test 79678.00 79710.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 277322.00 277420.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 933660.00 933682.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9497722.00 9497682.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1767806.00 1767772.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1767806.00 1767772.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 148038.00 148024.00 -0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 283036.00 283008.00 -0.0%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 4776.00 4772.00 -0.1%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 540582.00 511772.00 -5.3%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 540582.00 511772.00 -5.3%
CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized, idct4x4dc not vectorized (issue with some
TTI costs)
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/123360
Commit: 650beee9125dc784978ed1716f62fe89fd157f58
https://github.com/llvm/llvm-project/commit/650beee9125dc784978ed1716f62fe89fd157f58
Author: David Green <david.green at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/misched-fusion-cmp-bcc.ll
Log Message:
-----------
[AArch64] Change misched-fusion-cmp-bcc.ll to use valid cpu names. NFC
Commit: 8bd728180cadbab9fe11cd853670e488827ee302
https://github.com/llvm/llvm-project/commit/8bd728180cadbab9fe11cd853670e488827ee302
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
Log Message:
-----------
[lldb][test] explicit-member-function-quals.cpp: fix expected output
The `type lookup` output looks different.
Commit: 9cf8ee91451788b08a0bcda924bfbb3754c454da
https://github.com/llvm/llvm-project/commit/9cf8ee91451788b08a0bcda924bfbb3754c454da
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.h
Log Message:
-----------
[MCA] Do not allocate space for DependenceEdge by default in DependencyGraphNode (NFC) (#125080)
For each instruction from the input assembly sequence, DependencyGraph
has a dedicated node (DGNode). Outgoing edges (data, resource and memory
dependencies) are tracked as SmallVector<..., 8> for each DGNode in the
graph. However, it's unlikely that a usual input instruction will have
approximately eight dependent instructions. Below is my statistics for
several RISC-V input sequences:
```
Number of | Number of nodes with
edges | this # of edges
---------------------------------
0 | 8239447
1 | 464252
2 | 6164
3 | 6783
4 | 939
5 | 500
6 | 545
7 | 116
8 | 2
9 | 1
10 | 1
```
Approximately the same distribution is produced by llvm-mca lit tests
for X86, AArch and RISC-V (even modified ones with extra dependencies
added).
On a rather big input asm sequences, the use of SmallVector<..., 8>
dramatically increases memory consumption without any need for it. In my
case, replacing it with SmallVector<...,0> reduces memory usage by ~28%
or ~1700% of input file size (2.2GB in absolute values).
There is no change in execution time, I verified it on mca lit-tests and
on my big test (execution time is ~30s in both cases).
This change was made with the same intention as #124904 and optimizes I
believe quite an unusual scenario. However, if there is no negative
impact on other known scenarios, I'd like to have the change in
llvm-project.
Commit: eb1a571114a799f532a12b2f062746d3b92fed88
https://github.com/llvm/llvm-project/commit/eb1a571114a799f532a12b2f062746d3b92fed88
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
A llvm/test/CodeGen/SystemZ/cond-move-10.mir
Log Message:
-----------
[SystemZ] Replace SELRMux with COPY in case of identical operands. (#125108)
If both operands of a SELRMux use the same register which is killed, and
the SELRMux is expanded to a jump sequence, a broken MIR results if the
kill flag is not removed.
This patch replaces the SELRMux with a COPY in these cases.
Commit: fcb12346dd656b6ce02971c3530b2680e3a332ac
https://github.com/llvm/llvm-project/commit/fcb12346dd656b6ce02971c3530b2680e3a332ac
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
Log Message:
-----------
[include-cleaner] Dont report explicit refs for global operator new/delete (#125199)
These are available for all translations implicitly. We shouldn't report
explicit refs and enforce includes.
Commit: ae570d5d77e806784064ee819211868e745d0fbe
https://github.com/llvm/llvm-project/commit/ae570d5d77e806784064ee819211868e745d0fbe
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Fix enum signedness in CompleteEnumType (#125203)
I tried using `CompleteEnumType` to replace some duplicated code in
`DWARFASTParserClang::ParseEnum` but tests started failing.
`CompleteEnumType` parses/attaches the child enumerators using the
signedness it got from `CompilerType::IsIntegerType`. However, this
would only report the correct signedness for builtin integer types
(never for `clang::EnumType`s). We have a different API for that in
`CompilerType::IsIntegerOrEnumerationType` which could've been used
there instead. This patch calls `IsEnumerationIntegerTypeSigned` to
determine signedness because we always pass an enum type into
`CompleteEnumType` anyway.
Based on git history this has been the case for a long time, but
possibly never caused issues because `ParseEnum` was completing the
definition manually instead of through `CompleteEnumType`.
I couldn't find a good way to test `CompleteEnumType` on its own because
it expects an enum type to be passed to it, which only gets created in
`ParseEnum` (at which point we already call `CompleteEnumType`). The
only other place we call `CompleteEnumType` at is in
[`CompleteTypeFromDWARF`](https://github.com/llvm/llvm-project/blob/466217eb0334d467ec8e9b96c52ee988aaadc389/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L2260-L2262).
Though I think we don't actually ever end up calling into that codepath
because we eagerly complete enum definitions. Maybe we can remove that
call to `CompleteEnumType` in a follow-up.
Commit: 4378ec7bf4906e160bf4108b5b059b5a7d8adb37
https://github.com/llvm/llvm-project/commit/4378ec7bf4906e160bf4108b5b059b5a7d8adb37
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][doc] Fix docs for IRDL using -gen-dialect-doc (#125195)
mlir-tblgen fails to generate doc for IRDL because while parsing IRDL.td
it also finds the definition of the builtin dialect and cannot determine
what dialect to generate documentation for. This is because IRDL.td
includes IRDLOps.td which includes BuiltinAttributes.td which in turns
includes BuiltinDialect.td.
Commit: c1163b843b63f775817b84f124cdcf33f25c28f6
https://github.com/llvm/llvm-project/commit/c1163b843b63f775817b84f124cdcf33f25c28f6
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[NFC] remove string literals from AArch64SVEACLETypes.def (#125063)
Remove string literals from the macro calls.
Commit: 70ec2e4a2bf1a17c6f57eaf30b48e6c4523be25a
https://github.com/llvm/llvm-project/commit/70ec2e4a2bf1a17c6f57eaf30b48e6c4523be25a
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[MLIR] Fix type incompatibility in BitcastOp fold (#125193)
This commit fixes a bug in the `arith::BitcastOp::fold` function where a
poisoned constant value was incorrectly cast to `IntegerAttr`, causing a
`cast<Ty>() argument of incompatible type!` error.
Commit: 46befd720995647485c516ba94a49eee5548283a
https://github.com/llvm/llvm-project/commit/46befd720995647485c516ba94a49eee5548283a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused function (#125201)
... and an unused include.
Commit: 85d417564b5f959f7434f2657cc9e1ab3575311f
https://github.com/llvm/llvm-project/commit/85d417564b5f959f7434f2657cc9e1ab3575311f
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/test/HLFIR/assign-codegen.fir
Log Message:
-----------
Revert "[flang][hlfir] get rid of box when translating scalars to extented value" (#125222)
Reverts llvm/llvm-project#125059
Broke OPTIONAL lowering for some intrinsics.
I have a proper fix for review
https://github.com/llvm/llvm-project/pull/125215, but I would like to
better test it, so I am reverting in the meantime.
Commit: 1a314b2472a834466e728533ac8b540b1d0d9304
https://github.com/llvm/llvm-project/commit/1a314b2472a834466e728533ac8b540b1d0d9304
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
Log Message:
-----------
PeepholeOpt: Fix copy current source index accounting bug
We were essentially using the current source index as a binary
value, and didn't actually use it for indexing so it did not
matter. Use the operand to ensure the value is actually correct.
Commit: cf8c730ce931e0a38ce4bfd00660c5eacf10d992
https://github.com/llvm/llvm-project/commit/cf8c730ce931e0a38ce4bfd00660c5eacf10d992
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Log Message:
-----------
Fix LinalgOps build error on older clang versions
As reported in the PR #123618, 0d4efa27252cbbea4b56 included a
construction of a `FailureOr` object with a `nullptr`, which didn't work
in at least clang-10. This patch changes it into a constructor call
instead of a brace-init call so that it is unambiguous.
Commit: 6dd07b17c7ff8e61073a7732e09fa828a64f7bec
https://github.com/llvm/llvm-project/commit/6dd07b17c7ff8e61073a7732e09fa828a64f7bec
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/alternate-vectorization-split-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
Log Message:
-----------
Revert "[SLP]Reduce number of alternate instruction, where possible"
This reverts commit e588085af03ba4be14a502806918fd74ca1cf367 to fix
a crash reported in https://github.com/llvm/llvm-project/pull/123360#issuecomment-2627439245
Commit: a325622be523e977e0c4bae81ea8e4c6916cdb21
https://github.com/llvm/llvm-project/commit/a325622be523e977e0c4bae81ea8e4c6916cdb21
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Log Message:
-----------
[DSE] Allow attribute differences in redundant store elimination (#125190)
When comparing the instructions, enable attribute intersection to allow
differences in attributes.
Note that we don't actually have to intersect the attributes on the
earlier instruction, because we're not RAUWing, so there's no chance
that we make any values more poisonous.
Commit: 55be370f375416f615a840d1c0cabe2c819e6bbb
https://github.com/llvm/llvm-project/commit/55be370f375416f615a840d1c0cabe2c819e6bbb
Author: Narayan <32898329+vortex73 at users.noreply.github.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/select_frexp.ll
Log Message:
-----------
[InstCombine] Fold frexp of select to select of frexp (#121227)
This patch implements an optimization to push select operations through
frexp when one of the select operands is a constant. When we encounter:
```
define float @src(float %x, i1 %bool) {
%select = select i1 %bool, float 1.000000e+00, float %x
%frexp = tail call { float, i32 } @llvm.frexp.f32.i32(float %select)
%frexp.0 = extractvalue { float, i32 } %frexp, 0
ret float %frexp.0
}
```
We transform it to:
```
define float @tgt(float %x, i1 %bool) {
%frexp = tail call { float, i32 } @llvm.frexp.f32.i32(float %x)
%frexp.0 = extractvalue { float, i32 } %frexp, 0
%select = select i1 %bool, float 5.000000e-01, float %frexp.0
ret float %select
}
```
Fixes #92542
Commit: 1f56bb3137827d66093b66aa3a6447fdaba61783
https://github.com/llvm/llvm-project/commit/1f56bb3137827d66093b66aa3a6447fdaba61783
Author: Christian Clauss <cclauss at me.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M offload/DeviceRTL/include/Configuration.h
M offload/DeviceRTL/include/Mapping.h
M offload/DeviceRTL/include/State.h
M offload/DeviceRTL/include/Synchronization.h
M offload/DeviceRTL/src/Configuration.cpp
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/Reduction.cpp
M offload/DeviceRTL/src/Synchronization.cpp
M offload/DeviceRTL/src/Workshare.cpp
M offload/include/OpenMP/OMPT/Callback.h
M offload/include/PluginManager.h
M offload/include/device.h
M offload/include/omptarget.h
M offload/liboffload/API/APIDefs.td
M offload/liboffload/API/README.md
M offload/liboffload/src/OffloadLib.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/GlobalHandler.h
M offload/plugins-nextgen/common/include/JIT.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/dynamic_ffi/ffi.h
M offload/src/OpenMP/API.cpp
M offload/src/OpenMP/Mapping.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/src/omptarget.cpp
M offload/test/api/omp_target_memcpy_async1.c
M offload/test/mapping/target_uses_allocator.c
M offload/test/offloading/fortran/dump_map_tables.f90
M offload/test/offloading/fortran/implicit-record-field-mapping.f90
M offload/test/offloading/fortran/local-descriptor-map-regress.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
M offload/test/offloading/parallel_target_teams_reduction_max.cpp
M offload/test/offloading/parallel_target_teams_reduction_min.cpp
M offload/test/offloading/struct_mapping_with_pointers.cpp
M offload/test/unified_shared_memory/associate_ptr.c
M offload/test/unified_shared_memory/close_member.c
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
[Offload][NFC] Fix typos discovered by codespell (#125119)
https://github.com/codespell-project/codespell
% `codespell
--ignore-words-list=archtype,hsa,identty,inout,iself,nd,te,ths,vertexes
--write-changes`
Commit: 5fbb8dd7da5cd8b76127e780d418fe780d3337a4
https://github.com/llvm/llvm-project/commit/5fbb8dd7da5cd8b76127e780d418fe780d3337a4
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/Target/CMakeLists.txt
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/translation.c
Log Message:
-----------
[mlir][llvmir][reland] expose Type(To/From)LLVMIRTranslator C API (#125110)
Commit: c8ba57ec23ddf6ab9a178dbabc8b61924f0f36fa
https://github.com/llvm/llvm-project/commit/c8ba57ec23ddf6ab9a178dbabc8b61924f0f36fa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ParentMapContext.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#125157)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect NodeOrVector to be nonnull.
Commit: 9268494f03cb940de0ae4b747b447ffc07b10ea7
https://github.com/llvm/llvm-project/commit/9268494f03cb940de0ae4b747b447ffc07b10ea7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[TableGen] Migrate away from PointerUnion::dyn_cast (NFC) (#125158)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect DiagsInPedantic and GroupsInPedantic to be nonnull.
Commit: 5a116f8a730f6aba873ba7237a308495b2fcef2c
https://github.com/llvm/llvm-project/commit/5a116f8a730f6aba873ba7237a308495b2fcef2c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Migrate away from PointerUnion::dyn_cast (NFC) (#125159)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect InVectors.front() and P to be nonnull.
Commit: 7a0c6cfdf3ec3715e963c94267a22d8d743826fd
https://github.com/llvm/llvm-project/commit/7a0c6cfdf3ec3715e963c94267a22d8d743826fd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/WindowScheduler.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#125160)
Commit: 0d63a3d7572039095fabeadc7f1370da7dfa0d1b
https://github.com/llvm/llvm-project/commit/0d63a3d7572039095fabeadc7f1370da7dfa0d1b
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
Log Message:
-----------
[mlir][acc] Update LegalizeDataValues pass to allow MappableType (#125134)
With the addition of new type interface MappableType, the
LegalizeDataValues should not make the assumption it can obtain a
pointer to the data (aka acc::getVarPtr() is now not guaranteed to get a
value - acc::getVar() must be used instead).
Thus update the pass to ensure it handles any var used in its data
clause operations.
Commit: 7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b
https://github.com/llvm/llvm-project/commit/7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanBase.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
A lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
A lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanBase.cpp
A lldb/test/API/functionalities/reverse-execution/Makefile
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
A lldb/test/API/functionalities/reverse-execution/main.c
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
Reland "[lldb] Implement basic support for reverse-continue" (#125242)
This reverts commit a774de807e56c1147d4630bfec3110c11d41776e.
This is the same changes as last time, plus:
* We load the binary into the target object so that on Windows, we can
resolve the locations of the functions.
* We now assert that each required breakpoint has at least 1 location,
to prevent an issue like that in the future.
* We are less strict about the unsupported error message, because it
prints "error: windows" on Windows instead of "error: gdb-remote".
Commit: 48a66e9b2a9a5083f26c95b14b09c9c897780f59
https://github.com/llvm/llvm-project/commit/48a66e9b2a9a5083f26c95b14b09c9c897780f59
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store intrinsics (#125223)
As noted on #124499 - this is currently missing for type-only analysis and was falling back to scalarization for fixed vectors (and failing entirely for scalable vectors)
Commit: 0324c70f4e6a2115c9255d331274cc9413b66995
https://github.com/llvm/llvm-project/commit/0324c70f4e6a2115c9255d331274cc9413b66995
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
Revert 48a66e9b2a9a5083f26c95b14b09c9c897780f59 "[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store intrinsics (#125223)"
Investigating build bot failures (I think due to some other recent reversions).
Commit: 272ce90ed4814a2a5c87c78b5bcf24fc60b5703c
https://github.com/llvm/llvm-project/commit/272ce90ed4814a2a5c87c78b5bcf24fc60b5703c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/openmp-offload-jit.c
M clang/test/Driver/openmp-system-arch.c
Log Message:
-----------
[Clang] Make OpenMP offloading consistently use the bound architecture (#125135)
Summary:
OpenMP was weirdly split between using the bound architecture from
`--offload-arch=` and the old `-march=` option which only worked for
single jobs. This patch removes that special handling. The main benefit
here is that we can now use `getToolchainArgs` without it throwing an
error.
I'm assuming SYCL doesn't care about this because they don't use an
architecture.
Commit: e2301d674976b84ba505065a9702f3376e05bc43
https://github.com/llvm/llvm-project/commit/e2301d674976b84ba505065a9702f3376e05bc43
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
Log Message:
-----------
[TableGen] Reduce size of MatchTableRecord (NFC) (#125221)
MatchTableRecord stores a 64-bit RawValue. However, this field is only
needed by a small part of the code (jump table generation).
Create a separate RecordAndValue structure that is used in just the
necessary places.
Based on massif, this reduces memory usage on RISCVGenGlobalISel.inc by
about 100MB (to 2.15GB).
Commit: fbf544c4226524d8518ebe375bad412a08358233
https://github.com/llvm/llvm-project/commit/fbf544c4226524d8518ebe375bad412a08358233
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
A clang/include/clang/CIR/FrontendAction/.clang-tidy
M clang/include/clang/CIR/LowerToLLVM.h
R clang/include/clang/CIRFrontendAction/.clang-tidy
A clang/lib/CIR/FrontendAction/.clang-tidy
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Fix some clang-tidy problems in CIR (#125128)
This adds a .clang-tidy file to the clang/lib/CIR/FrontendAction
directory, moves and updates the incorrectly located
include/clang/CIR/FrontendAction .clang-tidy file, and updates two files
from a recent commit to bring them into conformance with previously
agreed upon rules for where to use LLVM naming conventions and where to
use MLIR naming conventions.
Commit: b2447a25af2a64c038ad6e023aafbb36b7331378
https://github.com/llvm/llvm-project/commit/b2447a25af2a64c038ad6e023aafbb36b7331378
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
AMDGPU: Add willreturn to sendmsg intrinsics (#125014)
Commit: e31c6c97b795e57a7b1ee31ad37eced40c6305ed
https://github.com/llvm/llvm-project/commit/e31c6c97b795e57a7b1ee31ad37eced40c6305ed
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] Fix building on aarch64 *BSD and musl libc after 9d8dc45d17088300e9e2086594ca581b119193c8 (#125183)
The fpu_control.h header appears to be GLIBC specific.
Commit: 65136a35309670c24bd0b8c98561fa4f7b503a70
https://github.com/llvm/llvm-project/commit/65136a35309670c24bd0b8c98561fa4f7b503a70
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
SCEV: migrate LoopInvariantPredicate to CmpPredicate (NFC) (#125204)
Follow up on 60dc450 (SCEV: migrate to CmpPredicate (NFC)) to migrate
the missed ScalarEvolution::LoopInvariantPredicate to CmpPredicate.
Commit: b9207aef09387342837069d2c0857e6d331a516c
https://github.com/llvm/llvm-project/commit/b9207aef09387342837069d2c0857e6d331a516c
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/docs/analyzer/user-docs/Annotations.rst
Log Message:
-----------
[NFC][analyzer][docs] Improve Annotations.rst (#122749)
This commit fixes three issues within the documentation file
`Annotations.rst` which was recently created by my earlier commit
https://github.com/llvm/llvm-project/pull/122246 .
(1) The section title "Annotations to Enhance Generic Checks" is changed
to "General Purpose Annotations" because it was a bit too verbose and it
used the obsolete name "checks" for what we now call "checkers" in the
static analyzer.
(2) Several code blocks were missing from the generated html because I
accidentally used `.. code-block: c` instead of `.. code-block:: c` and
so Sphinx parsed them as comment blocks. (Without printing any error or
warning...)
(3) The `ownership_*` attributes (which are used by `MallocChecker`)
were missing from this document, so I wrote a section that briefly
describes them and links to their full documentation.
Commit: 64142391fd6b56d2523adaaf5483553276d25b6e
https://github.com/llvm/llvm-project/commit/64142391fd6b56d2523adaaf5483553276d25b6e
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_interface.cpp
M compiler-rt/lib/xray/xray_interface_internal.h
A compiler-rt/lib/xray/xray_s390x.cpp
A compiler-rt/lib/xray/xray_trampoline_s390x.S
M compiler-rt/lib/xray/xray_tsc.h
Log Message:
-----------
[SystemZ][XRay] Reland XRay runtime support for SystemZ (#124611)
Adds the runtime support routines for XRay on SystemZ. Only function
entry/exit is implemented.
The original PR 113252 was reverted due to errors caused by adding DSO
support to XRay.
This PR is the original implementation with the changed function
signatures. I'll add an implementation with DSO support later.
Commit: 7fd3743b9fe8f9e6177ef9957cdd431221b84b6f
https://github.com/llvm/llvm-project/commit/7fd3743b9fe8f9e6177ef9957cdd431221b84b6f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
Log Message:
-----------
[RISCV] Rename Mips instruction records to start with MIPS_. NFC (#125170)
This matches established conventions and avoids potential future
conflicts with standard instructions.
Commit: bd95b57ef03aa5b034192c9ea1e353fb79708632
https://github.com/llvm/llvm-project/commit/bd95b57ef03aa5b034192c9ea1e353fb79708632
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOpt] Move OperandInfo into anonymous namespace. Move getEMULEqualsEEWDivSEWTimesLMUL out of RISCVVType namespace. NFC (#125138)
We don't want OperandInfo to be visible outside of this translation
unit.
getEMULEqualsEEWDivSEWTimesLMUL is local to this file and declared
static. There's no reason to put it in a namespace.
Commit: 5c3db5a87ea578571e67f543772a3c12805121fe
https://github.com/llvm/llvm-project/commit/5c3db5a87ea578571e67f543772a3c12805121fe
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[Github] Label lldb-dap PRs (#125139)
Automatically apply the `lldb-dap` label to relevant PRs.
Commit: 1b0becf739ace0e04c57b50ab701b5e3d009ccbb
https://github.com/llvm/llvm-project/commit/1b0becf739ace0e04c57b50ab701b5e3d009ccbb
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/docs/use/variable.rst
Log Message:
-----------
[lldb] Add some formatting to variable.rst (NFC)
Commit: 759ef5811e2297f2cbe7578f7c118668e3467c6a
https://github.com/llvm/llvm-project/commit/759ef5811e2297f2cbe7578f7c118668e3467c6a
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Hexagon.cpp
A clang/test/Driver/hexagon-cpu-default.c
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
[Hexagon] Set the default compilation target to V68 (#125239)
Set the default compilation target to V68 if no Hexagon processor is
specified at the command-line.
Add the elf header changes for v81/v83/v85 architectures.
Commit: 88f858d85837dd342f49f25c87ab42837afd5799
https://github.com/llvm/llvm-project/commit/88f858d85837dd342f49f25c87ab42837afd5799
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
Log Message:
-----------
IndVarSimplify: thread CmpPredicate to SCEV (NFC) (#125240)
Relevant parts of ScalarEvolution's API accept a CmpPredicate instead of
a CmpInst::Predicate after 60dc450 (SCEV: migrate to CmpPredicate
(NFC)). After auditing the callers of these APIs, it was found that
IndVarSimplify was dropping samesign information. Fix this.
Commit: eb0af4e48d0e039849c6bbf36e791610e7ef9a06
https://github.com/llvm/llvm-project/commit/eb0af4e48d0e039849c6bbf36e791610e7ef9a06
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
Log Message:
-----------
[CIR] Fix shared build. NFC
Commit: ef8e0330801b43f8c7bec81c649d5a3e86238d7f
https://github.com/llvm/llvm-project/commit/ef8e0330801b43f8c7bec81c649d5a3e86238d7f
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/aarch64-mixed-ptr-sizes.ll
M llvm/test/CodeGen/X86/mixed-ptr-sizes.ll
Log Message:
-----------
[llvm][aarch64] Add support for the MS qualifiers __ptr32, __ptr64, _sptr, __uptr (#112793)
MSVC has a set of qualifiers to allow using 32-bit signed/unsigned
pointers when building 64-bit targets. This is useful for WoW code
(i.e., the part of Windows that handles running 32-bit application on a
64-bit OS). Currently this is supported on x64 using the 270, 271 and
272 address spaces, but does not work for AArch64 at all.
This change handles pointers in the new address spaces by truncating or
extending the value as required. The implementation is modeled after
x86.
Note that the initial version of this change that was never merged
(<https://reviews.llvm.org/D158931>) took a much different approach that
involved arch-specific handling in the DAG combiner/selector, which
didn't feel like the correct approach.
That previous approach also used `UBFM` for all 32-bit to 64-bit
zero-extensions, which resulted in a lot of `lsr` instructions being
added. For example, in the `ptradd.ll` test, it resulted in:
```
%add = add i32 %b, %a
%conv = zext i32 %add to i64
```
Being expanded to:
```
add w8, w1, w0
lsr w0, w8, #0
```
Where the `lsr` instruction wasn't previously being added. I don't know
enough about the exact details of AArch64 to know if that's a desirable
change, so I've left it out of my change.
Backend half of #111879
Commit: 0ff49a745a43b6615a6ada180f2d11456b3beb05
https://github.com/llvm/llvm-project/commit/0ff49a745a43b6615a6ada180f2d11456b3beb05
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] add missing dep after 5fbb8dd7da5cd8b76127e780d418fe780d3337a4
Commit: ef91caec2cf313624829114802cff92ae682e550
https://github.com/llvm/llvm-project/commit/ef91caec2cf313624829114802cff92ae682e550
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/MicrosoftCompatibility.c
M clang/test/Sema/MicrosoftCompatibility.cpp
Log Message:
-----------
Allow 'inline' on some declarations in MS compatibility mode (#125250)
Microsoft allows the 'inline' specifier on a typedef of a function type
in C modes. This is used by a system header (ufxclient.h), so instead
of giving a hard error, we diagnose with a warning. C++ mode and non-
Microsoft compatibility modes are not impacted.
Fixes https://github.com/llvm/llvm-project/issues/124869
Commit: 8d8a821b78305b2e78c7f5deb7e85e6f349608e3
https://github.com/llvm/llvm-project/commit/8d8a821b78305b2e78c7f5deb7e85e6f349608e3
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/check-io.cpp
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang] Support OPEN(..., FORM="BINARY") (#124657)
... as a legacy spelling for OPEN(..., FORM="UNFORMATTED",
ACCESS="STREAM").
Commit: 36caa8f9e26e839daa75ad9f0d1d1934a8a8cd6c
https://github.com/llvm/llvm-project/commit/36caa8f9e26e839daa75ad9f0d1d1934a8a8cd6c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names-utils.cpp
A flang/test/Semantics/bug124487.f90
Log Message:
-----------
[flang] Fix crash on SMP with dummy procedure (#124663)
When a separate module procedure is defined with MODULE PROCEDURE, the
compiler crashes if there is a dummy procedure in the interface defined
with only a result type. This is due to the type already having been
defined on the ProcEntityDetails symbol as part of earlier wholesale
symbol duplication. Adjust the code to not define the result type of the
ProcEntityDetails if it is already present, but to verify that it is the
same type instead.
Fixes https://github.com/llvm/llvm-project/issues/124487.
Commit: 10b0a07e11b6fc53f2af63b7da7256a3e509835a
https://github.com/llvm/llvm-project/commit/10b0a07e11b6fc53f2af63b7da7256a3e509835a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Evaluate/bug124618.f90
Log Message:
-----------
[flang] Fold KIND= arguments in intrinsic function references (#124666)
KIND= arguments in e.g. ACHAR(..., KIND=...) intrinsic function
references must be compilation-time constant expressions. The compiler
was failing to evaluate those expressions if they were not actually
literaly constant values.
Fixes https://github.com/llvm/llvm-project/issues/124618.
Commit: 4927a5ed4a03c027c6e77a231037b13b54017b13
https://github.com/llvm/llvm-project/commit/4927a5ed4a03c027c6e77a231037b13b54017b13
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/bug124621.f90
Log Message:
-----------
[flang] Allow defined assignment to CLASS(*) (#124817)
An unlimited polymorphic left-hand side variable is acceptable in the
definition of a defined assignment subroutine.
Fixes https://github.com/llvm/llvm-project/issues/124621.
Commit: cadc70c1f0f4dc72340891395dc213cf1a9472c9
https://github.com/llvm/llvm-project/commit/cadc70c1f0f4dc72340891395dc213cf1a9472c9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug12477.f90
M flang/test/Semantics/resolve110.f90
Log Message:
-----------
[flang] Prefer non-elemental to elemental defined operator resolution (#124941)
A non-elemental specific procedure must take precedence over an
elemental specific procedure in defined operator generic resolution.
Fixes https://github.com/llvm/llvm-project/issues/124777.
Commit: c82db773f47fce978c6ec5c567caeefa27e6521b
https://github.com/llvm/llvm-project/commit/c82db773f47fce978c6ec5c567caeefa27e6521b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug124731.f90
M flang/test/Semantics/self-use.f90
Log Message:
-----------
[flang] Handle indirect USE of ancestor module into submodule (#124969)
A USE statement within a submodule (possibly in a nested scope) is not
allowed to USE the submodule's ancestor module directly, but it is
permissible to USE that ancestor module indirectly via another unrelated
module. Don't emit "already present in scope" errors for this case.
Fixes https://github.com/llvm/llvm-project/issues/124731.
Commit: 56c468474de77cd7b6954a74190f9603d393d02a
https://github.com/llvm/llvm-project/commit/56c468474de77cd7b6954a74190f9603d393d02a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/bug124716.f90
Log Message:
-----------
[flang] Suppress USEs of non-USE'able names in module files (#124980)
When harvesting and formatting symbols USE'd from other modules, don't
emit USE statements to module files for names unless they come from the
topmost scope of the module. There was a check to prevent names from
derived type scopes from escaping in this way, but it must be made more
general to prevent other cases like dummy arguments in interfaces.
Fixes https://github.com/llvm/llvm-project/issues/124716.
Commit: f8300f1c2a767e2ffaa6440249439b66bb5dec3b
https://github.com/llvm/llvm-project/commit/f8300f1c2a767e2ffaa6440249439b66bb5dec3b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug124976.f90
Log Message:
-----------
[flang] Refine "same type" testing for intrinsic arguments (#125133)
Some errors aren't being caught, such as the case in the linked bug
where the PAD= argument to RESHAPE() didn't have the same declared type
as the ARRAY=; this led to a crash in lowering. Refine the "same type"
testing logic for intrinsic procedures, and add a better test.
Fixes https://github.com/llvm/llvm-project/issues/124976.
Commit: bf34884fb315ecf0bb867c774f45f8b5473aeb75
https://github.com/llvm/llvm-project/commit/bf34884fb315ecf0bb867c774f45f8b5473aeb75
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:6890:25: error:
unused variable 'TLI' [-Werror,-Wunused-variable]
Commit: 9955d849d6029103ef8423293054c6df888371f0
https://github.com/llvm/llvm-project/commit/9955d849d6029103ef8423293054c6df888371f0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect shuffled elements of buildvector
Commit: 6b8d076b1f0a00341945ed25626eaec099422982
https://github.com/llvm/llvm-project/commit/6b8d076b1f0a00341945ed25626eaec099422982
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
Log Message:
-----------
[clang][bytecode] Return failure for dead non-temporary pointers (#125247)
... even when we're not performing a lvalue-to-rvalue conversion.
Commit: f3549814f8a2e14b61ebe05b94cd216008633fa5
https://github.com/llvm/llvm-project/commit/f3549814f8a2e14b61ebe05b94cd216008633fa5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode] Stack-allocate bottom function frame (#125253)
Instead of heap-allocating it. This is similar to what the current
interpeter does. In C, we have no function calls, so the extra heap
allocation never makes sense.
Commit: e78aa8f35e6dd66d5152396406d3d4f37f43e7f4
https://github.com/llvm/llvm-project/commit/e78aa8f35e6dd66d5152396406d3d4f37f43e7f4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
Log Message:
-----------
[SLP]Use the size of gathered scalars when evaluating slice size
Need to use the size of the gathered scalars, not the original size of
the buildvector scalars, since gathered scalar size might be changed
during building the buildvector shuffles.
Fixes #125259
Commit: 631abff733b7f5bf1bac8fbcea13cfcf6c494450
https://github.com/llvm/llvm-project/commit/631abff733b7f5bf1bac8fbcea13cfcf6c494450
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
Log Message:
-----------
Revert "[SLP]Use the size of gathered scalars when evaluating slice size"
This reverts commit e78aa8f35e6dd66d5152396406d3d4f37f43e7f4 to fix
crashes reported in https://lab.llvm.org/buildbot/#/builders/140/builds/16047.
Commit: 2bfb3bae69718525fd9b1dc6e2dec9387c647a9e
https://github.com/llvm/llvm-project/commit/2bfb3bae69718525fd9b1dc6e2dec9387c647a9e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Semantics/expression.cpp
M flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/exponent.f90
M flang/test/Lower/Intrinsics/fma_real16.f90
M flang/test/Lower/Intrinsics/ieee_class_queries.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/Intrinsics/powi_real16.f90
M flang/test/Lower/Intrinsics/random_number_real16.f90
M flang/test/Lower/Intrinsics/rrspacing.f90
M flang/test/Lower/Intrinsics/sign.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/math-lowering/abs.f90
M flang/test/Lower/math-lowering/aint.f90
M flang/test/Lower/real-operations-1.f90
M flang/test/Semantics/kinds01.f90
M flang/test/Semantics/kinds02.f90
M flang/test/Semantics/resolve41.f90
Log Message:
-----------
[flang] Make REAL/COMPLEX(10) a hard error for non-x86 targets (#124655)
Currently the use of REAL/COMPLEX(KIND=10) as a type or literal constant
suffix elicits an optional warning message only. This leads to compiler
internal errors during lowering when these types appear in code being
compiled to non-x86_64 targets. For better error messaging, make the use
of these types a hard error in semantics instead when they are not
supported by the target architecture.
Commit: f14f19738916572322c310e84196134545c15c49
https://github.com/llvm/llvm-project/commit/f14f19738916572322c310e84196134545c15c49
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
[CFIFixup] Factor logic into helpers and use range-based loops (NFC) (#125137)
`runOnMachineFunction` is getting long (>100 lines), and the logic
for computing block info and performing block fixup can be abstracted
away.
Reduce nesting in the main block fixup loop and name conditions to
reflect their purpose.
Replace manual usage of iterators with a range-based for loop.
Source:
-
https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code
-
https://llvm.org/docs/CodingStandards.html#use-range-based-for-loops-wherever-possible
-
https://llvm.org/docs/CodingStandards.html#don-t-evaluate-end-every-time-through-a-loop
Commit: b25fe9cd368c198ec6e93493cb2168ba4e8463cf
https://github.com/llvm/llvm-project/commit/b25fe9cd368c198ec6e93493cb2168ba4e8463cf
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddv.ll
Log Message:
-----------
[msan][NFCI] Add tests for Arm NEON add reduction to scalar (#125271)
Forked from llvm/test/CodeGen/AArch64/arm64-vaddv.ll
Incorrectly handled by handleUnknownInstruction:
- llvm.aarch64.neon.faddv
- llvm.aarch64.neon.saddv
- llvm.aarch64.neon.uaddv
Commit: 833ba0a77355a0cd3fefa8cc6bb17e6a9971d3fd
https://github.com/llvm/llvm-project/commit/833ba0a77355a0cd3fefa8cc6bb17e6a9971d3fd
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
Log Message:
-----------
[ObjC][ARC] Initialize member of ObjCARCContract (#125256)
This fixes a bug where hasCFGChanged was called before CFGChanged had
been initialized.
rdar://142842745
Commit: 2a2d6e66ce3a87f4f5168df717782d777063f7b8
https://github.com/llvm/llvm-project/commit/2a2d6e66ce3a87f4f5168df717782d777063f7b8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.9
Bump the version to 0.2.9 to publish #124986 in the Marketplace.
Commit: dbabad0fc04e7106a07dbeeb8ff23dc32ce6b2c6
https://github.com/llvm/llvm-project/commit/dbabad0fc04e7106a07dbeeb8ff23dc32ce6b2c6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/test/API/functionalities/abbreviation/TestAbbreviations.py
Log Message:
-----------
[lldb] Use validation combination of options in TestAbbreviations (#125270)
Name and line number are part of different option groups and are not
compatible.
```
(lldb) breakpoint set -n foo -l 10
error: invalid combination of options for the given command
```
The help output for `breakpoint set` confirms this. This patch updates
the test to use two compatible options. With the improved error
reporting from #125125 this becomes an issue.
Commit: c7d4ccfd836b45bd589956e7485c2647d8912a69
https://github.com/llvm/llvm-project/commit/c7d4ccfd836b45bd589956e7485c2647d8912a69
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/pcrel-jump-table.ll
Log Message:
-----------
[PowerPC] Autogenerate a test checks in preparation for follow-up commit
This just adds more lines that are checked
Commit: e822dff0e9285707ad964ba831cb861d2f6f1714
https://github.com/llvm/llvm-project/commit/e822dff0e9285707ad964ba831cb861d2f6f1714
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/Mips/2010-07-20-Switch.ll
Log Message:
-----------
[MIPS] Autogenerate a jump tables test
This makes the check lines more strict and makes a follow-up change easier.
Commit: 7444ccdd26ae5f7de828f50820a80b6b4014c9fa
https://github.com/llvm/llvm-project/commit/7444ccdd26ae5f7de828f50820a80b6b4014c9fa
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
LAA: improve code in getStrideFromPointer (NFC) (#124780)
Strip dead code, inline a constant, and modernize style.
Commit: 9ff24f5114e5cd3f6f44d2269005e6b18e0906b3
https://github.com/llvm/llvm-project/commit/9ff24f5114e5cd3f6f44d2269005e6b18e0906b3
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
Revert "[CFIFixup] Factor logic into helpers and use range-based loops (NFC) (#125137)"
This reverts commit f14f19738916572322c310e84196134545c15c49, which
breaks a number of build bots:
- https://lab.llvm.org/buildbot/#/builders/163/builds/12726
- https://lab.llvm.org/buildbot/#/builders/144/builds/17106
- https://lab.llvm.org/buildbot/#/builders/123/builds/12855
- https://lab.llvm.org/buildbot/#/builders/133/builds/10660
- https://lab.llvm.org/buildbot/#/builders/88/builds/7482
- https://lab.llvm.org/buildbot/#/builders/180/builds/12313
- https://lab.llvm.org/buildbot/#/builders/160/builds/12316
Commit: c640f97ccf723e64ff24af225cb995c905538406
https://github.com/llvm/llvm-project/commit/c640f97ccf723e64ff24af225cb995c905538406
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[TableGen] Don't use inline storage for ReferenceLocs (NFC) (#125231)
The ReferenceLocs are not enabled by default (they are used by the
tablegen lsp server), and as such always empty, but still allocate
inline storage for the SmallVector. Disabling it saves about 200MB on
RISCVGenGlobalISel.inc.
(The equivalent field in Record already disables inline storage.)
Commit: 503e4b2d54ad81507d6072be522ce57b5393168c
https://github.com/llvm/llvm-project/commit/503e4b2d54ad81507d6072be522ce57b5393168c
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-compare.ll
Log Message:
-----------
[InstCombine] Perform some cleanups, add some tests
No functional change is intended.
Commit: d841c8842e17b7e74c3ee98c13a8a2505566deed
https://github.com/llvm/llvm-project/commit/d841c8842e17b7e74c3ee98c13a8a2505566deed
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Move spread(4,8) shuffle lowering above generic fallbacks [NFC
NFC because the patterns are distinct, but has confused me now twice
despite being the person who wrote said code.
Commit: 82b923defe27cc46ecf3084f3a8f1c0d1c36199e
https://github.com/llvm/llvm-project/commit/82b923defe27cc46ecf3084f3a8f1c0d1c36199e
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
Reland "[CFIFixup] Factor logic into helpers and use range-based loops (NFC) #125137"
This patch was breaking tests due to inconsistent use of SmallVector.
After consolidating SmallVector usages, everything should work as
intended.
Commit: d9c9326a219a87620ff08bf1202441acb2dded2e
https://github.com/llvm/llvm-project/commit/d9c9326a219a87620ff08bf1202441acb2dded2e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
Log Message:
-----------
[SLP]Recalculate number of parts when requesting number of elements based on original scalars size
Need to recalculate number of parts, since gathered scalar size might be changed
during building the buildvector shuffles.
Fixes #125259
Commit: ffe3129e9bdc146ee4d91e849173d1c64b1ae974
https://github.com/llvm/llvm-project/commit/ffe3129e9bdc146ee4d91e849173d1c64b1ae974
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
Log Message:
-----------
[mlir] allow overriding visitRegionSuccessors (#125268)
This PR enables overriding AbstractSparseForwardDataFlowAnalysis::visitRegionSuccessors to control precisely how the region successors of `branch` are visited. For example in order to precisely control the order in which predecessor operand lattices are propagated from. An override is responsible for visiting all the known predecessors and propagating therefrom.
Commit: 87b7f63a117c340a6d9ca47959335fd7ef6c7ad2
https://github.com/llvm/llvm-project/commit/87b7f63a117c340a6d9ca47959335fd7ef6c7ad2
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanBase.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
R lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
R lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanBase.cpp
R lldb/test/API/functionalities/reverse-execution/Makefile
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
R lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
R lldb/test/API/functionalities/reverse-execution/main.c
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
Revert "Reland "[lldb] Implement basic support for reverse-continue" (#125242)"
This reverts commit 7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b.
Breaking green dragon:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/19569/testReport/junit/lldb-api/functionalities_reverse-execution/TestReverseContinueWatchpoints_py/
Commit: fa6b7ec894d8ff2de39cef73acdcede8dae6f38c
https://github.com/llvm/llvm-project/commit/fa6b7ec894d8ff2de39cef73acdcede8dae6f38c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Replace strip_include_prefix in lldb with includes (#125293)
These both have the same result that the relevant include paths are
propagated to all dependents, but includes is dedup'd where
strip_include_prefix is not. So this reduces >100 include paths for all
transitive dependents.
Commit: 9333d8fb0749b1ae2b152a1003d2ecc00027b3d5
https://github.com/llvm/llvm-project/commit/9333d8fb0749b1ae2b152a1003d2ecc00027b3d5
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
Log Message:
-----------
[analyzer][NFC] Simplify and eliminate redundant map lookups (#125272)
Commit: 91e77d88a40f91d4da79c478dbb7d447bb59ed14
https://github.com/llvm/llvm-project/commit/91e77d88a40f91d4da79c478dbb7d447bb59ed14
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] Restore OpName::OPERAND_LAST emission in InstrInfoEmitter (#125265)
- Looks like this sentinel value is used in some downstream backends, so
restore emitting it.
- It now also has the correct value (earlier code may have emitted an
incorrect value for OPERAND_LAST and hence it was removed in
https://github.com/llvm/llvm-project/pull/124960)
Commit: e6d12ad791f6eabb53623664a1563996efce44f7
https://github.com/llvm/llvm-project/commit/e6d12ad791f6eabb53623664a1563996efce44f7
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M bolt/test/X86/dynamic-relocs-on-entry.s
Log Message:
-----------
[BOLT][NFC] Fix test X86/dynamic-relocs-on-entry.s (#125264)
Commit: 6deee0d5b36c8b4b83209759df8d4933e4922bc8
https://github.com/llvm/llvm-project/commit/6deee0d5b36c8b4b83209759df8d4933e4922bc8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lldb/include/lldb/Interpreter/Options.h
M lldb/source/Interpreter/CommandAlias.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/test/API/functionalities/abbreviation/TestAbbreviations.py
Log Message:
-----------
[lldb] Use llvm::Error instead of CommandReturnObject for error reporting (#125125)
Use `llvm::Error` instead of `CommandReturnObject` for error reporting.
The command return objects were populated with errors but never
displayed. With this patch they're at least logged.
Commit: 95c0c784ac9a91a8e12331ad9574ac6ad75318b1
https://github.com/llvm/llvm-project/commit/95c0c784ac9a91a8e12331ad9574ac6ad75318b1
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
workflows/premerge: Fix condition for macos job (#125237)
Commit: f50efe9c0b2f0a872b230b609b3c49a561474c96
https://github.com/llvm/llvm-project/commit/f50efe9c0b2f0a872b230b609b3c49a561474c96
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
Log Message:
-----------
[LVI] Pre commit test for #124480 (NFC)
Commit: c641c1aace9ce5bc307bdf9479d10f108505755e
https://github.com/llvm/llvm-project/commit/c641c1aace9ce5bc307bdf9479d10f108505755e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Pass VPValue operands to handleReplication. (NFC)
Update handleReplication to also take VPValue operands as argument, in
line with the other methods in VPRecipeBuilder.
Commit: 213a939a792f64e7bfdc684922abdf6cd1d3e388
https://github.com/llvm/llvm-project/commit/213a939a792f64e7bfdc684922abdf6cd1d3e388
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/test/CodeGen/LoongArch/annotate-tablejump.ll
M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/Mips/2010-07-20-Switch.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/jumptables.ll
M llvm/test/CodeGen/Mips/jump-table-mul.ll
M llvm/test/CodeGen/Mips/pseudo-jump-fill.ll
M llvm/test/CodeGen/PowerPC/absol-jump-table-enabled.ll
M llvm/test/CodeGen/PowerPC/aix-lower-jump-table-mir.ll
M llvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll
M llvm/test/CodeGen/PowerPC/jump-tables-collapse-rotate.ll
M llvm/test/CodeGen/PowerPC/mcm-5.ll
M llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll
M llvm/test/CodeGen/PowerPC/pcrel-jump-table.ll
M llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
M llvm/test/CodeGen/RISCV/jumptable.ll
M llvm/test/CodeGen/RISCV/shrinkwrap-jump-table.ll
M llvm/test/CodeGen/SystemZ/branch-05.ll
M llvm/test/CodeGen/SystemZ/branch-11.ll
M llvm/test/CodeGen/VE/Scalar/br_jt.ll
Log Message:
-----------
[LegalizeDAG] Use Base+Offset instead of Offset+Base for jump tables
This is needed for architectures that actually use strict pointer
arithmetic instead of integers such as AArch64 with FEAT_CPA (see
https://github.com/llvm/llvm-project/pull/105669) or CHERI. Using an
index as the first operand of pointer arithmetic may result in an
invalid output.
While there are quite a few codegen changes here, these only change the
order of registers in add instructions. One MIPS combine had to be
updated to handle the new node order.
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/125279
Commit: 2b04291830a2a34b681ae711dabfa1032f6c84f7
https://github.com/llvm/llvm-project/commit/2b04291830a2a34b681ae711dabfa1032f6c84f7
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Fix scalable InsertSlice/ExtractSlice lowering (#124861)
It looks like scalable `vector.insertslice/extractslice` ops made their way
through lowering patterns that generate `vector.shuffle` ops. I'm not
sure why this wasn't caught by the verifier, probably because the
shuffle op was folded into something else as part of the same rewrite
and the IR wasn't verified.
This PR fixes the issue by preventing scalable vector.insertslice/extractslice
ops to be lowered to vector shuffles. Instead, they are now lowered to a
sequence of insertslice/extractelement ops using an existing patter.
Commit: 9ad153a696e227de7177e54fc025251b05676515
https://github.com/llvm/llvm-project/commit/9ad153a696e227de7177e54fc025251b05676515
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Adding more bindings to libcudadevice (#125276)
Commit: 41745a200557c8a8b556bfc91fb2908a141b20e5
https://github.com/llvm/llvm-project/commit/41745a200557c8a8b556bfc91fb2908a141b20e5
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
Log Message:
-----------
[NFC][DirectX] Change deprecated insertBefore(Instruction*) API (#125308)
This fixes build errors due to deprecation of this API in commit
79499f010d2bfe809187a9a5f042d4e4ee1f1bcc
All tests in llvm/test/CodeGen/DirectX - including those added in commit
5ac624c8234fe0a62cbf0447dbf7035ea29d062e that added the original code
verified to pass.
Commit: ec7b13710ef0a81ff266f0ce4cfef6005ff2fcff
https://github.com/llvm/llvm-project/commit/ec7b13710ef0a81ff266f0ce4cfef6005ff2fcff
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll
Log Message:
-----------
[NVPTX] Fix `--check-prefixes` in `cp-async-bulk.ll` (NFC) (#125146)
I ran `update_llc_test_checks` over all of the `NVPTX` tests. The only
modification it made was to `cp-async-bulk.ll`. Thus, I'm creating this
PR to update `cp-async-bulk.ll`.
Commit: ae7f7c40150d1b887e4d1f2fb67f6f681a51fa40
https://github.com/llvm/llvm-project/commit/ae7f7c40150d1b887e4d1f2fb67f6f681a51fa40
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV] Add PseudoCCMOVGPRNoX0 to RISCVOptWInstrs.
Commit: db7e2e57822142c3fcf82781f8a375d3ea5e20ae
https://github.com/llvm/llvm-project/commit/db7e2e57822142c3fcf82781f8a375d3ea5e20ae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
Log Message:
-----------
[RISCV] Add PseudoCCMOVGPRNoX0 test caes for RISCVOptWInstrs. NFC
Commit: c3c326213e80abd6db9da83dbf0ab8452780705c
https://github.com/llvm/llvm-project/commit/c3c326213e80abd6db9da83dbf0ab8452780705c
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Fix `vector.shuffle` folder for poison indices (#124863)
This PR fixes the folder of a `vector.shuffle` with constant input
vectors in the presence of a poison index. Partially poison vectors are
currently not supported in UB so the folder select v1[0] for elements
indexed by poison.
Commit: a3799f2ca2f826c487a4d4aab784c9549ad6af82
https://github.com/llvm/llvm-project/commit/a3799f2ca2f826c487a4d4aab784c9549ad6af82
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
Log Message:
-----------
[RISCV] Remove potentially incompatible vtype toggles fro mvlseg-vsseg mca test (#125226)
Commit: 5dc815503fa358a104e84e34385a69f2803b6663
https://github.com/llvm/llvm-project/commit/5dc815503fa358a104e84e34385a69f2803b6663
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[RISCV] Add ESWIN EIC770X (SiFive P550) to getHostCPUNameForRISCV. (#125277)
This enables -mcpu=native for the HiFive Premier P550 board.
Commit: 1eac7cd5d1a3738f43d737d74ea299e08a1c3b61
https://github.com/llvm/llvm-project/commit/1eac7cd5d1a3738f43d737d74ea299e08a1c3b61
Author: Janis Heims <technoelf at undertheprinter.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.td
M llvm/test/CodeGen/M68k/PR57660.ll
A llvm/test/CodeGen/M68k/register-spills.ll
Log Message:
-----------
[M68k] always use movem for register spills (#106715)
Fixes #106206 and #106209.
Commit: f73f5af442d5dfa762b69a82f0c2cdf8898b9060
https://github.com/llvm/llvm-project/commit/f73f5af442d5dfa762b69a82f0c2cdf8898b9060
Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[Driver] Refactor option '-mlink-bitcode-file'. (#125322)
Associate '-mlink-bitcode-file' as both CC1 and FC1 option. Fixes
https://gitlab.e4s.io/uo-public/llvm-openmp-offloading-v2/-/jobs/360327
Commit: 280609c215e4a684cad215ea5be913293de0d255
https://github.com/llvm/llvm-project/commit/280609c215e4a684cad215ea5be913293de0d255
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Format/FormatToken.cpp
Log Message:
-----------
[clang-format][NFC] Minor improvement to FormatToken::isTypeName()
Commit: 598106d88a0fe5f4ac7767e8de63cb721e218e33
https://github.com/llvm/llvm-project/commit/598106d88a0fe5f4ac7767e8de63cb721e218e33
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/EraseUnusedOperandsAndResults.cpp
Log Message:
-----------
[mlir][Linalg] NFC: Expose a method to deduplicate operands/remove dead results of `linalg.generic` op. (#125141)
This functionality was wrapped within a pattern. Expose this as a
separate transformations function that can be used outside of pattern
rewrite mechanism.
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 386af4a5c64ab75eaee2448dc38f2e34a40bfed0
https://github.com/llvm/llvm-project/commit/386af4a5c64ab75eaee2448dc38f2e34a40bfed0
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
Revert "[clang][bytecode] Stack-allocate bottom function frame" (#125325)
Reverts llvm/llvm-project#125253
It introduced an msan failure. Caught by a buildbot here:
https://lab.llvm.org/buildbot/#/builders/164/builds/6922/steps/17/logs/stdio
Commit: 994cea3f0a2d0caf4d66321ad5a06ab330144d89
https://github.com/llvm/llvm-project/commit/994cea3f0a2d0caf4d66321ad5a06ab330144d89
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/executable-undefined-ignoreall.s
M lld/test/ELF/ppc32-weak-undef-call.s
M lld/test/ELF/ppc64-undefined-weak.s
M lld/test/ELF/riscv-gp.s
M lld/test/ELF/weak-undef-lib.s
M lld/test/ELF/weak-undef-no-dynamic-linker.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Refine isExported/isPreemptible condition
Commit f10441ad003236ef3b9e5415a571d2be0c0ce5ce dropped a special case
for isUndefWeak and --no-dynamic-linking but also made --export-dynamic
ineffective for static PIE.
This change restores the --export-dynamic behavior and entirely drops
special handling of --no-dynamic-linker:
* -pie with no input DSO, similar to --no-dynamic-linker, suppresses
undefined symbols in .dynsym
The new behaviors resemble GNU ld more.
Commit: 32d7211ae6d0c36d69d7d2793889fbbc9cf2d655
https://github.com/llvm/llvm-project/commit/32d7211ae6d0c36d69d7d2793889fbbc9cf2d655
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Fix typo in `NVPTXISelLowering.cpp` (NFC) (#125333)
Commit: 028b69009a221e16076be77752514525b321d012
https://github.com/llvm/llvm-project/commit/028b69009a221e16076be77752514525b321d012
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Remove unnecessary check before calling SmallVector::erase. NFC
This was checking whether the erase is needed, but erase is safe
to call with equal iterators.
Commit: 83cad6805d144d941bdda99d71a6df2cf113a76d
https://github.com/llvm/llvm-project/commit/83cad6805d144d941bdda99d71a6df2cf113a76d
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Update Float to TF32 conversion Op (#125048)
This change updates the Float to TF32 conversion MLIR Op to include
lowering to the new intrinsics introduced in sm_100 through ptx8.6:
- `nvvm_f2tf32_rn_satfinite`
- `nvvm_f2tf32_rn_relu_satfinite`
- `nvvm_f2tf32_rz_satfinite`
- `nvvm_f2tf32_rz_relu_satfinite`
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: 626c23112fe25c1e327f5b17ad94f805588cec1c
https://github.com/llvm/llvm-project/commit/626c23112fe25c1e327f5b17ad94f805588cec1c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Use `SimplifyQuery` in `isKnownNonEqual` (#124942)
It is needed by https://github.com/llvm/llvm-project/pull/117442.
Commit: 3ec6a6b85aed838b7d56bd6843cad52e822b9111
https://github.com/llvm/llvm-project/commit/3ec6a6b85aed838b7d56bd6843cad52e822b9111
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fneg-fabs.ll
Log Message:
-----------
[InstCombine] Fix FMF propagation in `foldSelectWithFCmpToFabs` (#121580)
Consider the following pattern:
```
%cmp = fcmp <pred> double %x, 0.000000e+00
%negX = fneg <fmf> double %x
%sel = select i1 %cmp, double %x, double %negX
```
We cannot propagate ninf from fneg to select since `%negX` may not be
chosen. Similarly, we cannot propagate nnan unless `%negX` is guaranteed
to be selected when `%x` is NaN.
This patch also propagates nnan/ninf from fcmp to avoid regression in
`PhaseOrdering/generate-fabs.ll`.
Alive2: https://alive2.llvm.org/ce/z/t6U-tA
Closes https://github.com/llvm/llvm-project/issues/121430 and
https://github.com/llvm/llvm-project/issues/113989.
Commit: d0a142eaea03661e8399f2c1733b93d21d55dfee
https://github.com/llvm/llvm-project/commit/d0a142eaea03661e8399f2c1733b93d21d55dfee
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Log Message:
-----------
[clang][dataflow][NFC] Remove double lookup (#125282)
Commit: 0d21ef4e6c50c7d4d591adf7e6dbd6232e8a99c4
https://github.com/llvm/llvm-project/commit/0d21ef4e6c50c7d4d591adf7e6dbd6232e8a99c4
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
Log Message:
-----------
[clang][mutation analyzer][NFC] Simplify code in ExprMutationAnalyzer (#125283)
Commit: 65708bad579229cd7f62b8d0eaefda4bb20eb6d8
https://github.com/llvm/llvm-project/commit/65708bad579229cd7f62b8d0eaefda4bb20eb6d8
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenCLRuntime.cpp
Log Message:
-----------
[clang][CodeGenOpenCL][NFC] Remove redundant map lookups (#125285)
Commit: 6e7213bc3031b37f008b6429796f9bee1c112c1f
https://github.com/llvm/llvm-project/commit/6e7213bc3031b37f008b6429796f9bee1c112c1f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/lib/Analysis/ValueTracking.cpp:116:27: error: unused function
'safeCxtI' [-Werror,-Wunused-function]
Commit: 7271681286ec0eb8e1b0dc9982b3914701715d7f
https://github.com/llvm/llvm-project/commit/7271681286ec0eb8e1b0dc9982b3914701715d7f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
[CFIFixup] Add a default constructor to BlockFlags (NFC) (#125296)
This patch adds a default constructor to BlockFlags to initialize its
members to false, placing initializers close to the member
declarations.
Note that once C++20 is available in our codebase, we can replace
the explicit default constructor with:
bool Reachable : 1 = true;
:
Commit: 2d17fc4ca31dcc8fdc5df0c554d548e348a5ee0b
https://github.com/llvm/llvm-project/commit/2d17fc4ca31dcc8fdc5df0c554d548e348a5ee0b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Reorder code in ContractNodes to prevents unnecessary recursion. NFC
The code that moves CheckOpcode before CheckType/CheckChildType/RecordDwith
was running after ContractNodes started unwinding its recursion. If a
move occurs we would start a new recursion going forward
through the list again. I don't believe this can lead to any new
combines so it was just wasted work.
This patch moves the code earlier so it doesn't start a new recursion.
Commit: 9399a1ddb82ff400f237a2353d17871106e9005c
https://github.com/llvm/llvm-project/commit/9399a1ddb82ff400f237a2353d17871106e9005c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/select.ll
Log Message:
-----------
[InstSimplify] Handle trunc to i1 in Select with bit test folds. (#122944)
Proof: https://alive2.llvm.org/ce/z/Jncqb2
Commit: bfa7edcc6652bdb37d53e0cec64926aab3f280eb
https://github.com/llvm/llvm-project/commit/bfa7edcc6652bdb37d53e0cec64926aab3f280eb
Author: Ben Shi <2283975856 at qq.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
Log Message:
-----------
[clang][StaticAnalyzer][NFC] Fix a typo in comments (#125339)
Commit: 69905810c483811abff5f9971799bc8a32eb4514
https://github.com/llvm/llvm-project/commit/69905810c483811abff5f9971799bc8a32eb4514
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmovn.ll
Log Message:
-----------
[msan][NFCI] Add tests for Arm NEON saturating extract narrow (#125331)
Forked from llvm/test/CodeGen/AArch64/arm64-vmovn.ll
Unknown intrinsics which are currently incorrectly handled by
visitInstruction:
- llvm.aarch64.neon.sqxtn
- llvm.aarch64.neon.sqxtun
- llvm.aarch64.neon.uqxtn
Commit: 44aa618ef67d302f5ab77cc591fb3434fe967a2e
https://github.com/llvm/llvm-project/commit/44aa618ef67d302f5ab77cc591fb3434fe967a2e
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-02-01 (Sat, 01 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:
-----------
[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (#117437)
Clang currently support extending lifetime of object bound to reference
members of aggregates, that are created from default member initializer.
This PR address this change and updaye CFG and ExprEngine.
This PR reapply https://github.com/llvm/llvm-project/pull/91879.
Fixes https://github.com/llvm/llvm-project/issues/93725.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 7612dcc6e8d8e7f19b364084effbb01946294720
https://github.com/llvm/llvm-project/commit/7612dcc6e8d8e7f19b364084effbb01946294720
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
Log Message:
-----------
[clang] NFC, add a "continue" bailout in the for-loop of
DeclareImplicitDeductionGuidesForTypeAlias.
This improves the code readability.
Commit: 9725595f3acc0c1aaa354e15ac4ee2b1f8ff4cc9
https://github.com/llvm/llvm-project/commit/9725595f3acc0c1aaa354e15ac4ee2b1f8ff4cc9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
Log Message:
-----------
[InstCombine] Check nowrap flags when folding comparison of GEPs with the same base pointer (#121892)
Alive2: https://alive2.llvm.org/ce/z/P5XbMx
Closes https://github.com/llvm/llvm-project/issues/121890
TODO: It is still safe to perform this transform without nowrap flags if
the corresponding scale factor is 1 byte:
https://alive2.llvm.org/ce/z/J-JCJd
Commit: 48f88651a01b050a28be99e5cdffe495754ea79a
https://github.com/llvm/llvm-project/commit/48f88651a01b050a28be99e5cdffe495754ea79a
Author: Sergio Sánchez Ramírez <15837247+mofeing at users.noreply.github.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPI.td
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
[MLIR] Extend MPI dialect (#123255)
cc @tobiasgrosser @wsmoses
this PR adds some new ops and types to the MLIR MPI dialect. the goal is
to get the minimum required ops here to get a project of us working, and
if everything works well, continue adding ops to the mpi dialect on
subsequent PRs until we achieve some level of compliance with the MPI
standard.
---
Things left to do in subsequent PRs:
- Add back the `mpi.comm` type and add as optional argument of current
implemented ops that should support it (i.e. `send`, `recv`, `isend`,
`irecv`, `allreduce`, `barrier`).
- Support defining custom `MPI_Op`s (the MPI operations, not the
tablegen `MPI_Op`) as regions.
- Add more ops.
Commit: 16d4453f2f5d9554ce39507fda0f33ce9066007b
https://github.com/llvm/llvm-project/commit/16d4453f2f5d9554ce39507fda0f33ce9066007b
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
Log Message:
-----------
[CodeGen][NFC] Remove redundant map lookup (#125342)
Commit: 657dc6d05e8e20d5c3b41161ace7fba5d2cb6e26
https://github.com/llvm/llvm-project/commit/657dc6d05e8e20d5c3b41161ace7fba5d2cb6e26
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/AST/TemplateName.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#125335)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect InVectors.front() and P to be nonnull.
Commit: e11e65f08b00a96916ce5ec21bf31d061158829d
https://github.com/llvm/llvm-project/commit/e11e65f08b00a96916ce5ec21bf31d061158829d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#125336)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect E to be nonnull.
Commit: 8266eedfdccddfc8901679ee55e358793e29bba5
https://github.com/llvm/llvm-project/commit/8266eedfdccddfc8901679ee55e358793e29bba5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/SandboxIR/Region.cpp
Log Message:
-----------
[SandboxIR] Avoid repeated hash lookups (NFC) (#125337)
Commit: 71d05ac64e65283886b51004f3fd40e18478cddd
https://github.com/llvm/llvm-project/commit/71d05ac64e65283886b51004f3fd40e18478cddd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
Log Message:
-----------
[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store intrinsics (#125223) (REAPPLIED)
As noted on #124499 - this is currently missing for type-only analysis and was falling back to scalarization for fixed vectors (and failing entirely for scalable vectors)
Commit: 2791843bb5aedc8e6b103cf4e9188fd51efb5527
https://github.com/llvm/llvm-project/commit/2791843bb5aedc8e6b103cf4e9188fd51efb5527
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
[CostModel][RISCV] vp-intrinsics.ll - add common check prefix for ARGBASED + TYPEBASED test coverage (#125245)
Inspired by #125223 - helps identify when the cost models are relying on arg data (or failures in getTypeBasedIntrinsicInstrCost)
Commit: 06130ed341ddbf697045731300651fbbcb63f0ff
https://github.com/llvm/llvm-project/commit/06130ed341ddbf697045731300651fbbcb63f0ff
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
Reapply "[clang][bytecode] Stack-allocate bottom function frame" (#12… (#125349)
…5325)
Move the BottomFrame to InterpState instead.
Commit: 15336823adbd41d401185c2fecf2c063f6a64f73
https://github.com/llvm/llvm-project/commit/15336823adbd41d401185c2fecf2c063f6a64f73
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
Log Message:
-----------
[RISCV] Simplify MIPS CCMov patterns. NFC (#125318)
We have ComplexPatterns that reduce 3 patterns to 1, by handling the
==/!= 0, imm, and register cases. These are used for XTHeadCondMove,
Zicond, XVentanaCondOps, and our basic seteq/setne patterns.
Commit: ff9c041d96afdf378d11c14bea60de8437f4fbcc
https://github.com/llvm/llvm-project/commit/ff9c041d96afdf378d11c14bea60de8437f4fbcc
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/set-inactive-wwm-overwrite.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
M llvm/test/CodeGen/AMDGPU/swdev373493.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll
M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
M llvm/test/CodeGen/ARM/vector-DAGCombine.ll
M llvm/test/CodeGen/PowerPC/p10-spill-creq.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/minloop.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-dct.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
M llvm/test/CodeGen/Thumb2/mve-tailpred-nonzerostart.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
M llvm/test/CodeGen/Thumb2/setjmp_longjmp.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
Log Message:
-----------
[MachineScheduler] Fix physreg dependencies of ExitSU (#123541)
Providing the correct operand index allows addPhysRegDataDeps to compute
the correct latency.
Pull Request: https://github.com/llvm/llvm-project/pull/123541
Commit: 5cba1f123f738d0a777cc7cb5f4cd270c645b1fe
https://github.com/llvm/llvm-project/commit/5cba1f123f738d0a777cc7cb5f4cd270c645b1fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Simplify usage of SplatPat_simm5_plus1. NFC (#125340)
Make SplatPat_simm5_plus1 responsible for decrementing the immediate
instead of requiring DecImm SDNodeXForm to be used after. This allows
better sharing of tablegen classes.
Commit: d5a7a483a65f830a0c7a931781bc90046dc67ff4
https://github.com/llvm/llvm-project/commit/d5a7a483a65f830a0c7a931781bc90046dc67ff4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
[SLP]Reduce number of alternate instruction, where possible
Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32
transformes to
%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.
Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.
-O3+LTO, AVX512
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 277800.00 280536.00 1.0%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 81802.00 82426.00 0.8%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 790552.00 790952.00 0.1%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 383795.00 383987.00 0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2075541.00 2076501.00 0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2075541.00 2076501.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 312702.00 312766.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12569783.00 12569751.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2049374.00 2049358.00 -0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1091836.00 1091772.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 852339.00 852211.00 -0.0%
test-suite :: MultiSource/Applications/oggenc/oggenc.test 190651.00 190523.00 -0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 44203.00 44155.00 -0.1%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12997.00 12981.00 -0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 668971.00 658427.00 -1.6%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 668971.00 658427.00 -1.6%
Prolangs-C/TimberWolfMC/timberwolfmc - small variations, some code not
inlined
FreeBench/pifft - extra stores <8 x double> vectorized, some other extra
vectorizations
CINT2006/464.h264ref - some smaller code + changes similar to x264
JM/ldecod - changes similar x264
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - significantly compact vector code
Benchmarks/Bullet - small variations
CFP2017rate/526.blender_r - small variations
CFP2017rate/510.parest_r - small variations
CINT2006/400.perlbench - extra vector code
JM/lencod - extra store <16 x i32> and other changes similar x264
Applications/oggenc - extra store <16 x i8>, small variations
DOE-ProxyApps-C/miniGMG - small variations
Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - better vector code
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.
-O3+LTO, march=rva32u64
CINT2017rate/525.x264_r - similar to x86, extra code in pixel_hadamard_ac
function vectorized, idct4x4dc stopped being vectorized (looks like
issue with shuffles cost)
CINT2006/400.perlbench - better vector code
CINT2006/445.gobmk - some variations in vector code
CINT2006/464.h264ref - extra code vectorized
CINT2017rate/500.perlbench_r - small variations
-O3+LTO, mcpu=sifive-p470
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 587336.00 587668.00 0.1%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 643308.00 643614.00 0.0%
test-suite :: MultiSource/Applications/d/make_dparser.test 79678.00 79710.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 277322.00 277420.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 933660.00 933682.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9497722.00 9497682.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1767806.00 1767772.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1767806.00 1767772.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 148038.00 148024.00 -0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 283036.00 283008.00 -0.0%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 4776.00 4772.00 -0.1%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 540582.00 511772.00 -5.3%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 540582.00 511772.00 -5.3%
CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized, idct4x4dc not vectorized (issue with some
TTI costs)
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/123360
Commit: 4f381d0be845a8702c89a0a7f4bd9188e1ff60a3
https://github.com/llvm/llvm-project/commit/4f381d0be845a8702c89a0a7f4bd9188e1ff60a3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use Operands to create VPReplicateRecipe for invar store. (NFC)
Commit: 75b922dccfc35ec25a520b1941e6682a300802b8
https://github.com/llvm/llvm-project/commit/75b922dccfc35ec25a520b1941e6682a300802b8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
Log Message:
-----------
[VPlan] Check VPWidenIntrinsicSC in VPRecipeWithIRFlags::classof.
When VPWidenIntrinsicRecipe was changed to inhert from VPRecipeWithIRFlags,
VPRecipeWithIRFlags::classof wasn't updated accordingly. Also check for
VPWidenIntrinsicSC in VPRecipeWithIRFlags::classof.
Fixes https://github.com/llvm/llvm-project/issues/125301.
Commit: b798679c076af4acaa806e893b038372f5954298
https://github.com/llvm/llvm-project/commit/b798679c076af4acaa806e893b038372f5954298
Author: Saleem Abdulrasool <abdulras at thebrowser.company>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M clang/test/CodeGen/blocks-windows.c
Log Message:
-----------
test: correct a typo in the check identifier (NFCI)
This corrects a swapped order of the spelling of blocks in the check.
This enables the correct forward declarations which were previously
disabled.
Commit: 14776c6d138d30653d542416141ab2adc5305e9d
https://github.com/llvm/llvm-project/commit/14776c6d138d30653d542416141ab2adc5305e9d
Author: FantasqueX <fantasquex at gmail.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.rst
Log Message:
-----------
[Kaleidoscope] Fix typo (#125366)
Remove duplicate word.
Commit: 5c3c0a8cec9205efba78583bd0b8a646270968a1
https://github.com/llvm/llvm-project/commit/5c3c0a8cec9205efba78583bd0b8a646270968a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M lld/ELF/ScriptLexer.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
Log Message:
-----------
[ELF] Replace inExpr with lexState. NFC
We may add another state State::Wild to behave more lik GNU ld.
Commit: 312055d1da169f043e65b35fcd62d6d685700114
https://github.com/llvm/llvm-project/commit/312055d1da169f043e65b35fcd62d6d685700114
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/griddepcontrol.ll
M llvm/test/CodeGen/NVPTX/kernel-param-align.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
Log Message:
-----------
[NVPTX] Fix `ptxas` failures (NFC) (#125147)
Note:
[lower-args.ll](https://github.com/llvm/llvm-project/compare/main...justinfargnoli:dev/jf/ptxas?expand=1#diff-649d37d1f897d829fb809025437ba5df2e0c8da8395bbac7be713cd8f5bd8237)
and
[kernel-param-align.ll](https://github.com/llvm/llvm-project/compare/main...justinfargnoli:dev/jf/ptxas?expand=1#diff-31f196478b41b95b51298eb8e2efccc8a6f1156f13b648c07db27dd09579f74e)
fail because`ptxas` doesn't support constant pointers in separate
complication mode (`-c`).
Commit: 648981f913431749c4656268ed670677a88511f6
https://github.com/llvm/llvm-project/commit/648981f913431749c4656268ed670677a88511f6
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/src/__support/CPP/span.h
M libc/test/src/setjmp/CMakeLists.txt
M libc/test/src/setjmp/setjmp_test.cpp
Log Message:
-----------
[libc] Build with -Wdeprecated, fix some warnings (#125373)
While GCC's -Wdeprecated is on by default and doesn't do much,
Clang's -Wdeprecated enables many more things. More apply in
C++20, so switch a test file that tickled one to using that. In
future, C++20 should probably be made the baseline for compiling
all the libc code.
Commit: 6980d9794684908fa1835b87b560d20e5f295a73
https://github.com/llvm/llvm-project/commit/6980d9794684908fa1835b87b560d20e5f295a73
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-01 (Sat, 01 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 ClassHeadName (#125326)
Commit: b2ef23cd58dd0cab60b9c7940ce9459ef01123ef
https://github.com/llvm/llvm-project/commit/b2ef23cd58dd0cab60b9c7940ce9459ef01123ef
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
Log Message:
-----------
[MIParser] Don't use Register to hold Dwarf register numbers. NFC (#125263)
Commit: 58033355399404369cf540c83e59ffaa0ccb0bd3
https://github.com/llvm/llvm-project/commit/58033355399404369cf540c83e59ffaa0ccb0bd3
Author: David Green <david.green at arm.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Add brackets around || in assert. NFC
Commit: 2eabcb73c2aea04720854d4c999019cab2b18efb
https://github.com/llvm/llvm-project/commit/2eabcb73c2aea04720854d4c999019cab2b18efb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-01 (Sat, 01 Feb 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[TableGen] Use range-based for loop. NFC
Commit: caeefe7b9403a281d5ea3501c3792ba01b3ee7ae
https://github.com/llvm/llvm-project/commit/caeefe7b9403a281d5ea3501c3792ba01b3ee7ae
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-min-max.ll
Log Message:
-----------
[InstCombine] Extend `foldSelectInstWithICmpConst` to handle minmax (#125346)
This patch extends
https://github.com/llvm/llvm-project/commit/f6bb156fb10cd83953a34f75b78835cdf399ee8b
to handle minmax intrinsics.
Motivating case: https://alive2.llvm.org/ce/z/JFKbYn
Addresses a regression caused by
https://github.com/llvm/llvm-project/pull/121958.
It also works for `*.sat`. But no real-world benefit is observed.
Commit: 00bdce1c373a1c5b756f4cf694a952ef702d0294
https://github.com/llvm/llvm-project/commit/00bdce1c373a1c5b756f4cf694a952ef702d0294
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/literals.cpp
Log Message:
-----------
[clang][bytecode] Ignore Namespace{Using,Alias}Decls (#125387)
These were missing here and are used in a few libc++ tests.
Commit: 1af627b592dd15bbe58136f902ced46251fc344d
https://github.com/llvm/llvm-project/commit/1af627b592dd15bbe58136f902ced46251fc344d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/select-icmp.ll
Log Message:
-----------
[InstSimplify] Add additional checks when substituting pointers (#125385)
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=d09b521624f263b5f1296f8d4771836b97e600cb&to=e437ba2cb83bb965e13ef00727671896f03ff84f&stat=instructions:u
IR diff looks acceptable.
Closes https://github.com/llvm/llvm-project/issues/115574
Commit: cf893baf02ffe2dc1a65a6bb9334332a83a453ea
https://github.com/llvm/llvm-project/commit/cf893baf02ffe2dc1a65a6bb9334332a83a453ea
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode][NFC] Add a FunctionKind enum (#125391)
Some function types are special to us, so add an enum and determinte the
function kind once when creating the function, instead of looking at the
Decl every time we need the information.
Commit: 642e84f0012b6e3a0e4f187bad5ee1775c3d623a
https://github.com/llvm/llvm-project/commit/642e84f0012b6e3a0e4f187bad5ee1775c3d623a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Only get expr when checking for UB (#125397)
The Expr and its Type were unused otherwise.
Commit: 50082773223b9eced296d8223ca4e4a79ecdeb9b
https://github.com/llvm/llvm-project/commit/50082773223b9eced296d8223ca4e4a79ecdeb9b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
A llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Move auxiliary declarations out of VPlan.h (NFC). (#124104)
Nothing in VPlan.h directly depends on VPTransformState, VPCostContext,
VPFRange, VPlanPrinter or VPSlotTracker. Move them out to a separate
header to reduce the size of widely used VPlan.h.
This is a first step towards more cleanly separating declarations in
VPlan.
Besides reducing VPlan.h's size, this also allows including additional
VPlan-related headers in VPlanHelpers.h for use there. An example is
using VPDominatorTree in VPTransformState
(https://github.com/llvm/llvm-project/pull/117138).
PR: https://github.com/llvm/llvm-project/pull/124104
Commit: d00579be39e8a470d7a0ff79ff6deadf9e003781
https://github.com/llvm/llvm-project/commit/d00579be39e8a470d7a0ff79ff6deadf9e003781
Author: Martin Storsjö <martin at martin.st>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/addsub.ll
Log Message:
-----------
Revert "[SLP]Reduce number of alternate instruction, where possible"
This reverts commit d5a7a483a65f830a0c7a931781bc90046dc67ff4.
That commit triggers failed asserts, see
https://github.com/llvm/llvm-project/pull/123360 for details.
Commit: d68a4b93d36ca6d67ccc1fa70b34f48fb563cdd7
https://github.com/llvm/llvm-project/commit/d68a4b93d36ca6d67ccc1fa70b34f48fb563cdd7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][linalg] Add support for masked vectorization of `tensor.insert_slice` (1/N) (#122927)
For context, `tensor.insert_slice` is vectorized using a
`vector.transfer_read` + `vector.transfer_write` pair.
An unmasked example is shown below:
```mlir
// BEFORE VECTORIZATION
%res = tensor.insert_slice
%slice into %dest[0, %c2]
[5, 1] [1, 1] : tensor<5x1xi32> into tensor<5x3xi32>
// AFTER VECTORIZATION
%read = vector.transfer_read %source[%c0, %c0], %pad
: tensor<5x1xi32>, vector<8x1xi32>
%res = vector.transfer_write %read, %dest[%c0, %c2]
: vector<8x1xi32>, tensor<5x3xi32>
```
This PR refactors `InsertSliceVectorizePattern` (which is used to
vectorize `tensor.extract_slice`) to enable masked vectorization. ATM,
only `vector.transfer_read` is masked. If `vector.transfer_write` also
requires masking, the vectorizer will bail out. This will be addressed
in a sub-sequent PR.
Summary of changes:
* Added an argument to specify vector sizes (behavior remains
unchanged if vector sizes are not specified).
* Renamed `InsertSliceVectorizePattern` to `vectorizeAsInsertSliceOp`
and integrated into (alongside other hooks for vectorization) in
`linalg::vectorize`.
* Removed `populateInsertSliceVectorizationPatterns`, as
`InsertSliceVectorizePattern` was its only pattern.
* Updated `vectorizeAsInsertSliceOp` to support masking for the
"read" operation.
* Updated `@pad_and_insert_slice_dest` in
"vectorization-pad-patterns.mlir" to reflect the removal of
`populateInsertSliceVectorizationPatterns` from
`ApplyPadVectorizationPatternsOps`.
Commit: 3e5640b22d3978571816b9a0468a4aed27cdd82c
https://github.com/llvm/llvm-project/commit/3e5640b22d3978571816b9a0468a4aed27cdd82c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir][Vector] Update VectorEmulateNarrowType.cpp (1/N) (#123526)
This is PR 1 in a series of N patches aimed at improving
"VectorEmulateNarrowType.cpp". This is mainly minor refactoring, no
major functional changes are made/added.
This PR renames:
* `srcBits`/`dstBits` + `oldElementType`/`newElementType`
to improve consistency in naming within the file. This is illustrated
below:
```cpp
// Extracted from VectorEmulateNarrowType.cpp
// BEFORE (mixing old/new and src/dst):
// Type oldElementType = op.getType().getElementType();
// Type newElementType = convertedType.getElementType();
// int srcBits = oldElementType.getIntOrFloatBitWidth();
// int dstBits = newElementType.getIntOrFloatBitWidth();
// AFTER (consistently using emulated/container):
Type emulatedElemType = op.getType().getElementType();
Type containerElemType = convertedType.getElementType();
int emulatedBits = emulatedElemTy.getIntOrFloatBitWidth();
int containerBits = containerElemTy.getIntOrFloatBitWidth();
```
Also adds some comments and unifies related "rewriter notification"
messages.
**GitHub issue to track this work:**
* https://github.com/llvm/llvm-project/issues/123630
Commit: 359a9131704277bce0f806de31ac887e68a66902
https://github.com/llvm/llvm-project/commit/359a9131704277bce0f806de31ac887e68a66902
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M offload/plugins-nextgen/common/include/ErrorReporting.h
Log Message:
-----------
[offload] `gnu::format` with variadic template functions is Clang-only (#124406)
Use `gnu::format` attribute only when compiling with Clang, as using it
against variadic template functions is a Clang extension and is not
supported by GCC.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77958
Fixes #119069
Commit: 689ef5fda0ab07dfc452cb16d3646d53e612cb75
https://github.com/llvm/llvm-project/commit/689ef5fda0ab07dfc452cb16d3646d53e612cb75
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M offload/test/CMakeLists.txt
Log Message:
-----------
[offload] [test] Use test compiler ID rather than host (#124408)
Use the test compiler ID to verify whether tests can be run rather than
the host compiler. This makes it possible to run tests (with Clang)
while the library itself was built with GCC.
Commit: 2cac0bf8fee896d3204c310a736e5bfe85fbdebd
https://github.com/llvm/llvm-project/commit/2cac0bf8fee896d3204c310a736e5bfe85fbdebd
Author: Vladimir Kozelkov <46866705+vova7878 at users.noreply.github.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/include/llvm-c/Core.h
Log Message:
-----------
Remove unused LLVMLandingPadClauseTy from Core.h (#124472)
enum LLVMLandingPadClauseTy has never been used and exists by mistake.
[This](https://github.com/llvm-mirror/llvm/commit/772fe17a6d07304ae2e6b3052bbb24ebb751f0f3#diff-9e2da57026497163c9f7396a48567626a0b94828a5757436ef20a4e67522525d) commit added a LLVMAddClause function that took it as a parameter.
[Here](https://github.com/llvm-mirror/llvm/commit/10c6d12a9fd4dab411091f64db4db69670b88850#diff-6e588c82c378e251a7d265b08973d4a7312a592756f88023cd317f109083de10) the enum was removed.
And [here](https://github.com/llvm-mirror/llvm/commit/e6e8826870bee3facb04f950f0bd725f8a88623d#diff-9e2da57026497163c9f7396a48567626a0b94828a5757436ef20a4e67522525d) it is added again by mistake, although the LLVMAddClause function no longer accepts it
Commit: 2f98ae5029a1f03793ca2016585c48075a1aa03a
https://github.com/llvm/llvm-project/commit/2f98ae5029a1f03793ca2016585c48075a1aa03a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#125350)
Commit: 43b7124c5749b3f3276adf1b869e623e163e230e
https://github.com/llvm/llvm-project/commit/43b7124c5749b3f3276adf1b869e623e163e230e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#125379)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
This patch migrates the use of PointerUnion::dyn_cast to
dyn_cast_if_present because the non-const variant of
getInitializedFieldInUnion is known to encounter null in
ArrayFillerOrUnionFieldInit. See:
commit 563c7c5539f05e7f8cbb42565c1f24466019f38b
Author: Kazu Hirata <kazu at google.com>
Date: Sat Jan 25 14:05:01 2025 -0800
FWIW, I am not aware of any test case in check-clang that triggers
null here.
Commit: 2767f4bf0d5a70aa990dbfb3341a1bc03effcdbd
https://github.com/llvm/llvm-project/commit/2767f4bf0d5a70aa990dbfb3341a1bc03effcdbd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
Log Message:
-----------
[Lex] Migrate away from PointerUnion::dyn_cast (NFC) (#125380)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
This patch migrates the use of PointerUnion::dyn_cast to
dyn_cast_if_present because State is not guaranteed to be nonnull
elsewhere in this class. See:
commit 563c7c5539f05e7f8cbb42565c1f24466019f38b
Author: Kazu Hirata <kazu at google.com>
Date: Sat Jan 25 14:05:01 2025 -0800
FWIW, I am not aware of any test case in check-clang that triggers
null here.
Commit: 09e7b40bd3d7a1a2d9153912224bcf612954ead5
https://github.com/llvm/llvm-project/commit/09e7b40bd3d7a1a2d9153912224bcf612954ead5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[libclang] Migrate away from PointerUnion::dyn_cast (NFC) (#125381)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Storage to be nonnull.
Commit: a5e969a82b6ec9e799235897973f83ae4f1e4245
https://github.com/llvm/llvm-project/commit/a5e969a82b6ec9e799235897973f83ae4f1e4245
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#125382)
Commit: 52c116218b61c088ac77f26c7b57347a5f54224d
https://github.com/llvm/llvm-project/commit/52c116218b61c088ac77f26c7b57347a5f54224d
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Clear DemandedVLs for each invocation of runOnMachineFunction
I was running into failed assertions of `isCandidate(UserMI)` in
`getMinimumVLForUser`, but only occurring with
`-enable-machine-outliner=never`. I believe this is a red herring, and
it just so happens the memory allocation pattern on my machine exposed
the bug with that flag.
DemandedVLs is never cleared, which means it accumulates more
MachineInstr pointer keys over time, and it's possible that when e.g.
running on function 'b', a MachineInstr pointer points to the same
memory location used for a candidate in 'a'. This causes the assertion
to fail.
Comment left on #124530 with more information.
Commit: 8aebcebd90b79b90eca828762fd3b0637e430e51
https://github.com/llvm/llvm-project/commit/8aebcebd90b79b90eca828762fd3b0637e430e51
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
Log Message:
-----------
[LVI] Add trunc to i1 handling. (#124480)
Proof: https://alive2.llvm.org/ce/z/yPrRp-
Commit: 070e12930489c58d0fed4daadddea229384401d7
https://github.com/llvm/llvm-project/commit/070e12930489c58d0fed4daadddea229384401d7
Author: David Green <david.green at arm.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fshl.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fshr.mir
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshl.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fshl-fshr-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fshl-fshr-rv64.mir
M llvm/utils/update_mir_test_checks.py
Log Message:
-----------
[AArch64][GlobalISel] Add disjoint handling for add_and_or_is_add. (#123594)
This allows us to easily detect, without known-bits, that the or in a
fshl/fshr is disjoint allowing us to use usra under aarch64.
Commit: da2b415b19d178d6b250bb6468ed4a207860adf7
https://github.com/llvm/llvm-project/commit/da2b415b19d178d6b250bb6468ed4a207860adf7
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] Add tracking source deduction guide for the explicitly-written
deduction guide.
We miss this case in the original f94c481543bdd3b11a668ad78d46593cf974788f commit.
Commit: 115bb87ad0a85d8ab4d907399db130cb1f2c63f2
https://github.com/llvm/llvm-project/commit/115bb87ad0a85d8ab4d907399db130cb1f2c63f2
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
Log Message:
-----------
[lld] BPSectionOrderer: replace Symbol with Defined and optimize getSymbols. NFC
Commit: f6578c3d809b22d08524c3ae017c843f478d67e6
https://github.com/llvm/llvm-project/commit/f6578c3d809b22d08524c3ae017c843f478d67e6
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.h
M llvm/lib/Target/Xtensa/Xtensa.td
A llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Disassembler/Xtensa/windowed.txt
A llvm/test/MC/Disassembler/Xtensa/windowed_code_density.txt
A llvm/test/MC/Xtensa/windowed.s
A llvm/test/MC/Xtensa/windowed_code_density.s
A llvm/test/MC/Xtensa/windowed_invalid.s
Log Message:
-----------
[Xtensa] Implement Windowed Register Option. (#124656)
This patch implements Xtensa ISA option "Windowed Register Option". It implements subtarget feature, instructions descriptions and support of these instructions in asm parser and disassembler.
This is the second version of the Windowed Register Option implementation ( previous implementation #121118). In this variant "checkRegister" function is placed in XtensaMCTargetDesc.
Commit: 0154dce8d39d2688b09f4e073fe601099a399365
https://github.com/llvm/llvm-project/commit/0154dce8d39d2688b09f4e073fe601099a399365
Author: Pengying Xu <xpy66swsry at gmail.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
A lld/ELF/BPSectionOrderer.cpp
A lld/ELF/BPSectionOrderer.h
M lld/ELF/CMakeLists.txt
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Writer.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/ELF/bp-section-orderer-stress.s
A lld/test/ELF/bp-section-orderer.s
Log Message:
-----------
[ELF] Add BPSectionOrderer options (#120514)
Add new ELF linker options for profile-guided section ordering
optimizations:
- `--irpgo-profile=<file>`: Read IRPGO profile data for use with startup
and compression optimizations
- `--bp-startup-sort={none,function}`: Order sections based on profile
data to improve star tup time
- `--bp-compression-sort={none,function,data,both}`: Order sections
using balanced partitioning to improve compressed size
- `--bp-compression-sort-startup-functions`: Additionally optimize
startup functions for compression
- `--verbose-bp-section-orderer`: Print statistics about balanced
partitioning section ordering
Thanks to the @ellishg, @thevinster, and their team's work.
---------
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 2c030a11c108b86558e2cad99f8cd1a43cd9b08b
https://github.com/llvm/llvm-project/commit/2c030a11c108b86558e2cad99f8cd1a43cd9b08b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lld/ELF/BUILD.gn
Log Message:
-----------
[gn build] Port 0154dce8d39d
Commit: f1b075df2e8510b6ebed405a857f6941913ddf9c
https://github.com/llvm/llvm-project/commit/f1b075df2e8510b6ebed405a857f6941913ddf9c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/pointer.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
Log Message:
-----------
[flang][cuda] Pass the pinned variable in allocate calls (#125310)
Commit: edc8c3524793049759af5e3a162b068bb03eb440
https://github.com/llvm/llvm-project/commit/edc8c3524793049759af5e3a162b068bb03eb440
Author: Lee Wei <lee10202013 at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElimination] Fix comment (#125375)
Remove unused header and fix a comment.
Commit: f17b9dde7a1a752ea31766aad169ea2f51558edb
https://github.com/llvm/llvm-project/commit/f17b9dde7a1a752ea31766aad169ea2f51558edb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/non-null.ll
Log Message:
-----------
[LVI] Handle nonnull attributes at callsite (#125377)
This patch is the followup of
https://github.com/llvm/llvm-project/pull/124908.
Commit: 31db7afacf4dae051fcd0da22e440813663b61f3
https://github.com/llvm/llvm-project/commit/31db7afacf4dae051fcd0da22e440813663b61f3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Split DAGISelMatcherOpt FactorNodes into 2 functions. NFC (#125330)
The loop at the top of FactorNodes creates additional variables to deal
with needing to use a pointer to a unique_ptr instead of a reference.
Encapsulate this to its own function for better scoping.
This also allows us to directly skip this loop when we already know we
have a ScopeMatcher.
Commit: c92f20416e6dbbde9790067b80e75ef1ef5d0fa4
https://github.com/llvm/llvm-project/commit/c92f20416e6dbbde9790067b80e75ef1ef5d0fa4
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M lld/include/lld/Common/BPSectionOrdererBase.inc
Log Message:
-----------
[lld] BPSectionOrderer: stabilize iteration order with MapVector
Commit: 046dd4b28b9c1a75a96cf63465021ffa9fe1a979
https://github.com/llvm/llvm-project/commit/046dd4b28b9c1a75a96cf63465021ffa9fe1a979
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M lld/ELF/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
Log Message:
-----------
[lld] BPSectionOrderer: stabilize iteration order
Commit: 711fcae67ac4902283c513c5c91fe171595b3916
https://github.com/llvm/llvm-project/commit/711fcae67ac4902283c513c5c91fe171595b3916
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Handle `trunc nuw` in `computeKnownBitsFromICmpCond` (#125414)
This patch extends https://github.com/llvm/llvm-project/pull/82803 to
further infer high bits when `nuw` is set. It will save some and
instructions on induction variables. No real-world benefit is observed
for `trunc nsw`.
Alive2: https://alive2.llvm.org/ce/z/j-YFvt
Commit: 567d28d82293a33205c1d4b36d070cf0cacf6e53
https://github.com/llvm/llvm-project/commit/567d28d82293a33205c1d4b36d070cf0cacf6e53
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-02 (Sun, 02 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
Log Message:
-----------
[ReachingDefAnalysis] Fix LLVM_ENABLE_REVERSE_ITERATION bot after #118097
Commit: fe9a97ca38b4651f4be9bf4518c4f1c50080daf6
https://github.com/llvm/llvm-project/commit/fe9a97ca38b4651f4be9bf4518c4f1c50080daf6
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RegisterCoalescer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
M llvm/test/CodeGen/AMDGPU/blender-coalescer-verifier-error-empty-subrange.mir
M llvm/test/CodeGen/X86/coalesce-dead-lanes.mir
M llvm/test/CodeGen/X86/late-remat-update.mir
Log Message:
-----------
[CodeGen][NewPM] Port RegisterCoalescer to NPM (#124698)
Commit: b693e1cf837a5dca6538c26debd7b25ef8f52db6
https://github.com/llvm/llvm-project/commit/b693e1cf837a5dca6538c26debd7b25ef8f52db6
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/llround-conv.ll
M llvm/test/CodeGen/X86/lround-conv-i32.ll
M llvm/test/CodeGen/X86/lround-conv-i64.ll
Log Message:
-----------
[X86][GlobalISel] Enable G_LROUND/G_LLROUND with libcall mapping (#125096)
Commit: 7fb233f549dee0346332562de050ef2ab3654329
https://github.com/llvm/llvm-project/commit/7fb233f549dee0346332562de050ef2ab3654329
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Log Message:
-----------
[ORC] Fix file comment formatting. NFC.
Commit: a1ff2d18466bc27d3dc9b8bba688454e2a1cf196
https://github.com/llvm/llvm-project/commit/a1ff2d18466bc27d3dc9b8bba688454e2a1cf196
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
Log Message:
-----------
[ORC] Drop 'Info' from MachOCompactUnwindInfoSectionName.
Rename MachOCompactUnwindInfoSectionName to MachOCompactUnwindSectionName.
Background:
There are two related sections used for compact-unwind info processing:
__LD,__compact_unwind -- the input table stored in relocatable object formats,
and __TEXT,__unwind_info -- the compressed table produced by the linker and
consumed by libunwind. To keep the distinction clear we'll use *CompactUnwind*
for names that refer to the __LD,__compact_unwind input tables and *UnwindInfo*
for names that refer to the __TEXT,__unwind_info output tables. Dropping 'Info'
from the variable above clarifies which section it refers to.
Commit: fc897450019bc0585f3592ee3a3d68bad2fdcbbc
https://github.com/llvm/llvm-project/commit/fc897450019bc0585f3592ee3a3d68bad2fdcbbc
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
Log Message:
-----------
[RISCV][NFC] Clarify getRISCVInstructionCost usage (#121556)
This patch adds a comment to explicitly state that
getRISCVInstructionCost uses vtype associated with widening and
narrowing instructions.
For example, vtype = (SEW):
For vfwcvt.f.f.v, the source is (SEW), the destination is (2 * SEW)
For vfncvt.f.f.w, the source is (2 * SEW), the destination is (SEW).
In these cases, the type passed to `getRISCVInstructionCost` differs
- The source type is used for `vfwcvt.f.f.v`.
- The destination type is used for `vfncvt.f.f.w`.
Commit: c475356603cd33ead378a9db00b7e579c9da366e
https://github.com/llvm/llvm-project/commit/c475356603cd33ead378a9db00b7e579c9da366e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only call getSource() when necessary (#125419)
Commit: 951ba3e9fa713b7e906614eeefa1b4cdd9b1e29c
https://github.com/llvm/llvm-project/commit/951ba3e9fa713b7e906614eeefa1b4cdd9b1e29c
Author: Yeaseen <yeaseen.arafat96 at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-address-type-promotion-assertion.ll
M llvm/test/CodeGen/AArch64/arm64-2011-03-09-CPSRSpill.ll
M llvm/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
M llvm/test/CodeGen/AArch64/arm64-2011-04-21-CPSRBug.ll
M llvm/test/CodeGen/AArch64/arm64-2012-01-11-ComparisonDAGCrash.ll
M llvm/test/CodeGen/AArch64/arm64-2012-07-11-InstrEmitterBug.ll
M llvm/test/CodeGen/AArch64/arm64-2013-01-23-frem-crash.ll
M llvm/test/CodeGen/AArch64/arm64-2013-01-23-sext-crash.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
M llvm/test/CodeGen/AArch64/arm64-dead-register-def-bug.ll
M llvm/test/CodeGen/AArch64/arm64-fast-isel.ll
M llvm/test/Transforms/AlignmentFromAssumptions/start-unk.ll
M llvm/test/Transforms/ArgumentPromotion/fp80.ll
M llvm/test/Transforms/ArgumentPromotion/musttail.ll
M llvm/test/Transforms/ArgumentPromotion/variadic.ll
M llvm/test/Transforms/Attributor/nonnull.ll
Log Message:
-----------
[llvm] Remove undef from some `llvm/test/Transforms` tests (#125460)
This PR replaces some instances of `undef` with function argument value
or poison or concrete values in several tests under
`llvm/test/Transforms/` directory.
Commit: f7f3dfce3d33c23c4bea8a7dbb3e1993f1f809bd
https://github.com/llvm/llvm-project/commit/f7f3dfce3d33c23c4bea8a7dbb3e1993f1f809bd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Refactor Program::createGlobalString (#125467)
Remove unnecesary narrow() calls, rename a variable and initialize the
array as a whole instead of each element individually.
Commit: df2de1369571dafb65affc1063ce9f0d261206c7
https://github.com/llvm/llvm-project/commit/df2de1369571dafb65affc1063ce9f0d261206c7
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
Log Message:
-----------
[WebAssembly] Autovec support for dot (#123207)
Enable the use of partial.reduce.add that we can lower to dot or a tree
of (add (extmul_low_u, extmul_high_u)) for the unsigned case. We support
both v8i16 and v16i8 inputs.
Commit: b84f7d17f84030092880857544e13d26a2507c62
https://github.com/llvm/llvm-project/commit/b84f7d17f84030092880857544e13d26a2507c62
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/executable-undefined-ignoreall.s
M lld/test/ELF/ppc32-weak-undef-call.s
M lld/test/ELF/ppc64-undefined-weak.s
M lld/test/ELF/riscv-gp.s
M lld/test/ELF/weak-undef-lib.s
M lld/test/ELF/weak-undef-no-dynamic-linker.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
Revert "[ELF] Refine isExported/isPreemptible condition"
This reverts commit 994cea3f0a2d0caf4d66321ad5a06ab330144d89.
Try to fix the bolt test failures in pre-merge checks.
Commit: f99e6df1415fa825b8329b381a23cd9c58d6edd4
https://github.com/llvm/llvm-project/commit/f99e6df1415fa825b8329b381a23cd9c58d6edd4
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
[lldb][TypeSystemClang] Pass around enum value as uint64_t (#125244)
The `DWARFASTParserClang` reads enum values as `int64_t`s regardless of
the enumerators signedness. Then we pass it to
`AddEnumerationValueToEnumerationType` and only then do we create an
`APSInt` from it. However, there are other places where we read/pass
around the enum value as unsigned. This patch makes sure we consistently
use the same integer type for the enum value and let `APSInt` take care
of signedness. This shouldn't have any observable effect.
Commit: 5d738b2be051bf800445fb21df6de163af35695f
https://github.com/llvm/llvm-project/commit/5d738b2be051bf800445fb21df6de163af35695f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M lldb/docs/resources/test.rst
Log Message:
-----------
[lldb][Docs] Expand remote testing instructions (#122694)
There's a lot of fiddly bits to get right here, so I've added a more
complete example and explained why you might choose one method over
another.
I thought about adding this to the qemu testing page, as that's what we
(Linaro) use this for mostly, but it applies to any remote system
whether hardware or simulator.
Commit: 9ad4ebd82b604c8baa77af61eee77aad7f018de7
https://github.com/llvm/llvm-project/commit/9ad4ebd82b604c8baa77af61eee77aad7f018de7
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP][NFC] break out priv var init into helper (#125303)
Commit: cc72042a94b80b7b2f8f7c383ad6e157260b817f
https://github.com/llvm/llvm-project/commit/cc72042a94b80b7b2f8f7c383ad6e157260b817f
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Utils/QuantUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/QuantUtils.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
M mlir/test/Dialect/Tosa/quant-test.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
Log Message:
-----------
[mlir][tosa] Make Convolution Zero Points Inputs (#122939)
The TOSA-v1.0 specification moves the "zero point" parameters of the
convolution operators CONV2D, CONV3D, DEPTHWISE_CONV2D, and
TRANSPOSE_CONV2D from attributes to inputs.
Make the zero points of the convolutions in the MLIR TOSA dialect inputs
and update any transformations, materializations and lit tests
appropriately.
Rename the "filter" argument of `tosa.transpose_conv2d` to weight to
align with the TOSA specification.
Remove the quantization_info attribute on the convolution operations.
Co-authored-by: TatWai Chong <tatwai.chong at arm.com>
Commit: 692c9b210728323ac499a402ee6eb901f35856f2
https://github.com/llvm/llvm-project/commit/692c9b210728323ac499a402ee6eb901f35856f2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/DeclBase.cpp
M clang/test/AST/attr-print-emit.cpp
A clang/test/CodeGen/AArch64/sme-attributes-member-function-pointer.cpp
A clang/test/CodeGen/xfail-alloc-align-fn-pointers.cpp
Log Message:
-----------
[clang] Support member function poiners in Decl::getFunctionType() (#125077)
This seems consistent with the documentation, which claims it:
```
/// Looks through the Decl's underlying type to extract a FunctionType
/// when possible. Will return null if the type underlying the Decl does not
/// have a FunctionType.
const FunctionType *getFunctionType(bool BlocksToo = true) const;
```
Note: This patch rewords this doc comment to clarify it includes various
function pointer types.
Without this, attaching attributes (which use `HasFunctionProto`) to
member function pointers errors with:
```
error: '<attr>' only applies to non-K&R-style functions
```
...which does not really make sense, since member functions are not K&C
functions.
With this change the Arm SME TypeAttrs work correctly on member function
pointers.
Note, however, that not all attributes work correctly when applied to
function pointers or member function pointers. For example,
`alloc_align` crashes when applied to a function pointer (on truck):
https://godbolt.org/z/YvMhnhKfx (as it only expects a `FunctionDecl` not
a `ParmVarDecl`). The same crash applies to member function pointers
(for the same reason).
Commit: b6e50ed20931a8887ca6f7df8842a83a6e9751d2
https://github.com/llvm/llvm-project/commit/b6e50ed20931a8887ca6f7df8842a83a6e9751d2
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[AArch64] Simplify definitions of SVE/SME intrinsics which set FPMR (#123796)
If an intrinsic has an `fpm_t` parameter, automatically set the flag
`SetsFPMR` and append "_fpm" to the name.
Commit: 6303563b40f9d7896f0d44380f397560143da26b
https://github.com/llvm/llvm-project/commit/6303563b40f9d7896f0d44380f397560143da26b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
Log Message:
-----------
Simplify MS mangling of bultin types (NFC) (#125051)
Saves including 4 files, reduces the number of switch cases, less error
prone when adding new types,
at the "cost" of adding a` default:`.
Commit: 50d5d06d383616b88a71512d58b0f5bf365d921b
https://github.com/llvm/llvm-project/commit/50d5d06d383616b88a71512d58b0f5bf365d921b
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVectorize][NFC] Cache the result of getVScaleForTuning (#124732)
We currently call getVScaleForTuning in many places, doing a
lot of work asking the same question with the same answer.
I've refactored the code to cache the value if the max
scalable VF != 0 and pull out the cached value from
LoopVectorizationCostModel.
Commit: 3ab1880f8e954a4dcb39bb262587d55537b9d500
https://github.com/llvm/llvm-project/commit/3ab1880f8e954a4dcb39bb262587d55537b9d500
Author: Tomer Solomon <tomsol2009 at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
Log Message:
-----------
[MLIR] Remove unnecessary include from MathToEmitC.h to fix build issue (#125466)
This removes the unnecessary inclusion of mlir/Dialect/EmitC/IR/EmitC.h
from MathToEmitC.h, which caused a build failure due to a missing
EmitCEnums.h.inc. The include was not needed, and removing it resolves
the issue without requiring additional dependencies.
Commit: e3fbf19eb4428cac03c0e7301512f11f8947d743
https://github.com/llvm/llvm-project/commit/e3fbf19eb4428cac03c0e7301512f11f8947d743
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] getSpillCost - fully populate IntrinsicCostAttributes to improve cost analysis. (#124129) (REAPPLIED)
We were only constructing the IntrinsicCostAttributes with the arg type info, and not the args themselves, preventing more detailed cost analysis (constant / uniform args etc.)
Just pass the whole IntrinsicInst to the constructor and let it resolve everything it can.
Noticed while having yet another attempt at #63980
Reapplied cleanup now that #125223 and #124984 have landed.
Commit: 978310f1de712fc9092142f0985a541a537f21ec
https://github.com/llvm/llvm-project/commit/978310f1de712fc9092142f0985a541a537f21ec
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir][vector][nfc] Fix typos in "VectorEmulateNarrowType.cpp" (#125415)
Updates `emulatedVectorLoad` that was introduced in #115922.
Specifically, ATM `emulatedVectorLoad` mixes "emulated type" and
"container type". This only became clear after #123526 in which the
concepts of "emulated" and "container" types were introduced.
This is an NFC change and simply updates the variable naming.
Commit: 5c065f01cee5dfca28d703983d0ebefa65128e09
https://github.com/llvm/llvm-project/commit/5c065f01cee5dfca28d703983d0ebefa65128e09
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
Log Message:
-----------
[lldb][Windows] Fix build with MSVC compiler broken by (#108072)
This patch fixes LLDB Windows build with MSVC compiler. MSVC deletes
the default constructor due to virtual inheritance rules. Explicitly
define the default constructor in NativeRegisterContextWindows to
ensure constructibility.
Commit: 8f025f2a93ee7249336115cff31ae12367f1d0d5
https://github.com/llvm/llvm-project/commit/8f025f2a93ee7249336115cff31ae12367f1d0d5
Author: Owen Anderson <resistor at mac.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/template-param-objects.cpp
Log Message:
-----------
[clang] Do not emit template parameter objects as COMDATs when they have internal linkage. (#125448)
Per the ELF spec, section groups may only contain local symbols if those
symbols are only
referenced from within the section group. [1] In the case of template
parameter objects,
they can be referenced from outside the group when the type of the
object was declared
in an anonymous namespace. In that case, we can't place the object in a
COMDAT. This matches
GCC's linkage behavior on the test input.
[1]:
https://www.sco.com/developers/gabi/latest/ch4.sheader.html#section_groups
Commit: 327d627066e6452b081365b595657d17f2690a3b
https://github.com/llvm/llvm-project/commit/327d627066e6452b081365b595657d17f2690a3b
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M mlir/docs/Interfaces.md
M mlir/examples/toy/Ch4/include/toy/Ops.td
M mlir/examples/toy/Ch5/include/toy/Ops.td
M mlir/examples/toy/Ch6/include/toy/Ops.td
M mlir/examples/toy/Ch7/include/toy/Ops.td
M mlir/examples/toy/Ch7/mlir/Dialect.cpp
M mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.h
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Interfaces/FunctionImplementation.h
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Interfaces/FunctionImplementation.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] share argument attributes interface between calls and callables (#123176)
This patch shares core interface methods dealing with argument and
result attributes from CallableOpInterface with the CallOpInterface and
makes them mandatory to gives more consistent guarantees about concrete
operations using these interfaces.
This allows adding argument attributes on call like operations, which is
sometimes required to get proper ABI, like with llvm.call (and llvm.invoke).
The patch adds optional `arg_attrs` and `res_attrs` attributes to operations using
these interfaces that did not have that already.
They can then re-use the common "rich function signature"
printing/parsing helpers if they want (for the LLVM dialect, this is
done in the next patch).
Part of RFC: https://discourse.llvm.org/t/mlir-rfc-adding-argument-and-result-attributes-to-llvm-call/84107
Commit: 6a2ce3432eb4648e954fd4999979d85e770409c5
https://github.com/llvm/llvm-project/commit/6a2ce3432eb4648e954fd4999979d85e770409c5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] free-inversion.ll - add test coverage for #71390
Commit: f3c4b58f4b0d98c8de29dd235a34e512be71ab3f
https://github.com/llvm/llvm-project/commit/f3c4b58f4b0d98c8de29dd235a34e512be71ab3f
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
R lld/ELF/BPSectionOrderer.cpp
R lld/ELF/BPSectionOrderer.h
M lld/ELF/CMakeLists.txt
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Writer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
R lld/test/ELF/bp-section-orderer-stress.s
R lld/test/ELF/bp-section-orderer.s
Log Message:
-----------
Revert "[ELF] Add BPSectionOrderer options (#120514)"
The ELF/bp-section-orderer.s test is failing on some buildbots due to
what seems like non-determinism issues, see comments on the original PR
and #125450
Reverting to green the build.
This reverts commit 0154dce8d39d2688b09f4e073fe601099a399365 and
follow-up commits 046dd4b28b9c1a75a96cf63465021ffa9fe1a979 and
c92f20416e6dbbde9790067b80e75ef1ef5d0fa4.
Commit: 2dc17fd173b4b2266bc76782196c82b7a6046a2a
https://github.com/llvm/llvm-project/commit/2dc17fd173b4b2266bc76782196c82b7a6046a2a
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/maxval-lowering.fir
Log Message:
-----------
[flang] fix isSimplyContiguous and isOptional hlfir::Entity methods (#125215)
Fix isSimplyContiguous:
- It ignored scalars, causing scalar fir.box to not be opened when
possible in `translateToExtendedValue`
Fix isOptional:
It is not reliable when the memory SSA value cannot be linked to a
declare. This is exposed by the `isSimplyContiguous` fix,
This is wrong because declare operation should not always assumed to be
visible (e.g., value may travel through a select, or the optional be
generated by the compiler like genOptionalBox in
lib/Lower/ConvertCall.cpp).
- Turn `isOptional` into a safer `mayBeOptional`
- Update translateToExtendedValue to open scalar fir.box for such values
in a fir.if.
- It turned out some `translateToExtendedValue` usage relied on fir.box
of optional scalars to be left untouched (mainly because they want to
forward those fir.box to the runtime), add an option to allow that.
Commit: cae0d67cbadaecc3ac0123ae68eededb2f9cd0b1
https://github.com/llvm/llvm-project/commit/cae0d67cbadaecc3ac0123ae68eededb2f9cd0b1
Author: David Green <david.green at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/smul_fix.ll
M llvm/test/CodeGen/AArch64/umul_fix.ll
Log Message:
-----------
[AArch64][SDAG] Detect non-zeroes in truncating buildvectors in fshl lowering (#123597)
A BUILD_VECTOR can implicity shrink the bits of the operands if the
operand types are not legal. For example a v8i16 constant BUILD_VECTOR
might be represented as v8i16 BUILDVECTOR(i32 1, i32 2, ...).
Unfortunately this means that the constants are not accepted by
matchUnaryPredicateImpl, preventing in this case funnel shifts detecting
that all the operands are non-zero. Add a flag to help it match.
Commit: 5fdf16148766e2909d051fd16d730c6e3733c931
https://github.com/llvm/llvm-project/commit/5fdf16148766e2909d051fd16d730c6e3733c931
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M mlir/lib/Interfaces/CMakeLists.txt
Log Message:
-----------
[mlir] add missing dependency to libMLIRFunctionInterfaces after #123176 (#125475)
Commit: 76e73ae6af1cecffaf977391e52bb9c410c14ff1
https://github.com/llvm/llvm-project/commit/76e73ae6af1cecffaf977391e52bb9c410c14ff1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lld/ELF/BUILD.gn
Log Message:
-----------
[gn build] Port f3c4b58f4b0d
Commit: 21a8c920fe1f6e9d2ac7e1b3f56b04fcd8bcc94c
https://github.com/llvm/llvm-project/commit/21a8c920fe1f6e9d2ac7e1b3f56b04fcd8bcc94c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Add special handling for union copy assign operators (#125476)
Commit: e82f93890daefeb38fe2a22ee3db87a89948ec57
https://github.com/llvm/llvm-project/commit/e82f93890daefeb38fe2a22ee3db87a89948ec57
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
A llvm/test/Transforms/LoopInterchange/legality-for-scalar-deps.ll
Log Message:
-----------
[LoopInterchange] Add tests of 'S' deps (NFC) (#125214)
The incorrect handling of scalar dependencies in LoopInterchange was
fixed by #119345. This patch adds tests that are relative to the issues
fixed by #119345.
Commit: 82c6b8f7bbebc32751170267bbb7712f028cf587
https://github.com/llvm/llvm-project/commit/82c6b8f7bbebc32751170267bbb7712f028cf587
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/spill-fill-zpr-predicates.mir
M llvm/test/CodeGen/AArch64/ssve-stack-hazard-remarks.ll
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[AArch64][SME] Spill p-regs as z-regs when streaming hazards are possible (#123752)
This patch adds a new option `-aarch64-enable-zpr-predicate-spills`
(which is disabled by default), this option replaces predicate spills
with vector spills in streaming[-compatible] functions.
For example:
```
str p8, [sp, #7, mul vl] // 2-byte Folded Spill
// ...
ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
```
Becomes:
```
mov z0.b, p8/z, #1
str z0, [sp] // 16-byte Folded Spill
// ...
ldr z0, [sp] // 16-byte Folded Reload
ptrue p4.b
cmpne p8.b, p4/z, z0.b, #0
```
This is done to avoid streaming memory hazards between FPR/vector and
predicate spills, which currently occupy the same stack area even when
the `-aarch64-stack-hazard-size` flag is set.
This is implemented with two new pseudos SPILL_PPR_TO_ZPR_SLOT_PSEUDO
and FILL_PPR_FROM_ZPR_SLOT_PSEUDO. The expansion of these pseudos
handles scavenging the required registers (z0 in the above example) and,
in the worst case spilling a register to an emergency stack slot in the
expansion. The condition flags are also preserved around the `cmpne` in
case they are live at the expansion point.
Commit: d5684b8402d2175e80a2792db58e9a8e960a8544
https://github.com/llvm/llvm-project/commit/d5684b8402d2175e80a2792db58e9a8e960a8544
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/unique_object_duplication.cpp
A clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Warn when unique objects might be duplicated in shared libraries (#117622)
When a hidden object is built into multiple shared libraries, each
instance of the library will get its own copy. If
the object was supposed to be globally unique (e.g. a global variable or
static data member), this can cause very subtle bugs.
An object might be incorrectly duplicated if it:
- Is defined in a header (so it might appear in multiple TUs), and
- Has external linkage (otherwise it's supposed to be duplicated), and
- Has hidden visibility (or else the dynamic linker will handle it)
The duplication is only a problem semantically if one of the following
is true:
1. The object is mutable (the copies won't be in sync), or
2. Its initialization has side effects (it may now run more than once),
or
3. The value of its address is used (different copies have different
addresses).
To detect this, we add a new -Wunique-object-duplication warning. It
warns on cases (1) and (2) above. To be conservative, we only warn in
case (2) if we are certain the initializer has side effects, and we
don't warn on `new` because the only side effect is some extra memory
usage.
We don't currently warn on case (3) because doing so is prone to false
positives: there are many reasons for taking the address which aren't
inherently problematic (e.g. passing to a function that expects a
pointer). We only run into problems if the code inspects the value of
the address.
The check is currently disabled for windows, which uses its own analogue
of visibility (declimport/declexport). The check is also disabled inside
templates, since it can give false positives if a template is never
instantiated.
### Resolving the warning
The warning can be fixed in several ways:
- If the object in question doesn't need to be mutable, it should be
made const. Note that the variable must be completely immutable, e.g.
we'll warn on `const int* p` because the pointer itself is mutable. To
silence the warning, it should instead be `const int* const p`.
- If the object must be mutable, it (or the enclosing function, in the
case of static local variables) should be made visible using
`__attribute((visibility("default")))`
- If the object is supposed to be duplicated, it should be be given
internal linkage.
### Testing
I've tested the warning by running it on clang itself, as well as on
chromium. Compiling clang resulted in [10 warnings across 6
files](https://github.com/user-attachments/files/17908069/clang-warnings.txt),
while Chromium resulted in [160 warnings across 85
files](https://github.com/user-attachments/files/17908072/chromium-warnings.txt),
mostly in third-party code. Almost all warnings were due to mutable
variables.
I evaluated the warnings by manual inspection. I believe all the
resulting warnings are true positives, i.e. they represent
potentially-problematic code where duplication might cause a problem.
For the clang warnings, I also validated them by either adding `const`
or visibility annotations as appropriate.
### Limitations
I am aware of four main limitations with the current warning:
1. We do not warn when the address of a duplicated object is taken,
since doing so is prone to false positives. I'm hopeful that we can
create a refined version in the future, however.
2. We only warn for side-effectful initialization if we are certain side
effects exist. Warning on potential side effects produced a huge number
of false positives; I don't expect there's much that can be done about
this in modern C++ code bases, since proving a lack of side effects is
difficult.
3. Windows uses a different system (declexport/import) instead of
visibility. From manual testing, it seems to behave analogously to the
visibility system for the purposes of this warning, but to keep things
simple the warning is disabled on windows for now.
4. We don't warn on code inside templates. This is unfortuate, since it
masks many real issues, e.g. a templated variable which is implicitly
instantiated the same way in multiple TUs should be globally unique, but
may accidentally be duplicated. Unfortunately, we found some potential
false positives during testing that caused us to disable the warning for
now.
Commit: d03b5de71c258bd3c835d8a747e91edacea3af0b
https://github.com/llvm/llvm-project/commit/d03b5de71c258bd3c835d8a747e91edacea3af0b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
Log Message:
-----------
[flang] Fixed Windows build.
`llvm::enumerate(llvm::reverse(ValueRange))` added in #124683 does not work
on Windows: https://lab.llvm.org/buildbot/#/builders/124/builds/322
Commit: cdeeb390a9ea21540fc44ba10dede66fbc0b2fc8
https://github.com/llvm/llvm-project/commit/cdeeb390a9ea21540fc44ba10dede66fbc0b2fc8
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
R clang/test/SemaCXX/unique_object_duplication.cpp
R clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Revert "Warn when unique objects might be duplicated in shared libraries (#117622)"
There are some buildbot breakages, see the PR. Reverting for now.
This reverts commit d5684b8402d2175e80a2792db58e9a8e960a8544.
Commit: 0c70a26f46e4efd5a29eb281ff99d2cf7f04c6f6
https://github.com/llvm/llvm-project/commit/0c70a26f46e4efd5a29eb281ff99d2cf7f04c6f6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/root-node-reordered-reused.ll
Log Message:
-----------
[SLP]Clear root node reordering only if the root node is not re-used in graph
The reordering of the root node can be safely cleared only if the root
node is not reused, otherwise the graph might be broken
Fixes #125357
Commit: 9216419843bcd2bf5b68053b5311c683073e55e1
https://github.com/llvm/llvm-project/commit/9216419843bcd2bf5b68053b5311c683073e55e1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
A llvm/test/CodeGen/X86/cmp-xor.ll
Log Message:
-----------
[X86] Add basic xor+cmp test coverage for #6146
Commit: d906da5ead2764579395e5006c517f2ec9afd46f
https://github.com/llvm/llvm-project/commit/d906da5ead2764579395e5006c517f2ec9afd46f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
Log Message:
-----------
[mlir] Fix build race condition in Pass Manager tests
That Linaro has been seeing on our dylib bot:
https://lab.llvm.org/staging/#/builders/171/builds/79
In file included from /home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/mlir/test/lib/Pass/TestPassManager.cpp:10:
/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/mlir/test/lib/Pass/../Dialect/Test/TestOps.h:148:10: fatal error: 'TestOps.h.inc' file not found
148 | #include "TestOps.h.inc"
| ^~~~~~~~~~~~~~~
Reported in https://github.com/llvm/llvm-project/issues/124335 and
https://github.com/llvm/llvm-project/issues/124485.
I think this was caused by https://github.com/llvm/llvm-project/pull/123910,
and so I've followed what https://github.com/llvm/llvm-project/pull/125004 did,
which seems to be a follow up to that. Same kind of error.
I was not able to reproduce the failure locally, but dylib and
normal builds are ok with this change so I will push it and monitor
the bot's results for a few days.
Commit: 90e0dd15ff070b5b4b1bb068cdade7f5b5e6ccec
https://github.com/llvm/llvm-project/commit/90e0dd15ff070b5b4b1bb068cdade7f5b5e6ccec
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/warn-unreachable.cpp
Log Message:
-----------
Revert "[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (#117437)"
This caused assertion failures:
clang/lib/Analysis/CFG.cpp:822:
void (anonymous namespace)::CFGBuilder::appendStmt(CFGBlock *, const Stmt *):
Assertion `!isa<Expr>(S) || cast<Expr>(S)->IgnoreParens() == S' failed.
See comment on the PR.
This reverts commit 44aa618ef67d302f5ab77cc591fb3434fe967a2e.
Commit: cb2598dda1aae5096a77bc8a9f6679ca1b350e5e
https://github.com/llvm/llvm-project/commit/cb2598dda1aae5096a77bc8a9f6679ca1b350e5e
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Make sure to link libexecinfo if it exists (#125344)
Fixes building the backtrace support on FreeBSD/NetBSD/OpenBSD/DragonFly and musl
libc with libexecinfo.
Commit: 2d7dff5ea9030f5a59acaae434fd502a2c78fee6
https://github.com/llvm/llvm-project/commit/2d7dff5ea9030f5a59acaae434fd502a2c78fee6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
M .github/new-prs-labeler.yml
R .github/workflows/clang-tests.yml
A .github/workflows/commit-access-greeter.yml
R .github/workflows/libclc-tests.yml
R .github/workflows/lld-tests.yml
R .github/workflows/lldb-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-binaries.yml
M bolt/test/AArch64/pad-before-funcs.s
M bolt/test/X86/dynamic-relocs-on-entry.s
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/Android.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/ReleaseNotes.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/user-docs/Annotations.rst
M clang/include/clang-c/Index.h
R clang/include/clang/ARCMigrate/ARCMT.h
R clang/include/clang/ARCMigrate/ARCMTActions.h
R clang/include/clang/ARCMigrate/FileRemapper.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Sanitizers.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/include/clang/CIR/FrontendAction/.clang-tidy
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/LowerToLLVM.h
R clang/include/clang/CIRFrontendAction/.clang-tidy
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
R clang/lib/ARCMigrate/ARCMT.cpp
R clang/lib/ARCMigrate/ARCMTActions.cpp
R clang/lib/ARCMigrate/CMakeLists.txt
R clang/lib/ARCMigrate/FileRemapper.cpp
R clang/lib/ARCMigrate/Internals.h
R clang/lib/ARCMigrate/ObjCMT.cpp
R clang/lib/ARCMigrate/PlistReporter.cpp
R clang/lib/ARCMigrate/TransAPIUses.cpp
R clang/lib/ARCMigrate/TransARCAssign.cpp
R clang/lib/ARCMigrate/TransAutoreleasePool.cpp
R clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
R clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp
R clang/lib/ARCMigrate/TransGCAttrs.cpp
R clang/lib/ARCMigrate/TransGCCalls.cpp
R clang/lib/ARCMigrate/TransProperties.cpp
R clang/lib/ARCMigrate/TransProtectedScope.cpp
R clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
R clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
R clang/lib/ARCMigrate/TransUnusedInitDelegate.cpp
R clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
R clang/lib/ARCMigrate/TransformActions.cpp
R clang/lib/ARCMigrate/Transforms.cpp
R clang/lib/ARCMigrate/Transforms.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CIR/CMakeLists.txt
A clang/lib/CIR/FrontendAction/.clang-tidy
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
A clang/lib/CIR/Lowering/CMakeLists.txt
A clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CMakeLists.txt
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
R clang/test/ARCMT/Common.h
R clang/test/ARCMT/GC-check-warn-nsalloc.m
R clang/test/ARCMT/GC-check.m
R clang/test/ARCMT/GC-no-arc-runtime.m
R clang/test/ARCMT/GC-no-arc-runtime.m.result
R clang/test/ARCMT/GC-no-finalize-removal.m
R clang/test/ARCMT/GC-no-finalize-removal.m.result
R clang/test/ARCMT/GC.h
R clang/test/ARCMT/GC.m
R clang/test/ARCMT/GC.m.result
R clang/test/ARCMT/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Buried/Treasure.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Module.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/NotInModule.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Sub.h
R clang/test/ARCMT/Inputs/Module.framework/Headers/Sub2.h
R clang/test/ARCMT/Inputs/Module.framework/Module
R clang/test/ARCMT/Inputs/Module.framework/PrivateHeaders/ModulePrivate.h
R clang/test/ARCMT/Inputs/module.modulemap
R clang/test/ARCMT/Inputs/test.h
R clang/test/ARCMT/Inputs/test.h.result
R clang/test/ARCMT/Inputs/test1.m.in
R clang/test/ARCMT/Inputs/test1.m.in.result
R clang/test/ARCMT/Inputs/test2.m.in
R clang/test/ARCMT/Inputs/test2.m.in.result
R clang/test/ARCMT/Inputs/with space/test.h
R clang/test/ARCMT/Inputs/with space/test.h.result
R clang/test/ARCMT/Inputs/with space/test1.m.in
R clang/test/ARCMT/Inputs/with space/test1.m.in.result
R clang/test/ARCMT/Inputs/with space/test2.m.in
R clang/test/ARCMT/Inputs/with space/test2.m.in.result
R clang/test/ARCMT/allowlisted/Inputs/header1.h
R clang/test/ARCMT/allowlisted/header1.h
R clang/test/ARCMT/allowlisted/header1.h.result
R clang/test/ARCMT/allowlisted/header2.h
R clang/test/ARCMT/allowlisted/header2.h.result
R clang/test/ARCMT/allowlisted/objcmt-with-allowlist-impl.m
R clang/test/ARCMT/allowlisted/objcmt-with-allowlist-impl.m.result
R clang/test/ARCMT/allowlisted/objcmt-with-allowlist.m
R clang/test/ARCMT/api.m
R clang/test/ARCMT/api.m.result
R clang/test/ARCMT/assign-prop-no-arc-runtime.m
R clang/test/ARCMT/assign-prop-no-arc-runtime.m.result
R clang/test/ARCMT/assign-prop-with-arc-runtime.m
R clang/test/ARCMT/assign-prop-with-arc-runtime.m.result
R clang/test/ARCMT/atautorelease-2.m
R clang/test/ARCMT/atautorelease-2.m.result
R clang/test/ARCMT/atautorelease-3.m
R clang/test/ARCMT/atautorelease-3.m.result
R clang/test/ARCMT/atautorelease-check.m
R clang/test/ARCMT/atautorelease.m
R clang/test/ARCMT/atautorelease.m.result
R clang/test/ARCMT/autoreleases.m
R clang/test/ARCMT/autoreleases.m.result
R clang/test/ARCMT/block_copy_release.m
R clang/test/ARCMT/block_copy_release.m.result
R clang/test/ARCMT/check-api.m
R clang/test/ARCMT/check-with-pch.m
R clang/test/ARCMT/check-with-serialized-diag.m
R clang/test/ARCMT/checking-in-arc.m
R clang/test/ARCMT/checking.m
R clang/test/ARCMT/cxx-checking.mm
R clang/test/ARCMT/cxx-rewrite.mm
R clang/test/ARCMT/cxx-rewrite.mm.result
R clang/test/ARCMT/dealloc.m
R clang/test/ARCMT/dealloc.m.result
R clang/test/ARCMT/designated-init-in-header/designated-init-in-header.m
R clang/test/ARCMT/designated-init-in-header/file1.m.in
R clang/test/ARCMT/designated-init-in-header/file2.m.in
R clang/test/ARCMT/designated-init-in-header/file2.m.in.result
R clang/test/ARCMT/designated-init-in-header/header1.h
R clang/test/ARCMT/designated-init-in-header/header1.h.result
R clang/test/ARCMT/dispatch.m
R clang/test/ARCMT/dispatch.m.result
R clang/test/ARCMT/driver-migrate.m
R clang/test/ARCMT/init.m
R clang/test/ARCMT/init.m.result
R clang/test/ARCMT/lit.local.cfg
R clang/test/ARCMT/migrate-emit-errors.m
R clang/test/ARCMT/migrate-on-pch-and-module.m
R clang/test/ARCMT/migrate-plist-output.m
R clang/test/ARCMT/migrate-space-in-path.m
R clang/test/ARCMT/migrate-with-pch.m
R clang/test/ARCMT/migrate.m
R clang/test/ARCMT/no-canceling-bridge-to-bridge-cast.m
R clang/test/ARCMT/nonobjc-to-objc-cast-2.m
R clang/test/ARCMT/nonobjc-to-objc-cast.m
R clang/test/ARCMT/nonobjc-to-objc-cast.m.result
R clang/test/ARCMT/objcmt-arc-cf-annotations.m
R clang/test/ARCMT/objcmt-arc-cf-annotations.m.result
R clang/test/ARCMT/objcmt-atomic-property.m
R clang/test/ARCMT/objcmt-atomic-property.m.result
R clang/test/ARCMT/objcmt-boxing.m
R clang/test/ARCMT/objcmt-boxing.m.result
R clang/test/ARCMT/objcmt-designated-initializer.m
R clang/test/ARCMT/objcmt-designated-initializer.m.result
R clang/test/ARCMT/objcmt-instancetype-2.m
R clang/test/ARCMT/objcmt-instancetype-2.m.result
R clang/test/ARCMT/objcmt-instancetype-unnecessary-diff.m
R clang/test/ARCMT/objcmt-instancetype.m
R clang/test/ARCMT/objcmt-instancetype.m.result
R clang/test/ARCMT/objcmt-invalid-code.mm
R clang/test/ARCMT/objcmt-invalid-code.mm.result
R clang/test/ARCMT/objcmt-migrate-all.m
R clang/test/ARCMT/objcmt-migrate-all.m.result
R clang/test/ARCMT/objcmt-ns-enum-crash.m
R clang/test/ARCMT/objcmt-ns-enum-crash.m.result
R clang/test/ARCMT/objcmt-ns-macros.m
R clang/test/ARCMT/objcmt-ns-macros.m.result
R clang/test/ARCMT/objcmt-ns-nonatomic-iosonly.m
R clang/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result
R clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m
R clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result
R clang/test/ARCMT/objcmt-numeric-literals.m
R clang/test/ARCMT/objcmt-numeric-literals.m.result
R clang/test/ARCMT/objcmt-property-availability.m
R clang/test/ARCMT/objcmt-property-availability.m.result
R clang/test/ARCMT/objcmt-property-dot-syntax.m
R clang/test/ARCMT/objcmt-property-dot-syntax.m.result
R clang/test/ARCMT/objcmt-property.m
R clang/test/ARCMT/objcmt-property.m.result
R clang/test/ARCMT/objcmt-protocol-conformance.m
R clang/test/ARCMT/objcmt-protocol-conformance.m.result
R clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m
R clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m.result
R clang/test/ARCMT/objcmt-subscripting-literals.m
R clang/test/ARCMT/objcmt-subscripting-literals.m.result
R clang/test/ARCMT/objcmt-subscripting-unavailable.m
R clang/test/ARCMT/objcmt-subscripting-unavailable.m.result
R clang/test/ARCMT/objcmt-undefined-ns-macros.m
R clang/test/ARCMT/objcmt-undefined-ns-macros.m.result
R clang/test/ARCMT/objcmt-with-pch.m
R clang/test/ARCMT/objcmt-with-pch.m.result
R clang/test/ARCMT/protected-scope.m
R clang/test/ARCMT/protected-scope.m.result
R clang/test/ARCMT/releases-driver.m
R clang/test/ARCMT/releases-driver.m.result
R clang/test/ARCMT/releases.m
R clang/test/ARCMT/releases.m.result
R clang/test/ARCMT/remap-applying.c
R clang/test/ARCMT/remap-applying.c.result
R clang/test/ARCMT/remove-dealloc-method.m
R clang/test/ARCMT/remove-dealloc-method.m.result
R clang/test/ARCMT/remove-dealloc-zerouts.m
R clang/test/ARCMT/remove-dealloc-zerouts.m.result
R clang/test/ARCMT/remove-statements.m
R clang/test/ARCMT/remove-statements.m.result
R clang/test/ARCMT/retains.m
R clang/test/ARCMT/retains.m.result
R clang/test/ARCMT/rewrite-block-var.m
R clang/test/ARCMT/rewrite-block-var.m.result
R clang/test/ARCMT/safe-arc-assign.m
R clang/test/ARCMT/safe-arc-assign.m.result
R clang/test/ARCMT/verify.m
R clang/test/ARCMT/with-arc-mode-modify.m
R clang/test/ARCMT/with-arc-mode-modify.m.result
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/attr-print-emit.cpp
A clang/test/Analysis/anonymous-decls.cpp
R clang/test/Analysis/anonymous-parameter.cpp
A clang/test/Analysis/bugfix-124477.m
M clang/test/Analysis/null-deref-path-notes.cpp
A clang/test/CIR/Lowering/hello.c
M clang/test/CMakeLists.txt
M clang/test/ClangScanDeps/strip-input-args.m
M clang/test/CodeCompletion/member-access.cpp
A clang/test/CodeGen/AArch64/sme-attributes-member-function-pointer.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/allow-ubsan-check-inline.c
M clang/test/CodeGen/allow-ubsan-check.c
A clang/test/CodeGen/arm-empty-args.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/blocks-windows.c
A clang/test/CodeGen/import-call-optimization.c
M clang/test/CodeGen/tbaa-pointers.c
A clang/test/CodeGen/xfail-alloc-align-fn-pointers.cpp
A clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp
M clang/test/CodeGenCXX/template-param-objects.cpp
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
A clang/test/Driver/hexagon-cpu-default.c
M clang/test/Driver/hip-sanitize-options.hip
R clang/test/Driver/objc-sdk-migration-options.m
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/openmp-offload-jit.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/rocm-device-libs.cl
M clang/test/Driver/tls-dialect.c
M clang/test/Driver/uefi-constructed-args.c
M clang/test/Driver/unsupported-target-arch.c
M clang/test/Driver/x86-target-features.c
M clang/test/Misc/warning-flags.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Rewriter/lit.local.cfg
R clang/test/Rewriter/missing-dllimport.c
M clang/test/Sema/MicrosoftCompatibility.c
M clang/test/Sema/MicrosoftCompatibility.cpp
R clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
A clang/test/Sema/aarch64-incompat-sm-builtin-calls.cpp
A clang/test/Sema/missing-dllimport.c
R clang/test/SemaCXX/remove_pointer.mm
M clang/test/SemaCXX/uninitialized.cpp
A clang/test/SemaObjCXX/type-traits.mm
R clang/test/SemaTemplate/GH55509.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/CMakeLists.txt
R clang/tools/arcmt-test/CMakeLists.txt
R clang/tools/arcmt-test/arcmt-test.cpp
R clang/tools/c-arcmt-test/CMakeLists.txt
R clang/tools/c-arcmt-test/c-arcmt-test.c
R clang/tools/libclang/ARCMigrate.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/libclang.map
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/CodeGen/TBAAMetadataTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/ObjcBug-124477.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/analyzer/entrypoint.py
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_interface.cpp
M compiler-rt/lib/xray/xray_interface_internal.h
A compiler-rt/lib/xray/xray_s390x.cpp
A compiler-rt/lib/xray/xray_trampoline_s390x.S
M compiler-rt/lib/xray/xray_tsc.h
M compiler-rt/test/asan/TestCases/Posix/wait4.cpp
M compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
M compiler-rt/test/asan/TestCases/suppressions-exec-relative-location.cpp
M compiler-rt/test/asan/TestCases/suppressions-function.cpp
M compiler-rt/test/asan/TestCases/suppressions-interceptor.cpp
M compiler-rt/test/asan/TestCases/suppressions-library.cpp
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Support/DataLayout.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Semantics/expression.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/DataLayout.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/pointer.cpp
M flang/runtime/exceptions.cpp
M flang/runtime/io-api.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir
A flang/test/Evaluate/bug124618.f90
M flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/boxproc-openmp.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/opt-variable-assign-omp.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-reshape.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/aint.f90
M flang/test/Lower/Intrinsics/anint.f90
M flang/test/Lower/Intrinsics/dot_product.f90
M flang/test/Lower/Intrinsics/exponent.f90
M flang/test/Lower/Intrinsics/fma_real16.f90
M flang/test/Lower/Intrinsics/fraction.f90
M flang/test/Lower/Intrinsics/ieee_class_queries.f90
M flang/test/Lower/Intrinsics/ieee_is_normal.f90
M flang/test/Lower/Intrinsics/ieee_next.f90
M flang/test/Lower/Intrinsics/isnan.f90
M flang/test/Lower/Intrinsics/mod.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/norm2.f90
M flang/test/Lower/Intrinsics/powi_real16.f90
M flang/test/Lower/Intrinsics/random_number_real16.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rrspacing.f90
M flang/test/Lower/Intrinsics/scale.f90
M flang/test/Lower/Intrinsics/set_exponent.f90
M flang/test/Lower/Intrinsics/sign.f90
M flang/test/Lower/Intrinsics/spacing.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character.f90
M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
A flang/test/Lower/OpenMP/delayed-privatization-lastprivate-of-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/derived-type-allocatable.f90
M flang/test/Lower/OpenMP/firstprivate-alloc-comp.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
A flang/test/Lower/OpenMP/pointer-to-array.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/task2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/basic-function.f90
M flang/test/Lower/math-lowering/abs.f90
M flang/test/Lower/math-lowering/aint.f90
M flang/test/Lower/math-lowering/anint.f90
M flang/test/Lower/math-lowering/sign.f90
M flang/test/Lower/real-descriptors.f90
M flang/test/Lower/real-operations-1.f90
A flang/test/Semantics/bug124487.f90
A flang/test/Semantics/bug124621.f90
A flang/test/Semantics/bug124716.f90
A flang/test/Semantics/bug124731.f90
A flang/test/Semantics/bug12477.f90
A flang/test/Semantics/bug124976.f90
M flang/test/Semantics/kinds01.f90
M flang/test/Semantics/kinds02.f90
M flang/test/Semantics/kinds04_q10.f90
M flang/test/Semantics/resolve110.f90
M flang/test/Semantics/resolve41.f90
M flang/test/Semantics/self-use.f90
M flang/test/Transforms/generic-loop-rewriting.mlir
M flang/test/Transforms/omp-maps-for-privatized-symbols.fir
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/include/llvm-libc-macros/limits-macros.h
M libc/src/__support/CPP/span.h
M libc/test/src/setjmp/CMakeLists.txt
M libc/test/src/setjmp/setjmp_test.cpp
M libclc/CMakeLists.txt
R libclc/amdgcn-mesa3d
R libclc/clc/lib/clspv64
R libclc/clc/lib/spirv64/SOURCES
R libclc/clspv64
R libclc/spirv64/lib/SOURCES
R libclc/spirv64/lib/math/fma.cl
R libclc/spirv64/lib/math/fma.inc
R libclc/spirv64/lib/subnormal_config.cl
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__bit_reference
M libcxx/include/__configuration/abi.h
M libcxx/include/__hash_table
M libcxx/include/__tree
M libcxx/include/__vector/vector_bool.h
M libcxx/include/bitset
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/list
M libcxx/include/locale
M libcxx/src/locale.cpp
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/Utilities.h
M libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
A libcxx/test/benchmarks/algorithms/copy.bench.cpp
A libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
M libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
M libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/set_intersection.bench.cpp
M libcxx/test/benchmarks/algorithms/sort.bench.cpp
M libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
R libcxx/test/benchmarks/containers/ContainerBenchmarks.h
A libcxx/test/benchmarks/containers/container_benchmarks.h
M libcxx/test/benchmarks/containers/deque.bench.cpp
A libcxx/test/benchmarks/containers/list.bench.cpp
M libcxx/test/benchmarks/containers/string.bench.cpp
A libcxx/test/benchmarks/containers/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set_operations.bench.cpp
A libcxx/test/benchmarks/containers/vector.bench.cpp
R libcxx/test/benchmarks/containers/vector_operations.bench.cpp
M libcxx/test/benchmarks/filesystem.bench.cpp
M libcxx/test/benchmarks/hash.bench.cpp
M libcxx/test/benchmarks/variant_visit_1.bench.cpp
M libcxx/test/benchmarks/variant_visit_2.bench.cpp
M libcxx/test/benchmarks/variant_visit_3.bench.cpp
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
A libcxx/test/std/containers/associative/map/map.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/map/map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/associative/set/set.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/associative/set/set.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/sequences/deque/deque.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/deque/deque.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/sequences/list/list.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/list/list.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_assign_noexcept.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/ScriptLexer.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
M lld/test/ELF/hexagon-plt.s
M lld/test/ELF/hexagon-shared.s
M lld/test/ELF/icf-safe.s
M lldb/docs/resources/test.rst
M lldb/docs/use/variable.rst
M lldb/include/lldb/Core/Value.h
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/include/lldb/Interpreter/Options.h
M lldb/include/lldb/Utility/StreamTee.h
M lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Core/Module.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Interpreter/CommandAlias.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_WoW64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_i386.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_x86_64.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/API/functionalities/abbreviation/TestAbbreviations.py
A lldb/test/API/functionalities/gdb_remote_client/TestReadMemory.py
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
A lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
A lldb/tools/lldb-dap/.vscodeignore
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/package.json
M llvm/Maintainers.md
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/Vectorizers.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.rst
M llvm/docs/vplan-early-exit.dot
M llvm/docs/vplan-early-exit.png
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/Register.h
A llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Utils/VNCoercion.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/CFIFixup.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RegisterCoalescer.h
M llvm/lib/CodeGen/RegisterScavenging.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
A llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.h
M llvm/lib/Target/Xtensa/Xtensa.td
A llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/VNCoercion.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
A llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
A llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
M llvm/test/Analysis/DependenceAnalysis/AA.ll
M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
M llvm/test/Analysis/DependenceAnalysis/Constraints.ll
M llvm/test/Analysis/DependenceAnalysis/Coupled.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/DependenceAnalysis/Dump.ll
M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
A llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
M llvm/test/Analysis/DependenceAnalysis/GCD.ll
M llvm/test/Analysis/DependenceAnalysis/Invariant.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
M llvm/test/Analysis/DependenceAnalysis/MIVMaxLevelThreshold.ll
M llvm/test/Analysis/DependenceAnalysis/MismatchingNestLevels.ll
M llvm/test/Analysis/DependenceAnalysis/NonAffineExpr.ll
M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
M llvm/test/Analysis/DependenceAnalysis/PR21585.ll
A llvm/test/Analysis/DependenceAnalysis/PR31848.ll
M llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
M llvm/test/Analysis/DependenceAnalysis/PreliminaryNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
M llvm/test/Analysis/DependenceAnalysis/Separability.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheck.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/StrongSIV.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
M llvm/test/Analysis/DependenceAnalysis/UsefulGEP.ll
M llvm/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
M llvm/test/Analysis/DependenceAnalysis/ZIV.ll
M llvm/test/Analysis/DependenceAnalysis/lcssa.ll
M llvm/test/Analysis/DependenceAnalysis/new-pm-invalidation.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fshl.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fshr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-address-type-promotion-assertion.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
A llvm/test/CodeGen/AArch64/aarch64-mixed-ptr-sizes.ll
M llvm/test/CodeGen/AArch64/arm64-2011-03-09-CPSRSpill.ll
M llvm/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
M llvm/test/CodeGen/AArch64/arm64-2011-04-21-CPSRBug.ll
M llvm/test/CodeGen/AArch64/arm64-2012-01-11-ComparisonDAGCrash.ll
M llvm/test/CodeGen/AArch64/arm64-2012-07-11-InstrEmitterBug.ll
M llvm/test/CodeGen/AArch64/arm64-2013-01-23-frem-crash.ll
M llvm/test/CodeGen/AArch64/arm64-2013-01-23-sext-crash.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
M llvm/test/CodeGen/AArch64/arm64-dead-register-def-bug.ll
M llvm/test/CodeGen/AArch64/arm64-fast-isel.ll
M llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/misched-fusion-cmp-bcc.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
A llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/smul_fix.ll
A llvm/test/CodeGen/AArch64/spill-fill-zpr-predicates.mir
M llvm/test/CodeGen/AArch64/ssve-stack-hazard-remarks.ll
M llvm/test/CodeGen/AArch64/umul_fix.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
M llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshl.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/blender-coalescer-verifier-error-empty-subrange.mir
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
A llvm/test/CodeGen/AMDGPU/copy-to-reg-frameindex.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/idot2.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
A llvm/test/CodeGen/AMDGPU/load-store-cnt.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
A llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.gfx11plus-fake16.mir
A llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.gfx11plus.mir
M llvm/test/CodeGen/AMDGPU/mode-register-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/set-inactive-wwm-overwrite.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/swdev373493.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
A llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard-attrs.mir
M llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard.mir
M llvm/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mir
M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll
M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
M llvm/test/CodeGen/ARM/vector-DAGCombine.ll
M llvm/test/CodeGen/LoongArch/annotate-tablejump.ll
M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/M68k/PR57660.ll
A llvm/test/CodeGen/M68k/register-spills.ll
M llvm/test/CodeGen/Mips/2010-07-20-Switch.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/jumptables.ll
M llvm/test/CodeGen/Mips/jump-table-mul.ll
M llvm/test/CodeGen/Mips/pseudo-jump-fill.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll
M llvm/test/CodeGen/NVPTX/griddepcontrol.ll
M llvm/test/CodeGen/NVPTX/kernel-param-align.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
A llvm/test/CodeGen/NVPTX/upgrade-nvvm-annotations.ll
M llvm/test/CodeGen/PowerPC/absol-jump-table-enabled.ll
M llvm/test/CodeGen/PowerPC/aix-lower-jump-table-mir.ll
M llvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll
M llvm/test/CodeGen/PowerPC/jump-tables-collapse-rotate.ll
M llvm/test/CodeGen/PowerPC/mcm-5.ll
M llvm/test/CodeGen/PowerPC/p10-spill-creq.ll
M llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll
M llvm/test/CodeGen/PowerPC/pcrel-jump-table.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fshl-fshr-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fshl-fshr-rv64.mir
M llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
M llvm/test/CodeGen/RISCV/jumptable.ll
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vp-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/shrinkwrap-jump-table.ll
M llvm/test/CodeGen/SystemZ/branch-05.ll
M llvm/test/CodeGen/SystemZ/branch-11.ll
A llvm/test/CodeGen/SystemZ/cond-move-10.mir
A llvm/test/CodeGen/SystemZ/copy-phys-reg-fp64-to-gr64.mir
A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr64-to-fp64.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/minloop.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-dct.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
M llvm/test/CodeGen/Thumb2/mve-tailpred-nonzerostart.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
M llvm/test/CodeGen/Thumb2/setjmp_longjmp.ll
M llvm/test/CodeGen/VE/Scalar/br_jt.ll
A llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
M llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh.ll
M llvm/test/CodeGen/X86/avx512-intel-ocl.ll
M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
M llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
M llvm/test/CodeGen/X86/break-false-dep.ll
M llvm/test/CodeGen/X86/catchpad-realign-savexmm.ll
M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
M llvm/test/CodeGen/X86/cleanuppad-realign.ll
A llvm/test/CodeGen/X86/cmp-xor.ll
M llvm/test/CodeGen/X86/coalesce-dead-lanes.mir
M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
M llvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
M llvm/test/CodeGen/X86/conditional-tailcall.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/late-remat-update.mir
M llvm/test/CodeGen/X86/ldexp.ll
M llvm/test/CodeGen/X86/llround-conv.ll
M llvm/test/CodeGen/X86/localescape.ll
M llvm/test/CodeGen/X86/lround-conv-i32.ll
M llvm/test/CodeGen/X86/lround-conv-i64.ll
M llvm/test/CodeGen/X86/mixed-ptr-sizes.ll
M llvm/test/CodeGen/X86/musttail-varargs.ll
M llvm/test/CodeGen/X86/no-sse-win64.ll
M llvm/test/CodeGen/X86/preserve_nonecc_call_win.ll
M llvm/test/CodeGen/X86/segmented-stacks.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/sse-regcall.ll
M llvm/test/CodeGen/X86/sse-regcall4.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/swift-async-win64.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/CodeGen/X86/taildup-callsiteinfo.mir
M llvm/test/CodeGen/X86/win-catchpad-csrs.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win-smallparams.ll
M llvm/test/CodeGen/X86/win64-byval.ll
M llvm/test/CodeGen/X86/win64-eh-empty-block-2.mir
M llvm/test/CodeGen/X86/win64-funclet-savexmm.ll
M llvm/test/CodeGen/X86/win64-seh-epilogue-statepoint.ll
M llvm/test/CodeGen/X86/win64_eh.ll
M llvm/test/CodeGen/X86/win64_frame.ll
M llvm/test/CodeGen/X86/x86-64-flags-intrinsics.ll
M llvm/test/CodeGen/X86/x86-win64-shrink-wrapping.ll
M llvm/test/DebugInfo/COFF/trailing-inlined-function.s
M llvm/test/DebugInfo/MIR/X86/instr-ref-join-def-vphi.mir
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_no_strip.s
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddv.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmovn.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/qshrn.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx950-unsupported.s
M llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
M llvm/test/MC/AsmParser/directive_seh.s
M llvm/test/MC/AsmParser/seh-directive-errors.s
M llvm/test/MC/COFF/cv-def-range-align.s
M llvm/test/MC/COFF/cv-inline-linetable-unlikely.s
M llvm/test/MC/COFF/seh-align2.s
M llvm/test/MC/COFF/seh-align3.s
M llvm/test/MC/COFF/seh-linkonce.s
M llvm/test/MC/COFF/seh-section-2.s
M llvm/test/MC/COFF/seh-section.s
M llvm/test/MC/COFF/seh.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_ds_read_tr.txt
A llvm/test/MC/Disassembler/Xtensa/windowed.txt
A llvm/test/MC/Disassembler/Xtensa/windowed_code_density.txt
A llvm/test/MC/Xtensa/windowed.s
A llvm/test/MC/Xtensa/windowed_code_density.s
A llvm/test/MC/Xtensa/windowed_invalid.s
M llvm/test/MachineVerifier/AMDGPU/test_g_incompatible_range.mir
A llvm/test/ThinLTO/X86/memprof_imported_internal.ll
A llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/Transforms/AlignmentFromAssumptions/start-unk.ll
M llvm/test/Transforms/ArgumentPromotion/fp80.ll
M llvm/test/Transforms/ArgumentPromotion/musttail.ll
M llvm/test/Transforms/ArgumentPromotion/variadic.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
M llvm/test/Transforms/CorrelatedValuePropagation/non-null.ll
M llvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
M llvm/test/Transforms/GVN/vscale.ll
A llvm/test/Transforms/GlobalOpt/read-with-constexpr-users.ll
M llvm/test/Transforms/InstCombine/and-compare.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fneg-fabs.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/select-min-max.ll
A llvm/test/Transforms/InstCombine/select_frexp.ll
A llvm/test/Transforms/InstSimplify/constant-fold-inttoptr-add.ll
M llvm/test/Transforms/InstSimplify/select-icmp.ll
M llvm/test/Transforms/InstSimplify/select.ll
A llvm/test/Transforms/LoopInterchange/legality-for-scalar-deps.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
A llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
A llvm/test/Transforms/LoopVectorize/WebAssembly/int-mac-reduction-costs.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.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/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/NewGVN/vscale.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/vectorizable-intrinsic.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
A llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
M llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll
A llvm/test/Transforms/SLPVectorizer/X86/root-node-reordered-reused.ll
A llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
A llvm/test/Transforms/VectorCombine/X86/insert-binop-vector.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll.expected
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify--completeness-json-output.s
A llvm/test/tools/llvm-dwarfdump/X86/dwarf-verify-good-json-output.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
A llvm/test/tools/llvm-objdump/ELF/Hexagon/plt.test
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.h
M llvm/tools/llvm-mca/Views/ResourcePressureView.cpp
M llvm/tools/llvm-mca/Views/ResourcePressureView.h
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/ARCMigrate/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/ARCMigrate/enable.gni
M llvm/utils/gn/secondary/clang/lib/FrontendTool/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
R llvm/utils/gn/secondary/clang/tools/arcmt-test/BUILD.gn
R llvm/utils/gn/secondary/clang/tools/c-arcmt-test/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/update_mir_test_checks.py
M mlir/docs/Interfaces.md
M mlir/examples/toy/Ch4/include/toy/Ops.td
M mlir/examples/toy/Ch5/include/toy/Ops.td
M mlir/examples/toy/Ch6/include/toy/Ops.td
M mlir/examples/toy/Ch7/include/toy/Ops.td
M mlir/examples/toy/Ch7/mlir/Dialect.cpp
M mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/MPI/IR/MPI.td
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRef.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Utils/QuantUtils.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.h
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Interfaces/FunctionImplementation.h
M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
M mlir/include/mlir/Target/LLVM/NVVM/Utils.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/Target/CMakeLists.txt
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/EraseUnusedOperandsAndResults.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/QuantUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Interfaces/CMakeLists.txt
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Interfaces/FunctionImplementation.cpp
M mlir/lib/Interfaces/Utils/CMakeLists.txt
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/CAPI/translation.c
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor-invalid.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/MPI/ops.mlir
A mlir/test/Dialect/MemRef/int-range-inference.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Dialect/Tensor/int-range-inference.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/quant-test.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/transpose-fold.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/Import/target-triple.ll
M mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
A mlir/test/Target/LLVMIR/omptarget-if-nowait.mlir
M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-omp.private-dealloc.mlir
M mlir/test/Target/LLVMIR/openmp-private.mlir
M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-multiple-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-simd-on_device.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-private-cond_br.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/IR/CMakeLists.txt
M mlir/test/lib/Pass/CMakeLists.txt
M offload/DeviceRTL/include/Configuration.h
M offload/DeviceRTL/include/Mapping.h
M offload/DeviceRTL/include/State.h
M offload/DeviceRTL/include/Synchronization.h
M offload/DeviceRTL/src/Configuration.cpp
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/Reduction.cpp
M offload/DeviceRTL/src/Synchronization.cpp
M offload/DeviceRTL/src/Workshare.cpp
M offload/include/OpenMP/OMPT/Callback.h
M offload/include/PluginManager.h
M offload/include/device.h
M offload/include/omptarget.h
M offload/liboffload/API/APIDefs.td
M offload/liboffload/API/README.md
M offload/liboffload/src/OffloadLib.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/ErrorReporting.h
M offload/plugins-nextgen/common/include/GlobalHandler.h
M offload/plugins-nextgen/common/include/JIT.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/dynamic_ffi/ffi.h
M offload/src/OpenMP/API.cpp
M offload/src/OpenMP/Mapping.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/src/omptarget.cpp
M offload/test/CMakeLists.txt
M offload/test/api/omp_target_memcpy_async1.c
M offload/test/mapping/target_uses_allocator.c
M offload/test/offloading/fortran/dump_map_tables.f90
M offload/test/offloading/fortran/implicit-record-field-mapping.f90
M offload/test/offloading/fortran/local-descriptor-map-regress.f90
A offload/test/offloading/fortran/target-data-map-if-present.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
M offload/test/offloading/parallel_target_teams_reduction_max.cpp
M offload/test/offloading/parallel_target_teams_reduction_min.cpp
M offload/test/offloading/struct_mapping_with_pointers.cpp
M offload/test/unified_shared_memory/associate_ptr.c
M offload/test/unified_shared_memory/close_member.c
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/m04-sema-checks
Compare: https://github.com/llvm/llvm-project/compare/99f16db88318...2d7dff5ea903
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