[LLVMdev] getting error while running tblgen

fima rabin fimarn at yahoo.com
Wed Dec 23 10:18:53 PST 2009


Hi,

I am trying to build a new backend target. First I wanted to start with just one intrinsic function. So I followed (I think I did) the
guidelines about doing.  For some reason I am getting this error message from the tblgen:

                    "In SU_routeInstr: Type inference contradiction found in node imm!"


Here is my 


def Imm8Arg: Operand<i8> {
        let PrintMethod = "print Imm8Arg";
}

// Intrinsic functions
// int_stella_su_route
let  neverHasSideEffects = 1 in {

def SU_routeInstr: MyInst<(outs),(ins Imm8Arg:$inport, Imm8Arg:$outline),
                                "sel\t%o.ww.$outline=%i.ww.$inport",
                                [(int_my_su_route  imm:$inport, imm:$outline)]>;

My intrinsic function is defined this way in the .td file that describes my target intrinsics:

 def int_my_su_route :
              Intrinsic<[llvm_void_ty], [llvm_i8_ty,
                         llvm_i8_ty], [IntrNoMem]>;

This int_my_su_route function is of "void" type and it should take two byte-size immediate arguments.

Can anyone point me to my error? 

Thanks a lot.

-- Fima



      



More information about the llvm-dev mailing list