SuccessChanges

Summary

  1. lld: use `std::make_unique` (NFC) (details)
  2. [AArch64] Fix stp-opt-with-renaming-ld3.mir with expensive checks. (details)
  3. [lldb/StringPrinter] Convert DecodedCharBuffer to a class, NFC (details)
  4. [lldb/StringPrinter] Support strings with invalid utf8 sub-sequences (details)
  5. [lldb][NFC] Fix documentation formatting in ASTResultSynthesizer (details)
  6. Define __SPIR__ macro for spir/spir64 targets. (details)
  7. [clang-format] [PR46159] Linux kernel 'C' code uses 'try' as a variable name, allow clang-format to handle such cases (details)
  8. [clang-format] [PR46157] Wrong spacing of negative literals with use of operator (details)
  9. [mlir] Remove unneeded inference trait/fns (details)
  10. [IRInterpreter] Unused. Drive-by cleanup. NFCI. (details)
  11. Replace separator in OpenMP variant name mangling. (details)
  12. [Darwin] Improve runtime OS version checks (details)
  13. X86: Switch fastregalloc test to use generated checks (details)
  14. RegAllocFast: Record internal state based on register units (details)
  15. [clang-tidy]: Added modernize-replace-disallow-copy-and-assign-macro (details)
  16. [SVE] Eliminate calls to default-false VectorType::get() from IR (details)
  17. [WebAssembly] Add support for -mexec-model=reactor (details)
  18. Reland "[WebAssembly] Eliminate range checks on br_tables" (details)
  19. [gn build] Fix link with ld.bfd and gold. (details)
  20. [X86] Separate X86_CPU_TYPE_COMPAT_WITH_ALIAS from X86_CPU_TYPE_COMPAT. NFC (details)
  21. [gn build] Port 7f50c15be5c (details)
  22. [gn build] Port e636e6b79ac (details)
  23. Add a test for preserving state on the non-expr thread across expression evaluation. (details)
Commit 9cb2badc596497f49ec2631bb5b8a2300656e75c by Saleem Abdulrasool
lld: use `std::make_unique` (NFC)

The LLVM code base already uses C++14, use std::make_unique
to avoid the explicit constructor invocation via new and to avoid
spelling out the type twice.
The file was modifiedlld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
Commit a3fcd6476a4e4270ea19137656d94d395d303349 by flo
[AArch64] Fix stp-opt-with-renaming-ld3.mir with expensive checks.

Unconditionally use -verify-machineinstrs and XFAIL the test until
fixed.
The file was modifiedllvm/test/CodeGen/AArch64/stp-opt-with-renaming-ld3.mir
Commit 7822b8a817d85827110f3047f4ec63f6825743a4 by Vedant Kumar
[lldb/StringPrinter] Convert DecodedCharBuffer to a class, NFC

The m_size and m_data members of DecodedCharBuffer are meant to be
private.
The file was modifiedlldb/source/DataFormatters/StringPrinter.cpp
Commit 4699a7e23010b7c0df49b64f8bea63919825a787 by Vedant Kumar
[lldb/StringPrinter] Support strings with invalid utf8 sub-sequences

Support printing strings which contain invalid utf8 sub-sequences, e.g.
strings like "hello world \xfe", instead of bailing out with "Summary
Unavailable".

I took the opportunity here to delete some hand-rolled utf8 -> utf32
conversion code and replace it with calls into llvm's Support library.

rdar://61554346
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/main.cpp
The file was modifiedlldb/source/DataFormatters/StringPrinter.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
The file was modifiedlldb/unittests/DataFormatter/StringPrinterTests.cpp
Commit a23d0a06d4b7996a86c3d1a7e47a4e56d6181b10 by Raphael Isemann
[lldb][NFC] Fix documentation formatting in ASTResultSynthesizer

This comment apparently didn't survive the great LLDB reformatting unharmed.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
Commit 3a1b07506c1fc6e6aee528289341aa0d0d806814 by vyacheslav.p.zakharin
Define __SPIR__ macro for spir/spir64 targets.

Differential Revision: https://reviews.llvm.org/D80655
The file was modifiedclang/lib/Basic/Targets/SPIR.cpp
The file was modifiedclang/test/Preprocessor/predefined-macros.c
Commit 6a0484f04b628870fb7cd0757a72d73294ff5346 by mydeveloperday
[clang-format] [PR46159] Linux kernel 'C' code uses 'try' as a variable name, allow clang-format to handle such cases

Reviewed By: curdeius

Differential Revision: https://reviews.llvm.org/D80940
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.h
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 6de794e2074b8d0ceb6215f808fb788555fc683d by mydeveloperday
[clang-format] [PR46157] Wrong spacing of negative literals with use of operator

