SuccessChanges

Summary

  1. [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops (details)
  2. [x86] add AVX shuffle test for PR47262; NFC (details)
  3. [Hexagon] Remove (redundant) HexagonISelLowering::isHvxOperation(SDValue) (details)
  4. [ARM] Additional test for tailpred reductions. NFC (details)
  5. [NewPM][test] Fix accelerate-vector-functions.ll under NPM (details)
  6. [flang] Don't completely left-justify fixed-form tokenization (details)
  7. AArch64: Fix hardcoded register in test (details)
  8. [mlir] NFC: fix typo in FileCheck prefix (details)
  9. [FIX] Avoid creating BFI when emitting remarks for dead functions (details)
  10. [lldb] Don't ask for QOS_CLASS_UNSPECIFIED queue in TestQueues (details)
  11. [lldb] Initialize reproducers in LocateSymbolFileTest (details)
Commit abbd652dd6db94c1f2e851431638830f3ceccbcc by whitneyt
[LoopNest] False negative of `arePerfectlyNested` with LCSSA loops

Summary: The LCSSA pass (required for all loop passes) sometimes adds
additional blocks containing LCSSA variables, and checkLoopsStructure
may return false even when the loops are perfectly nested in this case.
This is because the successor of the exit block of the inner loop now
points to the LCSSA block instead of the latch block of the outer loop.
Examples are shown in the test nests-with-lcssa.ll.

To fix the issue, the successor of the exit block of the inner loop can
now point to a block in which all instructions are LCSSA phi node
(except the terminator), and the sole successor of that block should
point to the latch block of the outer loop.

Reviewed By: Whitney, etiotto

Differential Revision: https://reviews.llvm.org/D86133
The file was addedllvm/test/Analysis/LoopNestAnalysis/nests-with-lcssa.ll
The file was modifiedllvm/lib/Analysis/LoopNestAnalysis.cpp
Commit 21a008bbba74eeda3e8f271c3bba907387621a6e by spatel
[x86] add AVX shuffle test for PR47262; NFC

Goes with D86429
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Commit dcef5e0c376c9ef558186ca8939b857bf7f76d56 by kparzysz
[Hexagon] Remove (redundant) HexagonISelLowering::isHvxOperation(SDValue)

Use isHvxOperation(SDNode*) instead.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
Commit 5b7a889a67f5140cbc5a7c16ef6c4116cddaea57 by david.green
[ARM] Additional test for tailpred reductions. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
Commit 78e4aeb7839e2e44781c8d26a47e006860f751b6 by aeubanks
[NewPM][test] Fix accelerate-vector-functions.ll under NPM

The legacy SLPVectorizer has a dependency on InjectTLIMappingsLegacy.
That cannot be expressed in the new PM since they are both normal
passes. Explicitly add -inject-tli-mappings as a pass.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D86492
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
Commit ba4cc3b38087eb256ef7a93b14dc7d09be15c511 by pklausler
[flang] Don't completely left-justify fixed-form tokenization

If the label field is empty, and macro replacement occurs,
the rescanned text might be misclassified as a comment card
if it happens to begin with a C or a D.  Insert a leading
space into these otherwise empty label fields.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47173
The file was modifiedflang/lib/Parser/prescan.cpp
The file was modifiedflang/lib/Parser/prescan.h
The file was modifiedflang/test/Preprocessing/pp029.F
The file was addedflang/test/Preprocessing/fixed-rescan.F
Commit 1b3de8812df8a009084c554f65e3dafb54732edf by Matthew.Arsenault
AArch64: Fix hardcoded register in test
The file was modifiedllvm/test/CodeGen/AArch64/stack-guard-reassign.ll
Commit 40cbb2484d72faefc9f6cd09548cd24d3fd9e9d5 by ishizaki
[mlir] NFC: fix typo in FileCheck prefix

CHECL -> CHECK

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D86550
The file was modifiedmlir/test/Conversion/StandardToLLVM/calling-convention.mlir
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
Commit ae90df8e5a68c7df4ea3e552dd7f87270fbcb0c7 by hoy
[FIX] Avoid creating BFI when emitting remarks for dead functions

Dead function has its body stripped away, and can cause various
analyses to panic. Also it does not make sense to apply analyses on
such function.

Reviewed By: xazax.hun, MaskRay, wenlei, hoy

Differential Revision: https://reviews.llvm.org/D84715
The file was modifiedllvm/test/LTO/Resolution/X86/dead-strip-fulllto.ll
The file was modifiedllvm/lib/LTO/LTO.cpp
Commit 7de7fe5d0e3f7f4d28e1dde42df4a7defa564f11 by Raphael Isemann
[lldb] Don't ask for QOS_CLASS_UNSPECIFIED queue in TestQueues

TestQueues is curiously failing for me as my queue for QOS_CLASS_UNSPECIFIED
is named "Utility" and not "User Initiated" or "Default". While debugging, this
I noticed that this test isn't actually using this API right from what I understand. The API documentation
for `dispatch_get_global_queue` specifies for the parameter: "You may specify the value
QOS_CLASS_USER_INTERACTIVE, QOS_CLASS_USER_INITIATED, QOS_CLASS_UTILITY, or QOS_CLASS_BACKGROUND."

QOS_CLASS_UNSPECIFIED isn't listed as one of the supported values. swift-corelibs-libdispatch
even checks for this value and returns a DISPATCH_BAD_INPUT. The
libdispatch shipped on macOS seems to also check for QOS_CLASS_UNSPECIFIED and seems to
instead cause a "client crash", but somehow this doesn't trigger in this test and instead we just
get whatever queue

This patch just removes that part of the test as it appears the code is just incorrect.

Reviewed By: jasonmolenda

Differential Revision: https://reviews.llvm.org/D86211
The file was modifiedlldb/test/API/macosx/queues/TestQueues.py
The file was modifiedlldb/test/API/macosx/queues/main.c
Commit ef76686916d40f20c782ed3967130bd2e0105b31 by Raphael Isemann
[lldb] Initialize reproducers in LocateSymbolFileTest

Since a842950b62b6d029a392c3c312c6495d6368c2a4 this test started using
the reproducer subsystem but we never initialized it in the test. The
Subsystem takes an argument, so we can't use the usual SubsystemRAII at the
moment to do this for us.

This just adds the initialize/terminate calls to get the test passing again.
The file was modifiedlldb/unittests/Symbol/LocateSymbolFileTest.cpp