FailedChanges

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

Summary

  1. [mlir][ODS][NFC] Mark OpaqueType as a buildable type. (details)
  2. [mlir][DeclarativeParser] Move operand type resolution into a functor to (details)
  3. [lldb] Make gdbremote.py utility py2and3 compatible (details)
  4. [NFC][mlir] Adding some helpful EDSC intrinsics (details)
  5. [mlir] Add elementAttr to TypedArrayAttrBase. (details)
  6. [DebugInfo] Fix dumping CIE ID in .eh_frame sections. (details)
  7. Don't call memcpy(p, 0, 0). (details)
  8. [clangd] Query constructors in the index during rename. (details)
  9. [lldb] Clean up ProcessGDBRemote::DidLaunchOrAttach (details)
  10. [LLD][ELF][ARM] Do not substitute BL/BLX for non STT_FUNC symbols. (details)
  11. [NFC][llvm-exegesis] Docs/help: opcode-index=-1 means measure everything (details)
  12. [ARM] Extra vmovn tests to show BE differences. NFC (details)
  13. [ARM] Fix ReconstructShuffle for bigendian (details)
  14. Fix unneeded semi column (details)
  15. [AArch64][SVE] Add mul/mla/mls lane & dup intrinsics (details)
  16. [AArch64] Fix BTI landing pad generation. (details)
  17. [clang] stop baremetal driver to append .a to lib (details)
  18. Fix the mac buildbot failure. (details)
  19. Re-revert: Recover debug intrinsics when killing duplicated/empty blocks (details)
  20. [clangd] Print the Spelled RefKind. (details)
  21. [debuginfo-tests] Fix Dexter process creation failure on Windows (details)
  22. [analyzer] StdLibraryFunctionsChecker: Use platform dependent EOF and UCharMax (details)
  23. [PowerPC] Exploit VSX rounding instrs for rint (details)
  24. Rework go bindings so that validation works fine (details)
Commit c74150e75f69de88bb18b0ed636465db1bae23b4 by riddleriver
[mlir][ODS][NFC] Mark OpaqueType as a buildable type.

This allows for using it in the declarative assembly form, among other
things.
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit a134ccbbebe6e4e7cfd11a5583a7e1786a22505a by riddleriver
[mlir][DeclarativeParser] Move operand type resolution into a functor to
share code.

This reduces the duplication for the two different cases.
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit cb6c9f731b657807124bcb5a6c1f8aecf25f120b by pavel
[lldb] Make gdbremote.py utility py2and3 compatible
The file was modifiedlldb/examples/python/gdbremote.py
Commit 005b720373f163b153957d35db24722b8f72ad9b by zinenko
[NFC][mlir] Adding some helpful EDSC intrinsics

Differential Revision: https://reviews.llvm.org/D74119
The file was modifiedmlir/include/mlir/EDSC/Builders.h
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was modifiedmlir/include/mlir/EDSC/Intrinsics.h
The file was modifiedmlir/lib/Dialect/StandardOps/EDSC/Intrinsics.cpp
Commit 2e8c112ecf562afdd8a6b3c3467571233b9b55ae by zinenko
[mlir] Add elementAttr to TypedArrayAttrBase.

In code generators, one can automate the translation of typed ArrayAttrs
if element attribute translators are already implemented. However, the
type of the element attribute is lost at the construction of
TypedArrayAttrBase. With this change one can inspect the element type
and generate the translation logic automatically, which will reduce the
code repetition.

Differential Revision: https://reviews.llvm.org/D73579
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit 2ba4df6c1177bd279ae3111ef2e0b0130faa3ead by ikudrin
[DebugInfo] Fix dumping CIE ID in .eh_frame sections.

We do not keep the actual value of the CIE ID field, because it is
predefined, and use a constant when dumping a CIE record. The issue
was that the predefined value is different for .debug_frame and
.eh_frame sections, but we always printed the one which corresponds
to .debug_frame. The patch fixes that by choosing an appropriate
constant to print.

See the following for more information about .eh_frame sections:
https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html

Differential Revision: https://reviews.llvm.org/D73627
The file was modifiedllvm/test/tools/llvm-objdump/eh_frame_zero_cie.test
The file was modifiedlld/test/ELF/eh-frame-hdr-augmentation.s
The file was modifiedllvm/test/MC/X86/return-column.s
The file was modifiedllvm/test/DebugInfo/RISCV/eh-frame.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/eh-frame-return-address-reg.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
The file was modifiedllvm/test/tools/llvm-objdump/eh_frame-mipsel.test
The file was modifiedllvm/test/MC/Mips/eh-frame.s
The file was modifiedllvm/test/tools/llvm-objdump/eh_frame-coff.test
The file was modifiedllvm/test/tools/llvm-objdump/eh_frame-arm64.test
Commit c1394afb8df6445b46f42546588f59668bd39ac6 by richard
Don't call memcpy(p, 0, 0).

