diff --git a/App/lib/core/Gen/FuncGenBase.vp b/App/lib/core/Gen/FuncGenBase.vp index 02ad7c1..2791c4d 100644 --- a/App/lib/core/Gen/FuncGenBase.vp +++ b/App/lib/core/Gen/FuncGenBase.vp @@ -200,7 +200,10 @@ class FuncGenBase(CallGenBase.CallGenBase): # jmp 进入(rsp≡0 mod 16),而 llc 按 call 约定假设入口 rsp≡8 → 帧整体 # 偏 8 → 所有调用 rsp≡8 → 变参函数保存 xmm 的 movaps #GP。stackrealign # 使序言动态对齐,与入口约定无关(sched started 后 movaps #GP 根因)。 - llvm_name = "stackrealign" + # 注意:stackrealign 是 LLVM 字符串属性,必须带引号("stackrealign"), + # 与 noinline/nounwind 等枚举属性(无引号)区分,否则 llc 报 + # "expected '{' in function body"。 + llvm_name = '"stackrealign"' elif string.strcmp(attr_name, "willreturn") == 0: llvm_name = "willreturn" elif string.strcmp(attr_name, "mustprogress") == 0: