LLVM/project 4b0fabcmlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp, mlir/test/Target/LLVMIR openmp-todo.mlir openmp-target-launch-host.mlir

[OpenMP][MLIR] Add num_teams mlir to llvm lowering
DeltaFile
+83-34mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+18-2mlir/test/Target/LLVMIR/openmp-todo.mlir
+3-3mlir/test/Target/LLVMIR/openmp-target-launch-host.mlir
+104-393 files

LLVM/project 23374f9llvm/utils/TableGen DAGISelMatcherOpt.cpp DAGISelMatcher.h

Reapply "[TableGen] Reduce number of call to FactorNodes. NFC"

With more fixes to avoid deferencing a before_begin iterator.

Original commit message:

Previously we recursively called FactorNodes all the way down the
tree any time FactorNodes was called. Additionally, on returning
from the recursiion we would flatten any child ScopeMatchers into
the parent.

There are additional calls to FactorNodes every time a new ScopeMatcher
is created. These calls cause a lot of visiting of parts of the tree that
have already been factored as much as possible.

We can remove the primary recursion by ensuring we flatten
scopes when building a new ScopeMatcher. If the Matcher we are
going to insert into the new ScopeMatcher is itself a ScopeMatcher,
we add the children into the new ScopeMatcher instead. This makes

    [2 lines not shown]
DeltaFile
+56-39llvm/utils/TableGen/DAGISelMatcherOpt.cpp
+3-3llvm/utils/TableGen/DAGISelMatcher.h
+59-422 files

