SuccessChanges

Summary

  1. [gn build] Port 58b29a4efc22 (details)
  2. [gn] Make ubsan errors fatal, as in cmake (details)
  3. [IR] Make TypeFinder aware of DIArgList values (details)
  4. [LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass (details)
  5. Revert "Fix "enumerator 'llvm::TargetStackID::WasmLocal' in switch of enum 'llvm::TargetStackID::Value' is not handled" MSVC warnings. NFCI." (details)
  6. [clang][Parse] Add parsing support for C++ attributes on using-declarations (details)
  7. [mlir] Add missing namespace to createCanonicalizerPass. (details)
Commit 0c4f76c9421a9a72a9c86321628abcb31881ae94 by llvmgnsyncbot
[gn build] Port 58b29a4efc22
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 4c6e2774d8273ecf8b23f376066249fee5e6f9f6 by rnk
[gn] Make ubsan errors fatal, as in cmake

Apparently ubsan errors are non-fatal by default. If you introduce UB
into LLVM and run the tests, if errors are not fatal, the test will
still produce the expected output and the tests will pass. In order to
make ubsan errors show up as test failures, they have to be made fatal.
Pass the -fno-sanitize-recover=all flag to make it so.

Differential Revision: https://reviews.llvm.org/D103298
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit b6e1fb7e32535cd299656372bd40a2597899b022 by david.stenberg
[IR] Make TypeFinder aware of DIArgList values

TypeFinder did not find types under DIArgList. This resulted in a case
of invalid IR after GlobalOpt removed a global that was the only
non-DIArgList use of a struct type.

  error: use of undefined type named 'struct.S'
    call void @llvm.dbg.value(
      metadata !DIArgList([1 x %struct.S]* undef, i64 %idxprom),
      metadata !24, metadata !DIExpression([...]))

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D103306
The file was modifiedllvm/lib/IR/TypeFinder.cpp
The file was addedllvm/test/Transforms/GlobalOpt/deadglobal-diarglist-use.ll
Commit fa488ea864ab448b8294b65df27d24458c149458 by eopxd
[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass

This patch changes LoopFlattenPass from FunctionPass to LoopNestPass.

Utilize LoopNest and let function 'Flatten' generate information from it.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D102904
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopFlatten.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
Commit e0c826543706527ff1ec978ac8817fafcbcbbeaa by nemanja.i.ibm
Revert "Fix "enumerator 'llvm::TargetStackID::WasmLocal' in switch of enum 'llvm::TargetStackID::Value' is not handled" MSVC warnings. NFCI."

Since ca5f07f8c4bc96d16ed1992b810aa3897df157f2 already reverted
the cause for this warning, this commit now causes warnings about
a default label in a switch that covers the enum.

This reverts commit cf2eeb114c59cfc3a80133e96c585188fa16cc98.
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Commit dc672999a9b12a156991891dc400308b52d569ba by Louis Dionne
[clang][Parse] Add parsing support for C++ attributes on using-declarations

Differential Revision: https://reviews.llvm.org/D91630
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/test/Parser/cxx0x-attributes.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/include/clang/Basic/Features.def
The file was addedclang/test/SemaCXX/cxx11-attributes-on-using-declaration.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
Commit 82f7b5e1b9994331b2ee556f69d820d6144b0482 by jpienaar
[mlir] Add missing namespace to createCanonicalizerPass.
The file was modifiedmlir/lib/Transforms/Canonicalizer.cpp