LLVM/project 5e3b708lld/ELF RelocScan.h, lld/ELF/Arch PPC64.cpp RISCV.cpp

[ELF] Simplify RelocScan after #163138 (#178375)

DeltaFile
+3-13lld/ELF/Arch/PPC64.cpp
+4-10lld/ELF/Arch/RISCV.cpp
+13-0lld/ELF/RelocScan.h
+2-3lld/ELF/Arch/Mips.cpp
+22-264 files

LLVM/project a21001allvm/lib/Transforms/Utils Local.cpp

[JumpThreading] Avoid unnecessary map resizing in gatherIncomingValuesToPhi (#173596)

Previously, `gatherIncomingValuesToPhi` populated the `IncomingValues`
map with *all* non-undef incoming values from the PHI node. For PHI
nodes with a large number of incoming blocks, this caused the
`SmallDenseMap` to grow significantly, triggering expensive resizing and
rehashing operations, even when the caller
(`redirectValuesFromPredecessorsToPhi`) was only interested in a small
subset of predecessors.

This patch optimizes the logic to prevent this unnecessary map growth.

Instead of collecting all values, we now:
1. Initialize the `IncomingValues` map specifically for the blocks in
`BBPreds` (setting them to `nullptr` initially).
2. Iterate through the PHI node and update the map entries only if the
incoming block is already present in the map.

This ensures that the size of the map is bounded by the size of

    [5 lines not shown]
DeltaFile
+27-14llvm/lib/Transforms/Utils/Local.cpp
+27-141 files

LLVM/project f58b37bclang/docs StandardCPlusPlusModules.rst

[docs] [C++20] [Modules] Offer a method to use clang module map with named modules (#178368)

See the doc for details.
DeltaFile
+274-0clang/docs/StandardCPlusPlusModules.rst
+274-01 files

LLVM/project fc7ad81llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine binop-select.ll

[InstCombine][profcheck] Preserve !prof metadata when folding select. (#177707)

The new select `InstCombinerImpl::foldBinOpSelectBinOp` reuses the same
condition in the same BB as the original so the profile info can be
trivially copied over.
DeltaFile
+10-5llvm/test/Transforms/InstCombine/binop-select.ll
+9-3llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+0-1llvm/utils/profcheck-xfail.txt
+19-93 files

LLVM/project da3f293llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine branch.ll

[InstCombine][profcheck] Propogate profile metadata when transforming br (X && !Y) to br (!X || Y) (#175939)

Updated visitBranchInst to propagate and swap !prof metadata when transforming br (X && !Y) to br (!X || Y).
DeltaFile
+21-13llvm/test/Transforms/InstCombine/branch.ll
+15-0llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+0-1llvm/utils/profcheck-xfail.txt
+36-143 files

LLVM/project adbbe85llvm/lib/CodeGen AssignmentTrackingAnalysis.cpp TargetInstrInfo.cpp, llvm/lib/CodeGen/GlobalISel LoadStoreOpt.cpp

[perf] Replace copy-assign by move-assign in llvm/lib/CodeGen/* (#178172)

DeltaFile
+2-2llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
+1-1llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-1llvm/lib/CodeGen/TargetInstrInfo.cpp
+5-54 files

LLVM/project 2624d84llvm/lib/Target/RISCV RISCVInstrInfoZvfbf.td

[RISCV] Remove unnecessary 'let' from VFWMACCBF16_V. NFC (#178367)

earlyclobber and RVVConstraint are already handled in VWMAC_FV_V_F.
DeltaFile
+1-2llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
+1-21 files

LLVM/project b9070bbllvm/lib/Target/RISCV RISCVInstrFormatsC.td RISCVInstrInfoC.td

[RISCV] Add OPC_C0/C1/C2 named values to tablegen. NFC (#178325)

This adds named opcodes for the compressed instructions like we have for
the 32-bit instructions.
DeltaFile
+37-28llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
+24-24llvm/lib/Target/RISCV/RISCVInstrInfoC.td
+9-9llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
+8-8llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
+4-4llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
+2-2llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
+84-751 files not shown
+85-767 files

LLVM/project 094c65ellvm/docs AMDGPUUsage.rst

Modelled fmin/fmax similar to llvm.minimumnum/maximumnum
DeltaFile
+8-2llvm/docs/AMDGPUUsage.rst
+8-21 files

LLVM/project 14d4061llvm/docs AMDGPUUsage.rst

[AMDGPU] Update documentation for wave reduction intrinsics
DeltaFile
+70-4llvm/docs/AMDGPUUsage.rst
+70-41 files

LLVM/project c776e92clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[AMDGPU] Add builtins for wave reduction intrinsics
DeltaFile
+84-0clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+8-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+4-0clang/include/clang/Basic/BuiltinsAMDGPU.td
+96-03 files

LLVM/project f74346fllvm/lib/Target/AMDGPU SIISelLowering.cpp

Don't use the pseudo as a case label.
DeltaFile
+17-23llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+17-231 files

LLVM/project c8b1ff9llvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV] Hoist a duplicate setOperationAction to a common place. NFC (#178364)

DeltaFile
+2-4llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+2-41 files

LLVM/project f42f10cllvm/docs AMDGPUUsage.rst

Modelled fmin/fmax similar to llvm.minimumnum/maximumnum
DeltaFile
+8-2llvm/docs/AMDGPUUsage.rst
+8-21 files

LLVM/project 56ad524clang/test/Modules modulemap-with-named-module.cppm

[NFC] [C++20] [Modules] Make sure we can use named module with module map
DeltaFile
+25-0clang/test/Modules/modulemap-with-named-module.cppm
+25-01 files

LLVM/project e8c0682llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

Merge branch 'users/chapuni/cov/single/condop' into users/chapuni/cov/single/execskipexists
DeltaFile
+47,161-55,379llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+17,188-14,558llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+12,842-18,547llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+11,654-16,786llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+172,469-105,2703,678 files not shown
+558,830-338,0243,684 files

LLVM/project 527d5adllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

Merge branch 'users/chapuni/mcdc/nest/bitmapaddr' into users/chapuni/cov/single/condop

Conflicts:
        clang/lib/CodeGen/CGExprScalar.cpp
        clang/lib/CodeGen/CodeGenPGO.cpp
        clang/lib/CodeGen/CoverageMappingGen.cpp
DeltaFile
+47,161-55,379llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+17,188-14,558llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+12,842-18,547llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+11,654-16,786llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+172,469-105,2706,625 files not shown
+857,903-536,6736,631 files

LLVM/project 41f2ac0llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

Merge branch 'main' into users/chapuni/mcdc/nest/bitmapaddr
DeltaFile
+47,161-55,379llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+17,188-14,558llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+12,842-18,547llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+11,654-16,786llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+172,469-105,2703,678 files not shown
+558,830-338,0243,684 files

LLVM/project 69e855blibc/shared/math ilogb.h, libc/src/__support/math ilogb.h CMakeLists.txt

[libc][math] Refactor ilogb implementation to header-only in src/__support/math folder. (#175504)

closes #175348
DeltaFile
+27-0libc/src/__support/math/ilogb.h
+23-0libc/shared/math/ilogb.h
+16-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/ilogb.cpp
+2-1libc/test/shared/shared_math_test.cpp
+80-63 files not shown
+83-79 files

LLVM/project f92948flibc/shared/math sinpif.h, libc/src/__support/math sinpif.h CMakeLists.txt

[libc][math] Refactor sinpif to Header Only. (#176580)

closes [#176477](https://github.com/llvm/llvm-project/issues/176477)

Part of https://github.com/llvm/llvm-project/issues/147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
DeltaFile
+123-0libc/src/__support/math/sinpif.h
+2-104libc/src/math/generic/sinpif.cpp
+23-0libc/shared/math/sinpif.h
+15-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+15-0libc/src/__support/math/CMakeLists.txt
+1-8libc/src/math/generic/CMakeLists.txt
+179-1133 files not shown
+182-1139 files

LLVM/project be0907bclang/include/clang/Basic DarwinSDKInfo.h, clang/lib/Basic DarwinSDKInfo.cpp

[clang][driver][darwin] Switch back to using CanonicalName to identify the SDK instead of SupportedTargets (#178115)

The SDK's SupportedTarget for its CanonicalName doesn't necessarily have
an LLVMTargetTripleSys/LLVMTargetTripleEnvironment that matches the
CanonicalName. e.g. sometimes new SDKs use arm64-apple-ios1.0 during
bringup, but their CanonicalName is set to the new platform. Go back to
using CanonicalName to identify the SDK as a Triple::OSType, and expose
the Triple::EnvironmentType used to build the SDKPlatformInfo when
SupportedTargets isn't present.
DeltaFile
+56-50clang/lib/Basic/DarwinSDKInfo.cpp
+27-0clang/test/Driver/Inputs/FakeOS1.0.sdk/SDKSettings.json
+20-7clang/lib/Driver/ToolChains/Darwin.cpp
+12-11clang/test/Driver/darwin-builtin-modules.c
+9-2clang/include/clang/Basic/DarwinSDKInfo.h
+1-0clang/lib/Driver/ToolChains/Darwin.h
+125-706 files

LLVM/project 04402d3libc/shared/math llogbf16.h, libc/src/__support/math llogbf16.h CMakeLists.txt

[libc][math] Refactor llogbf16 to header-only (#178078)

Closes #175351
DeltaFile
+34-0libc/src/__support/math/llogbf16.h
+29-0libc/shared/math/llogbf16.h
+15-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-6libc/src/math/generic/llogbf16.cpp
+1-2libc/src/math/generic/CMakeLists.txt
+91-93 files not shown
+94-99 files

LLVM/project 15a81fdclang/lib/CodeGen CGExprScalar.cpp CoverageMappingGen.cpp

[Coverage][Single] Enable Branch coverage for CondOp (#113110)

Depends on: #112730 #113114


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
DeltaFile
+8-27clang/lib/CodeGen/CGExprScalar.cpp
+5-16clang/lib/CodeGen/CoverageMappingGen.cpp
+2-13clang/lib/CodeGen/CGExprComplex.cpp
+2-12clang/lib/CodeGen/CGExprAgg.cpp
+3-10clang/lib/CodeGen/CodeGenPGO.cpp
+5-3clang/lib/CodeGen/CGExpr.cpp
+25-819 files not shown
+42-10015 files

LLVM/project 2c54fc8llvm/lib/Target/RISCV RISCVInstrInfoZvk.td RISCVInstrInfoVPseudos.td

[RISCV] Make sure Zvk* and Zvb* predicates are always paired with a GetVTypePredicates<vti>.Predicates. NFC (#178269)

We were inconsistent about this. Being consistent reduces the
number of unique predicate checks in the generated file.
    
NFC because illegal types don't make it to isel.
DeltaFile
+68-66llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
+25-17llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
+93-832 files

LLVM/project 4c11b00libc/shared/math sqrtf16.h, libc/src/__support/math sqrtf16.h CMakeLists.txt

[libc][math] Refactor sqrtf16 to Header Only (#177726)

closes: #177651
DeltaFile
+31-0libc/src/__support/math/sqrtf16.h
+29-0libc/shared/math/sqrtf16.h
+10-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+2-7libc/src/math/generic/sqrtf16.cpp
+9-0libc/src/__support/math/CMakeLists.txt
+1-1libc/src/math/generic/CMakeLists.txt
+82-93 files not shown
+85-99 files

LLVM/project e421ef2libclc CMakeLists.txt, libclc/cmake/modules AddLibclc.cmake

[libclc] Make output filename configurable; rename top-level targets (#178119)

This PR relates to c5cb48c39701.

Pass `OUTPUT_FILENAME` to `add_libclc_builtin_set` to allow downstream
output naming (e.g. libspirv in
https://github.com/intel/llvm/tree/sycl/libclc).

Rename top-level target to `libclc-${ARG_TRIPLE}` to avoid collision
with `library-${ARG_ARCH_SUFFIX}` in our downstream when libclc TRIPLE
matches libspirv ARCH_SUFFIX.

---------

Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
DeltaFile
+12-7libclc/cmake/modules/AddLibclc.cmake
+1-0libclc/CMakeLists.txt
+13-72 files

LLVM/project 7b91177clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[AMDGPU] Add builtins for wave reduction intrinsics
DeltaFile
+84-0clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+8-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+4-0clang/include/clang/Basic/BuiltinsAMDGPU.td
+96-03 files

LLVM/project 75b985ellvm/docs AMDGPUUsage.rst

[AMDGPU] Update documentation for wave reduction intrinsics
DeltaFile
+70-4llvm/docs/AMDGPUUsage.rst
+70-41 files

LLVM/project c8ab6b6llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fadd.ll

use `v_mul_f64_pseudo_e64`
DeltaFile
+3-3llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+1-1llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+4-42 files

LLVM/project bf408aallvm/unittests/TargetParser Host.cpp

[NFC] Fix unused but set variable

Fixes https://github.com/llvm/llvm-project/pull/178017#issuecomment-3808860054.
DeltaFile
+1-1llvm/unittests/TargetParser/Host.cpp
+1-11 files