<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 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:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        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="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">The unchecked assertion that the same register is not added multiple times to the MBB::LiveIn list isn’t being respected.  Could we add an assertion to check for it?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">==== //dwarc/Tools/MetaWare/Toolset/main/dev/llvm/include/llvm/CodeGen/MachineBasicBlock.h#6 - /remote/arctools/marksl/marksl_1/llvm/include/llvm/CodeGen/MachineBasicBlock.h ====<o:p></o:p></p>
<p class="MsoNormal">295,298d294<o:p></o:p></p>
<p class="MsoNormal"><   /// addLiveIn - Add the specified register as a live in<b>. 
<span style="color:red">Note that it<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="color:red"><   /// is an error to add the same register to the same set more than once</span>.<o:p></o:p></b></p>
<p class="MsoNormal"><   void addLiveIn(unsigned Reg)  { LiveIns.push_back(Reg); }<o:p></o:p></p>
<p class="MsoNormal">< <o:p></o:p></p>
<p class="MsoNormal">306a303,310<o:p></o:p></p>
<p class="MsoNormal">>   /// addLiveIn - Add the specified register as a live in.  Note that it<o:p></o:p></p>
<p class="MsoNormal">>   /// is an error to add the same register to the same set more than once.<o:p></o:p></p>
<p class="MsoNormal">>   void addLiveIn(unsigned Reg)  {<o:p></o:p></p>
<p class="MsoNormal">>     assert(!isLiveIn(Reg));<o:p></o:p></p>
<p class="MsoNormal">>     LiveIns.push_back(Reg);<o:p></o:p></p>
<p class="MsoNormal">>   }<o:p></o:p></p>
<p class="MsoNormal">> <o:p></o:p></p>
<p class="MsoNormal">> <o:p></o:p></p>
<p class="MsoNormal">==== //dwarc/Tools/MetaWare/Toolset/main/dev/llvm/lib/CodeGen/BranchFolding.cpp#8 - /remote/arctools/marksl/marksl_1/llvm/lib/CodeGen/BranchFolding.cpp ====<o:p></o:p></p>
<p class="MsoNormal">386c386<o:p></o:p></p>
<p class="MsoNormal"><       if (RegsLiveAtExit[i])<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">>       if (RegsLiveAtExit[i] && !NewMBB->isLiveIn(i))<o:p></o:p></p>
<p class="MsoNormal">1718,1719c1718,1721<o:p></o:p></p>
<p class="MsoNormal"><       TBB->addLiveIn(Def);<o:p></o:p></p>
<p class="MsoNormal"><       FBB->addLiveIn(Def);<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">>       if (!TBB->isLiveIn(Def)) //SYNOPSYS<o:p></o:p></p>
<p class="MsoNormal">>             TBB->addLiveIn(Def);<o:p></o:p></p>
<p class="MsoNormal">>       if (!FBB->isLiveIn(Def)) //SYNOPSYS<o:p></o:p></p>
<p class="MsoNormal">>             FBB->addLiveIn(Def);<o:p></o:p></p>
<p class="MsoNormal">==== //dwarc/Tools/MetaWare/Toolset/main/dev/llvm/lib/CodeGen/TailDuplication.cpp#6 - /remote/arctools/marksl/marksl_1/llvm/lib/CodeGen/TailDuplication.cpp ====<o:p></o:p></p>
<p class="MsoNormal">798c798<o:p></o:p></p>
<p class="MsoNormal"><         if (!RegsLiveAtExit[*I])<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">>         if (!RegsLiveAtExit[*I] && !PredBB->isLiveIn(*I))<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>