Lines Matching full:bb
40 const BasicBlock *BB) { in getFirstSpecialInstruction() argument
47 validate(BB); in getFirstSpecialInstruction()
50 if (!FirstSpecialInsts.contains(BB)) { in getFirstSpecialInstruction()
51 fill(BB); in getFirstSpecialInstruction()
52 assert(FirstSpecialInsts.contains(BB) && "Must be!"); in getFirstSpecialInstruction()
54 return FirstSpecialInsts[BB]; in getFirstSpecialInstruction()
58 const BasicBlock *BB) { in hasSpecialInstructions() argument
59 return getFirstSpecialInstruction(BB) != nullptr; in hasSpecialInstructions()
69 void InstructionPrecedenceTracking::fill(const BasicBlock *BB) { in fill() argument
70 FirstSpecialInsts.erase(BB); in fill()
71 for (const auto &I : *BB) { in fill()
74 FirstSpecialInsts[BB] = &I; in fill()
80 FirstSpecialInsts[BB] = nullptr; in fill()
84 void InstructionPrecedenceTracking::validate(const BasicBlock *BB) const { in validate()
85 auto It = FirstSpecialInsts.find(BB); in validate()
90 for (const Instruction &Insn : *BB) in validate()
110 const BasicBlock *BB) { in insertInstructionTo() argument
112 FirstSpecialInsts.erase(BB); in insertInstructionTo()
116 auto *BB = Inst->getParent(); in removeInstruction() local
117 assert(BB && "must be called before instruction is actually removed"); in removeInstruction()
118 if (FirstSpecialInsts.count(BB) && FirstSpecialInsts[BB] == Inst) in removeInstruction()
119 FirstSpecialInsts.erase(BB); in removeInstruction()