summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorNicolai Haehnle <nhaehnle@gmail.com>2016-05-02 17:37:01 +0000
committerNicolai Haehnle <nhaehnle@gmail.com>2016-05-02 17:37:01 +0000
commit119d3d80cbb53ff601f5bf56affb464d3b5f55ea (patch)
tree683002e241fa797689f012ac51e8a443080babcd /llvm/lib
parente951a1d739d6cc7479451d4465f2cf74b41ae374 (diff)
downloadbcm5719-llvm-119d3d80cbb53ff601f5bf56affb464d3b5f55ea.tar.gz
bcm5719-llvm-119d3d80cbb53ff601f5bf56affb464d3b5f55ea.zip
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
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp1
1 files changed, 1 insertions, 0 deletions
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;
}
}
OpenPOWER on IntegriCloud