LLVM/project 6ed829blldb/bindings/lua lua-typemaps.swig

[lldb] Restore the old behavior in lua-typemaps.swig (#169103)

Restore the original behavior (i.e. before #167764), which uses
eOpenOptionWriteOnly, not eOpenOptionReadWrite. Fixes TestLuaAPI.py.
DeltaFile
+1-1lldb/bindings/lua/lua-typemaps.swig
+1-11 files

LLVM/project dc51cf9clang-tools-extra/clang-doc/assets class-template.mustache, clang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Add definition information to class templates
DeltaFile
+4-4clang-tools-extra/test/clang-doc/namespace.cpp
+1-0clang-tools-extra/clang-doc/assets/class-template.mustache
+5-42 files

LLVM/project 79f518fclang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Add Mustache HTML output to namespace test

This patch adds Mustache HTML tests alongside the legacy HTML backend
for namespace output. This way, we can see exactly where the output
currently differs before replacing the legacy backend.

The same thing will be done for all other tests where the legacy HTML
backend is tested.
DeltaFile
+99-0clang-tools-extra/test/clang-doc/namespace.cpp
+99-01 files

LLVM/project 86cbb36lld/COFF DriverUtils.cpp Options.td, lld/test/COFF driver.test

[lld] Add (ignored) /link flag to lld-link for compatibility with MSVC link.exe (#168364)

Various build tools may produce command lines invoking clang-cl and
lld-link which contain /link twice like so: e.g. `clang-cl.exe
sanitycheckcpp.cc /Fesanitycheckcpp.exe .... /link /link ...`

If link.exe is used, it ignores the extra `/link` and just issues a
warning, however lld-link tries to treat `/link` as a file name.

This PR adds a flag which is ignored in order to improve compatibility
with link.exe

There's some extra context including an "in-the-wild" example and
reproducer of the problem here:
https://github.com/frankier/meson_clang_win_activation

Co-authored-by: Frankie Robertson <frankie at robertson.name>
DeltaFile
+3-0lld/COFF/DriverUtils.cpp
+3-0lld/test/COFF/driver.test
+1-0lld/COFF/Options.td
+7-03 files

LLVM/project 68ba286llvm/lib/Transforms/Utils ScalarEvolutionExpander.cpp

[SCEVExp] Remove early exit, rely on InstSimplifyFolder (NFCI).

Remove the SCEV-based check refined in
https://github.com/llvm/llvm-project/pull/156910, as InstSimplifyFolder
manages to simplify the generated code to false directly as well.
DeltaFile
+0-11llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+0-111 files

LLVM/project 9a40b79compiler-rt/lib/ubsan_minimal ubsan_minimal_handlers.cpp

messed up merge

Created using spr 1.3.7
DeltaFile
+8-0compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
+8-01 files

LLVM/project 1b3d75fcompiler-rt/lib/ubsan_minimal ubsan_minimal_handlers.cpp, compiler-rt/test/ubsan_minimal/TestCases test-darwin-interface.c

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+40-9compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
+1-0compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c
+41-92 files

LLVM/project 778e104mlir/include/mlir/Dialect/XeGPU/IR XeGPUAttrs.td, mlir/lib/Dialect/XeGPU/Transforms XeGPUWgToSgDistribute.cpp

[MLIR] [XeGPU] Fix dropSgLayoutAndData & dropInstData in SliceAttr (#168618)

DeltaFile
+25-40mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
+4-0mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
+29-402 files

LLVM/project 4d97b78clang-tools-extra/clang-tidy .clang-tidy, clang-tools-extra/clang-tidy/utils ExceptionAnalyzer.cpp

[clang-tidy][NFC] Enable misc-const-correctness rule in clang-tidy codebase (#167172)

After successful `misc-const-correctness` cleanup (last patch
https://github.com/llvm/llvm-project/pull/167131), we can enable
`misc-const-correctness` rule for the whole project.

During cleanup, I didn't encounter any false positives so it's safe to
assume that we will have minimal FP in the future.
DeltaFile
+4-3clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
+1-0clang-tools-extra/clang-tidy/.clang-tidy
+5-32 files

LLVM/project a52e1afclang-tools-extra/clang-tidy/objc AssertEqualsCheck.cpp, clang/docs LibASTMatchersReference.html

[ASTMatchers] Make isExpandedFromMacro accept llvm::StringRef (#167060)

We can use non-owning `StringRef` in `MacroName` parameter to avoid
unnecessary copy because `MacroName` only used as an argument to
`internal::getExpansionLocOfMacro` which already accept `StringRef`.
DeltaFile
+3-3clang/docs/LibASTMatchersReference.html
+1-1clang/include/clang/ASTMatchers/ASTMatchers.h
+1-1clang-tools-extra/clang-tidy/objc/AssertEqualsCheck.cpp
+5-53 files

LLVM/project 427c182llvm/test/Transforms/LoopUnrollAndJam dependencies_multidims.ll

[unroll-and-jam] Document dependencies_multidims.ll and fix loop bounds (NFC) (#156578)

Add detailed comments explaining why each function should/shouldn't be
unroll-and-jammed based on memory access patterns and dependencies.

Fix loop bounds to ensure array accesses are within array bounds:
  * sub_sub_less: j starts from 1 (not 0) to ensure j-1 >= 0
  * sub_sub_less_3d: k starts from 1 (not 0) to ensure k-1 >= 0
  * sub_sub_outer_scalar: j starts from 1 (not 0) to ensure j-1 >= 0
DeltaFile
+101-17llvm/test/Transforms/LoopUnrollAndJam/dependencies_multidims.ll
+101-171 files

LLVM/project 6be7cf0mlir/include/mlir/Analysis/Presburger PresburgerSpace.h

[mlir][presburger] Fix PresburgerSpace comment (#167292)

DeltaFile
+2-2mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
+2-21 files

LLVM/project 45081fbclang-tools-extra/clang-doc/assets class-template.mustache namespace-template.mustache, clang-tools-extra/test/clang-doc mustache-index.cpp

[clang-doc] `<ul>` must be nested in `<li>` (#168972)

The HTML spec states that only `<li>` can be children of `<ul>`. Nested
`<ul>` tags in an unordered list must be children of `<li>`.
DeltaFile
+50-38clang-tools-extra/clang-doc/assets/class-template.mustache
+18-14clang-tools-extra/clang-doc/assets/namespace-template.mustache
+12-10clang-tools-extra/test/clang-doc/mustache-index.cpp
+80-623 files

LLVM/project 8e9bc38llvm/lib/Target/AMDGPU SIFrameLowering.cpp, llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir

WIP attempt to avoid MCRegAliasIterator
DeltaFile
+45-49llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+30-13llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+12-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+4-4llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
+91-784 files

LLVM/project 9624e4dllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll gfx-callable-argument-types.ll

[AMDGPU] Implement CFI for CSR spills

Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.

Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.

Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+3,160-888llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,932-1,933llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,688-0llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,085-469llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+978-362llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+846-230llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+10,689-3,88286 files not shown
+16,200-6,01192 files

LLVM/project 9a56e55clang/lib/CIR/CodeGen CIRGenOpenACCClause.cpp, clang/test/CIR/CodeGenOpenACC declare-deviceptr.cpp

[OpenACC][CIR] deviceptr clause lowering for local 'declare' (#169085)

This is very similar to the 'link' that was done in the last patch,
except this works on all storage, but only on pointers. This also shows
a bit more of how the enter/exit pairs work in the test.

Implementation itself is very simple, as it is just properly handling it
in the clause handler.
DeltaFile
+108-0clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
+3-4clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
+111-42 files

LLVM/project 955b033clang-tools-extra/clang-doc/assets class-template.mustache namespace-template.mustache, clang-tools-extra/test/clang-doc mustache-index.cpp

[clang-doc] `<ul>` must be nested in `<li>`

The HTML spec states that only `<li>` can be children of `<ul>`. Nested
`<ul>` tags in an unordered list must be children of `<li>`.
DeltaFile
+50-38clang-tools-extra/clang-doc/assets/class-template.mustache
+18-14clang-tools-extra/clang-doc/assets/namespace-template.mustache
+12-10clang-tools-extra/test/clang-doc/mustache-index.cpp
+80-623 files

LLVM/project ad9bc6allvm/include/llvm/Analysis DependenceAnalysis.h, llvm/lib/Analysis DependenceAnalysis.cpp

[DA] remove Constraints class (#168963)

Remove the Constraints class from dependence analysis as it is now unused.
DeltaFile
+28-431llvm/lib/Analysis/DependenceAnalysis.cpp
+6-141llvm/include/llvm/Analysis/DependenceAnalysis.h
+34-5722 files

LLVM/project 3fec26ellvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/RISCV/rvv fixed-vectors-insert.ll

[DAGCombiner] Don't optimize insert_vector_elt into shuffle if implicit truncation exists (#169022)

Fixes #169017
DeltaFile
+26-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
+4-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+30-02 files

LLVM/project 69589ddllvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU shufflevector.ll

AMDGPU: Improve getShuffleCost accuracy for 8- and 16-bit shuffles (#168818)

These shuffles can always be implemented using v_perm_b32, and so this
rewrites the analysis from the perspective of "how many v_perm_b32s does
it take to assemble each register of the result?"

The test changes in Transforms/SLPVectorizer/reduction.ll are
reasonable: VI (gfx8) has native f16 math, but not packed math.
DeltaFile
+498-488llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
+111-34llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+107-20llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
+33-64llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
+17-34llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
+1-31llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-chain-to-shuffles.ll
+767-6716 files

LLVM/project 52f9a57clang-tools-extra/clang-doc/assets namespace-template.mustache, clang-tools-extra/test/clang-doc mustache-separate-namespace.cpp

[clang-doc] Fix `</section>` mismatch in the namespace template (#168966)

A `</section>` tag wasn't inside the `{{#HasRecords}}` Mustache tag, which caused a
mismatch if there weren't any records to render.
DeltaFile
+16-0clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
+1-1clang-tools-extra/clang-doc/assets/namespace-template.mustache
+17-12 files

LLVM/project e1cd191clang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/test/clang-doc basic-project.mustache.test

[clang-doc] Do not serialize empty text comments
DeltaFile
+0-97clang-tools-extra/test/clang-doc/basic-project.mustache.test
+32-2clang-tools-extra/clang-doc/JSONGenerator.cpp
+0-3clang-tools-extra/test/clang-doc/json/class.cpp
+32-1023 files

LLVM/project ebb04b2llvm/lib/Transforms/IPO ExpandVariadics.cpp, llvm/test/Transforms/ExpandVariadics expand-va-intrinsic-split-linkage.ll expand-va-intrinsic-split-simple.ll

[profcheck] Propagate profile metadata to Wrapper function in optimize mode of ExpandVariadic. (#168161)

This PR fixes the issue where profile metadata (`!prof`) is dropped from
the `VariadicWrapper` when `ExpandVariadics` runs in
`--expand-variadics-override=optimize` mode.

In optimize mode, the pass splits the original variadic function into
two parts:

- A **VariadicWrapper** (retaining the original name) that handles the
`va_list` setup.
- A **FixedArityReplacement** (new function) that contains the original
core logic.

During this process, the basic blocks and associated metadata are
spliced into the `FixedArityReplacement`. Consequently, the
`VariadicWrapper`—which serves as the entry point for callers—is left
without function entry count metadata.


    [4 lines not shown]
DeltaFile
+40-28llvm/test/Transforms/ExpandVariadics/expand-va-intrinsic-split-linkage.ll
+16-4llvm/test/Transforms/ExpandVariadics/expand-va-intrinsic-split-simple.ll
+16-2llvm/test/Transforms/ExpandVariadics/intrinsics.ll
+7-0llvm/lib/Transforms/IPO/ExpandVariadics.cpp
+79-344 files

LLVM/project 1a29a23clang/lib/Sema SemaChecking.cpp, clang/test/Sema warn-fortify-source.c

[Clang][Sema] Add fortify warnings for strcat (#168965)

Continue to add fortify warnings that are missing in Clang for string
functions as part of #142230
DeltaFile
+8-0clang/test/Sema/warn-fortify-source.c
+3-0clang/lib/Sema/SemaChecking.cpp
+11-02 files

LLVM/project 76425fdclang/test/CodeGen sanitize-type-outlined.cpp

fix tysan test failing on unsupported arches (#169066)

DeltaFile
+1-1clang/test/CodeGen/sanitize-type-outlined.cpp
+1-11 files

LLVM/project 6344651clang-tools-extra/clang-doc/assets class-template.mustache namespace-template.mustache, clang-tools-extra/test/clang-doc mustache-index.cpp

[clang-doc] `<ul>` must be nested in `<li>`

The HTML spec states that only `<li>` can be children of `<ul>`. Nested
`<ul>` tags in an unordered list must be children of `<li>`.
DeltaFile
+50-38clang-tools-extra/clang-doc/assets/class-template.mustache
+18-14clang-tools-extra/clang-doc/assets/namespace-template.mustache
+12-10clang-tools-extra/test/clang-doc/mustache-index.cpp
+80-623 files

LLVM/project c82802eclang-tools-extra/clang-doc/assets namespace-template.mustache, clang-tools-extra/test/clang-doc mustache-separate-namespace.cpp

[clang-doc] Fix `</section>` mismatch in the namespace template

A `</section>` tag wasn't inside the `{{#HasRecords}}` Mustache tag, which caused a
mismatch if there weren't any records to render.
DeltaFile
+16-0clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
+1-1clang-tools-extra/clang-doc/assets/namespace-template.mustache
+17-12 files

LLVM/project d5944fbllvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU shufflevector.ll

AMDGPU: Improve getShuffleCost accuracy for 8- and 16-bit shuffles

These shuffles can always be implemented using v_perm_b32, and so this
rewrites the analysis from the perspective of "how many v_perm_b32s does
it take to assemble each register of the result?"

The test changes in Transforms/SLPVectorizer/reduction.ll are
reasonable: VI (gfx8) has native f16 math, but not packed math.

commit-id:8b76e888
DeltaFile
+498-488llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
+111-34llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+107-20llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
+33-64llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
+17-34llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
+1-31llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-chain-to-shuffles.ll
+767-6716 files

LLVM/project e673cdallvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/AMDGPU extract-insert-i8.ll

VectorCombine: Improve the insert/extract fold in the narrowing case

Keeping the extracted element in a natural position in the narrowed
vector has two beneficial effects:

1. It makes the narrowing shuffles cheaper (at least on AMDGPU), which
   allows the insert/extract fold to trigger.
2. It makes the narrowing shuffles in a chain of extract/insert
   compatible, which allows foldLengthChangingShuffles to successfully
   recognize a chain that can be folded.

There are minor X86 test changes that look reasonable to me. The IR
change for AVX2 in llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
doesn't change the assembly generated by `llc -mtriple=x86_64-- -mattr=AVX2`
at all.

commit-id:c151bb04
DeltaFile
+6-16llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+2-15llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
+8-4llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
+4-4llvm/test/Transforms/VectorCombine/X86/extract-insert.ll
+2-2llvm/test/Transforms/VectorCombine/X86/pr126085.ll
+22-415 files

LLVM/project 459939fllvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/AMDGPU extract-insert-i8.ll

VectorCombine: Fold chains of shuffles fed by length-changing shuffles

Such chains can arise from folding insert/extract chains.

commit-id:a960175d
DeltaFile
+168-0llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+8-33llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
+176-332 files