summaryrefslogtreecommitdiffstats
path: root/llvm/utils/FileUpdate/FileUpdate.cpp
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-04-29 23:12:53 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-04-29 23:12:53 +0000
commit919bb6b83fde6117b430dcb7b3ecfe9fea3d7fe9 (patch)
treed3cc3320d424d1b756af22315e495ccb0a646315 /llvm/utils/FileUpdate/FileUpdate.cpp
parent58ac7440e6c64f3924dc425b2625dfaf7c9e25fd (diff)
downloadbcm5719-llvm-919bb6b83fde6117b430dcb7b3ecfe9fea3d7fe9.tar.gz
bcm5719-llvm-919bb6b83fde6117b430dcb7b3ecfe9fea3d7fe9.zip
R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors
SI_IF and SI_ELSE are terminators which also produce a value. For these instructions ISel always inserts a COPY to move their value to another basic block. This COPY ends up between SI_(IF|ELSE) and the S_BRANCH* instruction at the end of the block. This breaks MachineBasicBlock::getFirstTerminator() and also the machine verifier which assumes that terminators are grouped together at the end of blocks. To solve this we coalesce the copy away right after ISel to make sure there are no instructions in between terminators at the end of blocks. llvm-svn: 207591
Diffstat (limited to 'llvm/utils/FileUpdate/FileUpdate.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud