[win/asan] GetInstructionSize: Fix `83 E4 XX` to return 3. (#119644)
[llvm-project.git] / llvm / test / Analysis / MemorySSA / pr43541.ll
blobff35989369b45e54d79e7ae9faa8deb237d8b9e5
1 ; RUN: opt -passes=gvn-hoist -S < %s | FileCheck %s
2 ; REQUIRES: asserts
3 %struct.job_pool.6.7 = type { i32 }
5 ; CHECK-LABEL: @f(i1 %arg)
6 define dso_local void @f(i1 %arg) {
7 entry:
8   br label %for.cond
10 for.cond:                                         ; preds = %for.end, %entry
11   br label %for.body
13 for.body:                                         ; preds = %for.cond
14   br label %if.end
16 if.then:                                          ; No predecessors!
17   br label %if.end
19 if.end:                                           ; preds = %if.then, %for.body
20   br i1 false, label %for.body12.lr.ph, label %for.end
22 for.body12.lr.ph:                                 ; preds = %if.end
23   br label %for.body12
25 for.body12:                                       ; preds = %if.end40, %for.body12.lr.ph
26   br label %if.then23
28 if.then23:                                        ; preds = %for.body12
29   br i1 %arg, label %if.then24, label %if.else
31 if.then24:                                        ; preds = %if.then23
32   %0 = load ptr, ptr undef, align 8
33   br label %if.end40
35 if.else:                                          ; preds = %if.then23
36   %1 = load ptr, ptr undef, align 8
37   br label %if.end40
39 if.end40:                                         ; preds = %if.else, %if.then24
40   br i1 false, label %for.body12, label %for.cond9.for.end_crit_edge
42 for.cond9.for.end_crit_edge:                      ; preds = %if.end40
43   br label %for.end
45 for.end:                                          ; preds = %for.cond9.for.end_crit_edge, %if.end
46   br i1 true, label %if.then45, label %for.cond
48 if.then45:                                        ; preds = %for.end
49   ret void