summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-03-24 19:52:05 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-03-24 19:52:05 +0000
commitb8f8dbc227e8d08d6685bb2bc3131ac86e3ac24e (patch)
treebc699fbcc8daebe4e572a7841766102ebba64788 /llvm/include
parentcbc69712da58c6e9a4d72fe37e829bb27409d3b8 (diff)
downloadbcm5719-llvm-b8f8dbc227e8d08d6685bb2bc3131ac86e3ac24e.tar.gz
bcm5719-llvm-b8f8dbc227e8d08d6685bb2bc3131ac86e3ac24e.zip
AMDGPU: Unify divergent function exits.
StructurizeCFG can't handle cases with multiple returns creating regions with multiple exits. Create a copy of UnifyFunctionExitNodes that only unifies exit nodes that skips exit nodes with uniform branch sources. llvm-svn: 298729
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/IR/IntrinsicsAMDGPU.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
index 3f6fa3a0c68..d825a4c373a 100644
--- a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+++ b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -705,6 +705,9 @@ def int_amdgcn_loop : Intrinsic<[llvm_i1_ty],
def int_amdgcn_end_cf : Intrinsic<[], [llvm_i64_ty], [IntrConvergent]>;
+// Represent unreachable in a divergent region.
+def int_amdgcn_unreachable : Intrinsic<[], [], [IntrConvergent]>;
+
// Emit 2.5 ulp, no denormal division. Should only be inserted by
// pass based on !fpmath metadata.
def int_amdgcn_fdiv_fast : Intrinsic<
OpenPOWER on IntegriCloud