diff options
| author | Marek Olsak <marek.olsak@amd.com> | 2016-01-13 17:23:12 +0000 |
|---|---|---|
| committer | Marek Olsak <marek.olsak@amd.com> | 2016-01-13 17:23:12 +0000 |
| commit | 3c0ebc71f13c382ef8b5819605f335a818e51083 (patch) | |
| tree | dc4cb8a9530a05d1bea698e4c0d96a93474d3c64 /llvm/lib | |
| parent | 8e9cc63bfbb3152d4bbf86838c8b68109237dae7 (diff) | |
| download | bcm5719-llvm-3c0ebc71f13c382ef8b5819605f335a818e51083.tar.gz bcm5719-llvm-3c0ebc71f13c382ef8b5819605f335a818e51083.zip | |
AMDGPU/SI: Remove ending s_endpgm from non-void functions
Reviewers: tstellarAMD, arsenm
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D16035
llvm-svn: 257623
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIInsertWaits.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp b/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp index d3b41797871..94e614750d2 100644 --- a/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp +++ b/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp @@ -494,6 +494,14 @@ bool SIInsertWaits::runOnMachineFunction(MachineFunction &MF) { // Wait for everything at the end of the MBB Changes |= insertWait(MBB, MBB.getFirstTerminator(), LastIssued); + + // Functions returning something shouldn't contain S_ENDPGM, because other + // bytecode will be appended after it. + if (!ReturnsVoid) { + MachineBasicBlock::iterator I = MBB.getFirstTerminator(); + if (I != MBB.end() && I->getOpcode() == AMDGPU::S_ENDPGM) + I->eraseFromParent(); + } } return Changes; |

