define i16 @f1() {
bb0:
  br label %bb1

bb1:                                      ; preds = %bb2, %entry
  %retval.0.us = phi i16 [ undef, %bb0 ], [ %retval.1.us, %bb2 ]
  %tobool.us = icmp ne i16 undef, 0
  br i1 %tobool.us, label %bb2, label %bb3

bb2:                                      ; preds = %bb1
  %retval.1.us = select i1 undef, i16 undef, i16 %retval.0.us
  br i1 true, label %bb1, label %bb3

bb3:                                      ; preds = %bb2, %bb1
  %retval.2.ph.us = phi i16 [ %retval.0.us, %bb1 ], [ %retval.1.us, %bb2 ]
  ret i16 %retval.2.ph.us
}







