<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 31, 2015, at 9:11 PM, Marcello Maggioni <<a href="mailto:mmaggioni@apple.com" class="">mmaggioni@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Ah, ok, you were referring to the fact that if “we can prove a condition uniform” actually the “control-equivalent locations” category broadens to more basic-blocks than you can actually infer from the shape of the CFG.</span><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">That is certainly true and probably without at least mentioning the concept of “threads” there is no way of define it in a clear way.</div></div></blockquote></div><br class=""><div class="">This is definitely true, and was acknowledged in the design rationale of the convergent attribute.  Convergent is intended to be core restriction that any LLVM transformation can support without having to embed knowledge of any particular SPMD model.  This will obviously be overly constraining compared to what some models may allow, particularly if they have a concept on non-divergent control flow.</div><div class=""><br class=""></div><div class="">It would be totally reasonable for an optimization that embeds knowledge of a more specific SPMD model to perform more aggressive transformations on convergent operations, but in doing so it will be limited to the SPMD model it was designed for.</div><div class=""><br class=""></div><div class="">—Owen</div></body></html>