From: Jessica Paquette Date: Tue, 4 Dec 2018 00:31:47 +0000 (+0000) Subject: [MachineOutliner][AArch64][NFC] Add early exit to candidate discarding logic X-Git-Tag: llvmorg-8.0.0-rc1~2981 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2f5833ecd9aca404082113e9bde1e46351442a00;p=platform%2Fupstream%2Fllvm.git [MachineOutliner][AArch64][NFC] Add early exit to candidate discarding logic 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 --- diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp index 56f38ac..7d83ec9 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp @@ -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