[midend]更新遍静态ID定义方法,
注册遍模板函数重构(针对遍的不同构造方法), 修复phi指令更新引起的旧代码错误, 将CFG优化适配到现有终端框架中, 独立CFG优化方法使得其他优化遍能独立调用, usedelete方法回调取消删除功能。 IRGenerator代码风格修改。
This commit is contained in:
@@ -10,15 +10,12 @@ namespace sysy {
|
||||
class SysYIROptUtils{
|
||||
|
||||
public:
|
||||
// 删除use关系
|
||||
// 根据指令的使用情况删除其所有的use关系
|
||||
// 找到指令的所有使用者,并从它们的使用列表中删除该指令
|
||||
// 仅仅删除use关系
|
||||
static void usedelete(Instruction *instr) {
|
||||
for (auto &use : instr->getOperands()) {
|
||||
Value* val = use->getValue();
|
||||
val->removeUse(use);
|
||||
}
|
||||
instr->getParent()->removeInst(instr); // 从基本块中删除指令
|
||||
}
|
||||
|
||||
// 判断是否是全局变量
|
||||
|
||||
Reference in New Issue
Block a user