我需要什么llvm商店指令模式?

时间:2016-11-17 20:41:00

标签: llvm

我试图制作一个llvm后端,我不知道我需要修复这个错误

define i32 @main() #0 {
%retval = alloca i32, align 4
store i32 0, i32* %retval, align 4
ret i32 0
}

这是我试图处理的问题

{{1}}

但我不知道我需要能够匹配它的dag模式。

包含我的arch支持的一些说明的tablegen文件在https://github.com/jfmherokiller/customllvm/blob/master/llvm/lib/Target/ZCPU/zcpuInstr.td

1 个答案:

答案 0 :(得分:1)

我刚刚弄清楚我正在查看错误的问题

store<ST4[%retval]> t0, Constant:i32<0>, FrameIndex:i64<0>, undef:i64

可以以函数形式表示为store(Constant:i32<0>,FrameIndex:i64<0>)或存储常量i32 0 in 堆栈帧索引0。

我没有得到的信息是FrameIndex:i64<0>与TargetSelectionDAG.td中的这一行直接相关def frameindex :SDNode<"ISD::FrameIndex",SDTPtrLeaf, [],"FrameIndexSDNode">;

所以FrameIndex = frameindex