Alexandre Isoard via llvm-dev
2017-Jul-14 17:52 UTC
[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* -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170714/f26b4f82/attachment.html>
Zaks, Ayal via llvm-dev
2017-Jul-21 15:13 UTC
[llvm-dev] [SPIR/PTX] Divergence analysis for BasicBlocks
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. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170721/cef73f8a/attachment-0001.html>
Alexandre Isoard via llvm-dev
2017-Jul-21 15:21 UTC
[llvm-dev] [SPIR/PTX] Divergence analysis for BasicBlocks
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* -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170721/7e20e6e2/attachment.html>