Lines Matching refs:BC
32 const BinaryContext &BC = Function.getBinaryContext(); in getInternalCallTarget() local
33 if (!BC.MIB->isCall(Inst) || MCPlus::getNumPrimeOperands(Inst) != 1 || in getInternalCallTarget()
37 return Function.getBasicBlockForLabel(BC.MIB->getTargetSymbol(Inst)); in getInternalCallTarget()
68 if (BC.MIB->isReturn(Point)) { in computeNext()
136 const BinaryContext &BC = Function.getBinaryContext(); in fixCFGForIC() local
156 BC.MIB->hasAnnotation(ReachingInst, getProcessedICTag())) in fixCFGForIC()
171 BC.MIB->addAnnotation(ReachingInst, getProcessedICTag(), 0U); in fixCFGForIC()
189 if (!BC.MIB->isReturn(Inst)) in fixCFGForIC()
200 const BinaryContext &BC = Function.getBinaryContext(); in hasTailCallsInRange() local
203 if (BC.MIB->isTailCall(Inst)) in hasTailCallsInRange()
213 BinaryContext &BC = Function.getBinaryContext(); in analyzeFunction() local
214 RegAnalysis RA = RegAnalysis(BC, nullptr, nullptr); in analyzeFunction()
221 if (!Target || BC.MIB->hasAnnotation(Inst, getProcessedICTag())) in analyzeFunction()
236 if (!BC.MIB->isStackAccess(*TargetInst, FIE.IsLoad, FIE.IsStore, in analyzeFunction()
246 if (!FIE.IsLoad || FIE.StackPtrReg != BC.MIB->getStackPointer() || in analyzeFunction()
267 BitVector UsedRegs = BitVector(BC.MRI->getNumRegs(), false); in analyzeFunction()
268 BC.MIB->getTouchedRegs(Use, UsedRegs); in analyzeFunction()
275 if (!BC.MIB->evaluateStackOffsetExpr(Use, Output, Input1, Input2)) { in analyzeFunction()
284 BC.InstPrinter->printInst(TargetInst, 0, "", *BC.STI, dbgs()); in analyzeFunction()
286 BC.InstPrinter->printInst(&Use, 0, "", *BC.STI, dbgs()); in analyzeFunction()
294 BC.InstPrinter->printInst(&Use, 0, "", *BC.STI, dbgs()); in analyzeFunction()
307 void ValidateInternalCalls::runOnFunctions(BinaryContext &BC) { in runOnFunctions() argument
308 if (!BC.isX86()) in runOnFunctions()
313 for (auto &BFI : BC.getBinaryFunctions()) { in runOnFunctions()
327 if (!BC.HasRelocations) in runOnFunctions()