<div dir="ltr">Hi all,<br><br>I  started to write an LLVM backend for custom CPU. I 
created XXXInstrInfo but there are some problems. I searched for it but I
 couldn't find anything. Can anyone help me?<br><br>include "XXXInstrFormats.td"<br>def simm16 : Operand<i32> {<br>    let DecoderMethod = "DecodeSimm16";<br>}<br>def mem : Operand<i32> {<br>
    let PrintMethod = "printMemOperand";<br>    let MIOperandInfo = (ops GPRegs, GPRegs);<br>    let EncoderMethod = "getMemEncoding";<br>}<br>def addr : ComplexPattern<i32, 2, "SelectAddr", [frameindex], [SDNPWantParent]>;<br>
 <br>def LDRAM : FG1<0b000001, (outs GPRegs:$dst), (ins mem:$src), "ldram $dst,$src", [(set GPRegs:$dst, (load addr:$src))]>;<br>def STRAM : FG1<0b000010, (outs), (ins GPRegs:$src, mem:$dst), "stram $dst,$src", [(store GPRegs:$src, addr:$dst)]>;<br>
def
 ADD : FG2<0b000000, (outs GPRegs:$dst), (ins GPRegs:$src1, 
GPRegs:$src2), "add $dst,$src1,$src2", [(set GPRegs:$dst, (add 
GPRegs:$src1, GPRegs:$src2))]>;<br><br>Error Message:<br>LDRAM: (set 
GPRegs:{i32:f32}:$dst, (ld:{i32:f32} 
addr:iPTR:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>)<br>Included from /home/jwon/Desktop/llvmTest/llvm-3.4/lib/Target/XXX/XXXOther.td:10:<br>Included from /home/jwon/Desktop/llvmTest/llvm-3.4/lib/Target/XXX/XXX.td:1:<br>
/home/jwon/Desktop/llvmTest/llvm-3.4/lib/Target/XXX/XXXInstrInfo.td:34:1: error: In LDRAM: Could not infer all types in pattern!<br>def LDRAM : FG1<0b000001, (outs GPRegs:$dst), (ins mem:$src), "ldram $dst,$src", [(set GPRegs:$dst, (load addr:$src))]>;<br>
^<br>STRAM: (st GPRegs:{i32:f32}:$src, addr:iPTR:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><br>Included from /home/jwon/Desktop/llvmTest/llvm-3.4/lib/Target/XXX/XXXOther.td:10:<br>Included from /home/jwon/Desktop/llvmTest/llvm-3.4/lib/Target/XXX/XXX.td:1:<br>
/home/jwon/Desktop/llvmTest/llvm-3.4/lib/Target/XXX/XXXInstrInfo.td:36:1: error: In STRAM: Could not infer all types in pattern!<br>def STRAM : FG1<0b000010, (outs), (ins GPRegs:$src, mem:$dst), "stram $dst,$src", [(store GPRegs:$src, addr:$dst)]>;<br>
^<br><br>Thanks in advance.<br><br><br></div>