xref: /llvm-project/llvm/test/Analysis/MemorySSA/pr43320.ll (revision 1469d82e1cb3edc939d6b93089046edfef0cf36c)
1; RUN: opt -passes=licm -verify-memoryssa -S < %s | FileCheck %s
2; REQUIRES: asserts
3
4target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
5target triple = "aarch64"
6
7; CHECK-LABEL: @e(i1 %arg)
8define void @e(i1 %arg) {
9entry:
10  br label %g
11
12g:                                                ; preds = %cleanup, %entry
13  %0 = load i32, ptr null, align 4
14  %and = and i32 %0, undef
15  store i32 %and, ptr null, align 4
16  br i1 %arg, label %if.end8, label %if.then
17
18if.then:                                          ; preds = %g
19  br i1 %arg, label %k, label %cleanup
20
21k:                                                ; preds = %if.end8, %if.then
22  br i1 %arg, label %if.end8, label %cleanup
23
24if.end8:                                          ; preds = %k, %g
25  br i1 %arg, label %for.cond.preheader, label %k
26
27for.cond.preheader:                               ; preds = %if.end8
28  unreachable
29
30cleanup:                                          ; preds = %k, %if.then
31  br label %g
32}
33
34