Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SimplifyCFG / preserve-make-implicit-on-switch-to-br.ll
blob6b8c91c7242865d0691872ab68b2f11b4a16b343
1 ; RUN: opt %s -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S | FileCheck %s
3 ; ConstantFoldTerminator function can convert SwitchInst with one case (and default) to
4 ; a conditional BranchInst. This test checks the converted BranchInst preserve the
5 ; make.implicit metadata.
7 declare i32 @consume(ptr)
8 declare void @trap()
10 define i32 @copy-metadata(ptr %x) {
12 entry:
13   %x.int = ptrtoint ptr %x to i64
15 ; CHECK: br i1 %cond, label %is_null, label %default, !make.implicit !0
16   switch i64 %x.int, label %default [
17     i64 0, label %is_null
18   ], !make.implicit !0
20 default:
21   %0 = call i32 @consume(ptr %x)
22   ret i32 %0
24 is_null:
25   call void @trap()
26   unreachable
29 !0 = !{}