; This shouldn't crash ; RUN: llc < %s -march=alpha @.str_4 = external global [44 x i8] ; <[44 x i8]*> [#uses=0] declare void @printf(i32, ...) define void @main() { entry: %tmp.11861 = icmp slt i64 0, 1 ; <i1> [#uses=1] %tmp.19466 = icmp slt i64 0, 1 ; <i1> [#uses=1] %tmp.21571 = icmp slt i64 0, 1 ; <i1> [#uses=1] %tmp.36796 = icmp slt i64 0, 1 ; <i1> [#uses=1] br i1 %tmp.11861, label %loopexit.2, label %no_exit.2 no_exit.2: ; preds = %entry ret void loopexit.2: ; preds = %entry br i1 %tmp.19466, label %loopexit.3, label %no_exit.3.preheader no_exit.3.preheader: ; preds = %loopexit.2 ret void loopexit.3: ; preds = %loopexit.2 br i1 %tmp.21571, label %no_exit.6, label %no_exit.4 no_exit.4: ; preds = %loopexit.3 ret void no_exit.6: ; preds = %no_exit.6, %loopexit.3 %tmp.30793 = icmp sgt i64 0, 0 ; <i1> [#uses=1] br i1 %tmp.30793, label %loopexit.6, label %no_exit.6 loopexit.6: ; preds = %no_exit.6 %Z.1 = select i1 %tmp.36796, double 1.000000e+00, double 0x3FEFFF7CEDE74EAE; <double> [#uses=2] tail call void (i32, ...)* @printf( i32 0, i64 0, i64 0, i64 0, double 1.000000e+00, double 1.000000e+00, double %Z.1, double %Z.1 ) ret void }