Summary:
see https://bugs.llvm.org/show_bug.cgi?id=46157

Reviewed By: curdeius

Differential Revision: https://reviews.llvm.org/D80933
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 5b454b98d6488a27decbe7e21a361b2579376ec2 by jpienaar
[mlir] Remove unneeded inference trait/fns

Therse are all handled with the simple return type inference in ODS.
Also update some summaries to match what is recommended in ODS doc.
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 7c1b060c3c65cac50edec5cceb6653957c344d96 by ditaliano
[IRInterpreter] Unused. Drive-by cleanup. NFCI.
The file was modifiedlldb/source/Expression/IRInterpreter.cpp
Commit 8bd7e4188a096b063065aac70ce39129c479f124 by tianshilei1992
Replace separator in OpenMP variant name mangling.

Summary:
Nvidia PTX does not allow `.` to appear in identifiers, so OpenMP variant mangling now uses `$` to separate segments of the mangled name for variants of functions declared via `declare variant`.

Reviewers: jdoerfert, Hahnfeld

Reviewed By: jdoerfert

Subscribers: yaxunl, guansong, sstefan1, cfe-commits

Tags: #openmp, #clang

Differential Revision: https://reviews.llvm.org/D80439
The file was modifiedclang/include/clang/AST/Decl.h
The file was addedclang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
Commit ba6b1b4353e33a7a36bcbad1d1c1157826197fd2 by julian.lettner
[Darwin] Improve runtime OS version checks

Use a struct to represent numerical versions instead of encoding release
names in an enumeration. This avoids the need to extend the enumeration
every time there is a new release.

Rename `GetMacosVersion() -> GetMacosAlignedVersion()` to better reflect
how this is used on non-MacOS platforms.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D79970
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit a574edbba2b24fcfb733aa2d82308131f5b7d2d6 by Matthew.Arsenault
X86: Switch fastregalloc test to use generated checks
The file was modifiedllvm/test/CodeGen/X86/2010-06-28-FastAllocTiedOperand.ll
Commit 66251f7e1de79a7c1620659b7f58352b8c8e892e by Matthew.Arsenault
RegAllocFast: Record internal state based on register units

Record internal state based on register units. This is often more
efficient as there are typically fewer register units to update
compared to iterating over all the aliases of a register.

Original patch by Matthias Braun, but I've been rebasing and fixing it
for almost 2 years and fixed a few bugs causing intermediate failures
to make this patch independent of the changes in
https://reviews.llvm.org/D52010.
The file was modifiedllvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll
The file was modifiedllvm/test/CodeGen/X86/atomic64.ll
The file was modifiedllvm/test/CodeGen/X86/pr44749.ll
The file was modifiedllvm/test/CodeGen/X86/pr1489.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-nontemporal.ll
The file was modifiedllvm/test/CodeGen/X86/atomic32.ll
The file was modifiedllvm/test/CodeGen/X86/pr32241.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/test/DebugInfo/X86/op_deref.ll
The file was modifiedllvm/test/CodeGen/Mips/atomic-min-max.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vsx.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
The file was modifiedllvm/test/CodeGen/X86/pr34592.ll
The file was modifiedllvm/test/CodeGen/X86/regalloc-fast-missing-live-out-spill.mir
The file was modifiedllvm/test/CodeGen/X86/pr32340.ll
The file was modifiedllvm/test/CodeGen/X86/pr27591.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-m0.ll
The file was modifiedllvm/test/CodeGen/X86/pr32284.ll
The file was modifiedllvm/test/CodeGen/ARM/legalize-bitcast.ll
The file was modifiedllvm/test/CodeGen/PowerPC/addegluecrash.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-zext-bugfix.ll
The file was modifiedllvm/test/CodeGen/X86/pr32451.ll
The file was modifiedllvm/test/CodeGen/X86/pr30430.ll
The file was modifiedllvm/test/CodeGen/Mips/atomic.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wwm-reserved.ll
The file was modifiedllvm/test/CodeGen/X86/2009-04-14-IllegalRegs.ll
The file was modifiedllvm/test/CodeGen/X86/crash-O0.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
The file was modifiedllvm/test/CodeGen/X86/swift-return.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-sp-adjust.ll
The file was modifiedllvm/test/CodeGen/X86/pr30813.ll
The file was modifiedllvm/test/CodeGen/X86/avx-load-store.ll
The file was modifiedllvm/test/CodeGen/Mips/implicit-sret.ll
The file was modifiedllvm/test/CodeGen/X86/swifterror.ll
The file was modifiedllvm/test/CodeGen/X86/pr32345.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fptosi_and_fptoui.ll
The file was modifiedllvm/test/CodeGen/X86/pr39733.ll
Commit e636e6b79ac06b13059e46b49acb4d9de204c75b by kkleine
[clang-tidy]: Added modernize-replace-disallow-copy-and-assign-macro

Summary:
This check finds macro expansions of `DISALLOW_COPY_AND_ASSIGN(Type)` and
replaces them with a deleted copy constructor and a deleted assignment operator.

Before the `delete` keyword was introduced in C++11 it was common practice to
declare a copy constructor and an assignment operator as a private members. This
effectively makes them unusable to the public API of a class.

With the advent of the `delete` keyword in C++11 we can abandon the
`private` access of the copy constructor and the assignment operator and
delete the methods entirely.

Migration example:

```
lang=dif
class Foo {
  private:
  -  DISALLOW_COPY_AND_ASSIGN(Foo);
  +  Foo(const Foo &) = delete;
  +  const Foo &operator=(const Foo &) = delete;
  };
```

Reviewers: alexfh, hokein, aaron.ballman, njames93

Reviewed By: njames93

Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D80531
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/modernize-replace-disallow-copy-and-assign-macro.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/modernize-replace-disallow-copy-and-assign-macro.rst
The file was addedclang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/modernize/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
The file was addedclang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.h
Commit 900f78a714c583dd87432a9c89f6ccade8430fac by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from IR

Reviewers: efriedma, kmclaughlin, sdesmalen, dexonsmith, dblaikie

Reviewed By: efriedma

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80261
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/include/llvm/IR/MatrixBuilder.h
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/lib/IR/DataLayout.cpp
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/lib/IR/Core.cpp
Commit d496437a0bfd6d135343026cdb7b6a69cb6af536 by sunfish
[WebAssembly] Add support for -mexec-model=reactor

This adds a -mexec-model= command-line flag. The default value is "command"
which is no change from the current behavior. The other option is "reactor"
which enables the WASI Reactor ABI:

https://github.com/WebAssembly/WASI/blob/master/design/application-abi.md

Differential Revision: https://reviews.llvm.org/D62922
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/test/Driver/wasm-toolchain.c
The file was modifiedclang/include/clang/Driver/Options.td
Commit 7f50c15be5c020b2789f83dc3c87d28f8294664f by tlively
Reland "[WebAssembly] Eliminate range checks on br_tables"

This reverts commit 755a89591528b692315ad0325347e2fd4637271b.
Although I was not able to reproduce any test failures locally,
aheejin was able to reproduce them and found a fix, applied here.
The file was addedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify.ll
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedllvm/test/CodeGen/WebAssembly/indirectbr.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/switch.ll
The file was addedllvm/test/CodeGen/WebAssembly/switch-unreachable-default.ll
The file was modifiedllvm/lib/Target/WebAssembly/CMakeLists.txt
The file was modifiedllvm/lib/Target/WebAssembly/WebAssembly.h
The file was modifiedllvm/test/CodeGen/WebAssembly/stack-insts.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit a946cb1813c228ac44a94e0ddf712258b9018ea9 by thakis
[gn build] Fix link with ld.bfd and gold.

lld's symbol resolution algorithm makes it not depend on
the order of object files and libraries, but ld.bfd and
gold require listing dependencies later on the link line.
Put {{libs}} after {{inputs}} so that e.g. -lpthreads
appears after the object files, not before it.

Differential Revision: https://reviews.llvm.org/D81035
The file was modifiedllvm/utils/gn/build/toolchain/BUILD.gn
Commit dd863ccae1346a44e4380fb17d22ae7041fee898 by craig.topper
[X86] Separate X86_CPU_TYPE_COMPAT_WITH_ALIAS from X86_CPU_TYPE_COMPAT. NFC

Add a separate X86_CPU_TYPE_COMPAT_ALIAS that carries alias string
and the enum from X86_CPU_TYPE_COMPAT.
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
Commit 86fdfc104e411499f2dcc139336c3a4da65bf283 by llvmgnsyncbot
[gn build] Port 7f50c15be5c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Commit 6cbccda89af63c797f6ce2211e91e8e6e53f2a7b by llvmgnsyncbot
[gn build] Port e636e6b79ac
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Commit f4d427326539f007b05378eaf66018c10b651ad0 by jingham
Add a test for preserving state on the non-expr thread across expression evaluation.

There may be another test that tests this but I couldn't find one.
The file was addedlldb/test/API/functionalities/thread/state_after_expression/TestStateAfterExpression.py
The file was addedlldb/test/API/functionalities/thread/state_after_expression/main.cpp
The file was addedlldb/test/API/functionalities/thread/state_after_expression/Makefile