Changes

Summary

  1. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  2. MemorySSAUpdater.h - reduce unnecessary includes to forward declarations. NFC. (details)
  3. NFC: Formatting fix in TableGEn/OptParserEmitter.cpp (details)
  4. [VE] Support fixed-point operation instructions in MC layer (details)
  5. [lldb] Fix UBSan regression in GetSLEB128 (details)
  6. [mlir] Make PassManager.h self-contained (details)
  7. [InstCombine] Simplify compare of Phi with constant inputs against a constant (details)
  8. [lldb] Handle new BFloat16 type (details)
  9. [ObjectYAML][test] Reuse the chack tag "DWARF-HEADER". NFC. (details)
  10. [mlir][Linalg] Add a hoistRedundantVectorTransfers helper function (details)
  11. [PowerPC][NFC] Add more PC Relative tests (details)
  12. [clang][test] Put output into temp directory (details)
  13. Revert "[InstCombine] Simplify compare of Phi with constant inputs against a constant" (details)
  14. [CodeGen][SVE] Legalisation of extends with scalable types (details)
  15. [mlir][Linalg] Add missing CMake dependency on SCFTransforms (details)
  16. [PowerPC] Remove extra nop after notoc call (details)
  17. [Dexter] Add DexLimitSteps command and ConditionalController (details)
  18. [TargetLowering][NFC] More efficient emitPatchpoint(). (details)
  19. [ARM] Add poly64_t on AArch32. (details)
  20. Remove mention of counter from Archer readme (details)
  21. [MsgPack] Added a convenience operator (details)
  22. [mlir][Vector] Move temporary alloc to top of the function alloca when lowering vector_transfers (details)
  23. Fix build breakage caused by 66a1b83bf93ec46f6d7a06c47d5981ae154f9ea0 (details)
Commit a30b5c5a51f95dc81fdfbeea42cc01b451cd5a08 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.

Add llvm_unreachable after switch statement for TestLanguage enum
The file was modifiedclang/lib/Testing/CommandLineArgs.cpp
Commit 44d86982d24928879622561e4137c500f2eecdb7 by llvm-dev
MemorySSAUpdater.h - reduce unnecessary includes to forward declarations. NFC.

Remove unnecessary MemoryAccess forward declaration as its already included from MemorySSA.h

Move implicit include dependencies down to source files.
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/include/llvm/Analysis/MemorySSAUpdater.h
Commit ff0eec4c9ee089651ccd804e82c2bdd3703a48e9 by dany.grumberg
NFC: Formatting fix in TableGEn/OptParserEmitter.cpp
The file was modifiedllvm/utils/TableGen/OptParserEmitter.cpp
Commit 58b810b579a8fbe58bac24f7d573f8511c22854c by simon.moll
[VE] Support fixed-point operation instructions in MC layer

Summary:
Add regression tests of asmparser, mccodeemitter, and disassembler for
fixed-point operation instructions.  In order to support them, we add
MImm parser to asmparser.  Also add a new MPD instruction which is one
of multiply instructions.

Differential Revision: https://reviews.llvm.org/D81207
The file was addedllvm/test/MC/VE/ADD.s
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was addedllvm/test/MC/VE/CMP.s
The file was addedllvm/test/MC/VE/MAXMIN.s
The file was addedllvm/test/MC/VE/MUL.s
The file was addedllvm/test/MC/VE/SUB.s
The file was addedllvm/test/MC/VE/DIV.s
The file was modifiedllvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
Commit 846909e2ab0bd279ae2a8ec86074521f59c49eb3 by jan.kratochvil
[lldb] Fix UBSan regression in GetSLEB128

It regressed recently by my: https://reviews.llvm.org/D81119
The file was modifiedlldb/source/Utility/DataExtractor.cpp
Commit 6d15451b175293cc98ef1d0fd9869ac71904e3bd by kadircet
[mlir] Make PassManager.h self-contained

Forward declaring llvm::errs is not enough, as it is used as a default
parameter with a type that references the base class. So the class
hierarchy must be visible.
The file was modifiedmlir/include/mlir/Pass/PassManager.h
Commit 16b7eb6dd1247dbe322061d33636a054d6c954dc by mkazantsev
[InstCombine] Simplify compare of Phi with constant inputs against a constant

