mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[func-sig-opts] Add SILFunction::findReturnBB to easily find the unique basic block containing a ReturnInst in a SILFunction.
Swift SVN r22923
This commit is contained in:
@@ -378,6 +378,26 @@ public:
|
||||
getBlocks().splice(begin(), F->getBlocks());
|
||||
}
|
||||
|
||||
/// Return the unique basic block containing a return inst if it
|
||||
/// exists. Otherwise, returns end.
|
||||
iterator findReturnBB() {
|
||||
return std::find_if(F->begin(), F->end(),
|
||||
[](const SILBasicBlock &BB) -> bool {
|
||||
const TermInst *TI = BB.getTerminator();
|
||||
return isa<ReturnInst>(TI);
|
||||
});
|
||||
}
|
||||
|
||||
/// Return the unique basic block containing a return inst if it
|
||||
/// exists. Otherwise, returns end.
|
||||
const_iterator findReturnBB() const {
|
||||
return std::find_if(F->begin(), F->end(),
|
||||
[](const SILBasicBlock &BB) -> bool {
|
||||
const TermInst *TI = BB.getTerminator();
|
||||
return isa<ReturnInst>(TI);
|
||||
});
|
||||
}
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Miscellaneous
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
||||
Reference in New Issue
Block a user