<div dir="ltr"><div>Andrew,<br><br>I would not make the caller pass the description of the IR unit. That is because it would result in the description generated every time even if <span class="" style="" id=":wo.1" tabindex="-1">OptBisect</span> is disabled. Description generation is not very chip.<br></div><div>Thinking on the <span class="" style="" id=":wo.2" tabindex="-1">OptBisect</span> extension, I believe passing the units are the right choice because <span class="" style="" id=":wo.3" tabindex="-1">OptPassGates</span> may use them to make pass skipping decisions.<br></div><div><br></div>-<span class="" style="" id=":wo.4" tabindex="-1">Yevgeny</span> <span class="" style="" id=":wo.5" tabindex="-1">Rouban</span><br><div>-----------------------------------------------------------<br><p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><b><span style="font-size:11pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11pt;font-family:"Calibri",sans-serif"> <span class="" style="" id=":wo.6" tabindex="-1">llvm</span>-<span class="" style="" id=":wo.7" tabindex="-1">dev</span> [<a href="mailto:llvm-dev-bounces@lists.llvm.org" style="color:rgb(5,99,193);text-decoration:underline"><span class="" style="" id=":wo.8" tabindex="-1">mailto</span>:<span class="" style="" id=":wo.9" tabindex="-1">llvm</span>-<span class="" style="" id=":wo.10" tabindex="-1">dev</span>-bounces@lists.<span class="" style="" id=":wo.11" tabindex="-1">llvm</span>.org</a>]
<b>On Behalf Of </b><span class="" style="" id=":wo.12" tabindex="-1">Kaylor</span>, Andrew via <span class="" style="" id=":wo.13" tabindex="-1">llvm</span>-<span class="" style="" id=":wo.14" tabindex="-1">dev</span><br>
<b>Sent:</b> Thursday, March 22, 2018 3:52 AM<br>
<b>To:</b> David <span class="" style="" id=":wo.15" tabindex="-1">Blaikie</span> <<a href="mailto:dblaikie@gmail.com" style="color:rgb(5,99,193);text-decoration:underline"><span class="" style="" id=":wo.16" tabindex="-1">dblaikie</span>@gmail.com</a>>;
<span class="" style="" id=":wo.17" tabindex="-1">llvm</span>-<span class="" style="" id=":wo.18" tabindex="-1">dev</span> <<a href="mailto:llvm-dev@lists.llvm.org" style="color:rgb(5,99,193);text-decoration:underline"><span class="" style="" id=":wo.19" tabindex="-1">llvm</span>-<span class="" style="" id=":wo.20" tabindex="-1">dev</span>@lists.<span class="" style="" id=":wo.21" tabindex="-1">llvm</span>.org</a>>;
Friedman, Eli <<a href="mailto:efriedma@codeaurora.org" style="color:rgb(5,99,193);text-decoration:underline"><span class="" style="" id=":wo.22" tabindex="-1">efriedma</span>@<span class="" style="" id=":wo.23" tabindex="-1">codeaurora</span>.org</a>><br>
<b>Subject:</b> Re: [<span class="" style="" id=":wo.24" tabindex="-1">llvm</span>-<span class="" style="" id=":wo.25" tabindex="-1">dev</span>] Opt Bisect layering<span></span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">There is a patch under review right now from someone who wants
to provide a mechanism to replace <span class="" style="" id=":wo.26" tabindex="-1">OptBisect</span> as the pass gate keeping mechanism.<span></span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><span> </span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><a href="https://reviews.llvm.org/D44464" style="color:rgb(5,99,193);text-decoration:underline">https://reviews.<span class="" style="" id=":wo.27" tabindex="-1">llvm</span>.org/D44464</a><span></span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><span> </span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Possibly we could take this opportunity to move <span class="" style="" id=":wo.28" tabindex="-1">OptBisect</span> to a
different layer, though I don’t know where else it would belong.<span></span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><span> </span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">The other possibility is that we could have the caller pass in a
description instead of a pointer to the pass and the IR unit. <span class="" style="" id=":wo.29" tabindex="-1">OptBisect</span> isn’t
doing anything with them other than building a string for output.<span></span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><span> </span></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">-Andy<span></span></span></p>





<br></div></div>