Lines Matching refs:BCECmpBlock
201 class BCECmpBlock { class
205 BCECmpBlock(BCECmp Cmp, BasicBlock *BB, InstructionSet BlockInsts) in BCECmpBlock() function in __anon9202c2f50111::BCECmpBlock
243 bool BCECmpBlock::canSinkBCECmpInst(const Instruction *Inst, in canSinkBCECmpInst()
265 void BCECmpBlock::split(BasicBlock *NewParent, AliasAnalysis &AA) const { in split()
281 bool BCECmpBlock::canSplit(AliasAnalysis &AA) const { in canSplit()
291 bool BCECmpBlock::doesOtherWork() const { in doesOtherWork()
335 std::optional<BCECmpBlock> visitCmpBlock(Value *const Val, in visitCmpBlock()
378 BCECmpBlock::InstructionSet BlockInsts( in visitCmpBlock()
384 return BCECmpBlock(std::move(*Result), Block, BlockInsts); in visitCmpBlock()
387 static inline void enqueueBlock(std::vector<BCECmpBlock> &Comparisons, in enqueueBlock()
388 BCECmpBlock &&Comparison) { in enqueueBlock()
403 using ContiguousBlocks = std::vector<BCECmpBlock>;
424 static bool areContiguous(const BCECmpBlock &First, const BCECmpBlock &Second) { in areContiguous()
433 for (const BCECmpBlock &Block : Blocks) in getMinOrigOrder()
441 mergeBlocks(std::vector<BCECmpBlock> &&Blocks) { in mergeBlocks()
446 [](const BCECmpBlock &LhsBlock, const BCECmpBlock &RhsBlock) { in mergeBlocks()
452 for (BCECmpBlock &Block : Blocks) { in mergeBlocks()
478 std::vector<BCECmpBlock> Comparisons; in BCECmpChain()
482 std::optional<BCECmpBlock> Comparison = visitCmpBlock( in BCECmpChain()
564 explicit MergedBlockName(ArrayRef<BCECmpBlock> Comparisons) in MergedBlockName()
569 StringRef makeName(ArrayRef<BCECmpBlock> Comparisons) { in makeName()
575 [](int i, const BCECmpBlock &Cmp) { in makeName()
603 static BasicBlock *mergeComparisons(ArrayRef<BCECmpBlock> Comparisons, in mergeComparisons()
610 const BCECmpBlock &FirstCmp = Comparisons[0]; in mergeComparisons()
636 Comparisons, [](const BCECmpBlock &B) { return B.RequireSplit; }); in mergeComparisons()
654 [](int Size, const BCECmpBlock &C) { return Size + C.SizeBits(); }); in mergeComparisons()
729 for (const BCECmpBlock &Block : Blocks) { in simplify()