LLVM/project b30971cllvm/include/llvm/IR ModuleSummaryIndex.h, llvm/lib/Analysis ModuleSummaryAnalysis.cpp

[ThinLTO] Remove unused relative block frequency support (#177215)

This removes most of the handling of the relative block frequency
support added in 2018 in c73cec84c99e5a63dca961fef67998a677c53a3c, which
was disabled by default and never utilized in the thin link as expected.

Support for reading old Bitcode containing the record is maintained as
required for backwards compatibility requirements, as is the support for
parsing old LLVM assembly containing that information. Tests ensure that
this backwards compatibility is maintained.

This came up in the context of redundant BFI/DT computations which
existed largely for the purpose of computing this information
and are being addressed in PR176646.
DeltaFile
+10-50llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+3-30llvm/include/llvm/IR/ModuleSummaryIndex.h
+12-7llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+9-9llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
+0-7llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
+2-3llvm/lib/AsmParser/LLParser.cpp
+36-1066 files not shown
+41-11112 files

LLVM/project 567fe2blld/COFF InputFiles.cpp, llvm/include/llvm/LTO LTO.h

[NFC][LTO] Move isPreservedName out of IRSymtab into LTO's Symbol as isLibcall (#177046)

This resolves the FIXME in IRSymtab and cleans up the semantics of the
IRSymtab. The list of preserved symbols really shouldn't be seen as a
property of the IR symbol table, since it's an LTO-specific concern, and
it's very tenuous to claim that this information is actually present in
the bitcode file to be exposed through its symbol table.

Instead, this PR moves this logic into LTO's view of the symbol, which
allows consumers to determine preserved-ness themselves. This was broken
out of #164916; this prevents that PR from introducing a circular
dependency, but it still seems like an independently good idea by virtue
of the above.
DeltaFile
+13-3llvm/lib/LTO/LTO.cpp
+2-11llvm/lib/Object/IRSymtab.cpp
+8-1llvm/include/llvm/LTO/LTO.h
+4-3llvm/lib/LTO/ThinLTOCodeGenerator.cpp
+4-1lld/COFF/InputFiles.cpp
+31-195 files

LLVM/project a1b3873clang-tools-extra/clang-doc JSONGenerator.cpp MDMustacheGenerator.cpp, clang-tools-extra/clang-doc/assets/md namespace-template.mustache class-template.mustache

[clang-doc] Add a Mustache Markdown generator

Adds a Markdown generator that uses Mustache templates. This patch adds
the templates themselves and implements changes to the JSONGenerator to
allow for the creation of specific files needed by the MD tests like
`all-files.json`.

This backend should be considered experimental. It satisfies all the
same tests that the current MD backend is tested against, but those
don't seem to provide full coverage for all functionality inside that
backend. It also doesn't output everything provided by JSON. It doesn't
use the MD unittests because the Mustache templates must currently be
written to files.
DeltaFile
+132-0clang-tools-extra/test/clang-doc/basic-project.mustache.test
+116-5clang-tools-extra/test/clang-doc/namespace.cpp
+102-18clang-tools-extra/clang-doc/JSONGenerator.cpp
+100-0clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
+63-0clang-tools-extra/clang-doc/assets/md/namespace-template.mustache
+62-0clang-tools-extra/clang-doc/assets/md/class-template.mustache
+575-2322 files not shown
+830-7128 files

LLVM/project 1d5e040flang/lib/Optimizer/Transforms/CUDA CUFOpConversion.cpp, flang/test/Fir/CUDA cuda-data-transfer.fir cuda-global-addr.mlir

[flang][cuda] Remove CUFDeviceAddressOpConversion from CUFOpConversion (#177213)

The pattern has been moved to CUFOpConversionLate
DeltaFile
+3-47flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
+1-1flang/test/Fir/CUDA/cuda-data-transfer.fir
+1-1flang/test/Fir/CUDA/cuda-global-addr.mlir
+1-1flang/test/Fir/CUDA/cuda-launch.fir
+6-504 files

LLVM/project 3667122llvm/include/llvm/Transforms/Scalar MemCpyOptimizer.h, llvm/lib/Transforms/Scalar MemCpyOptimizer.cpp

Revert "[MemCpyOpt] support offset slices for performStackMoveOptzn and proce…"

This reverts commit 019eb855dd6a18a8f7ae5dd86abf6bc3ad0d9fa4.
DeltaFile
+0-238llvm/test/Transforms/MemCpyOpt/stack-move-offset.ll
+28-50llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+6-7llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
+34-2953 files

LLVM/project 14fb596clang/test/CodeGen/LoongArch/lasx builtin-alias.c builtin.c, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

fix abi annotation

Created using spr 1.3.7
DeltaFile
+1,104-628llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
+733-733clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
+733-733clang/test/CodeGen/LoongArch/lasx/builtin.c
+420-418llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+813-0llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
+386-305llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
+4,189-2,817601 files not shown
+19,736-9,748607 files

LLVM/project d96cbf4llvm/lib/Target/AMDGPU SOPInstructions.td, llvm/test/CodeGen/AMDGPU scalar-float-sop1.ll

[AMDGPU] Improve codegen for uniform f16<-->i32 conversions (#176833)

This patch improves codegen by chaining scalar operations for uniform 
f16<-->i32 conversions where hardware supports the specific SALU
operations.

Added patterns in SOPInstructions.td to synthesize f16<-->i32
conversions via
intermediate f32 (f16-->f32-->i32 and i32-->f32-->f16).
DeltaFile
+30-65llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
+11-0llvm/lib/Target/AMDGPU/SOPInstructions.td
+41-652 files

LLVM/project 769703cllvm/lib/Target/RISCV/Disassembler RISCVDisassembler.cpp

clang-format

Created using spr 1.3.8-beta.1
DeltaFile
+2-2llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
+2-21 files

LLVM/project 864c6ccflang/include/flang/Optimizer/Transforms Passes.td, flang/lib/Optimizer/Transforms/CUDA CUFOpConversion.cpp

[flang][cuda] Remove option allocationConversion from pass (#177037)

The pass option was meant to be used during migration. This is not
needed anymore.
DeltaFile
+2-6flang/include/flang/Optimizer/Transforms/Passes.td
+0-4flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
+1-1flang/test/Fir/CUDA/cuda-alloc-free.fir
+1-1flang/test/Fir/CUDA/cuda-allocate.fir
+1-1flang/test/Fir/CUDA/cuda-data-transfer.fir
+5-135 files

LLVM/project 7ca7cb1mlir/include/mlir/Dialect/MemRef/IR MemoryAccessOpInterfaces.td MemoryAccessOpInterfaces.h

Resolve all the typos people found (thanks everyone!)

Co-authored-by: Alan Li <me at alanli.org>
Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
DeltaFile
+7-7mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.td
+1-1mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.h
+8-82 files

LLVM/project 0272fffllvm/test/CodeGen/Mips/msa f16-llvm-ir.ll, llvm/test/CodeGen/RISCV/rvv setcc-fp.ll vfmadd-constrained-sdnode.ll

fix srliy decoding conflict

Created using spr 1.3.8-beta.1
DeltaFile
+1,104-628llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
+386-305llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
+203-298llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
+277-193llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
+259-181llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
+259-181llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
+2,488-1,786274 files not shown
+13,090-6,820280 files

LLVM/project d0c0b64llvm/test/CodeGen/Mips/msa f16-llvm-ir.ll, llvm/test/CodeGen/RISCV/rvv setcc-fp.ll vfmadd-constrained-sdnode.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+1,104-628llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
+386-305llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
+203-298llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
+277-193llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
+259-181llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
+259-181llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
+2,488-1,786269 files not shown
+12,977-6,693275 files

LLVM/project 5439df1clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp, clang/test/AST/HLSL StructuredBuffers-AST.hlsl TypedBuffers-AST.hlsl

[HLSL] Improve HLSL resource method generation (#176806)

Refactor how HLSL resource methods are constructed in
HLSLBuiltinTypeDeclBuilder to be more robust and semantically correct.

- Switch to using Sema::BuildCallExpr and Sema::BuildCStyleCastExpr for
  building builtin calls, ensuring proper type checking and AST
  structure. This fixes issues with non-template resources like
  SamplerState where AST errors aren't automatically resolved during
  instantiation.
- Treat parameter placeholders as LValues in convertPlaceholder. This is
  required for builtins with 'out' parameters (e.g., GetDimensions) now
  that proper type checking via BuildCallExpr is performed.
- Fix a bug in CreateFromBinding methods where the counter handle was
  assigned an incorrect handle type.
- Add assertions to ensure the correct field is accessed for handles,
  preventing errors when implementing methods like Texture2D.Sample.
- Update AST tests to reflect changes in expression value categories
  (VK_LValue) and the introduction of CStyleCastExpr.
DeltaFile
+72-74clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
+33-34clang/test/AST/HLSL/TypedBuffers-AST.hlsl
+37-17clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+23-13clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
+165-1384 files

LLVM/project c3b4d94llvm/utils/gn/secondary/llvm/tools/llvm-dwarfdump BUILD.gn

[gn build] Port df063cbf1122
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/tools/llvm-dwarfdump/BUILD.gn
+1-01 files

LLVM/project 7645bd3llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/performance BUILD.gn

[gn build] Port 771517e9bfae
DeltaFile
+1-0llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/performance/BUILD.gn
+1-01 files

LLVM/project 8f58cfeclang/test/CIR/CodeGenBuiltins builtin_bit.cpp

[CIR][NFC] Update out-of-sync OGCG checks in test CIRGen/builtin_bit (#177189)

This patch updates various out-of-sync OGCG checks in the test file
`clang/test/CIR/CIRGen/builtin_bit.cpp`.

These checks are all related to the original clang CodeGen for the
bitwise rotate builtins. The OGCG patch #160259 inserts a new `urem`
instruction before calling the `llvm.fshr.*` intrinsic, which truncates
the rotate amount against the input's bit width. This breaks our OGCG
checks.

I have not yet dug deep enough into the rationale behind the OGCG patch.
The LLVM intrinsic `llvm.fshr.*` should already handle the truncation,
and the new `urem` instruction seems redundant in terms of semantic
correctness. Thus I choose not to hurry to also update relevant CIRGen
code to match OGCG behavior in this patch.
DeltaFile
+16-8clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
+16-81 files

LLVM/project 170de19llvm/lib/Target/AMDGPU GCNSubtarget.cpp, llvm/test/CodeGen/AMDGPU debug-independence-adjustSchedDependency.ll gfx-callable-argument-types.ll

[AMDGPU] Latency calculation must be independent of meta insts (#177052)

Debug and other meta instructions in bundles must not affect latency
calculation.
Ensure that code compiled with and without debug instructions is
identical.

---------

Signed-off-by: John Lu <John.Lu at amd.com>
DeltaFile
+44-0llvm/test/CodeGen/AMDGPU/debug-independence-adjustSchedDependency.ll
+11-11llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+4-0llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+59-113 files

LLVM/project 6a9699fllvm/utils profcheck-xfail.txt

[ProfCheck] Exclude Transforms/InstCombine/load-addrspacecast-select.ll

This was added recently and needs to be fixed, but for now exclude it so
that the bot can return to green and we can better catch future
regressions.
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

LLVM/project 35e9540mlir/lib/Dialect/SCF/IR SCF.cpp, mlir/test/Analysis/DataFlow test-dead-code-analysis.mlir

[mlir][SCF] Improve `ForOp::getSuccessorRegions` (#177116)

- Loops with 0 iterations always branch back to the parent.
- Loops with 1 iteration always branch into the loop, then immediately
back to the parent.

This change improves the quality of data flow analyses (e.g., dead code
analysis). It is also in preparation of adding a generic region inlining
canonicalization pattern for `RegionBranchOpInterface` ops (#176641).

---------

Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>
DeltaFile
+38-0mlir/test/Analysis/DataFlow/test-dead-code-analysis.mlir
+20-0mlir/lib/Dialect/SCF/IR/SCF.cpp
+1-1mlir/test/Dialect/Arith/int-range-narrowing.mlir
+59-13 files

LLVM/project e47e51allvm/include/llvm/IR IRBuilder.h, llvm/lib/Transforms/InstCombine InstCombineAndOrXor.cpp InstructionCombining.cpp

[profcheck][InstCombine] Fix missing profile data identified by not.ll test (#176497)

Tracking issue: #147390
DeltaFile
+38-28llvm/test/Transforms/InstCombine/not.ll
+17-5llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+0-9llvm/utils/profcheck-xfail.txt
+4-3llvm/include/llvm/IR/IRBuilder.h
+3-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+62-465 files

LLVM/project 058a223llvm/lib/Target/DirectX DXILShaderFlags.cpp, llvm/test/CodeGen/DirectX/ShaderFlags wave-ops.ll

[HLSL] Add wave active ballot to set of wave ops that set waveops shader flag (#177043)

This PR simply adds wave active ballot to the set of wave ops that
switch on the waveops shader flag.
DeltaFile
+8-0llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
+1-1llvm/lib/Target/DirectX/DXILShaderFlags.cpp
+9-12 files

LLVM/project 004e210llvm/test/tools/llvm-objcopy/DXContainer remove-root-signature.test remove-root-signature.yaml

[NFC][DirectX] Clean-up `llvm-objcopy` to be consistent across implementation details (#177006)

This change is to ensure the implementation of the various
`llvm-objcopy` args are implemented with consistent patterns.

This is intended to help have a clear and consistent point of reference
for new contributors to extend `llvm-objcopy`.

These changes are largely to propagate the review comments of
https://github.com/llvm/llvm-project/pull/159999 back onto the changes
introduced before it.
DeltaFile
+0-302llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.test
+302-0llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.yaml
+294-0llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.yaml
+0-294llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.test
+111-0llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.yaml
+0-111llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.test
+707-70713 files not shown
+1,014-1,01319 files

LLVM/project 10fe36fmlir/lib/Dialect/SCF/IR SCF.cpp

Update mlir/lib/Dialect/SCF/IR/SCF.cpp

Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>
DeltaFile
+1-2mlir/lib/Dialect/SCF/IR/SCF.cpp
+1-21 files

LLVM/project 86a2486libc/src/__support/math log1p.h log2.h, libc/src/math/generic log1p.cpp log2.cpp

[libc][math] Refactor log10, log1p, log2 implementation to header-only in src/__support/math folder. (#176089)

Part of #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
+1,070-0libc/src/__support/math/log1p.h
+2-1,050libc/src/math/generic/log1p.cpp
+978-0libc/src/__support/math/log2.h
+2-960libc/src/math/generic/log2.cpp
+919-0libc/src/__support/math/log10.h
+2-899libc/src/math/generic/log10.cpp
+2,973-2,9099 files not shown
+3,155-2,96815 files

LLVM/project 792e339llvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer/AArch64 neon-dot-product.ll aarch64-bf16-dotprod-intrinsics.ll

[msan] Handle NEON dot product intrinsics (#176084)

Propagate shadow by reusing existing `handleVectorPmaddIntrinsic()`
(used for analogous x86 instructions; renamed to
`handleVectorDotProductIntrinsic()`), instead of strictly handling.
DeltaFile
+373-320llvm/test/Instrumentation/MemorySanitizer/AArch64/neon-dot-product.ll
+62-94llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-bf16-dotprod-intrinsics.ll
+41-17llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+476-4313 files

LLVM/project 9c2124ellvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[NFC][SLP] Fix typo in assertion (#177079)

DeltaFile
+1-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-11 files

LLVM/project 8f1427dllvm/test/TableGen invalid_typecast_assert.td, llvm/utils/TableGen/Common CodeGenDAGPatterns.cpp

[TableGen] Gracefully error out in ParseTreePattern when DAG has zero operands so that llvm-tblgen doesn't crash (#161417)

Also handle the case when Pat->Child(i) is null in
CodeGenDAGPatterns::FindPatternInputsAndOutputs().
Fixes issue #157619 : TableGen asserts on invalid cast
DeltaFile
+51-0llvm/test/TableGen/invalid_typecast_assert.td
+34-9llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
+85-92 files

LLVM/project f534711openmp/device/include Synchronization.h, openmp/device/src Synchronization.cpp

[OpenMP][NFC] Use `uinc` atomic builtins for this operation (#177207)

Summary:
We support this now, this is 1-to-1 equivalent and simply prevents us
from needing to do it ourselves.
DeltaFile
+0-44openmp/device/src/Synchronization.cpp
+7-4openmp/device/include/Synchronization.h
+7-482 files

LLVM/project 8155bcfllvm/lib/Target/AMDGPU GCNSchedStrategy.cpp

Format
DeltaFile
+1-1llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+1-11 files

LLVM/project ac5e1b7lldb/test/API/tools/lldb-dap/launch/io TestDAP_launch_io.py

[lldb] Skip TestDAP_launch_io.py tests on asan builds (#177198)

Two out of three TestDAP_launch_io.py's test's classes have been failing
on ASAN builds ever since it was added into the repo. The ASAN failure
is not easy to debug, so skip these tests until we fix it.
DeltaFile
+3-0lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io.py
+3-01 files