[PATCH] D59001: X86TargetLowering::LowerSELECT(): don't promote CMOV's if the subtarget does't have them
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 6 10:04:11 PST 2019
craig.topper added a comment.
The cmoves need to be adjacent going into that pass. Here is the code that detects multiple cmoves in EmitLoweredSelect
if (isCMOVPseudo(MI)) {
// See if we have a string of CMOVS with the same condition. Skip over
// intervening debug insts.
while (NextMIIt != ThisMBB->end() && isCMOVPseudo(*NextMIIt) &&
(NextMIIt->getOperand(3).getImm() == CC ||
NextMIIt->getOperand(3).getImm() == OppCC)) {
LastCMOV = &*NextMIIt;
++NextMIIt;
NextMIIt = skipDebugInstructionsForward(NextMIIt, ThisMBB->end());
}
}
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59001/new/
https://reviews.llvm.org/D59001
More information about the llvm-commits
mailing list