From f99805bf13cc0b91006baf725ae38109e804669a Mon Sep 17 00:00:00 2001 From: Lixuanwang Date: Wed, 20 Aug 2025 12:03:53 +0800 Subject: [PATCH] =?UTF-8?q?[deploy]=E7=A6=81=E7=94=A8=E5=90=8E=E7=AB=AFSim?= =?UTF-8?q?pleRegAlloc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/RISCv64/RISCv64Backend.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/RISCv64/RISCv64Backend.cpp b/src/backend/RISCv64/RISCv64Backend.cpp index 57fb690..1b93ef5 100644 --- a/src/backend/RISCv64/RISCv64Backend.cpp +++ b/src/backend/RISCv64/RISCv64Backend.cpp @@ -268,7 +268,6 @@ std::string RISCv64CodeGen::function_gen(Function* func) { // 阶段 3: 物理寄存器分配 (Register Allocation) bool allocation_succeeded = false; - // 尝试迭代图着色 (IRC) if (!irc_failed) { if (DEBUG) std::cerr << "Attempting Register Allocation with Iterated Register Coloring (IRC)...\n"; @@ -308,6 +307,9 @@ std::string RISCv64CodeGen::function_gen(Function* func) { // 尝试简单图着色 (SGC) if (!allocation_succeeded) { + if (optLevel > 0) { + exit(-1); + } // 如果是从IRC失败回退过来的,需要重新创建干净的mfunc和ISel RISCv64ISel isel_for_sgc; if (irc_failed) {