SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [NFC][test] Add missing ':' after 'CHECK' (details)
  2. [PowerPC] Add an intrinsic for Popcntb (details)
  3. [ELF] Update release notes and man page for LLD time-trace (details)
  4. [SVE] Fix wrong usage of getNumElements() in matchIntrinsicType (details)
  5. [libcxx][span] trivial whitespace fix to test commit rights (details)
  6. [Sema] Teach -Wcast-align to compute an accurate alignment using the (details)
  7. [lldb] Print full Clang diagnostics when the ClangModulesDeclVendor fails to compile a module (details)
  8. [CSInfo][ISEL] Call site info generation support for Mips (details)
  9. [mlir] LinalgToStandard: add build dependency on MLIRPass (details)
  10. [yaml2obj] - Introduce the "Offset" property for sections. (details)
  11. [llvm-readobj] - --gnu-hash-table: do not crash when the GNU hash table goes past the EOF. (details)
  12. [mlir] Rename conversions involving ex-Loop dialect to mention SCF (details)
  13. [GlobalISel] Update GIComplexOperandMatcher comment; NFC (details)
  14. [LLD][ELF] - Fix section-alignment.test after yaml2obj change. (details)
Commit 67d0e2160c4dcad4182ca05df16264d779e0be59 by djordje.todorovic
[NFC][test] Add missing ':' after 'CHECK'

Without the ':' the check command doesn't do anything.
This typo was introduced along with the commit for the D77789.
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/statistics.ll
Commit 80173566f4855cb98d4d73003d6829111bf96260 by qiucofan
[PowerPC] Add an intrinsic for Popcntb

Summary: This patch adds the intrinsic llvm.ppc.popcntb for the HW
instruction POPCNTB

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D79703
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedllvm/test/CodeGen/PowerPC/popcnt.ll
Commit 85bb9b71b7d42c4e6fff95b715b2eefbd8e4355e by russell.gallop
[ELF] Update release notes and man page for LLD time-trace

Differential Revision: https://reviews.llvm.org/D79780
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/docs/ld.lld.1
Commit 525b8e6dcbbd6e40fd9d91e4ed349a93381c1ccc by david.sherwood
[SVE] Fix wrong usage of getNumElements() in matchIntrinsicType

I have changed the ScalableVecArgument case in matchIntrinsicType
to create a new FixedVectorType. This means that the next case we
hit (Vector) will not assert when calling getNumElements(), since
we know that it's always a FixedVectorType. This is a temporary
measure for now, and it will be fixed properly in another patch
that refactors this code.

The changes are covered by this existing test:

CodeGen/AArch64/sve-intrinsics-fp-converts.ll

In addition, I have added a new test to ensure that we correctly
reject SVE intrinsics when called with fixed length vector types.

Differential Revision: https://reviews.llvm.org/D79416
The file was modifiedllvm/lib/IR/Function.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-bad-intrinsics.ll
Commit f58e78f9920531f85d98e8041f6967eeb1bd0d3a by mschellenbergercosta
[libcxx][span] trivial whitespace fix to test commit rights

Reviewers: #libc!, miscco

Reviewed By: miscco

Subscribers: broadwaylamb, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D79986
The file was modifiedlibcxx/test/std/containers/views/span.cons/container.fail.cpp
Commit 854f5f332af4640d9425e9a94442629e4f5a3f98 by Akira
[Sema] Teach -Wcast-align to compute an accurate alignment using the
alignment information on VarDecls in more cases

This commit improves upon https://reviews.llvm.org/D21099. The code that
computes the source alignment now understands array subscript
expressions, binary operators, derived-to-base casts, and several more
expressions.

rdar://problem/59242343

Differential Revision: https://reviews.llvm.org/D78767
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaCXX/warn-cast-align.cpp
Commit d48ef7cab55878fbb598e7a968b6073f9c7aa9ed by Raphael Isemann
[lldb] Print full Clang diagnostics when the ClangModulesDeclVendor fails to compile a module

