LLVM/project e16a0a3llvm/lib/IR Verifier.cpp, llvm/test/Verifier intrinsic-bad-arg-type1.ll

[NFC][LLVM][Verifier] Eliminate redundant checks for GC intrinsics (#206890)
DeltaFile
+23-0llvm/test/Verifier/intrinsic-bad-arg-type1.ll
+1-16llvm/lib/IR/Verifier.cpp
+24-162 files

LLVM/project 28f08a6libcxx/include module.modulemap.in, libcxx/test/std/library/description/conventions/expos.only.func synth_three_way.pass.cpp

[libc++] Don't make libc++ headers system headers in the modulemap (#205509)

We currently have `[system]` attributes in the modulemap, which
automatically makes the headers inside the module system headers. This
disables warnings when running the tests, which we generally don't want.
We also already have `#pragma GCC system_header` everywhere and use
`-isystem`, so there isn't much need for the tag in the modulemap as
well.
DeltaFile
+17-17libcxx/include/module.modulemap.in
+4-5libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
+4-5libcxx/test/std/library/description/conventions/expos.only.func/synth_three_way.pass.cpp
+4-4libcxx/test/std/ranges/range.factories/range.iota.view/end.pass.cpp
+4-4libcxx/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp
+3-4libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp
+36-397 files not shown
+41-4513 files

LLVM/project 3c16a8blibcxx/test/libcxx system_reserved_names.gen.py

[libc++] Don't #define __unused with glibc in system_reserved_names.gen.py (#206971)

Newer glibc versions use the identifier `__unused`. To run the test
successufly again disable the `__unused` check with glibc.
DeltaFile
+1-1libcxx/test/libcxx/system_reserved_names.gen.py
+1-11 files

LLVM/project 37adddfllvm/docs CodingStandards.md

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+63-1llvm/docs/CodingStandards.md
+63-11 files

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

[DA] Move isDirectionNegative and normalize into LoopInterchange
DeltaFile
+48-1llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+0-43llvm/lib/Analysis/DependenceAnalysis.cpp
+0-20llvm/include/llvm/Analysis/DependenceAnalysis.h
+4-4llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
+52-684 files

LLVM/project f5f748allvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange dependency-all-neg-eq.ll

[LoopInterchange] Change the way of direction vector normalization
DeltaFile
+18-43llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+24-12llvm/test/Transforms/LoopInterchange/dependency-all-neg-eq.ll
+42-552 files

LLVM/project d746bcfllvm/test/Transforms/LoopInterchange dependency-all-neg-eq.ll

[LoopInterchange] Add test for direction vector of `[* > =]` (NFC) (#206958)

Add a test case with a direction vector of `[* > =]`. Interchanging the
inner two loops is legal in this case, but it is currently not applied
because the definition of the "normal" form of direction vectors is not
good.
DeltaFile
+83-0llvm/test/Transforms/LoopInterchange/dependency-all-neg-eq.ll
+83-01 files

LLVM/project 2626bf6clang/lib/CodeGen CodeGenModule.cpp

Address review comments
DeltaFile
+4-3clang/lib/CodeGen/CodeGenModule.cpp
+4-31 files

LLVM/project 926c73cllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll clmul-sdnode.ll

Merge branch 'main' into users/kovdan01/ptrauth-module-flags-mismatch
DeltaFile
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+22,266-21,174llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+13,779-6,871llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
+10,260-9,388llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
+12,991-3,310llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+97,307-100,2999,764 files not shown
+712,943-481,4909,770 files

LLVM/project 53107fbmlir/include/mlir/Transforms CFGToSCF.h, mlir/lib/Transforms/Utils CFGToSCF.cpp

[MLIR] Prevent CF to SCF transform from erasing blocks still in use (#206310)

While merging blocks, `transformToStructuredCFBranches` may try to erase
blocks that still have uses. This may happen when the block has
self-loop or when it has 1 successor, but the successor has multiple
predecessors. This probably happens only with unreachable blocks in the
function.

Note that running a DCE pass before CF to SCF transform would remove the
triggering assert in the lit test.

Fixes #206086.
DeltaFile
+18-0mlir/test/Conversion/ControlFlowToSCF/unreachable-blocks.mlir
+6-1mlir/lib/Transforms/Utils/CFGToSCF.cpp
+4-3mlir/include/mlir/Transforms/CFGToSCF.h
+28-43 files

LLVM/project a4c18f1llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange dependency-all-neg-eq.ll

[LoopInterchange] Change the way of direction vector normalization
DeltaFile
+18-43llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+24-12llvm/test/Transforms/LoopInterchange/dependency-all-neg-eq.ll
+42-552 files

LLVM/project f83c24cllvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

DAG: Use poison instead of undef in WidenVector (#206940)
DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-11 files

LLVM/project 7a95610llvm/lib/TargetParser XtensaTargetParser.cpp

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+23-29llvm/lib/TargetParser/XtensaTargetParser.cpp
+23-291 files

LLVM/project 3a67413llvm/lib/HTTP HTTPClient.cpp

[llvm][HTTP] Assert that WinHTTP perform() is only called once (#195128)
DeltaFile
+1-0llvm/lib/HTTP/HTTPClient.cpp
+1-01 files

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

[DA] Move isDirectionNegative and normalize into LoopInterchange
DeltaFile
+48-1llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+0-43llvm/lib/Analysis/DependenceAnalysis.cpp
+0-20llvm/include/llvm/Analysis/DependenceAnalysis.h
+4-4llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
+52-684 files

LLVM/project a7ee75aclang/docs ReleaseNotes.md, clang/lib/Sema SemaCodeComplete.cpp

[clang] Fix code completion crash in lambda trailing requires-clause (#206373)

Fixes #201632.

This patch fixes an assertion failure when code completion is triggered
inside an ill-formed lambda's trailing requires-clause, as in
```cpp
void f() {
  []() requires x /*invoke completion here*/
```
https://godbolt.org/z/a66s7Y5cx

When `tok::code_completion` is reached, parsing is cut off before the
end of the declarator. This leaves the lambda's call operator without a
type, thus triggering the `!isNull() && "Cannot retrieve a NULL type
pointer"` assertion when `AddOrdinaryNameResults` calls
`FunctionDecl::getReturnType()` later.

Fix by guarding the `getReturnType()` call with a null check.

    [6 lines not shown]
DeltaFile
+13-0clang/test/CodeCompletion/GH201632.cpp
+5-3clang/lib/Sema/SemaCodeComplete.cpp
+1-0clang/docs/ReleaseNotes.md
+19-33 files

LLVM/project 3b44af9cross-project-tests/debuginfo-tests/dexter/dex/evaluation ExpectRewriter.py, cross-project-tests/debuginfo-tests/dexter/dex/test_script Script.py

[Dexter] Add support for writing !step values (#203845)

Following from the previous patch, this patch adds support to Dexter for
generating expected values for !step nodes. This is relatively limited:
the kind of !step which this is most well-suited to this is !step
exactly, as the !step order of ignoring extra lines is redundant (all
lines are added as expected values), and !step never can't know what
lines could have been stepped on but weren't without some extra work
(e.g. finding viable breakpoint locations in the enclosing state node).
DeltaFile
+97-0cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_step_lines_expected.cpp
+57-9cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
+31-0cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_step_lines.cpp
+21-0cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_step_lines.test
+1-3cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
+207-125 files

LLVM/project c643d31llvm/lib/Target/M68k/AsmParser M68kAsmParser.cpp

[M68k] Use getM68kMCRegisterClass accessor after MCRegisterClasses became relocation-free (#206945)

Regressed by 0b413b7d0f5a, #206753


Issue:

```
  /build/source/llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp: In member function 'bool
  {anonymous}::M68kOperand::isPCIBD32() const':
  /build/source/llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp:516:11: error:
  'M68kMCRegisterClasses' was not declared in this scope
    516 |           M68kMCRegisterClasses[M68k::XR32RegClassID].contains(MemOp.InnerReg));
        |           ^~~~~~~~~~~~~~~~~~~~~
```
DeltaFile
+3-2llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
+3-21 files

LLVM/project 7cadbbbllvm/test/Transforms/LoopInterchange dependency-all-neg-eq.ll

[LoopInterchange] Add test for direction vector of `[* > =]` (NFC)
DeltaFile
+83-0llvm/test/Transforms/LoopInterchange/dependency-all-neg-eq.ll
+83-01 files

LLVM/project ddf06beclang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow PointerFlowAnalysis.cpp

[Clang] Fix clang build with GCC 7.5 (#206768)

GCC 7.5 rejects two newer C++ idioms:

- LifetimeSafety/FactsGenerator: replace ArrayRef CTAD with an explicit
ArrayRef<const Expr *> to avoid GCC 7's broken brace-init deduction.
- ScalableStaticAnalysisFramework: add explicit std::move() on
unique_ptr<Derived> returns (pre-P1825, GCC 7 won't implicitly move).

No behavior change; restores compatibility with GCC 7.5.

Co-authored-by: Garbowski, Mateusz <mateusz.garbowski at intel.com>
DeltaFile
+2-2clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
+1-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+1-1clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.cpp
+4-43 files

LLVM/project a5c06c0libcxx/docs/Status Cxx26Issues.csv, libcxx/include string

[libc++] Implement LWG3662 basic_string::append/assign(NTBS, pos, n) suboptimal (#206320)

Closes https://github.com/llvm/llvm-project/issues/189809

This patch implements LWG 3662 and adds the related functional and
nonnull tests.

---------

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+95-0libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size_size.pass.cpp
+90-0libcxx/test/std/strings/basic.string/string.modifiers/string_assign/pointer_size_size.pass.cpp
+20-0libcxx/include/string
+4-0libcxx/test/libcxx/strings/basic.string/nonnull.verify.cpp
+1-1libcxx/docs/Status/Cxx26Issues.csv
+210-15 files

LLVM/project a94b91bllvm/test/Analysis/DependenceAnalysis weak-crossing-siv-overflow.ll weak-crossing-siv-large-btc.ll

[DA] Update stale weak-crossing SIV FIXMEs (NFC) (#206941)

Remove outdated FIXME comments from weak-crossing SIV tests where the
expected dependence results are now documented by the CHECK lines.

Also clarify the overflow test comment and fix the described second
access from A[3*i - 2] to A[3*i + 1].

Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
DeltaFile
+2-5llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-overflow.ll
+0-3llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-large-btc.ll
+0-2llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-delta-signed-min.ll
+2-103 files

LLVM/project 55adc0aflang/docs OpenACC-extensions.md, flang/include/flang/Parser parse-tree.h

[flang][OpenACC] Accept ROUTINE directive within an interface block (#206863)

An `!$acc routine` directive placed directly within an interface block (as an
interface-specification, e.g. preceding the interface body it names) failed to
parse and produced a misleading cascade of errors.

Accept the OpenACC ROUTINE directive as an additional interface-specification
alternative, mirroring the existing extension that allows a ROUTINE directive in
a module subprogram part / at the top level. The grammar is widened narrowly to
the ROUTINE construct only (not the whole OpenACC declarative construct). A named
directive applies to the interface body it names; name resolution already runs in
a separate pass after the interface-body symbols are created, so the 
directive-before-body ordering resolves correctly and the ROUTINE information is
attached to the named procedure's symbol.

This is documented as a Flang extension in OpenACC-extensions.md.

Assisted-by: AI
DeltaFile
+35-0flang/test/Semantics/OpenACC/acc-routine-in-interface-name-mismatch.f90
+26-0flang/test/Parser/acc-routine-in-interface.f90
+17-0flang/test/Semantics/OpenACC/acc-routine-in-interface.f90
+7-0flang/docs/OpenACC-extensions.md
+5-1flang/include/flang/Parser/parse-tree.h
+4-0flang/lib/Parser/program-parsers.cpp
+94-16 files

LLVM/project b8e5ea1clang/include/clang/Basic DiagnosticLexKinds.td, clang/lib/Basic Diagnostic.cpp

[clang] Improve diagnostics for invalid named-universal-characters (#206326)

1. Fix typo in `note_invalid_ucn_name_loose_matching` message.
2. Fix unprintable characters appearing in diagnostic messages.
3. Stop offering low-value fix suggestions when illegal characters
appear in the name.
DeltaFile
+33-9clang/lib/Lex/LiteralSupport.cpp
+20-0clang/unittests/Basic/DiagnosticTest.cpp
+20-0clang/lib/Basic/Diagnostic.cpp
+7-3clang/test/Lexer/char-escapes-delimited.c
+4-2clang/include/clang/Basic/DiagnosticLexKinds.td
+1-5clang/test/CXX/drs/cwg26xx.cpp
+85-193 files not shown
+89-219 files

LLVM/project b74bbcfllvm/include/llvm/TargetParser ARMTargetParser.h, llvm/lib/TargetParser ARMTargetParser.cpp

use enum type for enum

Created using spr 1.3.8-wip
DeltaFile
+3-3llvm/lib/TargetParser/ARMTargetParser.cpp
+1-1llvm/include/llvm/TargetParser/ARMTargetParser.h
+4-42 files

LLVM/project aec3c5ecross-project-tests/debuginfo-tests/dexter/dex/evaluation Metrics.py

backport: add optimized out metric
DeltaFile
+7-1cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
+7-11 files

LLVM/project b5e62bacross-project-tests/debuginfo-tests/dexter Script.md

order->at_least
DeltaFile
+1-1cross-project-tests/debuginfo-tests/dexter/Script.md
+1-11 files

LLVM/project 3cbfcf9cross-project-tests/debuginfo-tests/dexter Script.md

Address various review comments
DeltaFile
+21-20cross-project-tests/debuginfo-tests/dexter/Script.md
+21-201 files

LLVM/project b4d5c1across-project-tests/debuginfo-tests/dexter-tests nrvo-string.cpp optnone-fastmath.cpp, cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng dbgeng.py

[Dexter] Switch to using script-mode by default

This patch changes the default mode of Dexter from heuristic-mode to
script-mode. The --use-script argument is replaced with --use-heuristic,
some comments/docs/error messages are updated accordingly, and tests have
their flags switched accordingly.
DeltaFile
+2-6cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
+3-4cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
+3-3cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
+2-2cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
+2-2cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
+2-2cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
+14-19168 files not shown
+188-208174 files

LLVM/project 8f587efcross-project-tests/debuginfo-tests/dexter/dex/evaluation ExpectMatch.py, cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation eval_sublist_aggregates.cpp eval_sublist_aggregates_addresses.cpp

[Dexter] Allow matching lists of values for aggregate members

This patch slightly extends the matching of aggregate members to allow for
lists of expected values for individual members, functioning the same as
lists of expected values for scalar values.
DeltaFile
+136-0cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates.cpp
+54-0cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates_addresses.cpp
+8-4cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
+198-43 files