[backend-O1]修复计时函数命名错误的问题
This commit is contained in:
@ -51,6 +51,7 @@ public:
|
||||
Module *pModule, IRBuilder *pBuilder);
|
||||
|
||||
static void initExternalFunction(Module *pModule, IRBuilder *pBuilder);
|
||||
static void modify_timefuncname(Module *pModule);
|
||||
};
|
||||
|
||||
class SysYIRGenerator : public SysYBaseVisitor {
|
||||
|
||||
@ -674,6 +674,8 @@ std::any SysYIRGenerator::visitCompUnit(SysYParser::CompUnitContext *ctx) {
|
||||
pModule->enterNewScope();
|
||||
visitChildren(ctx);
|
||||
pModule->leaveScope();
|
||||
|
||||
Utils::modify_timefuncname(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
|
||||
Reference in New Issue
Block a user