We can simplify
```
  icmp <pred> phi(C1, C2, ...), C
```
with
```
  phi(icmp(C1, C), icmp(C2, C), ...)
```
provided that all comparison of constants are constants themselves.

Differential Revision: https://reviews.llvm.org/D81151
Reviewed By: lebedev.ri
The file was modifiedllvm/test/Transforms/InstCombine/icmp-constant-phi.ll
The file was modifiedllvm/test/Transforms/InstCombine/indexed-gep-compares.ll
The file was modifiedllvm/test/Transforms/InstCombine/zext-or-icmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 2af2140983a8de838a93b375121515a6b48524d4 by kadircet
[lldb] Handle new BFloat16 type
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 9bfdf1180744f3fe8fe716fa77eacec1c56f0755 by Xing
[ObjectYAML][test] Reuse the chack tag "DWARF-HEADER". NFC.
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
Commit 6953cf65024395508c464dc78c90b158b3241a3a by ntv
[mlir][Linalg] Add a hoistRedundantVectorTransfers helper function

This revision adds a helper function to hoist vector.transfer_read /
vector.transfer_write pairs out of immediately enclosing scf::ForOp
iteratively, if the following conditions are true:
   1. The 2 ops access the same memref with the same indices.
   2. All operands are invariant under the enclosing scf::ForOp.
   3. No uses of the memref either dominate the transfer_read or are
   dominated by the transfer_write (i.e. no aliasing between the write and
   the read across the loop)

To improve hoisting opportunities, call the `moveLoopInvariantCode` helper
function on the candidate loop above which to hoist. Hoisting the transfers
results in scf::ForOp yielding the value that originally transited through
memory.

This revision additionally exposes `moveLoopInvariantCode` as a helper in
LoopUtils.h and updates SliceAnalysis to support return scf::For values and
allow hoisting across multiple scf::ForOps.

Differential Revision: https://reviews.llvm.org/D81199
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
The file was modifiedmlir/test/Dialect/Linalg/hoisting.mlir
The file was modifiedmlir/include/mlir/Transforms/LoopUtils.h
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgHoisting.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/lib/Transforms/LoopInvariantCodeMotion.cpp
Commit 05e21f8cea272ceb957a932233639e5ee0bd2574 by stefanp
[PowerPC][NFC] Add more PC Relative tests

Modify the pcrel.ll test file to add more testing for PC Relative.
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel.ll
Commit c31d2134639bb87d6705fe8fb1a46de61bc4cebf by kadircet
[clang][test] Put output into temp directory

To unbreak builds that happen on a read-only directory
The file was modifiedclang/test/CodeGen/arm-bf16-softfloat.c
Commit c4b5a66e44f031eb89c9d6ea32b144f1169bdbae by kadircet
Revert "[InstCombine] Simplify compare of Phi with constant inputs against a constant"

This reverts commit 16b7eb6dd1247dbe322061d33636a054d6c954dc.

Breaks build bots, see
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/29888
for an example.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/indexed-gep-compares.ll
The file was modifiedllvm/test/Transforms/InstCombine/zext-or-icmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-constant-phi.ll
Commit 89fc0166f53252956705935bfebbb70f06c47c8e by kerry.mclaughlin
[CodeGen][SVE] Legalisation of extends with scalable types

Summary:
This patch adds legalisation of extensions where the operand
of the extend is a legal scalable type but the result is not.

EXTRACT_SUBVECTOR is used to split the result, before
being replaced by target-specific [S|U]UNPK[HI|LO] operations.

For example:

```
zext <vscale x 16 x i8> %a to <vscale x 16 x i16>
```
should emit:

```
uunpklo z2.h, z0.b
uunpkhi z1.h, z0.b
```

Reviewers: sdesmalen, efriedma, david-arm

Reviewed By: efriedma