Found by UBSan, reported by Kostya. Thanks!
The file was modifiedclang/lib/AST/NestedNameSpecifier.cpp
Commit 2c5ee78de113484978450b834498e1b0e2aab5c4 by hokein.wu
[clangd] Query constructors in the index during rename.

Summary:
Though this is not needed when using clangd's own index, other indexes
(e.g. kythe) need it, as classes and their constructors are different
symbols, otherwise we will miss renaming constructors.

Reviewers: kbobyrev

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74411
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit 5d3926a5a287618fea772c5be689f6c9fc2f6fc3 by pavel
[lldb] Clean up ProcessGDBRemote::DidLaunchOrAttach

- reduce indentation by removing the defensive
  GetID()!=INVALID_PROCESS_ID check -- this function is only called when
  an attach or launch succeeds
- replace LLDB_LOGF with LLDB_LOG
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Commit 29c13615576b80129c8167df1d77f1ce98a97ae7 by peter.smith
[LLD][ELF][ARM] Do not substitute BL/BLX for non STT_FUNC symbols.

Recommit of 0b4a047bfbd11fe1f5abda8da0e2391c1918162a
(reverted in c29003813ab9bd6ea7b6de40ea8f1fe21979f13f) to incorporate
subsequent fix and add a warning when LLD's interworking behavior has
changed.

D73474 disabled the generation of interworking thunks for branch
relocations to non STT_FUNC symbols. This patch handles the case of BL and
BLX instructions to non STT_FUNC symbols. LLD would normally look at the
state of the caller and the callee and write a BL if the states are the
same and a BLX if the states are different.

This patch disables BL/BLX substitution when the destination symbol does
not have type STT_FUNC. This brings our behavior in line with GNU ld which
may prevent difficult to diagnose runtime errors when switching to lld.

This change does change how LLD handles interworking of symbols that do not
have type STT_FUNC from previous versions including the 10.0 release. This
brings LLD in line with ld.bfd but there may be programs that have not been
linked with ld.bfd that depend on LLD's previous behavior. We emit a warning
when the behavior changes.

A summary of the difference between 10.0 and 11.0 is that for symbols
that do not have a type of STT_FUNC LLD will not change a BL to a BLX or
vice versa. The table below enumerates the changes
| relocation     | STT_FUNC | bit(0) | in  | 10.0- out | 11.0+ out |
| R_ARM_CALL     | no       | 1      | BL  | BLX       | BL        |
| R_ARM_CALL     | no       | 0      | BLX | BL        | BLX       |
| R_ARM_THM_CALL | no       | 1      | BLX | BL        | BLX       |
| R_ARM_THM_CALL | no       | 0      | BL  | BLX       | BL        |

Differential Revision: https://reviews.llvm.org/D73542
The file was addedlld/test/ELF/arm-thumb-interwork-abs.s
The file was modifiedlld/test/ELF/arm-thumb-interwork-notfunc.s
The file was modifiedlld/test/ELF/arm-undefined-weak.s
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was modifiedlld/test/ELF/arm-thumb-undefined-weak.s
Commit cc5549dbc2f4f3189bb655fb19a257cfbe7d6dab by lebedev.ri
[NFC][llvm-exegesis] Docs/help: opcode-index=-1 means measure everything
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-exegesis.rst
Commit 6505124a0c7c648560aad88bac103b0738a8b5f0 by david.green
[ARM] Extra vmovn tests to show BE differences. NFC
The file was addedllvm/test/CodeGen/ARM/neon-vmovn.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovn.ll
Commit 9d4c59754110647f8cc8cdd4fef3114843c91d17 by david.green
[ARM] Fix ReconstructShuffle for bigendian

Simon pointed out that this function is doing a bitcast, which can be
incorrect for big endian. That makes the lowering of VMOVN in MVE
wrong, but the function is shared between Neon and MVE so both can
be incorrect.

This attempts to fix things by using the newly added VECTOR_REG_CAST
instead of the BITCAST. As it may now be used on Neon, I've added the
relevant patterns for it there too. I've also added a quick dag combine
for it to remove them where possible.

Differential Revision: https://reviews.llvm.org/D74485
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovn.ll
The file was modifiedllvm/test/CodeGen/ARM/neon-vmovn.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrNEON.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit 961aeb7a15584d5e5d9848f7844ecba9a2d608c2 by noreply
Fix unneeded semi column
The file was modifiedlibc/test/src/string/memory_utils/utils_test.cpp
Commit 671cbc1fbba049ec2343cdcff069ce59c0160e31 by kerry.mclaughlin
[AArch64][SVE] Add mul/mla/mls lane & dup intrinsics

Summary:
Implements the following intrinsics:
- @llvm.aarch64.sve.dup
- @llvm.aarch64.sve.mul.lane
- @llvm.aarch64.sve.mla.lane
- @llvm.aarch64.sve.mls.lane

Reviewers: c-rhodes, sdesmalen, dancgr, efriedma, rengolin

Reviewed By: sdesmalen

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74222
The file was addedllvm/test/CodeGen/AArch64/sve2-intrinsics-int-mul-lane.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit d5a186a60014dc1a8c979c978cb32aba7ecb9102 by oliver.stannard
[AArch64] Fix BTI landing pad generation.

In some cases BTI landing pad is inserted even compatible instruction
was there already. Meta instruction does not count in this case
therefore skip them in the check for first instructions in the function.

Differential revision: https://reviews.llvm.org/D74492
The file was modifiedllvm/lib/Target/AArch64/AArch64BranchTargets.cpp
The file was modifiedllvm/test/CodeGen/AArch64/branch-target-enforcement.mir
Commit c49866acceb1ffbcc0f723993648f0678e92a91c by 19784376+cddouma
[clang] stop baremetal driver to append .a to lib

When the clang baremetal driver selects the rt.builtins static library
it prefix with "-l" and appends ".a". The result is a nonsense option
which lld refuses to accept.

Differential Revision: https://reviews.llvm.org/D73904

Change-Id: Ic753b6104e259fbbdc059b68fccd9b933092d828
The file was modifiedclang/test/Driver/arm-compiler-rt.c
The file was modifiedclang/test/Driver/baremetal.cpp
The file was modifiedclang/lib/Driver/ToolChains/BareMetal.cpp
Commit 9f63255a742d7ec542f94e0265eac5147213d9f8 by hokein.wu
Fix the mac buildbot failure.
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit 9bda7ab8353b21cfc8ffcc08faf1667ba658f25e by stozer
Re-revert: Recover debug intrinsics when killing duplicated/empty blocks

This reverts commit 61b35e4111160fe834a00c33d040e01150b576ac.

This commit causes a timeout in chromium builds; likely to have a
similar cause to the previous timeout issue caused by this commit (see
6ded69f294a9 for more details). It is possible that there is no way to
fix this bug that will not cause this issue; further investigations as
to the efficiency of handling large amounts of debug info will be
necessary.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-else.ll
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-empty.ll
Commit b1309a18ba7314332cf05a40f48db4d42a51f214 by hokein.wu
[clangd] Print the Spelled RefKind.
The file was modifiedclang-tools-extra/clangd/index/Ref.cpp
Commit 26f6aa9e3ba47c5ccb9d837310b59a5087549b7d by jeremy.morse
[debuginfo-tests] Fix Dexter process creation failure on Windows

When writing the Windows dbgeng driver for Dexter, I couldn't work out why it
would either launch a process and leave it free running, or if I started the
process suspended, never do anything with it. The result was a hack to create
and attach processes manually. This has been flaking out on Reids Windows
buildbot, and clearly wasn't a good solution.

Digging into this, it turns out that the "normal" cdb / windbg behaviour of
breaking whenever we attach to a process is not the default: it has to be
explicitly requested from the debug engine. This patch does so (by setting
DEBUG_ENGOPT_INITIAL_BREAK in the engine options), after which we can simply
call "CreateProcessAndAttach2" and everything automagically works.

No test for this behaviour: everything was just broken before.

Differential Revision: https://reviews.llvm.org/D74409
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/setup.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/README.md
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/client.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/control.py
Commit 536456a7e93d73b9ff4e92f3e51d1aa1c72628fe by gabor.marton
[analyzer] StdLibraryFunctionsChecker: Use platform dependent EOF and UCharMax

Summary:
Both EOF and the max value of unsigned char is platform dependent. In this
patch we try our best to deduce the value of EOF from the Preprocessor,
if we can't we fall back to -1.

Reviewers: Szelethus, NoQ

Subscribers: whisperity, xazax.hun, kristof.beyls, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalh

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74473
The file was addedclang/test/Analysis/std-c-library-functions-eof.c
The file was modifiedclang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Commit 87c773082a8d76f1d4b0d74386fcf01205b5f14a by qiucofan
[PowerPC] Exploit VSX rounding instrs for rint

Exploit native VSX rounding instruction, x(v|s)r(d|s)pic, which does
rounding using current rounding mode.

