xref: /llvm-project/llvm/test/Analysis/MemorySSA/pr44029.ll (revision 7f172e82be0fcb4f0ae66f7bb3662d88b479d994)
1; RUN: opt -passes=loop-simplifycfg -verify-memoryssa -S < %s | FileCheck %s
2; REQUIRES: asserts
3
4target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
5target triple = "x86_64-unknown-linux-gnu"
6
7declare i32 @eggs(...)
8
9declare void @spam()
10
11; CHECK-LABEL: @f()
12define void @f() personality ptr @eggs {
13bb:
14  invoke void @spam()
15          to label %bb2 unwind label %bb4
16
17bb2:                                              ; preds = %bb
18  invoke void @spam()
19          to label %bb8 unwind label %bb5
20
21bb4:                                              ; preds = %bb
22  %tmp = landingpad { ptr, i32 }
23          cleanup
24  resume { ptr, i32 } undef
25
26bb5:                                              ; preds = %bb2
27  %tmp6 = landingpad { ptr, i32 }
28          cleanup
29  unreachable
30
31bb8:                                              ; preds = %bb13, %bb2
32  br label %bb10
33
34bb10:                                             ; preds = %bb8
35  invoke void @spam()
36          to label %bb11 unwind label %bb20
37
38bb11:                                             ; preds = %bb10
39  invoke void @spam()
40          to label %bb12 unwind label %bb22
41
42bb12:                                             ; preds = %bb11
43  invoke void @spam()
44          to label %bb13 unwind label %bb24
45
46bb13:                                             ; preds = %bb12
47  br label %bb8
48
49bb20:                                             ; preds = %bb10
50  %tmp21 = landingpad { ptr, i32 }
51          cleanup
52  unreachable
53
54bb22:                                             ; preds = %bb11
55  %tmp23 = landingpad { ptr, i32 }
56          cleanup
57  unreachable
58
59bb24:                                             ; preds = %bb12
60  %tmp25 = landingpad { ptr, i32 }
61          cleanup
62  unreachable
63}
64