Changes

Summary

  1. Fix a crash on an invalid templated UDL declaration (details)
  2. [lldb] [test] Add TestGDBServerTargetXML tests for x86 duplicate subregs (details)
  3. [Polly] Remove checkIslAstExprInt and use RAII instead of manually freeing Expr. NFC. (details)
  4. [AMDGPU] Avoid redundant calls to numBits in AMDGPUCodeGenPrepare::replaceMulWithMul24(). (details)
  5. [Driver][NetBSD] Use Triple reference instead of ToolChain.getTriple(). (details)
  6. [AArch64] Fix failing test target-invalid-cpu-note.c (details)
  7. [lldb] Add test for struct merging in scratch ASTContext (details)
  8. [VectorCombine] add tests for shuffle of binops; NFC (details)
  9. [llvm-readelf] Make -W an alias of --wide (details)
  10. [libc++][doc] Use issue labels. (details)
  11. [OpenMP][Tools][NFC] Make an Archer test more robust (details)
  12. [libc++] LWG3266: delete the to_chars(bool) overload. (details)
  13. [mlir][vector] NFC - Refactor and extract a helper StructuredGenerator class (details)
  14. [ARM] Don't use TARGET_HEADER_BUILTIN in arm_mve_builtins.inc or arm_cde_builtins.inc (details)
  15. [clang] Capture Framework when HeaderSearch is resolved via headermap (details)
  16. [IR] Fix a few incorrect paths in file header comments. NFC (details)
  17. [AIX] Enable int128 in 64 bit mode (details)
  18. [mlir][sparse] implement sparse tensor init operation (details)
  19. [DebugInfo] Limit the size of DIExpressions that we will salvage up to (details)
  20. [DebugInfo] retainedTypes should not have subprograms (details)
  21. [SLP]Add a test for shrink shuffle after reorder, NFC. (details)
  22. [lldb] Harden TestCompletion against new settings in 'target.process' (details)
  23. NFC: Remove wayward MIR tests from lib/Target (details)
  24. [clang] Use llvm::is_contained (NFC) (details)
  25. [SystemZ] Handle huge immediates in SystemZInstrInfo::loadImmediate(). (details)
Commit f2ea85255075606563370c9249f61dfad6a3f98b by aaron
Fix a crash on an invalid templated UDL declaration

We were missing a null pointer check that a template parameter existed
at all.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/literal-operators.cpp
Commit 1583c41d07a45a2daa1e9d8347dcea4329794657 by mgorny
[lldb] [test] Add TestGDBServerTargetXML tests for x86 duplicate subregs
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
Commit 5bf32a0e4841d56b481344fb4d074ac96a854261 by llvm-project
[Polly] Remove checkIslAstExprInt and use RAII instead of manually freeing Expr. NFC.

Polly is trying to move towards using isl::ast_expr / isl-noexceptions.h
(which implements RAII) where possible instead of manually managing memory.
checkIslAstExprInt manually frees Expr, so it has been removed to be
more idiomatic and consistent.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D111769
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp
Commit de3038400b163d91dca743210ce9b10001411208 by abinav.puthanpurayil
[AMDGPU] Avoid redundant calls to numBits in AMDGPUCodeGenPrepare::replaceMulWithMul24().

The isU24() and isI24() calls numBits to make its decision. This change
replaces them with the internal numBits call so that we can use its
result for the > 32 bit width cases.

Differential Revision: https://reviews.llvm.org/D111864
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Commit ecef0359538ca54a5374dbf3547a395adc326bbe by fred
[Driver][NetBSD] Use Triple reference instead of ToolChain.getTriple().

Differential Revision: https://reviews.llvm.org/D111805
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
Commit 096ace55804d21a187b37448376ecd51c8e810e1 by tomas.matheson
[AArch64] Fix failing test target-invalid-cpu-note.c
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
Commit 03a8e70a192f382ae700d761e46e2299a38f58db by Raphael Isemann
[lldb] Add test for struct merging in scratch ASTContext
The file was addedlldb/test/API/lang/cpp/scratch-context-merging/structs/Makefile
The file was addedlldb/test/API/lang/cpp/scratch-context-merging/structs/main.cpp
The file was addedlldb/test/API/lang/cpp/scratch-context-merging/structs/TestCppScratchContextMergingStructs.py
Commit 8cd9c351a1af93ba37e9da1ca2f5896ca2878a7a by spatel
[VectorCombine] add tests for shuffle of binops; NFC
The file was modifiedllvm/test/Transforms/VectorCombine/X86/shuffle.ll
Commit a64e6ecfe13f981ffbc4c519dfd3a4e12071e98a by gbreynoo
[llvm-readelf] Make -W an alias of --wide

