[llvm] r257623 - AMDGPU/SI: Remove ending s_endpgm from non-void functions
Marek Olsak via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 13 09:23:12 PST 2016
Author: mareko
Date: Wed Jan 13 11:23:12 2016
New Revision: 257623
URL: http://llvm.org/viewvc/llvm-project?rev=257623&view=rev
Log:
AMDGPU/SI: Remove ending s_endpgm from non-void functions
Reviewers: tstellarAMD, arsenm
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D16035
Modified:
llvm/trunk/lib/Target/AMDGPU/SIInsertWaits.cpp
Modified: llvm/trunk/lib/Target/AMDGPU/SIInsertWaits.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIInsertWaits.cpp?rev=257623&r1=257622&r2=257623&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/SIInsertWaits.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/SIInsertWaits.cpp Wed Jan 13 11:23:12 2016
@@ -494,6 +494,14 @@ bool SIInsertWaits::runOnMachineFunction
// 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;
More information about the llvm-commits
mailing list