<div dir="ltr">My current strategy is to store all the BB in the InfluenceRegion (see the DivergencePropagator) of a divergent branch.<div><br></div><div>Basically, I want an over-approximation of isControlDivergent (or an under approximation of allActive) so that I can introduce barriers, there, safely.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 21, 2017 at 4:21 PM, Alexandre Isoard <span dir="ltr"><<a href="mailto:alexandre.isoard@gmail.com" target="_blank">alexandre.isoard@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>Yes? Where is allActive defined, I couldn't find it.</div><div><br></div><div>Basically, a BB is control divergent if it's execution depends on a branch that itself depends on a divergent ssa value.</div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Fri, Jul 21, 2017 at 4:13 PM, Zaks, Ayal <span dir="ltr"><<a href="mailto:ayal.zaks@intel.com" target="_blank">ayal.zaks@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="m_9107082357495268711m_759481715985135391WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">What would be the definition of “isControlDivergent(BasicBlock<wbr>*)”; the complementary of “allActive(BasicBlock*)” – blocks known to execute all lanes, whenever
 reached? Note the (distinct) term “rewire targets” that Ralf Karrenberg used in his thesis.<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_9107082357495268711_m_759481715985135391__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><a name="m_9107082357495268711_m_759481715985135391______replyseparator"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists<wbr>.llvm.org</a>]
<b>On Behalf Of </b>Alexandre Isoard via llvm-dev<br>
<b>Sent:</b> Friday, July 14, 2017 20:53<br>
<b>To:</b> llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:</b> [llvm-dev] [SPIR/PTX] Divergence analysis for BasicBlocks<u></u><u></u></span></p><div><div class="m_9107082357495268711h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hello,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">It seems to me that our current DivergenceAnalysis does not save which BasicBlocks may suffer from divergent control. Am I correct?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I want to modify our DivergenceAnalysis to add a "bool isControlDivergent(BasicBlock*<wbr>) const" method and save in the divergence propagator the basicblock that are divergent. I am not sure that is entirely correct, if you have input on that
 please let me know.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">That being said, to ease my debugging process I want to introduce a -dot-divergence pass that dump the cfg with divergent basicblocks in red. I was wondering if our dot printer is flexible enough to allow me to also print in color the SSA
 variables that are divergent.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks.<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><b>Alexandre Isoard</b><u></u><u></u></p>
</div>
</div>
</div>
</div>
</div></div></div>
<p>------------------------------<wbr>------------------------------<wbr>---------<br>
Intel Israel (74) Limited</p>

<p>This e-mail and any attachments may contain confidential material for<br>
the sole use of the intended recipient(s). Any review or distribution<br>
by others is strictly prohibited. If you are not the intended<br>
recipient, please contact the sender and delete all copies.</p></div>

</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br><div class="m_9107082357495268711gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><b>Alexandre Isoard</b><br></div></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><b>Alexandre Isoard</b><br></div></div>
</div>