LLVM/project ce6a2dbclang/include/clang/AST ASTContext.h, clang/lib/AST ASTContext.cpp ItaniumMangle.cpp

WIP
DeltaFile
+35-26clang/lib/AST/ASTContext.cpp
+3-4clang/include/clang/AST/ASTContext.h
+1-1clang/lib/AST/ItaniumMangle.cpp
+39-313 files

LLVM/project 06cb7b1llvm/lib/Transforms/IPO MemProfContextDisambiguation.cpp, llvm/lib/Transforms/Scalar SimpleLoopUnswitch.cpp DFAJumpThreading.cpp

[Transforms] Use llvm::append_range (NFC) (#133650)

DeltaFile
+4-7llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
+2-4llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
+2-2llvm/lib/Transforms/Utils/SampleProfileInference.cpp
+1-1llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
+1-1llvm/lib/Transforms/Utils/CodeLayout.cpp
+10-155 files

LLVM/project 2c73711llvm/utils/TableGen DXILEmitter.cpp DecoderEmitter.cpp

[TableGen] Use llvm::append_range (NFC) (#133649)

DeltaFile
+4-12llvm/utils/TableGen/DXILEmitter.cpp
+4-8llvm/utils/TableGen/DecoderEmitter.cpp
+1-2llvm/utils/TableGen/X86DisassemblerTables.cpp
+9-223 files

LLVM/project 1c8647amlir/lib/Dialect/SPIRV/IR ControlFlowOps.cpp

[mlir] Use llvm::hasSingleElement (NFC) (#133648)

DeltaFile
+1-2mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
+1-21 files

LLVM/project 8a8c89allvm/lib/Target/AArch64 AArch64FrameLowering.cpp

[AArch64] Use llvm::erase_if (NFC) (#133647)

DeltaFile
+3-6llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+3-61 files

LLVM/project 5a3d403llvm/include/llvm/MC MCExpr.h, llvm/lib/Target/AMDGPU AMDGPUMCInstLower.cpp

Move relocation specifiers to AMDGPUMCExpr::Specifier

Similar to previous migration done for all other ELF targets.
Switch from the confusing `VariantKind` to `Specifier`, which aligns
with Arm and IBM AIX's documentation.

Moving forward, relocation specifiers should be integrated into
AMDGPUMCExpr rather than MCSymbolRefExpr::SubclassData.

(Note: the term AMDGPUMCExpr::VariantKind is for expressions
without relocation specifiers:
https://github.com/llvm/llvm-project/pull/82022

It's up to AMDGPU maintainers to integrate these constants into Specifier.
)

Pull Request: https://github.com/llvm/llvm-project/pull/133608
DeltaFile
+11-10llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
+10-9llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
+9-8llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
+16-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
+0-8llvm/include/llvm/MC/MCExpr.h
+3-3llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
+49-382 files not shown
+52-408 files

LLVM/project 8ecb2f9llvm/include/llvm/ADT DenseMap.h, llvm/unittests/ADT DenseMapTest.cpp DenseSetTest.cpp

[ADT] Add `DenseMap::insert_range` (#133600)

This PR add `DenseMap::insert_range` to `DenseMap` for consistency with
existing `DenseSet::insert_range`, `SmallSet::insert_range` and
`std::map::insert_range`.
DeltaFile
+22-0llvm/unittests/ADT/DenseMapTest.cpp
+7-0llvm/unittests/ADT/DenseSetTest.cpp
+6-0llvm/include/llvm/ADT/DenseMap.h
+35-03 files

LLVM/project 52639d6clang-tools-extra/docs/clang-tidy/checks/bugprone signed-char-misuse.rst capturing-this-in-member-variable.rst, clang-tools-extra/docs/clang-tidy/checks/modernize make-unique.rst make-shared.rst

[clang-tidy][NFC][doc] improve "options" sections of `bugprone-` and `modernize-` checks (#133525)

Improved "options" sections of `bugprone-` and `modernize-` checks:

1. Added `Options` keyword to be a delimiter between "body" and
"options" parts of docs
2. Added default values where was absent.
3. Improved readability of some default values by converting `1` to
`true`.
DeltaFile
+4-1clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
+2-2clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
+2-2clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
+3-0clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
+2-1clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
+3-0clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
+16-69 files not shown
+38-715 files

LLVM/project 1f7f268llvm/lib/CodeGen StackProtector.cpp, llvm/test/CodeGen/X86 tailcc-ssp.ll

StackProtector: use isInTailCallPosition to verify tail call position (#68997)

The issue is caused by [D133860](https://reviews.llvm.org/D133860).
The guard would be inserted in wrong place in some cases, like the test
case showed below.
This patch fixed the issue by using `isInTailCallPosition()` to verify
whether the tail call is in right position.
DeltaFile
+21-0llvm/test/CodeGen/X86/tailcc-ssp.ll
+4-10llvm/lib/CodeGen/StackProtector.cpp
+25-102 files

LLVM/project 5715510llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp, llvm/lib/Target/RISCV/MCTargetDesc RISCVMCExpr.h RISCVMCCodeEmitter.cpp

[RISCV] Remove unused declarations and getSpecifier. NFC

Remove unused declarations after #132569.
Simplify some code as we no longer use MCSymbolRefExpr::VariantKind.
DeltaFile
+0-8llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
+1-4llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
+1-2llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+2-143 files

LLVM/project 771cc26mlir/lib/Conversion/LLVMCommon MemRefBuilder.cpp

update
DeltaFile
+1-1mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
+1-11 files

LLVM/project 0737848mlir/lib/Conversion/LLVMCommon MemRefBuilder.cpp

update
DeltaFile
+1-1mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
+1-11 files

LLVM/project 5b65b4dllvm/lib/Target/RISCV/MCTargetDesc RISCVAsmBackend.cpp

[RISCV] Remove dead code from evaluateTargetFixup

AUIPCTarget as a relocatable expression cannot have a SubSym or
@-specifier.
DeltaFile
+3-4llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
+3-41 files

LLVM/project bade892clang/include/clang/AST TemplateName.h, clang/lib/AST ASTContext.cpp NestedNameSpecifier.cpp

[clang] improved preservation of template keyword

This makes it so clang can better represent the abscence of
the template keyword for a template which cannot be resolved
due to a dependent prefix.

The tracking of the template keyword is removed from the
NestedNameSpecifier, and added to the last type node which had
it missing, the DependentTemplateSpecializationType (DTST).

The DTST and the DependentTemplateName are refactored to share
most of their implementation.

That refactoring along with the removal of the TypeSpecWithTemplate kind
from the nested name specifiers amounts to a large amount of code
removed, making this patch a small performance improvement overall.

This will also enable future further simplifications.


    [3 lines not shown]
DeltaFile
+81-133clang/lib/AST/ASTContext.cpp
+73-76clang/lib/Sema/TreeTransform.h
+56-77clang/include/clang/AST/TemplateName.h
+23-79clang/lib/AST/NestedNameSpecifier.cpp
+58-9clang/lib/AST/TemplateName.cpp
+22-41clang/lib/AST/ASTImporter.cpp
+313-41560 files not shown
+585-70266 files

LLVM/project 2d47174clang/include/clang/AST TemplateName.h ASTContext.h, clang/lib/AST TemplateName.cpp ASTContext.cpp

[clang] Track final substitution for SubstTemplateTemplateParm nodes
DeltaFile
+12-5clang/include/clang/AST/TemplateName.h
+5-4clang/include/clang/AST/ASTContext.h
+2-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+4-2clang/lib/AST/TemplateName.cpp
+3-3clang/lib/AST/ASTContext.cpp
+2-1clang/include/clang/AST/PropertiesBase.td
+28-213 files not shown
+33-239 files

LLVM/project 7db83f2clang/include/clang/Basic LangOptions.def, clang/include/clang/Driver Options.td

Revert "[clang] Add frontend flag to enable support for broken external resugarers (#103219)"

This reverts commit 661dda9df13c65ce021407bb726b558c7a414731.
DeltaFile
+0-18clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
+3-9clang/lib/Sema/SemaTemplate.cpp
+0-6clang/include/clang/Driver/Options.td
+0-1clang/include/clang/Basic/LangOptions.def
+3-344 files

LLVM/project bd95f1dclang/include/clang/AST Type.h ASTContext.h, clang/lib/AST Type.cpp ASTContext.cpp

[clang] Track final substitution for SubstTemplateTypeParmType nodes
DeltaFile
+18-4clang/lib/AST/Type.cpp
+12-9clang/include/clang/AST/Type.h
+12-6clang/test/AST/ast-dump-template-decls.cpp
+5-4clang/lib/AST/ASTContext.cpp
+4-4clang/include/clang/AST/ASTContext.h
+6-2clang/test/SemaTemplate/make_integer_seq.cpp
+57-296 files not shown
+68-4112 files

LLVM/project 3a7d718clang/include/clang/AST ExprCXX.h, clang/lib/AST ExprCXX.cpp ASTImporter.cpp

[clang] Track final substitution for SubstNonTypeTemplateParmExpr nodes
DeltaFile
+15-19clang/lib/Sema/SemaTemplateInstantiate.cpp
+20-5clang/include/clang/AST/ExprCXX.h
+4-2clang/lib/AST/ExprCXX.cpp
+2-1clang/lib/AST/ASTImporter.cpp
+1-1clang/lib/Sema/SemaTemplate.cpp
+42-285 files

LLVM/project a2a372dclang/include/clang/AST DeclTemplate.h Decl.h, clang/include/clang/Sema Sema.h

[clang] Concepts: support pack expansions for type constraints

This reverts an earlier attempt to support these expansions,
which was limited to type arguments and which subverted the purpose
of SubstTemplateTypeParmType.

This propagates the ArgumentPackSubstitutionIndex along with the
AssociatedConstraint, so that the pack expansion works, without
needing any new transforms or otherwise any changes to the template
instanntiation process.

This keeps the tests from the reverted commits, and adds a few more
showing the new solution also works for NTTPs.

This patch is incomplete:
* It is likely missing plumbing the ArgumentPackSubstitutionIndex
  into more places.
* The Normalization cache is not adapted so it indexes on the
  ArgumentPackSubstitutionIndex as well.

    [11 lines not shown]
DeltaFile
+51-44clang/lib/Sema/SemaConcept.cpp
+47-0clang/test/SemaCXX/fold_lambda_with_variadics.cpp
+14-12clang/lib/AST/DeclTemplate.cpp
+17-9clang/include/clang/AST/DeclTemplate.h
+13-10clang/include/clang/Sema/Sema.h
+15-2clang/include/clang/AST/Decl.h
+157-7715 files not shown
+232-11621 files

LLVM/project 1a7cee2clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplateInstantiate.cpp SemaType.cpp

Revert "[Clang][Sema] Retain the expanding index for unevaluated type constraints (#109518)"

This reverts commit 50e5411e4247421fd606f0a206682fcdf0303ae3.
DeltaFile
+3-124clang/lib/Sema/SemaTemplateInstantiate.cpp
+2-6clang/lib/Sema/SemaType.cpp
+2-4clang/lib/Sema/SemaTemplate.cpp
+0-1clang/include/clang/Sema/Sema.h
+7-1354 files

LLVM/project 471bef0clang/include/clang/AST Type.h TypeProperties.td, clang/lib/AST ASTContext.cpp Type.cpp

Revert "[Clang] Distinguish expanding-pack-in-place cases for SubstTemplateTypeParmTypes (#114220)"

This reverts commit adb0d8ddceb143749c519d14b8b31b481071da77.
DeltaFile
+11-24clang/lib/Sema/SemaTemplateInstantiate.cpp
+3-26clang/include/clang/AST/Type.h
+3-4clang/lib/AST/ASTContext.cpp
+1-5clang/lib/AST/Type.cpp
+1-4clang/include/clang/AST/TypeProperties.td
+1-3clang/include/clang/AST/ASTContext.h
+20-663 files not shown
+23-709 files

LLVM/project 424c8f9llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlan.cpp

[VPlan] Remove dead UF argument from VPTransformState ctor (NFC).
DeltaFile
+2-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlan.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanHelpers.h
+4-43 files

LLVM/project 3d58492clang/include/clang/AST TemplateName.h, clang/lib/AST ASTContext.cpp NestedNameSpecifier.cpp

[clang] improved preservation of template keyword

This makes it so clang can better represent the abscence of
the template keyword for a template which cannot be resolved
due to a dependent prefix.

The tracking of the template keyword is removed from the
NestedNameSpecifier, and added to the last type node which had
it missing, the DependentTemplateSpecializationType (DTST).

The DTST and the DependentTemplateName are refactored to share
most of their implementation.

That refactoring along with the removal of the TypeSpecWithTemplate kind
from the nested name specifiers amounts to a large amount of code
removed, making this patch a small performance improvement overall.

This will also enable future further simplifications.


    [3 lines not shown]
DeltaFile
+81-133clang/lib/AST/ASTContext.cpp
+73-76clang/lib/Sema/TreeTransform.h
+56-77clang/include/clang/AST/TemplateName.h
+23-79clang/lib/AST/NestedNameSpecifier.cpp
+58-9clang/lib/AST/TemplateName.cpp
+22-41clang/lib/AST/ASTImporter.cpp
+313-41560 files not shown
+585-70266 files

LLVM/project 9a913a3llvm/lib/Analysis InlineCost.cpp

InlineCostAnnotationPrinter: Fix constructing random TargetTransformInfo (#133637)

Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for
ProfileSummaryInfo.
This should only change the printing, not the actual result.
DeltaFile
+7-4llvm/lib/Analysis/InlineCost.cpp
+7-41 files

LLVM/project 7d9d1c6llvm/lib/Analysis InlineCost.cpp

InlineCost: Fix constructing random TargetTransformInfo

Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for ProfileSummaryInfo.
DeltaFile
+7-4llvm/lib/Analysis/InlineCost.cpp
+7-41 files

LLVM/project 4dbcefellvm/lib/Target/X86 X86WinEHState.cpp

Revert the llvm::append_range change in lib/Target/X86/X86WinEHState.cpp

This reverts a single file from ad1ba15ea894ac47b0f2447db191a14ebe1b301d.
llvm::append_range in this context fails to compile with recent Clang and
libc++:

libcxx/include/__algorithm/copy_backward.h:221:68: error: invalid operands to
binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>'
and 'long')
...
llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in
instantiation of function template specialization
'llvm::append_range<std::deque<llvm::BasicBlock *>,
llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock
>>>' requested here
  724 |     llvm::append_range(Worklist, successors(BB));
      |           ^
DeltaFile
+2-1llvm/lib/Target/X86/X86WinEHState.cpp
+2-11 files

LLVM/project 10dd404utils/bazel/llvm-project-overlay/llvm BUILD.bazel

[bazel] Make DeltaPasses.def available for fea6b388055284f37852e615fbf5b40a3ba34249
DeltaFile
+7-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+7-01 files

LLVM/project 8b7fcfcllvm/test/tools/llvm-reduce reduce-operands-alloca.ll, llvm/tools/llvm-reduce/deltas ReduceOperands.cpp

llvm-reduce: Do not reduce alloca array sizes to 0

Fixes #64340
DeltaFile
+69-0llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
+5-0llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
+74-02 files

LLVM/project fa597ddllvm/tools/llvm-reduce/deltas ReduceOperands.cpp

llvm-reduce: Defer a shouldKeep call in operand reduction

Ideally shouldKeep is only called in contexts that will successfully
do something.
DeltaFile
+2-2llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
+2-21 files

LLVM/project 7e067d4llvm/test/tools/llvm-reduce reduce-operands-target-ext-ty.ll, llvm/tools/llvm-reduce DeltaPasses.def

llvm-reduce: Add reduceOperandsToPoison reduction

For now use it only for TargetExtTypes, which do not always support
zero initializers.
DeltaFile
+15-2llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
+5-0llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
+1-0llvm/tools/llvm-reduce/DeltaPasses.def
+1-0llvm/tools/llvm-reduce/deltas/ReduceOperands.h
+22-24 files