[llvm-dev] [SPIR/PTX] Divergence analysis for BasicBlocks

Alexandre Isoard via llvm-dev llvm-dev at lists.llvm.org
Fri Jul 21 08:28:47 PDT 2017


My current strategy is to store all the BB in the InfluenceRegion (see the
DivergencePropagator) of a divergent branch.

Basically, I want an over-approximation of isControlDivergent (or an under
approximation of allActive) so that I can introduce barriers, there, safely.

On Fri, Jul 21, 2017 at 4:21 PM, Alexandre Isoard <
alexandre.isoard at gmail.com> wrote:

> Hello,
>
> Yes? Where is allActive defined, I couldn't find it.
>
> Basically, a BB is control divergent if it's execution depends on a branch
> that itself depends on a divergent ssa value.
>
> On Fri, Jul 21, 2017 at 4:13 PM, Zaks, Ayal <ayal.zaks at intel.com> wrote:
>
>> What would be the definition of “isControlDivergent(BasicBlock*)”; 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.
>>
>>
>>
>> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of *Alexandre
>> Isoard via llvm-dev
>> *Sent:* Friday, July 14, 2017 20:53
>> *To:* llvm-dev <llvm-dev at lists.llvm.org>
>> *Subject:* [llvm-dev] [SPIR/PTX] Divergence analysis for BasicBlocks
>>
>>
>>
>> Hello,
>>
>>
>>
>> It seems to me that our current DivergenceAnalysis does not save which
>> BasicBlocks may suffer from divergent control. Am I correct?
>>
>>
>>
>> I want to modify our DivergenceAnalysis to add a "bool
>> isControlDivergent(BasicBlock*) 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.
>>
>>
>>
>> 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.
>>
>>
>>
>> Thanks.
>>
>>
>>
>> --
>>
>> *Alexandre Isoard*
>>
>> ---------------------------------------------------------------------
>> Intel Israel (74) Limited
>>
>> This e-mail and any attachments may contain confidential material for
>> the sole use of the intended recipient(s). Any review or distribution
>> by others is strictly prohibited. If you are not the intended
>> recipient, please contact the sender and delete all copies.
>>
>
>
>
> --
> *Alexandre Isoard*
>



-- 
*Alexandre Isoard*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170721/6ac22550/attachment.html>


More information about the llvm-dev mailing list