增加Reg2Mem,但是会生成死存储指令,需要死代码删除支持识别死存储指令

This commit is contained in:
rain2133
2025-06-25 13:17:16 +08:00
parent 3dc7c274cf
commit 050113d31d
5 changed files with 161 additions and 13 deletions

View File

@@ -0,0 +1,23 @@
#pragma once
#include "IR.h"
#include "IRBuilder.h"
namespace sysy {
/**
* Reg2Mem(后端未做phi指令翻译)
*/
class Reg2Mem {
private:
Module *pModule;
IRBuilder *pBuilder;
public:
Reg2Mem(Module *pMoudle, IRBuilder *pBuilder) : pModule(pMoudle), pBuilder(pBuilder) {}
void DeletePhiInst();
// 删除UD关系, 因为删除了phi指令会修改ud关系
void usedelete(Instruction *instr);
};
} // namespace sysy