I am porting llvm backend to our own target backend, which is based on MIPS arch. But I come across a problem when I run “llc -march=(our processor name) sum.ll” at the DAGtoDAG stage: ”LLVM ERROR: can’t select i32=FrameIndex<0> [ID] = 3 “ — zyn -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150202/9db3b261/attachment.html>
This means your backend does not natively support this SDNode. You have to use the DAG Legalizer to either promote, expand, or customize it. See http://llvm.org/docs/CodeGenerator.html#selectiondag-legalizetypes-phase Hope this helps, Ziqiang 2015-02-02 9:55 GMT-05:00 Zhang Yinan <ictzyn at gmail.com>:> I am porting llvm backend to our own target backend, which is based on > MIPS arch. But I come across a problem when I run “llc -march=(our > processor name) sum.ll” at the DAGtoDAG stage: > ”LLVM ERROR: can’t select i32=FrameIndex<0> [ID] = 3 “ > > — zyn > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150202/56643595/attachment.html>
On Mon, Feb 02, 2015 at 10:55:23PM +0800, Zhang Yinan wrote:> I am porting llvm backend to our own target backend, which is based on MIPS arch. But I come across a problem when I run “llc -march=(our processor name) sum.ll” at the DAGtoDAG stage: > ”LLVM ERROR: can’t select i32=FrameIndex<0> [ID] = 3 “ >Have you added any code to YourPortTargetLowering::LowerOperation() to custom lower FrameIndex nodes?> — zyn >> _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev