summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LowerSwitch/delete-default-block-crash.ll
blob: 23588d56c335aa38bf4fbb623086c0d06386756a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
; RUN: opt < %s -lowerswitch -disable-output

; This test verify -lowerswitch does not crash after deleting the default block.

declare i32 @f(i32)

define i32 @unreachable(i32 %x) {

entry:
  switch i32 %x, label %unreachable [
    i32 5, label %a
    i32 6, label %a
    i32 7, label %a
    i32 10, label %b
    i32 20, label %b
    i32 30, label %b
    i32 40, label %b
  ]
unreachable:
  unreachable
a:
  %0 = call i32 @f(i32 0)
  ret i32 %0
b:
  %1 = call i32 @f(i32 1)
  ret i32 %1
}
OpenPOWER on IntegriCloud