[Beignet] [PATCH V2 2/2] Backend: Add a loop unswitch pass.

2017-05-03 Thread Xiuli Pan
From: Pan Xiuli We found that in some loops there will be constant bool values that do not change with loop, and LLVM can unswitch these bool value out of the loop for less compare. V2: Fix a typo Signed-off-by: Pan Xiuli --- backend/src/llvm/llvm_to_gen.cpp | 1 + 1 file changed, 1 insertion(

[Beignet] [PATCH 2/2] Backend: Add a loop unswitch pass.

2017-05-03 Thread Xiuli Pan
From: Pan Xiuli We found that in some loops there will be constant bool values that do not change with loop, and LLVM can unswitch these bool value out of the loop for less compare. Signed-off-by: Pan Xiuli --- backend/src/llvm/llvm_to_gen.cpp | 1 + 1 file changed, 1 insertion(+) diff --git

[Beignet] [PATCH 1/2] Backend: Refine bool register patch and alloction

2017-05-03 Thread Xiuli Pan
From: Pan Xiuli Bool values can just be flag registers and some operations need grf register to be involved. So we add two kinds of helper register BOOL_BIT and BOOL_UW to handle liveout bool values and bool operations. Signed-off-by: Pan Xiuli --- backend/src/backend/gen_insn_selection.cpp