Summary:
When the ClangModulesDeclVendor currently fails it just prints very basic and often incomplete diagnostics without any source locations:
```
(lldb) p @import Foundation
error: while importing modules:
'foo/bar.h' file not found
could not build module 'Darwin'
[...]
```
or even just
```
(lldb) p @import Foundation
error: while importing modules:
could not build module 'Darwin'
[...]
```

These diagnostics help neither the user nor us with figuring out what is the reason for the failure.

This patch wires up a full TextDiagnosticPrinter in the ClangModulesDeclVendor and makes
sure we always return the error stream to the user when we fail to compile our modules.

Fixes rdar://63216849

Reviewers: aprantl, jdoerfert

Reviewed By: aprantl

Subscribers: JDevlieghere

Differential Revision: https://reviews.llvm.org/D79947
The file was addedlldb/test/API/lang/objc/modules-compile-error/main.m
The file was addedlldb/test/API/lang/objc/modules-compile-error/module.h
The file was addedlldb/test/API/lang/objc/modules-compile-error/Makefile
The file was addedlldb/test/API/lang/objc/modules-compile-error/module.modulemap
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
The file was addedlldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py
Commit 170ac4be3392201d5f5e124e8a1b7d78de3f82c8 by djordje.todorovic
[CSInfo][ISEL] Call site info generation support for Mips

Debug entry values functionality provides debug information about
call sites and function parameters values at the call entry spot.
Condition for generating this type of information is
compiling with -g option and optimization level higher
than zero(-O0).

In ISEL phase, while lowering call instructions, collect info
about registers that forward arguments into following
function frame. We store such info into MachineFunction of
the caller function. This is used very late, when dumping DWARF
info about call site parameters.

The call site info is visible at MIR level, as callSites attribute
of MachineFunction. Also, when using unmodified parameter value
inside callee it could be described as DW_OP_entry_value expression.
To deal with callSites attribute, we should pass
-emit-call-site-info option to llc.

This patch enables functionality in clang frontend and adds
call site info generation support for MIPS targets
(mips, mipsel, mips64, mips64el).

Patch by Nikola Tesic

Differential Revision: https://reviews.llvm.org/D78105
The file was addedllvm/test/CodeGen/Mips/dbg-call-site-info-reg-d-split.ll
The file was addedllvm/test/DebugInfo/Mips/dw_op_entry_value_64bit.ll
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/lib/Target/Mips/MipsTargetMachine.cpp
The file was addedllvm/test/DebugInfo/Mips/dw_op_entry_value_32bit.ll
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was addedllvm/test/CodeGen/Mips/call-site-info-output.ll
Commit 7fc5f28068d3c9563cbf5b4e5b92b5cfc8958698 by zinenko
[mlir] LinalgToStandard: add build dependency on MLIRPass

This is supposed to resolve the build problem with shared libraries.
The file was modifiedmlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
Commit 7ccae2cece72153d2c8210ef916bf0052da216ad by grimar
[yaml2obj] - Introduce the "Offset" property for sections.

Currently there is no good way to set a physical offset for a section:

* We have the `ShOffset` that allows to override the `sh_offset`, but
  it does not affect the real data written.
* We can use a `Filler` to create an artificial gap, but it is more like a hack
  rather than a proper solution for this problem.

This patch adds the `Offset` property which allows setting physical
offsets for sections.

It also generalizes the code, so that we set sh_offset field in one place

Differential revision: https://reviews.llvm.org/D78927
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was addedllvm/test/tools/yaml2obj/ELF/section-offset.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/custom-null-section.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
Commit 56970ec6a0bed5ba4312872eed13137ca43f67fb by grimar
[llvm-readobj] - --gnu-hash-table: do not crash when the GNU hash table goes past the EOF.

