|
|
|
|
@ -896,12 +896,13 @@ namespace SysYF
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
builder->set_insert_point(true_bb); // cond_bb判断域结束,进入true_bb执行体内部
|
|
|
|
|
builder->create_store(result, CONST_INT(true));
|
|
|
|
|
builder->create_store(CONST_INT(true),result);
|
|
|
|
|
builder->create_br(after_bb);
|
|
|
|
|
|
|
|
|
|
builder->set_insert_point(false_bb);
|
|
|
|
|
builder->create_store(result, CONST_INT(false));
|
|
|
|
|
builder->create_store(CONST_INT(false),result);
|
|
|
|
|
builder->create_br(after_bb);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// true_bb和false_bb IR结束后都要无条件br到after_bb
|
|
|
|
|
builder->set_insert_point(after_bb);
|
|
|
|
|
@ -964,11 +965,11 @@ namespace SysYF
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
builder->set_insert_point(true_bb); // cond_bb判断域结束,进入true_bb执行体内部
|
|
|
|
|
builder->create_store(result, CONST_INT(true));
|
|
|
|
|
builder->create_store(CONST_INT(true),result);
|
|
|
|
|
builder->create_br(after_bb);
|
|
|
|
|
|
|
|
|
|
builder->set_insert_point(false_bb);
|
|
|
|
|
builder->create_store(result, CONST_INT(false));
|
|
|
|
|
builder->create_store(CONST_INT(false),result);
|
|
|
|
|
builder->create_br(after_bb);
|
|
|
|
|
|
|
|
|
|
// true_bb和false_bb IR结束后都要无条件br到after_bb
|
|
|
|
|
|