diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-06-22 20:15:28 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-06-22 20:15:28 +0000 |
commit | 9babdf4265fa2991e835880e1a5f808b2c52a73b (patch) | |
tree | 323b99af5b331cf3415fe56081ba4b0c743eaefb /llvm/lib/ExecutionEngine/ExecutionEngine.cpp | |
parent | f7f7068109262dda7a17155c59df3948fb2be65b (diff) | |
download | llvm-9babdf4265fa2991e835880e1a5f808b2c52a73b.zip llvm-9babdf4265fa2991e835880e1a5f808b2c52a73b.tar.gz llvm-9babdf4265fa2991e835880e1a5f808b2c52a73b.tar.bz2 |
AMDGPU: Fix verifier errors in SILowerControlFlow
The main sin this was committing was using terminator
instructions in the middle of the block, and then
not updating the block successors / predecessors.
Split the blocks up to avoid this and introduce new
pseudo instructions for branches taken with exec masking.
Also use a pseudo instead of emitting s_endpgm and erasing
it in the special case of a non-void return.
llvm-svn: 273467
Diffstat (limited to 'llvm/lib/ExecutionEngine/ExecutionEngine.cpp')
0 files changed, 0 insertions, 0 deletions