FailedChanges

Summary

  1. [lld][WebAssembly] Convert a objyaml-using test to assembly (details)
  2. Fix test hip-gz-options.hip (details)
  3. CodeGen: Require SSA to run PeepholeOptimizer (details)
  4. RegAllocFast: Fix typo in comment (details)
  5. docs: add a newline to appease Sphinx (details)
  6. [MC] Allow .org directives in SHT_NOBITS sections (details)
  7. [NFC][Asan] Early return from GetBlockBegin (details)
  8. Fix clang Wrange-loop-analysis in BuildTree.cpp (details)
  9. [lldb] Add test for CFMutableDictionaryRef (details)
  10. [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral (details)
  11. [NFC][Asan] Add another lsan test (details)
  12. [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline (details)
  13. [ConstantFold] Fold binary arithmetic on scalable vector splats. (details)
  14. [NFC] Remove unused static function (details)
  15. Fix a typo in 31ecf8d29d81d196374a562c6d2bd2c25a62861e (details)
  16. [gn build] Port 31ecf8d29d8 (details)
  17. [ConstantFold] Make areGlobalsPotentiallyEqual less aggressive. (details)
Commit e3e3d6eecfa5003bf431d8223bcc968e2ce291c8 by sbc
[lld][WebAssembly] Convert a objyaml-using test to assembly

Differential Revision: https://reviews.llvm.org/D87536
The file was removedlld/test/wasm/Inputs/undefined-globals.yaml
The file was removedlld/test/wasm/gc-imports.ll
The file was addedlld/test/wasm/gc-imports.s
The file was addedlld/test/wasm/Inputs/undefined-globals.s
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/lib/CodeGen/PeepholeOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/fold_16bit_imm.mir
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/main.m
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
Commit 83286a1a8f059d1664b64341854676a36a85cecd by zequanwu
[MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was addedclang/test/CodeGenCXX/mangle-ms-auto-templates.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
Commit 12292c8b27aca8d173a3a2825f2e8aeb383cc695 by Vitaly Buka
[NFC][Asan] Add another lsan test
The file was addedcompiler-rt/test/asan/TestCases/leaks.cpp
Commit 31ecf8d29d81d196374a562c6d2bd2c25a62861e by Yuanfang Chen
[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline

Following up on D67687.
Please refer to the RFC here http://lists.llvm.org/pipermail/llvm-dev/2020-July/143309.html

`CodeGenPassBuilder` is the NPM counterpart of `TargetPassConfig` with below differences.
- Debugging features (MIR print/verify, disable pass, start/stop-before/after, etc.) living in `TargetPassConfig` are moved to use PassInstrument as much as possible. (Implementation also lives in `TargetPassConfig.cpp`)
- `TargetPassConfig` is a polymorphic base (virtual inheritance) to build the target-dependent pipeline whereas `CodeGenPassBuilder` is the CRTP base/helper to implement the target-dependent pipeline. The motivation is flexibility for targets to customize the pipeline, inlining opportunity, and fits the overall NPM value semantics design.
- `TargetPassConfig` is a legacy immutable pass to declare hooks for targets to customize some target-independent codegen layer behavior. This is partially ported to TargetMachine::options. The rest, such as `createMachineScheduler/createPostMachineScheduler`, are left out for now. They should be implemented in LLVMTargetMachine in the future.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D83608
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was addedllvm/include/llvm/CodeGen/MachinePassRegistry.def
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was addedllvm/lib/CodeGen/CodeGenPassBuilder.cpp
The file was addedllvm/include/llvm/CodeGen/CGPassBuilderOption.h
The file was addedllvm/include/llvm/CodeGen/CodeGenPassBuilder.h
The file was modifiedllvm/lib/CodeGen/LLVMTargetMachine.cpp
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
Commit 37f2776d1af27a38ba4fabf3b356d71590f70d90 by efriedma
[ConstantFold] Fold binary arithmetic on scalable vector splats.

It's a nice simplification, and it confuses instcombine if we don't do
it.

Differential Revision: https://reviews.llvm.org/D87422
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
Commit a8503b87f739776cc9d5738f69aa0990db952340 by Vitaly Buka
[NFC] Remove unused static function
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Commit 3fdaa8602a086a3fca5f0fc8527536ac659079d0 by Yuanfang Chen
Fix a typo in 31ecf8d29d81d196374a562c6d2bd2c25a62861e
The file was modifiedllvm/include/llvm/CodeGen/CodeGenPassBuilder.h
Commit c931dc0bf596ed0a6c4531b0e1f05bd8bda566a6 by llvmgnsyncbot
[gn build] Port 31ecf8d29d8
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit d751f86189a7f7ef2a6fe06974a5da3349b02f20 by efriedma
[ConstantFold] Make areGlobalsPotentiallyEqual less aggressive.

In particular, we shouldn't make assumptions about globals which are
unnamed_addr: we can fold them together with other globals.

Also while I'm here, use isInterposable() instead of trying to
explicitly name all the different kinds of weak linkage.

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

Differential Revision: https://reviews.llvm.org/D87123
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InstCombine/2010-03-03-ExtElim.ll
The file was modifiedllvm/test/Assembler/ConstantExprNoFold.ll