]> granicus.if.org Git - llvm/commit
Merging r266088:
authorTom Stellard <thomas.stellard@amd.com>
Fri, 3 Jun 2016 20:43:01 +0000 (20:43 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 3 Jun 2016 20:43:01 +0000 (20:43 +0000)
commita6e8fb6791f87135e23ef5a601ea9cc8c72c20b9
tree22754aeb497b2df805eae067d0c168feb8eecb1e
parentdbc18f5acc3be34a739b81fb9e6473c21610cc83
Merging r266088:

------------------------------------------------------------------------
r266088 | nhaehnle | 2016-04-12 09:10:38 -0700 (Tue, 12 Apr 2016) | 16 lines

AMDGPU/SI: Fix a mis-compilation of multi-level breaks

Summary:
Under certain circumstances, multi-level breaks (or what is understood by
the control flow passes as such) could be miscompiled in a way that causes
infinite loops, by emitting incorrect control flow intrinsics.

This fixes a hang in
dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations.conditional_continue_vertex

Reviewers: arsenm, tstellarAMD

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D18967

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_38@271730 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
test/CodeGen/AMDGPU/multilevel-break.ll [new file with mode: 0644]