LLVM/project e54f838clang-tools-extra/clang-tidy/readability ContainerSizeEmptyCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Avoid assert failure on non-identifier names in `readability-container-size-empty` (#181557)

Closes https://github.com/llvm/llvm-project/issues/181552
DeltaFile
+15-0clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
+8-4clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+27-43 files

LLVM/project 915eb46llvm/utils/TableGen DAGISelMatcherOpt.cpp DAGISelMatcher.h

Revert "Reapply "[TableGen] Reduce number of call to FactorNodes. NFC""

This reverts commit 193c1f4af7f1bd9249c99bc3c0b7d9ebe4698d11.

Still failing on the bots, but it doesn't show up in my local
testing with multiple compilers.
DeltaFile
+39-56llvm/utils/TableGen/DAGISelMatcherOpt.cpp
+1-1llvm/utils/TableGen/DAGISelMatcher.h
+40-572 files

LLVM/project badb215clang/include/clang/Lex Preprocessor.h Lexer.h, clang/lib/Lex Lexer.cpp Preprocessor.cpp

[clang] Optimize Lexer hot path to reduce compile time (#177153)

This patch fix this compile time regression that introduced in
https://github.com/llvm/llvm-project/pull/173789.
- Introduce a `TokenFlag::PhysicalStartOfLine` flag to replace
`IsAtPhysicalStartOfLine` in a brunch of `Lexer` member functions and
remove `ExportContextualKeywordInfo` struct.
- Handle `import`, `module` and `export` keyword in `HandleIdentifier`
instead of in a `Lexer` hot path.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+33-51clang/lib/Lex/Lexer.cpp
+2-27clang/include/clang/Lex/Preprocessor.h
+19-9clang/lib/Lex/Preprocessor.cpp
+9-10clang/lib/Lex/PPDirectives.cpp
+4-7clang/include/clang/Lex/Lexer.h
+6-0clang/include/clang/Lex/Token.h
+73-1046 files

LLVM/project 193c1f4llvm/utils/TableGen DAGISelMatcherOpt.cpp DAGISelMatcher.h

Reapply "[TableGen] Reduce number of call to FactorNodes. NFC"

With a fix to avoid deferencing a before_begin iterator.

Original commit message:

Previously we recursively called FactorNodes all the way down the
tree any time FactorNodes was called. Additionally, on returning
from the recursiion we would flatten any child ScopeMatchers into
the parent.

There are additional calls to FactorNodes every time a new ScopeMatcher
is created. These calls cause a lot of visiting of parts of the tree that
have already been factored as much as possible.

We can remove the primary recursion by ensuring we flatten
scopes when building a new ScopeMatcher. If the Matcher we are
going to insert into the new ScopeMatcher is itself a ScopeMatcher,
we add the children into the new ScopeMatcher instead. This makes

    [2 lines not shown]
DeltaFile
+56-39llvm/utils/TableGen/DAGISelMatcherOpt.cpp
+1-1llvm/utils/TableGen/DAGISelMatcher.h
+57-402 files

LLVM/project 8f48593llvm/utils profcheck-xfail.txt

profcheck-xfail

Created using spr 1.3.7
DeltaFile
+0-1llvm/utils/profcheck-xfail.txt
+0-11 files

LLVM/project 1d2c670clang/docs CMakeLists.txt index.rst, clang/include/clang/Basic BuiltinsAMDGPUDocs.td BuiltinsAMDGPU.td

[Clang][AMDGPU][Docs] Add builtin documentation for AMDGPU builtins

Use the documentation generation infrastructure to document the AMDGPU builtins.
This PR starts with the ABI / Special Register builtins. Documentation for the
remaining builtin categories will be added incrementally in follow-up patches.
DeltaFile
+291-0clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
+114-30clang/include/clang/Basic/BuiltinsAMDGPU.td
+1-0clang/docs/CMakeLists.txt
+1-0clang/docs/index.rst
+407-304 files

LLVM/project ee756d7clang/include/clang/Basic BuiltinsBase.td, clang/test/TableGen builtin-docs.td

[Clang][TableGen] Add documentation generation infrastructure for builtins

Add a `-gen-builtin-docs` TableGen backend that generates RST
documentation from builtin definitions, modeled after the existing
attribute documentation system (`-gen-attr-docs`).

The emitter generates per-builtin RST sections grouped by category, including
prototype rendering with optional named parameters (via `ArgNames`), target
feature annotations, and documentation content. A mismatch between `ArgNames`
count and prototype parameter count is a fatal error.
DeltaFile
+265-0clang/test/TableGen/builtin-docs.td
+187-0clang/utils/TableGen/ClangBuiltinsEmitter.cpp
+50-0clang/include/clang/Basic/BuiltinsBase.td
+6-0clang/utils/TableGen/TableGen.cpp
+2-0clang/utils/TableGen/TableGenBackends.h
+510-05 files

LLVM/project 0f51705lldb/docs python_extensions.rst CMakeLists.txt, lldb/docs/use python-reference.rst

[lldb/docs] Add Scripted Symbol Locator to website documentation (#181594)

This patch adds documentation for the Scripted Symbol Locator plugin
system, including tutorial (renamed to hunting-down-symbols.md to match
other tutorial naming conventions) and cleans up API reference for the
website.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+0-165lldb/docs/use/tutorials/scripted-symbol-locator.md
+165-0lldb/docs/use/tutorials/hunting-down-symbols.md
+7-0lldb/docs/python_extensions.rst
+1-1lldb/docs/use/python-reference.rst
+1-0lldb/docs/CMakeLists.txt
+174-1665 files

LLVM/project ab88d9alibcxx/test/std/algorithms/alg.modifying.operations/alg.partitions is_partitioned.pass.cpp, libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample sample.pass.cpp

Revert "[libc++] Add test_iterators.h to the modulemap (#181351)"

This reverts commit 04ef765b65040e1df4cafaf3dacc26fa5d48e519.

This was causing buildbot failures for premerge:
1. https://lab.llvm.org/staging/#/builders/192/builds/20135
DeltaFile
+4-5libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
+3-4libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
+2-4libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
+2-4libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
+2-3libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
+1-4libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
+14-24327 files not shown
+36-416333 files

LLVM/project 9c82b24clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp, clang/test/Sema warn-lifetime-safety-invalidations.cpp

rebase

Created using spr 1.3.7
DeltaFile
+111-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-cttz.mir
+40-0llvm/test/Transforms/InstCombine/phi-int2ptr-different-addrspace.ll
+24-2clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+5-14llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir
+15-0clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+4-11llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
+199-27346 files not shown
+685-84352 files

LLVM/project 30c8200clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp, clang/test/Sema warn-lifetime-safety-invalidations.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+111-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-cttz.mir
+40-0llvm/test/Transforms/InstCombine/phi-int2ptr-different-addrspace.ll
+24-2clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+5-14llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir
+15-0clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+4-11llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
+199-27346 files not shown
+685-84352 files

LLVM/project fa5c2ebllvm/lib/Target/X86 X86LowerAMXIntrinsics.cpp

[NFC][X86] Pass ConstantInt for step size in createLoop

createLoop is always called with a constant step size. Propagate the
type information so that it can be used later when deriving profile
information when possible.

Reviewers: phoebewang, RKSimon, mtrofin

Pull Request: https://github.com/llvm/llvm-project/pull/181577
DeltaFile
+2-2llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
+2-21 files

LLVM/project 5a0261clld/ELF Relocations.cpp RelocScan.h

[ELF] Defer ctx.hasTlsIe assignment to postScanRelocations. NFC

Move ctx.hasTlsIe stores from the relocation scan phase to
postScanRelocations. The ctx.hasTlsIe value is ignored for
`!shared` case, so we can remove some redundant assignment.
DeltaFile
+7-3lld/ELF/Relocations.cpp
+0-3lld/ELF/RelocScan.h
+7-62 files

LLVM/project 3f83bf3llvm/utils/TableGen DAGISelMatcherOpt.cpp

Revert "[TableGen] Reduce number of call to FactorNodes. NFC"

This reverts commit 3ec6ca7d58c4a1a7ee68df41388d71c4e4b858d0.

Failing a couple bots even though it passed locally.
DeltaFile
+39-56llvm/utils/TableGen/DAGISelMatcherOpt.cpp
+39-561 files

LLVM/project 3ec6ca7llvm/utils/TableGen DAGISelMatcherOpt.cpp

[TableGen] Reduce number of call to FactorNodes. NFC

Previously we recursively called FactorNodes all the way down the
tree any time FactorNodes was called. Additionally, on returning
from the recursiion we would flatten any child ScopeMatchers into
the parent.

There are additional calls to FactorNodes every time a new ScopeMatcher
is created. These calls cause a lot of visiting of parts of the tree that
have already been factored as much as possible.

We can remove the primary recursion by ensuring we flatten
scopes when building a new ScopeMatcher. If the Matcher we are
going to insert into the new ScopeMatcher is itself a ScopeMatcher,
we add the children into the new ScopeMatcher instead. This makes
the FactorNodes call for the newly created scope more powerful
eliminating the need for the recursion.
DeltaFile
+56-39llvm/utils/TableGen/DAGISelMatcherOpt.cpp
+56-391 files

LLVM/project 901e543mlir/lib/Dialect/Math/Transforms ExpandOps.cpp, mlir/test/Dialect/Math expand-math.mlir

[mlir][Math] Fix math-expand-ops crash on math.ctlz with index type (#181539)

Fixes #179847
math.ctlz expansion called getIntOrFloatBitWidth() on the operand type
without checking. Index type has no fixed bitwidth and is not int/float,
so the assertion in Type::getIntOrFloatBitWidth() could fire.

- In convertCtlzOp, bail out with notifyMatchFailure when the element
type is not integer or float, so expansion is only applied to types with
a defined bitwidth.
- Add a test in expand-math.mlir that math.ctlz on index is left
unchanged by the pass (no crash, op preserved).
DeltaFile
+11-0mlir/test/Dialect/Math/expand-math.mlir
+5-0mlir/lib/Dialect/Math/Transforms/ExpandOps.cpp
+16-02 files

LLVM/project 6ef0613clang/test/OpenMP task_codegen.cpp, llvm/test/CodeGen/AArch64 clmul-fixed.ll

Rebase + fix comment

Created using spr 1.3.7
DeltaFile
+5,835-5,584llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,465-2,020clang/test/OpenMP/task_codegen.cpp
+4,716-0llvm/test/MC/AMDGPU/gfx13_asm_sop2.s
+4,564-0llvm/test/CodeGen/AArch64/clmul-fixed.ll
+28,422-17,4466,502 files not shown
+338,949-131,6536,508 files

LLVM/project 6ce9e36llvm/lib/CodeGen/GlobalISel GISelValueTracking.cpp, llvm/test/CodeGen/AArch64/GlobalISel knownbits-cttz.mir

[GISel] handle CTTZ in `computeKnownBits` (#181474)

Addresses part of #150515. Adapted from the CTLZ code below this
DeltaFile
+111-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-cttz.mir
+5-14llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir
+4-11llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
+11-0llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+1-3llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros.mir
+1-3llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros-undef.mir
+133-311 files not shown
+133-327 files

LLVM/project 6d033abllvm/lib/Transforms/InstCombine InstCombinePHI.cpp, llvm/test/Transforms/InstCombine phi-int2ptr-different-addrspace.ll

[InstCombine] Avoid invalid bitcast across address spaces in foldIntegerTypedPHI (#181064)

Only use a PtrToInt's source pointer as an available pointer value when
its pointer type exactly matches the inttoptr target type. This prevents
creating an invalid bitcast between differing address spaces during
foldIntegerTypedPHI.
DeltaFile
+40-0llvm/test/Transforms/InstCombine/phi-int2ptr-different-addrspace.ll
+4-2llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
+44-22 files

LLVM/project 8988fb7clang/docs ReleaseNotes.rst, clang/lib/Sema SemaCodeComplete.cpp

[clang][ObjC][CodeComplete] Fix crash on C-Style cast with parenthesized operand in ObjC++ (#180343)

In ObjC++ mode, code-completion after a C-style cast like
`(int*)(0x200)` crashed because the inner parenthesized expression was
parsed as a `ParenListExpr` (null type) due to `AllowTypes` propagation.

Fixes https://github.com/llvm/llvm-project/issues/180125
DeltaFile
+12-0clang/test/CodeCompletion/objc-cast-parenthesized-expr.m
+5-0clang/lib/Sema/SemaCodeComplete.cpp
+3-0clang/docs/ReleaseNotes.rst
+20-03 files

LLVM/project f8b1462llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 bool-mask.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+103-8llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-36llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
+115-442 files

LLVM/project 347041ellvm/lib/Target/X86 X86LowerAMXIntrinsics.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+2-2llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
+2-21 files

LLVM/project ed69ffallvm/lib/Target/X86 X86LowerAMXIntrinsics.cpp, llvm/test/CodeGen/X86/AMX amx-low-intrinsics-no-amx-bitcast.ll amx-low-intrinsics.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+20-13llvm/test/CodeGen/X86/AMX/amx-low-intrinsics-no-amx-bitcast.ll
+21-3llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
+14-4llvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll
+55-203 files

LLVM/project 1e159d2llvm/lib/Target/X86 X86LowerAMXIntrinsics.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+2-2llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
+2-21 files

LLVM/project e819483clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp, clang/test/Sema warn-lifetime-safety-invalidations.cpp

[LifetimeSafety] 'erase' does not invaldiate node-based containers (#181216)

```cpp
// This pattern was previously flagged as a lifetime violation
for (auto it = my_map.begin(); it != my_map.end(); ) {
    if (should_delete(*it)) {
        my_map.erase(it++); // Safe in map, but flagged as invalidating 'it'
    } else {
        ++it;
    }
}
```
DeltaFile
+24-2clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+15-0clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+9-5clang/test/Sema/Inputs/lifetime-analysis.h
+48-73 files

LLVM/project 94257d7clang/docs index.rst CMakeLists.txt, clang/include/clang/Basic BuiltinsAMDGPUDocs.td BuiltinsAMDGPU.td

[Clang][AMDGPU][Docs] Add builtin documentation for AMDGPU builtins

Use the documentation generation infrastructure to document the AMDGPU builtins.
This PR starts with the ABI / Special Register builtins. Documentation for the
remaining builtin categories will be added incrementally in follow-up patches.
DeltaFile
+291-0clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
+114-30clang/include/clang/Basic/BuiltinsAMDGPU.td
+1-0clang/docs/index.rst
+1-0clang/docs/CMakeLists.txt
+407-304 files

LLVM/project 04ef765libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions is_partitioned.pass.cpp, libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample sample.pass.cpp

[libc++] Add test_iterators.h to the modulemap (#181351)

and fix all the missing includes found by it.
DeltaFile
+5-4libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
+5-3libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
+4-3libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
+4-2libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
+4-1libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
+3-2libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
+25-15327 files not shown
+417-37333 files

LLVM/project 342377aclang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp, clang/test/Sema warn-lifetime-safety-invalidations.cpp

invalidations and erase
DeltaFile
+24-2clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+15-0clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+9-5clang/test/Sema/Inputs/lifetime-analysis.h
+48-73 files