[sanitizer] Improve FreeBSD ASLR detection
[llvm-project.git] / llvm / test / Transforms / SCCP / switch-constantfold-crash.ll
blobeb727fc54c03dbb456f6398eabcd2143aa7fd4f3
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -passes=ipsccp < %s -S | FileCheck %s
4 define void @barney() {
5 ; CHECK-LABEL: @barney(
6 ; CHECK-NEXT:  bb:
7 ; CHECK-NEXT:    br label [[BB9:%.*]]
8 ; CHECK:       bb6:
9 ; CHECK-NEXT:    unreachable
10 ; CHECK:       bb9:
11 ; CHECK-NEXT:    br label [[BB6:%.*]]
13 bb:
14   br label %bb9
16 bb6:                                              ; preds = %bb9
17   unreachable
19 bb7:                                              ; preds = %bb9
20   unreachable
22 bb9:                                              ; preds = %bb
23   switch i16 0, label %bb6 [
24   i16 61, label %bb7
25   ]
28 define void @blam() {
29 ; CHECK-LABEL: @blam(
30 ; CHECK-NEXT:  bb:
31 ; CHECK-NEXT:    br label [[BB16:%.*]]
32 ; CHECK:       bb16:
33 ; CHECK-NEXT:    br label [[BB38:%.*]]
34 ; CHECK:       bb38:
35 ; CHECK-NEXT:    unreachable
37 bb:
38   br label %bb16
40 bb16:                                             ; preds = %bb
41   switch i32 0, label %bb38 [
42   i32 66, label %bb17
43   i32 63, label %bb18
44   i32 86, label %bb19
45   ]
47 bb17:                                             ; preds = %bb16
48   unreachable
50 bb18:                                             ; preds = %bb16
51   unreachable
53 bb19:                                             ; preds = %bb16
54   unreachable
56 bb38:                                             ; preds = %bb16
57   unreachable
61 define void @hoge() {
62 ; CHECK-LABEL: @hoge(
63 ; CHECK-NEXT:  bb:
64 ; CHECK-NEXT:    br label [[BB2:%.*]]
65 ; CHECK:       bb2:
66 ; CHECK-NEXT:    br label [[BB3:%.*]]
67 ; CHECK:       bb3:
68 ; CHECK-NEXT:    unreachable
70 bb:
71   switch i16 undef, label %bb1 [
72   i16 135, label %bb2
73   i16 66, label %bb2
74   ]
76 bb1:                                              ; preds = %bb
77   ret void
79 bb2:                                              ; preds = %bb, %bb
80   switch i16 0, label %bb3 [
81   i16 61, label %bb4
82   i16 54, label %bb4
83   i16 49, label %bb4
84   ]
86 bb3:                                              ; preds = %bb2
87   unreachable
89 bb4:                                              ; preds = %bb2, %bb2, %bb2
90   unreachable