Currently -W and --wide are treated as two options as they are only
included for gnu readelf compatibility and ignored. This change makes -W
an alias of --wide to be consistent with other option aliases.

Differential Revision: https://reviews.llvm.org/D111731
The file was modifiedllvm/tools/llvm-readobj/Opts.td
Commit cef9978027cf4affde7ae3e4a3389053615bca60 by koraq
[libc++][doc] Use issue labels.

During the review of D111166 I had a private discussion with @ldionne to
avoid the duplication of the C++2b issues in the Ranges and Format
status pages. The main reason for duplicating them is to make it easier to
find them. The title of the paper may not always make it clear to which
project the paper belongs.

This commit removes all LWG-issues from the Ranges and Format status page
and adds labels for these issue in the C++20/C++23 issues list.

A quick scan revealed there are some issues that are missing a label since
they weren't on the ranges issue list. These can be labelled in a separate
commit. In that commit I'll also look for issues for the spaceship operator
and chrono.

Reviewed By: Quuxplusone, ldionne, #libc

Differential Revision: https://reviews.llvm.org/D111458
The file was modifiedlibcxx/docs/Status/Cxx2bIssues.csv
The file was modifiedlibcxx/docs/Status/FormatIssues.csv
The file was modifiedlibcxx/docs/Status/RangesIssues.csv
The file was modifiedlibcxx/docs/Status/Cxx20Issues.csv
The file was modifiedlibcxx/docs/Helpers/Styles.rst
Commit 26b675d65eb2d1f117a39eee965652f590373232 by protze
[OpenMP][Tools][NFC] Make an Archer test more robust

The execution order of the tasks is not fixed, so there is no ordering
for the write accesses. Enforce the ordering that is expected in the check.
The file was modifiedopenmp/tools/archer/tests/races/task-dependency.c
Commit a59c1a2138a5d6c0b9cf74fa0fa8da0e6a2d3a1c by koraq
[libc++] LWG3266: delete the to_chars(bool) overload.

