diff --git a/src/midend/Pass/Optimize/TailCallOpt.cpp b/src/midend/Pass/Optimize/TailCallOpt.cpp index df2d0aa..5fd8ea0 100644 --- a/src/midend/Pass/Optimize/TailCallOpt.cpp +++ b/src/midend/Pass/Optimize/TailCallOpt.cpp @@ -55,8 +55,8 @@ bool TailCallOpt::runOnFunction(Function *F, AnalysisManager &AM) { // 创建一个新的入口基本块,作为循环的前置块 auto original_entry = F->getEntryBlock(); - auto new_entry = F->addBasicBlock("tco.entry"); - auto loop_header = F->addBasicBlock("tco.loop_header"); + auto new_entry = F->addBasicBlock("tco.entry." + F->getName()); + auto loop_header = F->addBasicBlock("tco.loop_header." + F->getName()); // 将原入口块中的所有指令移动到循环头块 loop_header->getInstructions().splice(loop_header->end(), original_entry->getInstructions());