From 4f4842ae3aae0dfa44b9e956690b4a2e1c9f2f5e Mon Sep 17 00:00:00 2001 From: mxr <> Date: Thu, 9 Apr 2026 16:05:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(mir)=E4=BF=AE=E5=A4=8D=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=BA=8F=E8=A8=80=E6=8F=92=E5=85=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mir/FrameLowering.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mir/FrameLowering.cpp b/src/mir/FrameLowering.cpp index 62d7ccb..53c256a 100644 --- a/src/mir/FrameLowering.cpp +++ b/src/mir/FrameLowering.cpp @@ -42,13 +42,19 @@ void RunFrameLowering(MachineFunction& function) { // 基本块 const auto& blocks = function.GetBasicBlocks(); - + bool firstBlock = true; + for (const auto& bb : blocks) { DEBUG_MSG("block"); auto& insts = bb->GetInstructions(); std::vector lowered; - DEBUG_MSG("empalace Prologue"); - lowered.emplace_back(Opcode::Prologue); + // 输出基本块标签(非第一个基本块) + if (firstBlock) { + DEBUG_MSG("empalace Prologue"); + lowered.emplace_back(Opcode::Prologue); + } + firstBlock = false; + // 输出基本块中的指令 for (const auto& inst : insts) { DEBUG_MSG("inst");