This PR only updates the synopsis in `<charconv>` -- the current
implementation already [deletes](https://github.com/llvm/llvm-project/blob/e9e6266c704df43e2c52308e1b653dccefa89e04/libcxx/include/charconv#L108)
the overload and has a [test](https://github.com/llvm/llvm-project/blob/main/libcxx/test/std/utilities/charconv/charconv.to.chars/integral.bool.fail.cpp)
for it (and this has been the case from the first [commit](https://reviews.llvm.org/D41458)
where `<charconv>` was added).

Reviewed By: #libc, Mordante

Differential Revision: https://reviews.llvm.org/D111845
The file was modifiedlibcxx/docs/Status/Cxx20Issues.csv
The file was modifiedlibcxx/include/charconv
Commit 60802715d1d0f06b49d7d0d3f4b38bd7aae0fe9c by nicolas.vasilache
[mlir][vector] NFC - Refactor and extract a helper StructuredGenerator class

Differential Revision: https://reviews.llvm.org/D111893
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
Commit c294715e2e0c90761e69fd3a7db221601289d803 by craig.topper
[ARM] Don't use TARGET_HEADER_BUILTIN in arm_mve_builtins.inc or arm_cde_builtins.inc

The attributes string doesn't include 'f' or 'h'. I don't think
any code looks at the header name without those.

Reviewed By: simon_tatham

Differential Revision: https://reviews.llvm.org/D111755
The file was modifiedclang/utils/TableGen/MveEmitter.cpp
Commit 395e1fe3057482576eb0bc38d1079fcc1ff29193 by Cyndy Ishida
[clang] Capture Framework when HeaderSearch is resolved via headermap

When building frameworks, headermaps responsible for mapping angle-included headers to their source file location are passed via
`-I` and not `-index-header-map`. Also, `-index-header-map` is only used for indexing purposes and not during most builds.
This patch holds on to the framework's name in HeaderFileInfo as this is retrieveable for cases outside of IndexHeaderMaps and
still represents the framework that is being built.

resolves: rdar://84046893

Reviewed By: jansvoboda11

Differential Revision: https://reviews.llvm.org/D111468
The file was modifiedclang/unittests/Lex/HeaderSearchTest.cpp
The file was modifiedclang/lib/Lex/HeaderSearch.cpp
Commit 24703cb6a4e9fc8aeefee883856cc7dda39e587c by craig.topper
[IR] Fix a few incorrect paths in file header comments. NFC
The file was modifiedllvm/lib/IR/DiagnosticPrinter.cpp
The file was modifiedllvm/include/llvm/IR/DiagnosticPrinter.h
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp
Commit 42eea2b69bb99415f5116ca8e28efdd5f836a03b by Jinsong Ji
[AIX] Enable int128 in 64 bit mode

This patch remove the override in AIX target,
so the int128 is enabled in 64 bit mode or with ForceEnableInt128.

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D111078
The file was modifiedclang/test/Sema/const-eval.c
The file was modifiedclang/test/Sema/types.c
The file was modifiedclang/test/CodeGen/uint128_t.c
The file was modifiedclang/test/CodeGen/ppc-varargs-struct.c
The file was modifiedclang/test/Sema/redefine_extname.c
The file was modifiedclang/test/CodeGen/dbg-const-int128.c
The file was modifiedllvm/test/CodeGen/PowerPC/ctrloop-i128.ll
The file was modifiedclang/test/CodeGen/extend-arg-64.c
The file was modifiedclang/test/CodeGenCXX/debug-info-enum-i128.cpp
The file was modifiedclang/test/Preprocessor/init-ppc64.c
The file was modifiedllvm/test/CodeGen/PowerPC/int128_ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-i128-abi.ll
The file was modifiedclang/test/Driver/types.c
The file was modifiedclang/test/Analysis/sval-dump-int128.c
The file was modifiedclang/test/AST/ast-print-int128.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/CodeGen/debug-info.c
The file was modifiedclang/test/Sema/128bitint.c
Commit b24788abd8df02169ecbf6afa91836819c8a35fe by ajcbik
[mlir][sparse] implement sparse tensor init operation

Next step towards supporting sparse tensors outputs.
Also some minor refactoring of enum constants as well
as replacing tensor arguments with proper buffer arguments
(latter is required for more general sizes arguments for
the sparse_tensor.init operation, as well as more general
spares_tensor.convert operations later)

Reviewed By: wrengr

Differential Revision: https://reviews.llvm.org/D111771
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/conversion.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
Commit f5ed223b0fd0d45ff18013e38756546210e03a34 by stephen.tozer
[DebugInfo] Limit the size of DIExpressions that we will salvage up to

Fixes: https://bugs.llvm.org/show_bug.cgi?id=51841

This patch places an arbitrary limit on the size of DIExpressions that
we will produce via salvaging, for performance reasons. This helps to
fix a performance issue observed in the bug above, in which debug values
would be salvaged hundreds of times, producing expressions with over
1000 elements and causing the compiler to hang. Limiting the size of
debug values that we will produce to 128 largely fixes this issue.

Reviewed By: dblaikie, jmorse

Differential Revision: https://reviews.llvm.org/D110332
The file was addedllvm/test/DebugInfo/salvage-limit-expr-size.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit aa80034ab986ca830b910ba0a156a9e1752b0e37 by puyan
[DebugInfo] retainedTypes should not have subprograms

After D80369, the retainedTypes in CU's should not have any subprograms
so we should not handle that case when emitting debug info.

Differential Revision: https://reviews.llvm.org/D111593
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/X86/convert-loclist.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/callsite-stack-value.mir
Commit 1312aff768b0d086817078c996ffa7cb46f59002 by a.bataev
[SLP]Add a test for shrink shuffle after reorder, NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
Commit ff4c98c05559e498300bd3ad55272ac2a8d10dbc by Raphael Isemann
[lldb] Harden TestCompletion against new settings in 'target.process'

This test starts failing when people add a setting starting with
`target.process.t` which of course can easily happen. Make it a bit more
resistant by only requiring that `target.process.thr` has a unique completion.
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 59b94c4a60d486e1853270832b5371915faa6e00 by Jessica Paquette
NFC: Remove wayward MIR tests from lib/Target

These were put in lib/Target instead of tests.

Thankfully dupes of them already existed in the tests directory.

So, just delete them.
The file was removedllvm/lib/Target/AArch64/GISel/select-ssubo.mir
The file was removedllvm/lib/Target/AArch64/GISel/select-saddo.mir
Commit 6a154e606e570870789b047a10c21642dce2fdd3 by kazu
[clang] Use llvm::is_contained (NFC)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit ccbfcfda1e21f95498ec9b00504b929fcc297a13 by paulsson
[SystemZ] Handle huge immediates in SystemZInstrInfo::loadImmediate().

This is needed during isel pseudo expansion in order not to crash on huge
immediates.

Review: Ulrich Weigand
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/int-const-02.ll