[llvm-dev] what does this error message mean?

Brian G. Lucas via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 2 11:50:23 PST 2019

When I building when using a Debug version, I get this error message:

Type set is empty for each HW mode:
possible type contradiction in the pattern below (use -print-records with 
llvm-tblgen to see all expanded records).
ADJCALLSTACKDOWN: (callseq_start (timm:{ *:[] }):$amt1, (timm:{ *:[i64}):$amt2)
UNREACHABLE executed at 

The input InstrInfo.td has:

def callseq_start : SDNode<"ISD::CALLSEQ_START",
                            SDCallSeqStart<[ SDTCisVT<0, i32>,
                                             SDTCisVT<1, i32> ]>,
                            [SDNPHasChain, SDNPOutGlue]>;

def ADJCALLSTACKDOWN : Pseudo<(outs), (ins i32imm:$amt1, i32imm:$amt2),
			      "# ADJCALLSTACKDOWN $amt1, $amt2",
			      [(callseq_start timm:$amt1, timm:$amt2)]>;

This is pretty much cut/paste from AArch64.  The target arch is 64-bit.

Thanks, brian

More information about the llvm-dev mailing list