Lines Matching refs:BinaryBasicBlock
10 #include "bolt/Core/BinaryBasicBlock.h"
36 BinaryBasicBlock *FunctionFragment::front() const { return *begin(); }
38 BinaryBasicBlock *FunctionFragment::back() const { return *std::prev(end()); }
97 FunctionLayout::findFragment(const BinaryBasicBlock *const BB) const {
101 void FunctionLayout::addBasicBlock(BinaryBasicBlock *const BB) {
108 const BinaryBasicBlock *const InsertAfter,
109 const ArrayRef<BinaryBasicBlock *> NewBlocks) {
122 for (BinaryBasicBlock *const BB : NewBlocks) {
134 for (BinaryBasicBlock *const BB : FF)
141 const DenseSet<const BinaryBasicBlock *> ToErase) {
142 const auto IsErased = [&](const BinaryBasicBlock *const BB) {
172 for (BinaryBasicBlock *const BB : FF) {
179 ArrayRef<BinaryBasicBlock *> Order) const {
184 bool FunctionLayout::update(const ArrayRef<BinaryBasicBlock *> NewLayout) {
189 return llvm::all_of(FF, [&](const BinaryBasicBlock *const BB) {
200 for (BinaryBasicBlock *const BB : NewLayout) {
226 const BinaryBasicBlock *
227 FunctionLayout::getBasicBlockAfter(const BinaryBasicBlock *BB,
251 const ArrayRef<const BinaryBasicBlock *> OldBlockOrder) const {
252 return ComputeEditDistance<const BinaryBasicBlock *>(OldBlockOrder, Blocks);
256 FunctionLayout::findBasicBlockPos(const BinaryBasicBlock *BB) const {
261 FunctionLayout::findBasicBlockPos(const BinaryBasicBlock *BB) {