[MachineOutliner][AArch64][NFC] Add early exit to candidate discarding logic
authorJessica Paquette <jpaquette@apple.com>
Tue, 4 Dec 2018 00:31:47 +0000 (00:31 +0000)
committerJessica Paquette <jpaquette@apple.com>
Tue, 4 Dec 2018 00:31:47 +0000 (00:31 +0000)
If we dropped too many candidates to be beneficial when dropping candidates
that modify the stack, there's no reason to check for other cost model
qualities.

llvm-svn: 348219

llvm/lib/Target/AArch64/AArch64InstrInfo.cpp

index 56f38ac..7d83ec9 100644 (file)
@@ -5214,6 +5214,12 @@ AArch64InstrInfo::getOutliningCandidateInfo(
     } else {
       SetCandidateCallInfo(MachineOutlinerDefault, 12);
     }
+
+    // If we dropped all of the candidates, bail out here.
+    if (RepeatedSequenceLocs.size() < 2) {
+      RepeatedSequenceLocs.clear();
+      return outliner::OutlinedFunction();
+    }
   }
 
   // Does every candidate's MBB contain a call? If so, then we might have a call