[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / complex-deinterleaving-crash.ll
blob68cb29f8f5c8f8631ac02d942b4ade2bf41435e7
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2 ; RUN: llc %s --mattr=+complxnum -o - | FileCheck %s
4 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-ni:1-p2:32:8:8:32-ni:2"
5 target triple = "aarch64-none-linux-gnu"
7 ; Check that deinterleaving pass doesn't generate broken IR
8 define void @check_deinterleave_crash() #0 {
9 ; CHECK-LABEL: check_deinterleave_crash:
10 ; CHECK:       // %bb.0: // %bb
11 ; CHECK-NEXT:    mov x8, xzr
12 ; CHECK-NEXT:    str wzr, [x8]
13 bb:
14   br label %bb173
16 bb173:                                            ; preds = %bb173, %bb
17   %phi177 = phi <2 x i32> [ %add190, %bb173 ], [ zeroinitializer, %bb ]
18   %phi178 = phi <2 x i32> [ %add187, %bb173 ], [ zeroinitializer, %bb ]
19   %add185 = add <2 x i32> %phi178, <i32 1, i32 1>
20   %add186 = add <2 x i32> %phi177, <i32 1, i32 1>
21   %shufflevector = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> zeroinitializer
22   %add187 = add <2 x i32> %add185, %shufflevector
23   %shufflevector189 = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> zeroinitializer
24   %add190 = add <2 x i32> %add186, %shufflevector189
25   br i1 poison, label %bb193, label %bb173
27 bb193:                                            ; preds = %bb173
28   %add194 = or <2 x i32> %add190, %add187
29   store volatile i32 0, ptr null, align 4
30   unreachable