<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=utf-8"><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;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","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.hoenzb
{mso-style-name:hoenzb;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I also confirm this is not dead. It is used in out-of-tree targets, and we have some experiments going on with it right now.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cheers,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Arnaud<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> llvm-commits-bounces@cs.uiuc.edu [mailto:llvm-commits-bounces@cs.uiuc.edu] <b>On Behalf Of </b>David Blaikie<br><b>Sent:</b> 02 September 2014 23:22<br><b>To:</b> Sean Silva<br><b>Cc:</b> llvm-commits@cs.uiuc.edu<br><b>Subject:</b> Re: [llvm] r216918 - unique_ptrify PBQPBuilder::build<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal>On Tue, Sep 2, 2014 at 2:17 PM, Sean Silva <<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>> wrote:<o:p></o:p></p><div><p class=MsoNormal>This PBQP stuff seems to be all dead?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>All untested, not strictly dead. *throws the other shoe at Lang* (I think I threw one a while back about this)<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><p class=MsoNormal><a href="http://llvm.org/reports/coverage/include/llvm/CodeGen/PBQP/index.html" target="_blank">http://llvm.org/reports/coverage/include/llvm/CodeGen/PBQP/index.html</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal><a href="http://llvm.org/reports/coverage/index-sort-f.html" target="_blank">http://llvm.org/reports/coverage/index-sort-f.html</a><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#888888'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#888888'>-- Sean Silva<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#888888'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#888888'><o:p> </o:p></span></p></div></div></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>On Tue, Sep 2, 2014 at 10:42 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<o:p></o:p></p></div><div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal>Author: dblaikie<br>Date: Tue Sep 2 12:42:01 2014<br>New Revision: 216918<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=216918&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=216918&view=rev</a><br>Log:<br>unique_ptrify PBQPBuilder::build<br><br>Modified:<br> llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h<br> llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp<br><br>Modified: llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h<br>URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h?rev=216918&r1=216917&r2=216918&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h?rev=216918&r1=216917&r2=216918&view=diff</a><br>==============================================================================<br>--- llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h (original)<br>+++ llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h Tue Sep 2 12:42:01 2014<br>@@ -123,9 +123,10 @@ namespace llvm {<br><br> /// Build a PBQP instance to represent the register allocation problem for<br> /// the given MachineFunction.<br>- virtual PBQPRAProblem *build(MachineFunction *mf, const LiveIntervals *lis,<br>- const MachineBlockFrequencyInfo *mbfi,<br>- const RegSet &vregs);<br>+ virtual std::unique_ptr<PBQPRAProblem><br>+ build(MachineFunction *mf, const LiveIntervals *lis,<br>+ const MachineBlockFrequencyInfo *mbfi, const RegSet &vregs);<br>+<br> private:<br><br> void addSpillCosts(PBQP::Vector &costVec, PBQP::PBQPNum spillCost);<br>@@ -142,9 +143,10 @@ namespace llvm {<br><br> /// Build a PBQP instance to represent the register allocation problem for<br> /// the given MachineFunction.<br>- PBQPRAProblem *build(MachineFunction *mf, const LiveIntervals *lis,<br>- const MachineBlockFrequencyInfo *mbfi,<br>- const RegSet &vregs) override;<br>+ std::unique_ptr<PBQPRAProblem> build(MachineFunction *mf,<br>+ const LiveIntervals *lis,<br>+ const MachineBlockFrequencyInfo *mbfi,<br>+ const RegSet &vregs) override;<br><br> private:<br><br><br>Modified: llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp<br>URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp?rev=216918&r1=216917&r2=216918&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp?rev=216918&r1=216917&r2=216918&view=diff</a><br>==============================================================================<br>--- llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp (original)<br>+++ llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp Tue Sep 2 12:42:01 2014<br>@@ -183,15 +183,15 @@ unsigned PBQPRAProblem::getPRegForOption<br> return allowedSet[option - 1];<br> }<br><br>-PBQPRAProblem *PBQPBuilder::build(MachineFunction *mf, const LiveIntervals *lis,<br>- const MachineBlockFrequencyInfo *mbfi,<br>- const RegSet &vregs) {<br>+std::unique_ptr<PBQPRAProblem><br>+PBQPBuilder::build(MachineFunction *mf, const LiveIntervals *lis,<br>+ const MachineBlockFrequencyInfo *mbfi, const RegSet &vregs) {<br><br> LiveIntervals *LIS = const_cast<LiveIntervals*>(lis);<br> MachineRegisterInfo *mri = &mf->getRegInfo();<br> const TargetRegisterInfo *tri = mf->getSubtarget().getRegisterInfo();<br><br>- std::unique_ptr<PBQPRAProblem> p(new PBQPRAProblem());<br>+ auto p = llvm::make_unique<PBQPRAProblem>();<br> PBQPRAGraph &g = p->getGraph();<br> RegSet pregs;<br><br>@@ -280,7 +280,7 @@ PBQPRAProblem *PBQPBuilder::build(Machin<br> }<br> }<br><br>- return p.release();<br>+ return p;<br> }<br><br> void PBQPBuilder::addSpillCosts(PBQP::Vector &costVec,<br>@@ -309,12 +309,12 @@ void PBQPBuilder::addInterferenceCosts(<br> }<br> }<br><br>-PBQPRAProblem *PBQPBuilderWithCoalescing::build(MachineFunction *mf,<br>- const LiveIntervals *lis,<br>- const MachineBlockFrequencyInfo *mbfi,<br>- const RegSet &vregs) {<br>+std::unique_ptr<PBQPRAProblem><br>+PBQPBuilderWithCoalescing::build(MachineFunction *mf, const LiveIntervals *lis,<br>+ const MachineBlockFrequencyInfo *mbfi,<br>+ const RegSet &vregs) {<br><br>- std::unique_ptr<PBQPRAProblem> p(PBQPBuilder::build(mf, lis, mbfi, vregs));<br>+ std::unique_ptr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, mbfi, vregs);<br> PBQPRAGraph &g = p->getGraph();<br><br> const TargetMachine &tm = mf->getTarget();<br>@@ -383,7 +383,7 @@ PBQPRAProblem *PBQPBuilderWithCoalescing<br> }<br> }<br><br>- return p.release();<br>+ return p;<br> }<br><br> void PBQPBuilderWithCoalescing::addPhysRegCoalesce(PBQP::Vector &costVec,<br>@@ -579,8 +579,8 @@ bool RegAllocPBQP::runOnMachineFunction(<br> while (!pbqpAllocComplete) {<br> DEBUG(dbgs() << " PBQP Regalloc round " << round << ":\n");<br><br>- std::unique_ptr<PBQPRAProblem> problem(<br>- builder->build(mf, lis, mbfi, vregsToAlloc));<br>+ std::unique_ptr<PBQPRAProblem> problem =<br>+ builder->build(mf, lis, mbfi, vregsToAlloc);<br><br> #ifndef NDEBUG<br> if (pbqpDumpGraphs) {<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><o:p></o:p></p></blockquote></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>