diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-03-24 19:52:05 +0000 | 
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-03-24 19:52:05 +0000 | 
| commit | b8f8dbc227e8d08d6685bb2bc3131ac86e3ac24e (patch) | |
| tree | bc699fbcc8daebe4e572a7841766102ebba64788 /llvm/include | |
| parent | cbc69712da58c6e9a4d72fe37e829bb27409d3b8 (diff) | |
| download | bcm5719-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.td | 3 | 
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< | 

