<div class="gmail_quote">Dear all,<br><br>I need your help to understand weird llvm-tblgen behavior. Please take your favourite version of llvm-tblgen and use it in the root directory of the archive attached in both bug reports:<br>
<br><a href="http://llvm.org/bugs/show_bug.cgi?id=15188">http://llvm.org/bugs/show_bug.cgi?id=15188</a><br><a href="http://llvm.org/bugs/show_bug.cgi?id=15189">http://llvm.org/bugs/show_bug.cgi?id=15189</a><br><br>====<br>
1) First test case: crashing<br>
====<br><br>$ ./llvm-tblgen -gen-tgt-intrinsic NVPTX1.td<br><br>assert(iid <= Intrinsic::0  llvm-tblgen     0x00000000005c56b6<br>1  llvm-tblgen     0x00000000005c54b2<br>2  libpthread.so.0 0x00007fc734644a10<br>3  libstdc++.so.6  0x00007fc7345bba5e std::string::_M_data() const + 12<br>

4  libstdc++.so.6  0x00007fc7345bba9c std::string::_M_rep() const + 24<br>5  libstdc++.so.6  0x00007fc7345bba4c std::string::length() const + 24<br>6  llvm-tblgen     0x000000000042507f<br>7  llvm-tblgen     0x000000000051efd9<br>

8  llvm-tblgen     0x000000000051be22<br>9  llvm-tblgen     0x000000000054f4f9<br>10 llvm-tblgen     0x000000000055ce65<br>11 llvm-tblgen     0x000000000054fb50<br>12 libc.so.6       0x00007fc73426ca76 __libc_start_main + 370<br>

13 llvm-tblgen     0x00000000004071f9<br>Stack dump:<br>0.    Program arguments: ./llvm-tblgen -gen-tgt-intrinsic NVPTX1.td <br>Segmentation fault (core dumped)<br><br>====<br>2) Second test case: double inclusion of file, that is definitely included once:<br>

====<br><br>$ ./llvm-tblgen -gen-tgt-intrinsic NVPTX2.td<br>Included from NVPTX2.td:20:<br>NVPTXIntrinsics.td:10:1: error: def 'immFloat0' already defined<br>def immFloat0 : PatLeaf<(fpimm), [{<br>^<br><br>NVPTX1.td differs from NVPTX2.td just in one line:<br>

<br>include "NVPTXIntrinsics.td"<br><br>====<br>Expected behavior<br>====<br><br>1) In first case, where .td file has empty list of intrinsics, the tool should not crash<br>2) In second case there should not me an error message about already defined symbol, because the definition comes from the file, which is included only once.<br>

<br>Could you please confirm these issues or help catching my mistake?<br><br>Thanks,<br>- Dima.<br>
</div><br>