fix(funcattrs): stackrealign 是 LLVM 字符串属性需带引号,否则 llc 报 expected '{'
This commit is contained in:
1 parent
0d4b7ff491
commit
5d121f7166
1 file changed
+4
-1
@@ -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:
|
||||
|
||||
Reference in new issue
Block a user