Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Transforms / InstSimplify / invalid-load-operand-infinite-loop.ll
blob06323267e196bb253840c5724c22d5c2d8c915a8
1 ; RUN: opt -passes=jump-threading -S < %s | FileCheck %s
2 ; CHECK: @main
4 %struct.wobble = type { i8 }
6 define i32 @main() local_unnamed_addr personality ptr undef {
7 bb12:
8   br i1 false, label %bb13, label %bb28
10 bb13:                                             ; preds = %bb12
11   br label %bb14
13 bb14:                                             ; preds = %bb26, %bb13
14   %tmp15 = phi ptr [ %tmp27, %bb26 ], [ undef, %bb13 ]
15   %tmp16 = icmp slt i32 5, undef
16   %tmp17 = select i1 false, i1 true, i1 %tmp16
17   br label %bb18
19 bb18:                                             ; preds = %bb14
20   br i1 %tmp17, label %bb19, label %bb21
22 bb19:                                             ; preds = %bb18
23   %tmp20 = or i32 undef, 4
24   br label %bb21
26 bb21:                                             ; preds = %bb19, %bb18
27   %tmp22 = load i8, ptr %tmp15, align 1
28   br label %bb23
30 bb23:                                             ; preds = %bb21
31   br i1 %tmp17, label %bb24, label %bb25
33 bb24:                                             ; preds = %bb23
34   br label %bb25
36 bb25:                                             ; preds = %bb24, %bb23
37   invoke void undef(ptr undef, i32 0, i32 undef, i8 %tmp22)
38           to label %bb26 unwind label %bb33
40 bb26:                                             ; preds = %bb25
41   %tmp27 = getelementptr inbounds i8, ptr %tmp15, i64 1
42   br label %bb14
44 bb28:                                             ; preds = %bb12
45   unreachable
47 bb33:                                             ; preds = %bb25
48   %tmp34 = landingpad { ptr, i32 }
49           cleanup
50   unreachable