[IR]重构数组地址相关指令
增加GEP指令以及相关方法 新增数组Array Type 删除无用指令(GetSubArray,LA) 删除冗余类定义(Lval) 修复中间代码生成逻辑 测试通过所以test目录下的文件 TODO:后端展开数组计算地址仅需要针对GEP指令展开
This commit is contained in:
@@ -15,7 +15,7 @@ using namespace antlr4;
|
||||
#include "SysYIRPrinter.h"
|
||||
#include "SysYIRCFGOpt.h"
|
||||
#include "RISCv64Backend.h"
|
||||
#include "SysYIRAnalyser.h"
|
||||
// #include "SysYIRAnalyser.h"
|
||||
// #include "DeadCodeElimination.h"
|
||||
#include "AddressCalculationExpansion.h"
|
||||
// #include "Mem2Reg.h"
|
||||
@@ -135,10 +135,10 @@ int main(int argc, char **argv) {
|
||||
SysYCFGOpt cfgopt(moduleIR, builder);
|
||||
cfgopt.SysYOptimizateAfterIR();
|
||||
|
||||
ControlFlowAnalysis cfa(moduleIR);
|
||||
cfa.init();
|
||||
ActiveVarAnalysis ava;
|
||||
ava.init(moduleIR);
|
||||
// ControlFlowAnalysis cfa(moduleIR);
|
||||
// cfa.init();
|
||||
// ActiveVarAnalysis ava;
|
||||
// ava.init(moduleIR);
|
||||
|
||||
if (DEBUG) {
|
||||
cout << "=== After CFA & AVA (Default) ===\n";
|
||||
|
||||
Reference in New Issue
Block a user