From 119d3d80cbb53ff601f5bf56affb464d3b5f55ea Mon Sep 17 00:00:00 2001 From: Nicolai Haehnle Date: Mon, 2 May 2016 17:37:01 +0000 Subject: AMDGPU: llvm.SI.fs.constant is a source of divergence Summary: This intrinsic is used to get flat-shaded fragment shader inputs. Those are uniform across a primitive, but a fragment shader wave may process pixels from multiple primitives (as indicated by the prim_mask), and so that's where divergence can arise. Reviewers: arsenm, tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19747 llvm-svn: 268259 --- llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/lib') diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp index 39da9ddb69e..fabec277707 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp @@ -260,6 +260,7 @@ static bool isIntrinsicSourceOfDivergence(const TargetIntrinsicInfo *TII, return false; case AMDGPUIntrinsic::SI_tid: case AMDGPUIntrinsic::SI_fs_interp: + case AMDGPUIntrinsic::SI_fs_constant: return true; } } -- cgit v1.2.3