libclc: Make all built-ins overloadableThe SPIR spec states that all OpenCL built-in functions should beoverloadable and mangled, to ensure consistency.Add the overload attribute to functions wh
libclc: Make all built-ins overloadableThe SPIR spec states that all OpenCL built-in functions should beoverloadable and mangled, to ensure consistency.Add the overload attribute to functions which were missing them:work dimensions, memory barriers and fences, and events.Reviewed By: tstellar, jenataliDifferential Revision: https://reviews.llvm.org/D82078
show more ...
amdgcn: rewrite barrier() using fence and clang __builtin_amdgcn_s_barrierSpecs require using fences when barrier() is invoked:"The barrier function will either flush any variables stored in local
amdgcn: rewrite barrier() using fence and clang __builtin_amdgcn_s_barrierSpecs require using fences when barrier() is invoked:"The barrier function will either flush any variables stored in local memoryor queue a memory fence to ensure correct ordering of memory operations to local memory."and"The barrier function will queue a memory fence to ensure correct orderingof memory operations to global memory."Signed-off-by: Jan Vesely <[email protected]>Reviewed-by: Aaron Watry <[email protected]>Tested-by: Aaron Watry <[email protected]>llvm-svn: 311022
Split sources for amdgcn and r600Most files remain in a common amdgpu directory.Also switches barriers to to use convergent,and use llvm.amdgcn.s.barrier.This now requires 3.9/trunk to build a
Split sources for amdgcn and r600Most files remain in a common amdgpu directory.Also switches barriers to to use convergent,and use llvm.amdgcn.s.barrier.This now requires 3.9/trunk to build amdgcn.llvm-svn: 260777