33 lines
511 B
LLVM
33 lines
511 B
LLVM
|
; RUN: opt < %s -gvn-hoist -S | FileCheck %s
|
||
|
|
||
|
; gvn-hoist shouldn't crash in this case.
|
||
|
; CHECK-LABEL: @func(i1 %b)
|
||
|
; CHECK: entry:
|
||
|
; CHECK-NEXT: br i1
|
||
|
; CHECK: bb1:
|
||
|
; CHECK-NEXT: ret void
|
||
|
; CHECK: bb2:
|
||
|
; CHECK-NEXT: call
|
||
|
; CHECK-NEXT: call
|
||
|
; CHECK-NEXT: ret void
|
||
|
|
||
|
define void @v_1_0() #0 {
|
||
|
entry:
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
define void @func(i1 %b) {
|
||
|
entry:
|
||
|
br i1 %b, label %bb1, label %bb2
|
||
|
|
||
|
bb1:
|
||
|
ret void
|
||
|
|
||
|
bb2:
|
||
|
call void @v_1_0()
|
||
|
call void @v_1_0()
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
attributes #0 = { nounwind readonly }
|