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");