According to C standard library, rint may raise INEXACT exception while
nearbyint won't.

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D72685
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/vector-rounding-ops.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mi-peephole-splat.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-rounding-ops.ll
Commit e8f8873da5eaad187f82dad78ebdb3ab3df22b36 by sguelton
Rework go bindings so that validation works fine

Basically change the layout to please `go build` and remove references to
`llvm-go`.

Update llvm/test/Bindings/Go/ to use the system go compiler

Differential Revision: https://reviews.llvm.org/D74540
The file was modifiedllvm/test/Bindings/Go/go.test
The file was removedllvm/bindings/go/llvm/InstrumentationBindings.h
The file was addedllvm/bindings/go/src/llvm/bitwriter.go
The file was removedllvm/bindings/go/llvm/version.go
The file was addedllvm/bindings/go/src/llvm/ir.go
The file was removedllvm/bindings/go/llvm/target.go
The file was removedllvm/bindings/go/llvm/ir.go
The file was removedllvm/bindings/go/llvm/bitreader.go
The file was removedllvm/bindings/go/llvm/executionengine.go
The file was removedllvm/bindings/go/llvm/llvm_dep.go
The file was addedllvm/bindings/go/src/llvm/bitreader.go
The file was removedllvm/bindings/go/llvm/transforms_instrumentation.go
The file was addedllvm/bindings/go/src/llvm/transforms_pmbuilder.go
The file was removedllvm/bindings/go/llvm/transforms_scalar.go
The file was modifiedllvm/test/Bindings/Go/lit.local.cfg
The file was removedllvm/bindings/go/build.sh
The file was addedllvm/bindings/go/src/llvm/llvm_config.go.in
The file was addedllvm/bindings/go/src/llvm/InstrumentationBindings.h
The file was addedllvm/bindings/go/src/llvm/support.go
The file was addedllvm/bindings/go/src/llvm/string_test.go
The file was addedllvm/bindings/go/src/llvm/executionengine_test.go
The file was addedllvm/bindings/go/src/llvm/IRBindings.h
The file was removedllvm/bindings/go/llvm/support.go
The file was addedllvm/bindings/go/src/llvm/string.go
The file was removedllvm/bindings/go/llvm/transforms_coroutines.go
The file was addedllvm/bindings/go/src/llvm/transforms_ipo.go
The file was addedllvm/bindings/go/src/llvm/IRBindings.cpp
The file was addedllvm/bindings/go/src/llvm/version.go
The file was removedllvm/bindings/go/llvm/ir_test.go
The file was removedllvm/bindings/go/llvm/IRBindings.cpp
The file was modifiedllvm/utils/lit/lit/llvm/subst.py
The file was modifiedllvm/test/lit.cfg.py
The file was removedllvm/bindings/go/llvm/InstrumentationBindings.cpp
The file was removedllvm/bindings/go/llvm/IRBindings.h
The file was addedllvm/bindings/go/src/llvm/SupportBindings.h
The file was addedllvm/bindings/go/src/llvm/target.go
The file was removedllvm/bindings/go/llvm/linker.go
The file was addedllvm/bindings/go/src/llvm/dibuilder.go
The file was addedllvm/bindings/go/src/llvm/SupportBindings.cpp
The file was removedllvm/bindings/go/llvm/bitwriter.go
The file was addedllvm/bindings/go/src/llvm/llvm_dep.go
The file was removedllvm/bindings/go/llvm/transforms_pmbuilder.go
The file was addedllvm/bindings/go/src/llvm/analysis.go
The file was removedllvm/bindings/go/llvm/transforms_ipo.go
The file was addedllvm/bindings/go/src/llvm/transforms_scalar.go
The file was addedllvm/bindings/go/src/llvm/executionengine.go
The file was removedllvm/bindings/go/llvm/llvm_config.go.in
The file was removedllvm/bindings/go/llvm/string_test.go
The file was removedllvm/bindings/go/llvm/SupportBindings.cpp
The file was addedllvm/bindings/go/src/llvm/transforms_instrumentation.go
The file was removedllvm/bindings/go/llvm/executionengine_test.go
The file was removedllvm/bindings/go/llvm/string.go
The file was removedllvm/bindings/go/llvm/analysis.go
The file was removedllvm/bindings/go/llvm/SupportBindings.h
The file was removedllvm/bindings/go/llvm/dibuilder.go
The file was addedllvm/bindings/go/src/llvm/InstrumentationBindings.cpp
The file was addedllvm/bindings/go/src/llvm/ir_test.go
The file was addedllvm/bindings/go/src/llvm/transforms_coroutines.go
The file was addedllvm/bindings/go/src/llvm/linker.go