Index: lib/Target/AMDGPU/SIFixSGPRCopies.cpp =================================================================== --- lib/Target/AMDGPU/SIFixSGPRCopies.cpp +++ lib/Target/AMDGPU/SIFixSGPRCopies.cpp @@ -384,7 +384,8 @@ MachineBasicBlock *MBB1 = MI.getOperand(4).getMBB(); MachineBasicBlock *NCD = MDT->findNearestCommonDominator(MBB0, MBB1); - if (NCD && !hasTerminatorThatModifiesExec(*NCD, *TRI)) { + if (NCD && !hasTerminatorThatModifiesExec(*MBB0, *TRI) && + !hasTerminatorThatModifiesExec(*MBB1, *TRI)) { DEBUG(dbgs() << "Not fixing PHI for uniform branch: " << MI << '\n'); break; }