Home | History | Annotate | Download | only in SimplifyCFG
      1 ; RUN: opt %s -simplifycfg -S | FileCheck %s
      2 
      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.
      6 
      7 declare i32 @consume(i32*)
      8 declare void @trap()
      9 
     10 define i32 @copy-metadata(i32* %x) {
     11 
     12 entry:
     13   %x.int = ptrtoint i32* %x to i64
     14   
     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
     19   
     20 default:
     21   %0 = call i32 @consume(i32* %x)
     22   ret i32 %0
     23 
     24 is_null:
     25   call void @trap()
     26   unreachable
     27 }
     28 
     29 !0 = !{}
     30 
     31