<br><br><div class="gmail_quote"><div dir="ltr">On Mon, Sep 4, 2017, 2:26 AM Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu">jan.vesely@rutgers.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, 2017-09-02 at 17:04 +0000, Aaron Watry via Libclc-dev wrote:<br>
> On Fri, Sep 1, 2017, 7:37 PM Jan Vesely via Libclc-dev <<br>
> <a href="mailto:libclc-dev@lists.llvm.org" target="_blank">libclc-dev@lists.llvm.org</a>> wrote:<br>
><br>
> > On Tue, 2017-08-15 at 18:23 -0400, Jan Vesely wrote:<br>
> > > We don't have memory fences for r600 so just call group barrier directly<br>
> > ><br>
> > > Signed-off-by: Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu" target="_blank">jan.vesely@rutgers.edu</a>><br>
> > > ---<br>
> > >  amdgpu/lib/SOURCES                       |  1 -<br>
> > >  amdgpu/lib/synchronization/<a href="http://barrier.cl" rel="noreferrer" target="_blank">barrier.cl</a>    | 10 ----------<br>
> > >  r600/lib/synchronization/barrier_impl.ll | 31<br>
> ><br>
> > +++++--------------------------<br>
> > >  3 files changed, 5 insertions(+), 37 deletions(-)<br>
> > >  delete mode 100644 amdgpu/lib/synchronization/<a href="http://barrier.cl" rel="noreferrer" target="_blank">barrier.cl</a><br>
> > ><br>
> > > diff --git a/amdgpu/lib/SOURCES b/amdgpu/lib/SOURCES<br>
> > > index 9379ad7..f817538 100644<br>
> > > --- a/amdgpu/lib/SOURCES<br>
> > > +++ b/amdgpu/lib/SOURCES<br>
> > > @@ -1,7 +1,6 @@<br>
> > >  atomic/<a href="http://atomic.cl" rel="noreferrer" target="_blank">atomic.cl</a><br>
> > >  math/<a href="http://nextafter.cl" rel="noreferrer" target="_blank">nextafter.cl</a><br>
> > >  math/<a href="http://sqrt.cl" rel="noreferrer" target="_blank">sqrt.cl</a><br>
> > > -synchronization/<a href="http://barrier.cl" rel="noreferrer" target="_blank">barrier.cl</a><br>
> > >  image/<a href="http://get_image_width.cl" rel="noreferrer" target="_blank">get_image_width.cl</a><br>
> > >  image/<a href="http://get_image_height.cl" rel="noreferrer" target="_blank">get_image_height.cl</a><br>
> > >  image/<a href="http://get_image_depth.cl" rel="noreferrer" target="_blank">get_image_depth.cl</a><br>
> > > diff --git a/amdgpu/lib/synchronization/<a href="http://barrier.cl" rel="noreferrer" target="_blank">barrier.cl</a><br>
> ><br>
> > b/amdgpu/lib/synchronization/<a href="http://barrier.cl" rel="noreferrer" target="_blank">barrier.cl</a><br>
> > > deleted file mode 100644<br>
> > > index 6f2900b..0000000<br>
> > > --- a/amdgpu/lib/synchronization/<a href="http://barrier.cl" rel="noreferrer" target="_blank">barrier.cl</a><br>
> > > +++ /dev/null<br>
> > > @@ -1,10 +0,0 @@<br>
> > > -<br>
> > > -#include <clc/clc.h><br>
> > > -<br>
> > > -_CLC_DEF int __clc_clk_local_mem_fence() {<br>
> > > -  return CLK_LOCAL_MEM_FENCE;<br>
> > > -}<br>
> > > -<br>
> > > -_CLC_DEF int __clc_clk_global_mem_fence() {<br>
> > > -  return CLK_GLOBAL_MEM_FENCE;<br>
> > > -}<br>
> > > diff --git a/r600/lib/synchronization/barrier_impl.ll<br>
> ><br>
> > b/r600/lib/synchronization/barrier_impl.ll<br>
> > > index 9b8fefb..777001a 100644<br>
> > > --- a/r600/lib/synchronization/barrier_impl.ll<br>
> > > +++ b/r600/lib/synchronization/barrier_impl.ll<br>
> > > @@ -1,32 +1,11 @@<br>
> > > -declare i32 @__clc_clk_local_mem_fence() #1<br>
> > > -declare i32 @__clc_clk_global_mem_fence() #1<br>
> > >  declare void @llvm.r600.group.barrier() #0<br>
> > ><br>
> > > -define void @barrier(i32 %flags) #2 {<br>
> > > -barrier_local_test:<br>
> > > -  %CLK_LOCAL_MEM_FENCE = call i32 @__clc_clk_local_mem_fence()<br>
> > > -  %0 = and i32 %flags, %CLK_LOCAL_MEM_FENCE<br>
> > > -  %1 = icmp ne i32 %0, 0<br>
> > > -  br i1 %1, label %barrier_local, label %barrier_global_test<br>
> > > -<br>
> > > -barrier_local:<br>
> > > -  call void @llvm.r600.group.barrier()<br>
> > > -  br label %barrier_global_test<br>
> > > -<br>
> > > -barrier_global_test:<br>
> > > -  %CLK_GLOBAL_MEM_FENCE = call i32 @__clc_clk_global_mem_fence()<br>
> > > -  %2 = and i32 %flags, %CLK_GLOBAL_MEM_FENCE<br>
> > > -  %3 = icmp ne i32 %2, 0<br>
> > > -  br i1 %3, label %barrier_global, label %done<br>
> > > -<br>
> > > -barrier_global:<br>
> > > -  call void @llvm.r600.group.barrier()<br>
> > > -  br label %done<br>
> > > -<br>
> > > -done:<br>
> > > +define void @barrier(i32 %flags) #1 {<br>
> > > +entry:<br>
> > > +  ; We should call mem_fence here, but that is not implemented for r600<br>
> ><br>
> > yet<br>
> > > +  tail call void @llvm.r600.group.barrier()<br>
> > >    ret void<br>
> > >  }<br>
> > ><br>
> > >  attributes #0 = { nounwind convergent }<br>
> > > -attributes #1 = { nounwind alwaysinline }<br>
> > > -attributes #2 = { nounwind convergent alwaysinline }<br>
> > > +attributes #1 = { nounwind convergent alwaysinline }<br>
> ><br>
> > ping. these are minor cleanups<br>
> ><br>
><br>
> Sorry, this looks fine to me, and I think it fixes a bug where no barrier<br>
> would get triggered if flags was 0.<br>
<br>
thanks. I've mentioned it in the commit message.<br>
Can I consider it RB? does it cover 1/2 as well?<br></blockquote></div><div><br></div><div>Yeah, 1 looks ok to me as well. Reviewed-by for both.</div><div><br></div><div>--Aaron</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
regards,<br>
Jan<br>
<br>
><br>
> --Aaroon<br>
><br>
> ><br>
> > Jan_______________________________________________<br>
> > Libclc-dev mailing list<br>
> > <a href="mailto:Libclc-dev@lists.llvm.org" target="_blank">Libclc-dev@lists.llvm.org</a><br>
> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev</a><br>
> ><br>
><br>
> _______________________________________________<br>
> Libclc-dev mailing list<br>
> <a href="mailto:Libclc-dev@lists.llvm.org" target="_blank">Libclc-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev</a><br>
<br>
--<br>
Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu" target="_blank">jan.vesely@rutgers.edu</a>></blockquote></div>