We might have a scenario where a the `GbuHashTable` variable correctly points
to a place inside the file (we validate this fact early in `parseDynamicTable`),
but nbuckets/maskwords fields are broken in the way the code tries
to read the data past the EOF. This patch fixes the issue.

Differential revision: https://reviews.llvm.org/D79853
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.h
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnuhash.test
Commit 4ead2cf76c4a1df260e7dff0fa767074bae6e2b8 by zinenko
[mlir] Rename conversions involving ex-Loop dialect to mention SCF

The following Conversions are affected: LoopToStandard -> SCFToStandard,
LoopsToGPU -> SCFToGPU, VectorToLoops -> VectorToSCF. Full file paths are
affected. Additionally, drop the 'Convert' prefix from filenames living under
lib/Conversion where applicable.

API names and CLI options for pass testing are also renamed when applicable. In
particular, LoopsToGPU contains several passes that apply to different kinds of
loops (`for` or `parallel`), for which the original names are preserved.

Differential Revision: https://reviews.llvm.org/D79940
The file was modifiedmlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/test/Conversion/LoopsToGPU/linalg_to_gpu.mlir
The file was modifiedmlir/test/Conversion/convert-to-cfg.mlir
The file was modifiedmlir/test/mlir-cpu-runner/bare_ptr_call_conv.mlir
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
The file was removedmlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
The file was removedmlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h
The file was removedmlir/include/mlir/Conversion/VectorToLoops/ConvertVectorToLoops.h
The file was removedmlir/include/mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h
The file was addedmlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
The file was removedmlir/lib/Conversion/LoopToStandard/CMakeLists.txt
The file was modifiedflang/tools/tco/CMakeLists.txt
The file was modifiedmlir/test/Conversion/LoopsToGPU/no_blocks_no_threads.mlir
The file was addedmlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
The file was addedmlir/lib/Conversion/SCFToGPU/CMakeLists.txt
The file was addedmlir/test/lib/Transforms/TestVectorToSCFConversion.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/include/mlir/Conversion/SCFToStandard/SCFToStandard.h
The file was addedmlir/lib/Conversion/VectorToSCF/CMakeLists.txt
The file was addedmlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was removedmlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp
The file was modifiedmlir/test/Conversion/LoopsToGPU/step_one.mlir
The file was removedmlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPU.h
The file was modifiedmlir/test/lib/Transforms/TestGpuParallelLoopMapping.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was removedmlir/lib/Conversion/VectorToLoops/CMakeLists.txt
The file was addedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was removedmlir/test/lib/Transforms/TestVectorToLoopsConversion.cpp
The file was removedmlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was addedmlir/lib/Conversion/SCFToStandard/SCFToStandard.cpp
The file was modifiedmlir/test/Conversion/VectorToLoops/vector-to-loops.mlir
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/ParallelLoopMapper.h
The file was removedmlir/lib/Conversion/LoopsToGPU/CMakeLists.txt
The file was modifiedmlir/test/Conversion/LoopsToGPU/step_positive.mlir
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt
The file was addedmlir/lib/Conversion/SCFToStandard/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/SCFToGPU/SCFToGPU.h
The file was removedmlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp
The file was modifiedmlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir
Commit 4549d830184294607d075c993836b5c858e6ad95 by sven.vanhaastregt
[GlobalISel] Update GIComplexOperandMatcher comment; NFC

Update a comment to account for 2deea1878ea ("[globalisel][tablegen]
Revise API for ComplexPattern operands to improve flexibility.",
2017-04-22).
The file was modifiedllvm/include/llvm/Target/GlobalISel/Target.td
Commit 969c63a2ecfb536062ff2174645abe31e4036067 by grimar
[LLD][ELF] - Fix section-alignment.test after yaml2obj change.

yaml2obj changed in rG7ccae2cece72. Previous version of the
yaml produced a different error and a 500mb binary.
The file was modifiedlld/test/ELF/invalid/section-alignment.test