<br><br><div class="gmail_quote">On Tue, Sep 6, 2011 at 9:34 PM, Alexandru Dura <span dir="ltr"><<a href="mailto:alexdura@gmail.com">alexdura@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi everyone,<br><br>I found some peculiar behavior of TableGen when generating [TARGET]GenRegisterInfo.inc. Some register overlaps are generated twice in this file, leading to a compilation error. </blockquote><div><br></div>

<div>Hi,</div><div><br></div><div>What do you mean "overlapped register"?</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I think this is because in RegisterInfoEmitter.cpp, RegisterAliases are declared as "std::map<Record*, std::set<Record*>, LessRecord>"<br>


<br>and a requirement for std::map is that the comparison function ("LessRecord") should correspond to a strict weak ordering; in this case this points to :  <br><br>   "StringRef1.compare_numeric(StringRef2) < 0"<br>


<br>which does not behave like strict weak ordering predicate on the set of strings. I have attached an example built upon snippets from StringRef.cpp, compiled with gcc version 4.4.5 (Debian 4.4.5-8) (I also saw that there is a workaround for gcc 4.x ...). <br>


<br>Please tell me if I am doing something wrong or this is a real bug. <br><br>Thank you,<br>Alex<br><br>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="font-family:arial, sans-serif;font-size:11px;background-color:rgb(255, 255, 255)">Yours truly,</span><br>Zhang Zuyu(张祖羽)<br><br>-----------------------------------------------------------<br>

College of Computer Science and Technology, Harbin Engineering University</div>
<div><br></div><div style="zoom:100%"></div><br>