[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / irtranslator-indirect-br-repeated-block.ll
blob70872da376123226ce03f5935ffd6514ce0bf3c7
1 ; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 ; RUN: llc -O0 -mtriple=aarch64-apple-ios -global-isel -stop-after=irtranslator -verify-machineinstrs %s -o - | FileCheck %s
4 ; Make sure that we don't duplicate successors/predecessors when translating
5 ; indirectbr instructions with duplicate block labels.
7 define void @foo() {
8   ; CHECK-LABEL: name: foo
9   ; CHECK: bb.1 (%ir-block.0):
10   ; CHECK:   successors: %bb.2(0x2aaaaaaa), %bb.4(0x2aaaaaaa), %bb.3(0x2aaaaaaa)
11   ; CHECK:   [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF
12   ; CHECK:   G_BRINDIRECT [[DEF]](p0)
13   ; CHECK: bb.2 (%ir-block.1):
14   ; CHECK:   successors:
15   ; CHECK: bb.3 (%ir-block.2):
16   ; CHECK:   successors:
17   ; CHECK: bb.4 (%ir-block.3):
18   ; CHECK:   RET_ReallyLR
19   indirectbr ptr undef, [label %1, label %3, label %2, label %3, label %3]
21   unreachable
23   unreachable
25   ret void