SuccessChanges

Summary

  1. [MC] Inline MCExpr::printVariantKind & remove UseParensForSymbolVariantBit (details)
  2. [ARM][LowOverheadLoops] Use iterator for InsertPt. (details)
  3. [sanitizer] Fix SymbolizedStack leak (details)
  4. [ORC][examples] Remove ThinLtoJIT example after LLJITWithThinLTOSummaries landed in OrcV2Examples (details)
  5. [ORC][examples] Temporarily remove LLJITWithChildProcess until ORC TPC lands (details)
  6. [ARM][LowOverheadLoops] Start insertion point (details)
  7. [ARM][LowOverheadLoops] Iteration count liveness (details)
  8. [NFC] Iterate across an explicit list of scalable MVTs when driving setOperationAction. (details)
  9. [SVE][CodeGen] Legalisation of integer -> floating point conversions (details)
  10. [ARM][LowOverheadLoops] Adjust Start insertion. (details)
Commit 1e8fbb3b745916160a35a6af4dfdba9bbe26c730 by i
[MC] Inline MCExpr::printVariantKind & remove UseParensForSymbolVariantBit

Note, MAI may be nullptr in -show-encoding.
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was modifiedllvm/lib/MC/MCExpr.cpp
Commit dfa2c14b8fe8166ff9ff951b8b70a2004401d0db by sam.parker
[ARM][LowOverheadLoops] Use iterator for InsertPt.

Use a MachineBasicBlock::iterator instead of a MachineInstr* for the
position of our LoopStart instruction. NFCish, as it change debug
info.
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
Commit 456974ac78f107d74b6db35401aff5ac4ab2665d by Vitaly Buka
[sanitizer] Fix SymbolizedStack leak
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
Commit e5795a1b364d6d19cd557a3a6d38759eb9d8631f by Stefan Gränitz
[ORC][examples] Remove ThinLtoJIT example after LLJITWithThinLTOSummaries landed in OrcV2Examples

The ThinLtoJIT example was aiming to utilize ThinLTO summaries and concurrency in ORC for speculative compilation. The latter is heavily dependent on asynchronous task scheduling which is probably done better out-of-tree with a mature library like Boost-ASIO. The pure utilization of ThinLTO summaries in ORC is demonstrated in OrcV2Examples/LLJITWithThinLTOSummaries.
The file was removedllvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.h
The file was removedllvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.h
The file was removedllvm/examples/ThinLtoJIT/ThinLtoModuleIndex.cpp
The file was modifiedllvm/examples/CMakeLists.txt
The file was removedllvm/examples/ThinLtoJIT/ThinLtoModuleIndex.h
The file was removedllvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.cpp
The file was removedllvm/examples/ThinLtoJIT/ThinLtoJIT.cpp
The file was removedllvm/examples/ThinLtoJIT/main.cpp
The file was removedllvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.cpp
The file was removedllvm/examples/ThinLtoJIT/CMakeLists.txt
The file was removedllvm/examples/ThinLtoJIT/ThinLtoJIT.h
The file was removedllvm/examples/ThinLtoJIT/bench
Commit 306571cc4642c4e443c8cb0593a2b595ef96580e by Stefan Gränitz
[ORC][examples] Temporarily remove LLJITWithChildProcess until ORC TPC lands

This solves a phase ordering problem: OrcV2 remote process support depends on OrcV2 removable code, OrcV2 removable code depends on OrcV1 removal, OrcV1 removal depends on LLJITWithChildProcess migration, and LLJITWithChildProcess migration depends on OrcV2 TargetProcessControl support.
The file was removedllvm/examples/OrcV2Examples/LLJITWithChildProcess/LLJITWithChildProcess.cpp
The file was removedllvm/examples/OrcV2Examples/LLJITWithChildProcess/CMakeLists.txt
The file was modifiedllvm/examples/OrcV2Examples/CMakeLists.txt
The file was removedllvm/examples/OrcV2Examples/LLJITWithChildProcess/RemoteJITUtils.h
Commit 7b90516d479ca6aadf4e261747d62c854d6f5463 by sam.parker
[ARM][LowOverheadLoops] Start insertion point

If possible, try not to move the start position earlier than it
already is.

Differential Revision: https://reviews.llvm.org/D88542
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir
Commit 6ec5f324973dfbe7b4a489593dde5073ff63ff64 by sam.parker
[ARM][LowOverheadLoops] Iteration count liveness

Before deciding to insert a [W|D]LSTP, check that defining LR with
the element count won't affect any other instructions that should be
taking the iteration count.

Differential Revision: https://reviews.llvm.org/D88549
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
Commit 8931c3d682763e6129f8d05ebe4e3b8dcc3e08e2 by paul.walker
[NFC] Iterate across an explicit list of scalable MVTs when driving setOperationAction.

Iterating across all of integer_scalable_vector_valuetypes seems
wasteful when there's only a handful we care about.

Also removes some rouge whitespace.

Differential Revision: https://reviews.llvm.org/D88552
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 75db7cf78ad5138e767b8d04c9a758009191ee0c by kerry.mclaughlin
[SVE][CodeGen] Legalisation of integer -> floating point conversions

Splitting the operand of a scalable [S|U]INT_TO_FP results in a
concat_vectors operation where the operands are unpacked FP
scalable vectors (e.g. nxv2f32).
This patch adds custom lowering of concat_vectors which
checks that the number of operands is 2, and isel patterns
to match concat_vectors of scalable FP types with uzp1.

Reviewed By: efriedma, paulwalker-arm

Differential Revision: https://reviews.llvm.org/D88033
The file was modifiedllvm/test/CodeGen/AArch64/sve-split-fcvt.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit 38f625d0d1360b035271422bab922d22ed04d79a by sam.parker
[ARM][LowOverheadLoops] Adjust Start insertion.

Try to move the insertion point to become the terminator of the
block, usually the preheader.

Differential Revision: https://reviews.llvm.org/D88638
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fma-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-threshold.ll