remove unnecessary loop

svn: r14231
This commit is contained in:
Matthew Flatt 2009-03-23 13:23:25 +00:00
parent 7e6dc9b40e
commit 1c9f11717c

View File

@ -2903,14 +2903,10 @@ static Scheme_Object *optimize_branch(Scheme_Object *o, Optimize_Info *info)
t = scheme_optimize_expr(t, info);
/* For test position, convert (if <expr> #t #f) to <expr> */
while (1) {
if (SAME_TYPE(SCHEME_TYPE(t), scheme_branch_type)
&& SAME_OBJ(((Scheme_Branch_Rec *)t)->tbranch, scheme_true)
&& SAME_OBJ(((Scheme_Branch_Rec *)t)->fbranch, scheme_false))
t = ((Scheme_Branch_Rec *)t)->test;
else
break;
}
if (SAME_TYPE(SCHEME_TYPE(t), scheme_branch_type)
&& SAME_OBJ(((Scheme_Branch_Rec *)t)->tbranch, scheme_true)
&& SAME_OBJ(((Scheme_Branch_Rec *)t)->fbranch, scheme_false))
t = ((Scheme_Branch_Rec *)t)->test;
if (SCHEME_TYPE(t) > _scheme_compiled_values_types_) {
if (SCHEME_FALSEP(t))