Changes

Summary

  1. Stop emit incomplete type error for a variable in a map clause (details)
  2. [tests] Autogen an unroll test for ease of update (details)
  3. [InstCombine] Fixed select + masked load fold failure (details)
  4. [libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are not required any more since we now build with a private version of libc++. Fix some of the 81+ character lines. Mechanical change, NFC expected. (details)
  5. ThinLTO: Fix inline assembly references to static functions with CFI (details)
  6. [lldb] Further constrain a test that fails without python enabled (details)
  7. Revert "[SLP]Improve graph reordering." (details)
  8. [libFuzzer] fix clang-tidy (details)
  9. [SLP][NFC]Add tests for SLP vectorizer for crashes, found in new (details)
  10. [tests][sanitizers] Don't reflow comments (details)
  11. [vscode-mlir] Add proper support for mlir markdown codeblocks (details)
  12. bugprone-argument-comment: ignore mismatches from system headers (details)
  13. [clang-tidy] Fix command line is too long issue which breaks test on Windows (details)
  14. [lldb] Move comment about noindex next to line it refers to (details)
  15. [lldb] Get rid of HAVE_SYS_TYPES_H (details)
  16. [SLP]Do not emit extra shuffle for insertelements vectorization. (details)
  17. [ThinLTO] Add TimeTrace for Thinlink step (details)
  18. [clang] fix canonicalization of nested name specifiers (details)
  19. [RISCV] Add scheduling resources for V (details)
  20. [clang] fix crash on template instantiation of invalid requires expressions (details)
  21. [mlir][sparse] fix bug in permuting data structure (details)
  22. [mlir-lsp-server] Disable multi-threading in LSP contexts (details)
Commit 656d02233170e1707d3534b042960b71cf6eb98b by jennifer.yu
Stop emit incomplete type error for a variable in a map clause
where should not.

Currently we are using QTy->isIncompleteType(&ND) to check incomplete
type.  But before doing that, need to instantiate for a class template
specialization or a class member of a class template specialization,
or an array with known size of such..., so that we know it is really
incomplete type.

To fix this using RequireCompleteType instead.

The new test is added into "test/OpenMP/target_update_messages.cpp"

The different of using RequireCompleteType is when emit incomplete type,
an additional note is also emitted to point to where incomplete type
is declared.  Because this change, many tests are needed to be fixed
by adding additional note.

This is to fix https://bugs.llvm.org/show_bug.cgi?id=50508

Differential Revision: https://reviews.llvm.org/D107200
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_shared_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_to_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
The file was modifiedclang/test/OpenMP/teams_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_shared_messages.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_from_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_aligned_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp
Commit 911991d20adcb133a5c95ed22c0785fa202b8855 by listmail
[tests] Autogen an unroll test for ease of update
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
Commit 3943a74666cbe718b74e06092ce3b4c20e85fde1 by Dylan.Fleming
[InstCombine] Fixed select + masked load fold failure

Fixed type assertion failure caused by trying to fold a masked load with a
select where the select condition is a scalar value

Reviewed By: sdesmalen, lebedev.ri

Differential Revision: https://reviews.llvm.org/D107372
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-masked_load.ll
Commit 7c921753e0f5e95aadee8728ddbcb843a272b48a by kcc
[libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are not required any more since we now build with a private version of libc++. Fix some of the 81+ character lines. Mechanical change, NFC expected.

[libFuzzer] replace Vector/Set with std::vector/std::set.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D107374
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerCorpus.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDefs.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMutate.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDriver.cpp
The file was modifiedcompiler-rt/lib/fuzzer/tests/FuzzerUnittest.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOPosix.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMutate.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerLoop.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerCommand.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerInternal.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerFork.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerFork.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDictionary.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDataFlowTrace.h
Commit 7ce1c4da7726577986535cb7766d782f325145fe by samitolvanen
ThinLTO: Fix inline assembly references to static functions with CFI

Create an internal alias with the original name for static functions
that are renamed in promoteInternals to avoid breaking inline
assembly references to them.

Relands 700d07f8ce6f2879610fd6b6968b05c6f17bb915 with -msvc targets
fixed.

Link: https://github.com/ClangBuiltLinux/linux/issues/1354

Reviewed By: nickdesaulniers, pcc

Differential Revision: https://reviews.llvm.org/D104058
The file was modifiedllvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
The file was addedllvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
The file was modifiedllvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
The file was modifiedllvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
Commit d2b2ab4e1c347161b622b9dc2553de04f9f82f04 by apl
[lldb] Further constrain a test that fails without python enabled

The test relies on the python embedded interpreter being available and
fails otherwise.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/split-optimized.c
Commit 7d9d926a1861e2f6876943d47f297e2a08a57392 by a.bataev
Revert "[SLP]Improve graph reordering."

This reverts commit e408d1dfab42b27d0aa51b221e50fa6390fb5ed1 and
2 other (4b25c113210e579a5346ca0abc0717ab1ce5d9df and
c2deb2afafee991c06cc96dc5beecb6de448b9fc) related to fix the problem with the
reordering shuffles.
The file was removedllvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/addsub.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/extract.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
The file was removedllvm/test/Transforms/SLPVectorizer/AArch64/gather-load-min-required-vf-2.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
Commit ff163ef12b3093c14b1261f7f5a31c52cac9320a by kcc
[libFuzzer] fix clang-tidy

[libFuzzer] fix clang-tidy

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D107382
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.h
Commit aa931744efbcb3b28531ac54da640d1697c66229 by a.bataev
[SLP][NFC]Add tests for SLP vectorizer for crashes, found in new
reordering algorithm.
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/gather-load-min-required-vf-2.ll
Commit 81b293ba3637011f5d53d7112044b7f0298d5e80 by Vitaly Buka
[tests][sanitizers] Don't reflow comments

This lets us to apply ColumnLimit without breaking "RUN:" lines.
The file was modifiedcompiler-rt/test/.clang-format
Commit 0d74bd332d740fa65cc3069f7bbe45d86b295185 by riddleriver
[vscode-mlir] Add proper support for mlir markdown codeblocks

A special language contribution is required for properly
supporting markdown code blocks in vscodes builtin markdown
grammar, see https://github.com/mjbvz/vscode-fenced-code-block-grammar-injection-example
for more details.
The file was addedmlir/utils/vscode/markdown-grammar.json
The file was modifiedmlir/utils/vscode/package-lock.json
The file was modifiedmlir/utils/vscode/package.json
Commit 2e75986a21e543ac9f169a067542eec590339ac0 by George Burgess IV
bugprone-argument-comment: ignore mismatches from system headers

As of 2a3498e24f97d, we ignore parameter name mismatches for functions
in the `std::` namespace, since those aren't standardized. It seems
reasonable to extend this to all functions which are declared in system
headers, since this lint can be a bit noisy otherwise
(https://bugs.chromium.org/p/chromium/issues/detail?id=1191507).

Differential Revision: https://reviews.llvm.org/D99993
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-argument-comment.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/bugprone-argument-comment/header-with-decl.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/bugprone-argument-comment/system-header-with-decl.h
Commit 559d142331c2cbab0987f1d530df2c3c8a7be6e4 by thakis
[clang-tidy] Fix command line is too long issue which breaks test on Windows

This patch tries to fix command line too long problem on Windows for
https://reviews.llvm.org/D86671.

The command line is too long with check_clang_tidy.py program on Windows,
because the configuration is long for regression test. Fix this issue by
passing the settings in file instead.

Differential Revision: https://reviews.llvm.org/D107325
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/readability-identifier-naming/hungarian-notation1/.clang-tidy
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-hungarian-notation.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/readability-identifier-naming/hungarian-notation2/.clang-tidy
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-hungarian-notation-cfgfile.cpp
Commit 4367cbab4cf2cbf8f81a24bdcc2dc0612b932aa5 by thakis
[lldb] Move comment about noindex next to line it refers to

The comment was originally added in 34769d80d. Then D44526
removed the flag added there (but kept the comment), and then
D66966 reintroduced a .noindex dir (which D68606 and then 33fca97880
moved around a bit).

No behavior change.

Differential Revision: https://reviews.llvm.org/D107341
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/test/CMakeLists.txt
Commit bf3383501fefc6cfe0d8f313a2814f7fa34d4492 by thakis
[lldb] Get rid of HAVE_SYS_TYPES_H

LLVM includes this header unconditionally on all platforms
(including Windows), so this define should no longer be necessary.

No behavior change.

Differential Revision: https://reviews.llvm.org/D107338
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
The file was modifiedlldb/include/lldb/Host/windows/PosixApi.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
The file was modifiedlldb/tools/driver/Platform.h
The file was modifiedlldb/source/Expression/UtilityFunction.cpp
The file was modifiedlldb/include/lldb/Host/Config.h.cmake
The file was modifiedlldb/cmake/modules/LLDBGenerateConfig.cmake
The file was modifiedlldb/source/Expression/UserExpression.cpp
Commit 871ea69803b1f231254ab0c560795a33b6ed0c77 by a.bataev
[SLP]Do not emit extra shuffle for insertelements vectorization.

If the vectorized insertelements instructions form indentity subvector
(the subvector at the beginning of the long vector), it is just enough
to extend the vector itself, no need to generate inserting subvector
shuffle.

Differential Revision: https://reviews.llvm.org/D107344
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
Commit f5b8a3125aa82a777f4037786a32fb73ebc303b0 by modimo
[ThinLTO] Add TimeTrace for Thinlink step

Results from Clang self-build:

{F17435948}

Testing:
ninja check-all

Reviewed By: anton-afanasyev

Differential Revision: https://reviews.llvm.org/D104428
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
Commit 219790c1f53665a8b5f7578472e5c2675f9bec6a by mizvekov
[clang] fix canonicalization of nested name specifiers

See PR47174.

When canonicalizing nested name specifiers of the type kind,
the prefix for 'DependentTemplateSpecialization' types was being
dropped, leading to malformed types which would cause failures
when rebuilding template names.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D107311
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
Commit 63a5ac4e0d969f41bf71785cc3979349a45a2892 by evandro.menezes
[RISCV] Add scheduling resources for V

Add the scheduling resources for the V extension instructions.

Differential Revision: https://reviews.llvm.org/D98002
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedSiFive7.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedRocket.td
The file was addedllvm/lib/Target/RISCV/RISCVScheduleV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedule.td
Commit e64e6924b8aef8d48117beb6e87162109ac2512c by mizvekov
[clang] fix crash on template instantiation of invalid requires expressions

See PR48656.

The implementation of the template instantiation of requires expressions
was incorrectly trying to get the expression from an 'ExprRequirement'
before checking if it was an error state.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D107399
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
Commit 817303ef345f35bd693d71f87c4dd95a11c341c4 by ajcbik
[mlir][sparse] fix bug in permuting data structure

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D107379
The file was addedmlir/test/Dialect/SparseTensor/sparse_perm.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit b31827f6641178905a866682c0d868b1ca436a5e by riddleriver
[mlir-lsp-server] Disable multi-threading in LSP contexts

This prevents an explosion of threads, given that each file gets its own context and thus its own thread pool. We don't really need a thread pool for the LSP contexts anyways, so it's better to just disable threading.
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp