SuccessChanges

Summary

  1. Sema: add support for `__attribute__((__swift_error__))` (details)
  2. [lld][WebAssembly] Convert a objyaml-using test to assembly (details)
  3. Fix test hip-gz-options.hip (details)
  4. CodeGen: Require SSA to run PeepholeOptimizer (details)
  5. RegAllocFast: Fix typo in comment (details)
  6. docs: add a newline to appease Sphinx (details)
  7. [MC] Allow .org directives in SHT_NOBITS sections (details)
  8. [NFC][Asan] Early return from GetBlockBegin (details)
  9. Fix clang Wrange-loop-analysis in BuildTree.cpp (details)
  10. [lldb] Add test for CFMutableDictionaryRef (details)
  11. [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral (details)
  12. [NFC][Asan] Add another lsan test (details)
Commit f5ab5b20fb2aae5567e6c50cc642ff63eb2146d4 by Saleem Abdulrasool
Sema: add support for `__attribute__((__swift_error__))`

Introduce a new attribute that is used to indicate the error handling
convention used by a function.  This is used to translate the error
semantics from the decorated interface to a compatible Swift interface.

The supported error convention is one of:
- none: no error handling
- nonnull_error: a non-null error parameter indicates an error signifier
- null_result: a return value of NULL is an error signifier
- zero_result: a return value of 0 is an error signifier
- nonzero_result: a non-zero return value is an error signifier

Since this is the first of the attributes needed to support the semantic
annotation for Swift, this change also includes the necessary supporting
infrastructure for a new category of attributes (Swift).

This is based on the work of the original changes in
https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c

Differential Revision: https://reviews.llvm.org/D87331
Reviewed By: John McCall, Aaron Ballman, Dmitri Gribenko
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/SemaObjC/attr-swift-error.m
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit e3e3d6eecfa5003bf431d8223bcc968e2ce291c8 by sbc
[lld][WebAssembly] Convert a objyaml-using test to assembly

Differential Revision: https://reviews.llvm.org/D87536
The file was addedlld/test/wasm/Inputs/undefined-globals.s
The file was addedlld/test/wasm/gc-imports.s
The file was removedlld/test/wasm/Inputs/undefined-globals.yaml
The file was removedlld/test/wasm/gc-imports.ll
Commit ee13ae030e21d584c72d384ea463896400ccee1c by Yaxun.Liu
Fix test hip-gz-options.hip
The file was modifiedclang/test/Driver/hip-gz-options.hip
Commit e21bb31eb6c6fcff652ecfb338e8558362473150 by Matthew.Arsenault
CodeGen: Require SSA to run PeepholeOptimizer
The file was modifiedllvm/test/CodeGen/AMDGPU/fold_16bit_imm.mir
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
Commit 382b2b1b5183cdcc4c57b0650e25f4f107619099 by Matthew.Arsenault
RegAllocFast: Fix typo in comment
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
Commit 43e6c59f1c1fc3c1b9cdcddfe9826b9abf2cfb73 by Saleem Abdulrasool
docs: add a newline to appease Sphinx

Sphinx expects an empty newline after the bulleted list.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 45d0343900d3005d1d00cbb1a87c419c085dec71 by maskray
[MC] Allow .org directives in SHT_NOBITS sections

This is used by kvm-unit-tests and can be trivially supported.
The file was modifiedllvm/lib/MC/MCAssembler.cpp
The file was modifiedllvm/test/MC/ELF/org.s
Commit 658475897b14781070549f72483fd283e3fe50aa by Vitaly Buka
[NFC][Asan] Early return from GetBlockBegin
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
Commit e10df779f097e3a1fb02d901117ce71a5dd9dda2 by gribozavr
Fix clang Wrange-loop-analysis in BuildTree.cpp

Building on Mac OS with clang 12:

```
jhemphill@jhemphill-mbp build % clang --version
Apple clang version 12.0.0 (clang-1200.0.26.2)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
```

yields one warning:

```
/Users/jhemphill/oss/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp:1126:22: warning: loop variable 'Arg' is always a copy because the range of type 'llvm::iterator_range<clang::Stmt::CastIterator<clang::Expr, clang::Expr *, clang::Stmt *> >' does not return a reference [-Wrange-loop-analysis]
    for (const auto &Arg : Args) {
                     ^
/Users/jhemphill/oss/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp:1126:10: note: use non-reference type 'clang::Expr *'
    for (const auto &Arg : Args) {
```

It appears that `Arg` is an `Expr*`, passed by value rather than by const reference.

Reviewed By: eduucaldas, gribozavr2

Differential Revision: https://reviews.llvm.org/D87482
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 76e3a27c16d2a8171454cf12a33e35e3ae6f9dc2 by Jonas Devlieghere
[lldb] Add test for CFMutableDictionaryRef

While writing a test for a change in Foundation I noticed we didn't yet
test CFMutableDictionaryRef.
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
Commit 83286a1a8f059d1664b64341854676a36a85cecd by zequanwu
[MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was addedclang/test/CodeGenCXX/mangle-ms-auto-templates.cpp
Commit 12292c8b27aca8d173a3a2825f2e8aeb383cc695 by Vitaly Buka
[NFC][Asan] Add another lsan test
The file was addedcompiler-rt/test/asan/TestCases/leaks.cpp