Luo Xionghu
Best Regards

-----Original Message-----
From: Song, Ruiling 
Sent: Thursday, June 25, 2015 10:37 AM
To: Luo, Xionghu; [email protected]
Cc: Luo, Xionghu
Subject: RE: [Beignet] [PATCH] don't merge serial blocks with barrier.



> -----Original Message-----
> From: Beignet [mailto:[email protected]] On Behalf 
> Of [email protected]
> Sent: Wednesday, June 24, 2015 4:12 PM
> To: [email protected]
> Cc: Luo, Xionghu
> Subject: [Beignet] [PATCH] don't merge serial blocks with barrier.
> 
> From: Luo Xionghu <[email protected]>
> 
> this could fix the piglit and opencv fail on IVB_x86 platform.
> 1) opencv_test_core/OCL_Arithm/CountNonZero
> 2) opencv_test_core/OCL_Arithm/MeanStdDev
> 3) piglit case program/execute/atomic_cmpxchg-local.
> 
> Signed-off-by: Luo Xionghu <[email protected]>
> ---
>  backend/src/ir/structurizer.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/backend/src/ir/structurizer.cpp 
> b/backend/src/ir/structurizer.cpp index cb8e11b..10faeb6 100644
> --- a/backend/src/ir/structurizer.cpp
> +++ b/backend/src/ir/structurizer.cpp
> @@ -738,7 +738,7 @@ namespace ir {
>        return 0;
> 
>      Block *childBlk = *block->succ_begin();
> -    if (childBlk->pred_size() != 1 )
> +    if (childBlk->pred_size() != 1 || childBlk->hasBarrier() )
>        return 0;
> 
>      BlockList serialBBs;//childBBs

Why barrier have conflict with serial blocks?
>>>Considering below situation: B is the successor is A, and B has a backage to 
>>>A, if B has a barrier, this A and B shouldn't be merged to a self loop 
>>>block, so filter it out to avoid wrong match. 
> --
> 1.9.1
> 
> _______________________________________________
> Beignet mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/beignet
_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to