summaryrefslogtreecommitdiff
path: root/kernels/compiler_displacement_map_element.cl
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@intel.com>2013-12-18 07:19:05 +0000
committerZhigang Gong <zhigang.gong@intel.com>2013-12-23 18:41:35 +0800
commit6e2d5ebf0a09590a3365302b088de20841ebd97e (patch)
treeeed6f6a61896d199fb2dbeacc3be798a42ce4963 /kernels/compiler_displacement_map_element.cl
parent64b4ceb4366a99ede6b1f7665166ce121f9aa2a9 (diff)
downloadbeignet-6e2d5ebf0a09590a3365302b088de20841ebd97e.tar.gz
GBE: adjust instruction order for load/function call for vector.
The previous implementation generates code as below: %33 = extractelement <4 x i8> %32, i32 0 %34 = extractelement <4 x i8> %32, i32 1 %35 = extractelement <4 x i8> %32, i32 2 %36 = extractelement <4 x i8> %32, i32 3 %32 = load <4 x i8> addrspace(1)* %31, align 4, !tbaa !3 It may bring some potential problems in the consequent optimization pass. Now fix adjust the extractelement instruction after the load instruction. %32 = load <4 x i8> addrspace(1)* %31, align 4, !tbaa !3 %33 = extractelement <4 x i8> %32, i32 0 %34 = extractelement <4 x i8> %32, i32 1 %35 = extractelement <4 x i8> %32, i32 2 %36 = extractelement <4 x i8> %32, i32 3 This patch also move the dead code elimination pass after the scalarize pass. As after scalarize pass, there may be some opportunity to remove more dead instructions. Signed-off-by: Zhigang Gong <zhigang.gong@intel.com> Reviewed-by: "Yang, Rong R" <rong.r.yang@intel.com>
Diffstat (limited to 'kernels/compiler_displacement_map_element.cl')
0 files changed, 0 insertions, 0 deletions