Subscribers: tschuett, hiraditya, rkruppe, psnobl, huihuiz, cfe-commits, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79587
The file was modifiedllvm/test/CodeGen/AArch64/sve-sext-zext.ll
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.h
Commit 6b0dfd703ad6621e8ace5d9d5bf4bb321bde0198 by ntv
[mlir][Linalg] Add missing CMake dependency on SCFTransforms
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
Commit 8dbf5a95014f6b52c37ffc50c06cc6a3d13479f6 by stefanp
[PowerPC] Remove extra nop after notoc call

Calls that are marked as @notoc do not require the extra nop after the call
for the TOC restore.

Differential Revision: https://reviews.llvm.org/D81081
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll
Commit c6aa829644f30d5590451b892918298f8117c985 by Tom.Weaver
[Dexter] Add DexLimitSteps command and ConditionalController

* Adds DexLimitSteps Command.
* Add ConditionalController, a new DebuggerController type.
* 5 regression tests
* documentation

* recommit, fixed accidental adding of unnecessary file

Reviewers: jmorse

Differential Revision: https://reviews.llvm.org/D79786
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
The file was modifieddebuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
The file was modifieddebuginfo-tests/dexter/dex/tools/test/Tool.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/DebuggerBase.py
The file was addeddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/ControllerHelpers.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/DefaultController.py
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
The file was addeddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
The file was modifieddebuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
The file was modifieddebuginfo-tests/dexter/Commands.md
The file was modifieddebuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
The file was addeddebuginfo-tests/dexter/dex/command/commands/DexLimitSteps.py
The file was modifieddebuginfo-tests/dexter/dex/command/ParseCommand.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
Commit 66a1b83bf93ec46f6d7a06c47d5981ae154f9ea0 by dantrushin
[TargetLowering][NFC] More efficient emitPatchpoint().

Current implementation of emitPatchpoint() is very inefficient:
for every FrameIndex operand if creates new MachineInstr with
that operand expanded and all other copied as is.
Since PATCHPOINT/STATEPOINT instructions may have *a lot* of
FrameIndex operands, we end up creating and erasing many
machine instructions. But we can do it in single pass, with only
one new machine instruction generated.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D81181
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
Commit 1e447318339a6e740819ec1568002f4751527efe by ties.stuij
[ARM] Add poly64_t on AArch32.

Summary:
The poly64 types are guarded with ifdefs for AArch64 only. This is wrong. This
was also incorrectly documented in the ACLE spec, but this has been rectified in
the latest release. See paragraph 13.1.2 "Vector data types":

https://developer.arm.com/docs/101028/latest

This patch was written by Alexandros Lamprineas.

Reviewers: ostannard, sdesmalen, fpetrogalli, labrinea, t.p.northover, LukeGeeson

Reviewed By: ostannard

Subscribers: pbarrio, LukeGeeson, kristof.beyls, danielkiss, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79711
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
The file was modifiedclang/include/clang/Basic/TargetBuiltins.h
The file was addedclang/test/CodeGen/arm-poly64.c
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit e7577d1d763b16538793b183834c1a2003ca0ddd by protze
Remove mention of counter from Archer readme

The feature was removed before upstreaming Archer, so the documentation is wrong
The file was modifiedopenmp/tools/archer/README.md
Commit f1b2be416dc52d9e2323773c26ba58101acd21ba by Saiyedul.Islam
[MsgPack] Added a convenience operator

Summary: Added "not equal to" operator for DocNode comparison

Reviewers: arsenm, scott.linder, saiislam

Reviewed By: saiislam

Subscribers: wdng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81250
The file was modifiedllvm/unittests/BinaryFormat/MsgPackDocumentTest.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/MsgPackDocument.h
Commit 247e185dd51261c8b8b7f572a3fa64c001e9d2d4 by ntv
[mlir][Vector] Move temporary alloc to top of the function alloca when lowering vector_transfers

Recently introduced allocation hoisting is quite conservative on the cases when it triggers.
This revision makes it such that the allocations for vector transfer lowerings are hoisted
to the top of the function.
This should be revisited in the context of parallelism and is a temporary workaround.

Differential Revision: https://reviews.llvm.org/D81253
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
Commit dae64d8f421c96288cd8cf1acc31ea57a10d4170 by dantrushin
Fix build breakage caused by 66a1b83bf93ec46f6d7a06c47d5981ae154f9ea0
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp