2002-05-29 05:29:28 +08:00
|
|
|
; This testcase is a distilled form of: 2002-05-28-Crash.ll
|
|
|
|
|
2009-09-12 02:01:28 +08:00
|
|
|
; RUN: opt < %s -adce
|
2016-12-14 00:42:18 +08:00
|
|
|
; RUN: opt < %s -adce -adce-remove-loops -S | FileCheck %s
|
2002-05-29 05:29:28 +08:00
|
|
|
|
2008-03-01 17:15:35 +08:00
|
|
|
define float @test(i32 %i) {
|
|
|
|
%F = sitofp i32 %i to float ; <float> [#uses=1]
|
|
|
|
%I = bitcast i32 %i to i32 ; <i32> [#uses=1]
|
|
|
|
br label %Loop
|
2002-05-29 05:29:28 +08:00
|
|
|
|
2008-03-01 17:15:35 +08:00
|
|
|
Loop: ; preds = %Loop, %0
|
|
|
|
%B = icmp ne i32 %I, 0 ; <i1> [#uses=1]
|
2016-12-14 00:42:18 +08:00
|
|
|
; CHECK: br label %Out
|
2008-03-01 17:15:35 +08:00
|
|
|
br i1 %B, label %Out, label %Loop
|
2002-05-29 05:29:28 +08:00
|
|
|
|
2008-03-01 17:15:35 +08:00
|
|
|
Out: ; preds = %Loop
|
|
|
|
ret float %F
|
2002-05-29 05:29:28 +08:00
|
|
|
}
|
|
|
|
|