[BOLT][NFC] Simplify SW::checkStackPointerRestore
authorAmir Ayupov <aaupov@fb.com>
Thu, 2 Feb 2023 20:03:44 +0000 (12:03 -0800)
committerAmir Ayupov <aaupov@fb.com>
Thu, 2 Feb 2023 20:04:17 +0000 (12:04 -0800)
Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D143117

bolt/lib/Passes/ShrinkWrapping.cpp

index ee71f80..6a7d9f0 100644 (file)
@@ -265,17 +265,11 @@ void StackLayoutModifier::checkStackPointerRestore(MCInst &Point) {
   // value may need to be updated depending on our stack layout changes
   const MCInstrDesc &InstInfo = BC.MII->get(Point.getOpcode());
   unsigned NumDefs = InstInfo.getNumDefs();
-  bool UsesFP = false;
-  for (unsigned I = NumDefs, E = MCPlus::getNumPrimeOperands(Point); I < E;
-       ++I) {
-    MCOperand &Operand = Point.getOperand(I);
-    if (!Operand.isReg())
-      continue;
-    if (Operand.getReg() == BC.MIB->getFramePointer()) {
-      UsesFP = true;
-      break;
-    }
-  }
+  bool UsesFP = llvm::any_of(
+      llvm::drop_begin(MCPlus::primeOperands(Point), NumDefs),
+      [&](MCOperand &Op) {
+        return Op.isReg() && Op.getReg() == BC.MIB->getFramePointer();
+      });
   if (!UsesFP)
     return;