[backend-O1]修复计时函数命名错误的问题
This commit is contained in:
@ -51,6 +51,7 @@ public:
|
|||||||
Module *pModule, IRBuilder *pBuilder);
|
Module *pModule, IRBuilder *pBuilder);
|
||||||
|
|
||||||
static void initExternalFunction(Module *pModule, IRBuilder *pBuilder);
|
static void initExternalFunction(Module *pModule, IRBuilder *pBuilder);
|
||||||
|
static void modify_timefuncname(Module *pModule);
|
||||||
};
|
};
|
||||||
|
|
||||||
class SysYIRGenerator : public SysYBaseVisitor {
|
class SysYIRGenerator : public SysYBaseVisitor {
|
||||||
|
|||||||
@ -674,6 +674,8 @@ std::any SysYIRGenerator::visitCompUnit(SysYParser::CompUnitContext *ctx) {
|
|||||||
pModule->enterNewScope();
|
pModule->enterNewScope();
|
||||||
visitChildren(ctx);
|
visitChildren(ctx);
|
||||||
pModule->leaveScope();
|
pModule->leaveScope();
|
||||||
|
|
||||||
|
Utils::modify_timefuncname(pModule);
|
||||||
return pModule;
|
return pModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2403,4 +2405,12 @@ void Utils::initExternalFunction(Module *pModule, IRBuilder *pBuilder) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Utils::modify_timefuncname(Module *pModule){
|
||||||
|
auto starttimeFunc = pModule->getExternalFunction("starttime");
|
||||||
|
auto stoptimeFunc = pModule->getExternalFunction("stoptime");
|
||||||
|
starttimeFunc->setName("_sysy_starttime");
|
||||||
|
stoptimeFunc->setName("_sysy_stoptime");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace sysy
|
} // namespace sysy
|
||||||
Reference in New Issue
Block a user