<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal">The problem is with a pattern that has a vt in it: the “vtInt …” printed below the error message.  Could you run llvm-tblgen from a debugger and show the stack trace from where the error occurred?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Consolas">-- </span>
<span style="font-size:9.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:Consolas">Krzysztof Parzyszek 
<a href="mailto:kparzysz@quicinc.com"><span style="color:#0563C1">kparzysz@quicinc.com</span></a>   AI tools development<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> <b>On Behalf Of
</b>Celine via llvm-dev<br>
<b>Sent:</b> Tuesday, November 19, 2019 6:52 AM<br>
<b>To:</b> llvm-dev <llvm-dev@lists.llvm.org><br>
<b>Subject:</b> [EXT] [llvm-dev] Tablegen PAT limitation?<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hello, <o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">def GPR : RegisterClass<"ABC", [v1i16, v1f16], 16, (add<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    IA, IB, IC, ID, IE, IF, IG, IH<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  )>;<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">def MGPR : RegisterClass<"ABC", [v1i16, v1f16], 16, (add<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    IA, IB, IC, ID, IE, IF, IG, IH<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  )>;<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">def SGPR32 : RegisterClass<"ABC", [ i32, f32 ], 32, (add <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    DS0, DS1, DS2, DS3, DS4, DS5, DS6, DS7, DS8, DS9, DS10,DS11,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">              DS12, DS13, DS14, DS15<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  )>;<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">def uimm2 : Operand<i32>, ImmLeaf<i32, [{return isUInt<2>(Imm);}]> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  let ParserMatchClass = UImmAsmOperand<2>;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  let DecoderMethod = "decodeUImmOperand<2>";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">}<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">possible type contradiction in the pattern below (use -print-records with llvm-tblgen to see all expanded records).<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">vtInt:   (vt:{ *:[Other] })<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">UNREACHABLE executed at /home/nancy/rpp_llvm/rpp_clang/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:824!<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">def LOADbos { // Instruction ABCInst ABCInstMMEMrr<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  field bits<32> Inst = { 0, 0, 0, 0, rs1{2}, rs1{1}, rs1{0}, index{0}, 0, 0, 0, 1, 0, rbase{3}, rbase{2}, rbase{1}, rbase{0}, rbase{4}, roffset{4}, roffset{3}, roffset{2}, roffset{1}, roffset{0}, 0, 0, 0, 0, 0, 0, 0, 0, 0 };<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  field bits<32> SoftFail = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  string Namespace = "ABC";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  dag OutOperandList = (outs GPR:$rs1);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  dag InOperandList = (ins SGPR32:$rbase, MGPR:$roffset, uimm2:$rshift);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  string AsmString = "LOAD         [$rbase + ( $roffset << $rshift )], $rs1";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  list<dag> Pattern = [(set v1i16:$rs1, (load (add (v1i32 (bitconvert i32:$rbase)), (shl (v1i32 (sext v1i16:$roffset)), (v1i32 (build_vector uimm2:$rshift))))))];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  list<Register> Uses = [];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  list<Register> Defs = [];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  list<Predicate> Predicates = [];<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-gen-dag-isel -debug<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">PATTERN: (ld:{ *:[v1i16] } (add:{ *:[v1i32] } (shl:{ *:[v1i32] } (sext:{ *:[v1i32] } v1i16:{ *:[v1i16] }:$roffset), (build_vector:{ *:[v1i32] } (imm:{ *:[i32] })<<P:Predicate_uimm2>>:$rshift)), (bitconvert:{ *:[v1i32] } i32:{ *:[i32] }:$rbase)))<<P:Predicate_unindexedload>><<P:Predicate_load>><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">RESULT:  (LOADbos:{ *:[v1i16] } i32:{ *:[i32] }:$rbase, v1i16:{ *:[v1i16] }:$roffset, (imm:{ *:[i32] }):$rshift)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PATTERN: (st v1i16:{ *:[v1i16] }:$rs1, (add:{ *:[v1i32] } v1i32:{ *:[v1i32] }:$roffset, (bitconvert:{ *:[v1i32] } i32:{ *:[i32] }:$rbase)))<<P:Predicate_unindexedstore>><<P:Predicate_store>><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">RESULT:  (STORErr v1i16:{ *:[v1i16] }:$rs1, i32:{ *:[i32] }:$rbase, v1i32:{ *:[v1i32] }:$roffset)<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Type set is empty for each HW mode:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">possible type contradiction in the pattern below (use -print-records with llvm-tblgen to see all expanded records).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">vtInt:   (vt:{ *:[Other] })<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">UNREACHABLE executed at /home/nancy/work/rpp_clang/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:824!<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Any idea to solve this problem?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>