Lines Matching refs:Function

39 void RegReAssign::swap(BinaryFunction &Function, MCPhysReg A, MCPhysReg B) {  in swap()  argument
40 BinaryContext &BC = Function.getBinaryContext(); in swap()
45 for (BinaryBasicBlock &BB : Function) { in swap()
69 for (BinaryBasicBlock &BB : Function) { in swap()
73 const MCCFIInstruction *CFI = Function.getCFIFor(Inst); in swap()
83 Function.setCFIFor( in swap()
90 Function.setCFIFor( in swap()
120 Function.mutateCFIRegisterFor( in swap()
125 Function.mutateCFIRegisterFor( in swap()
138 void RegReAssign::rankRegisters(BinaryFunction &Function) { in rankRegisters() argument
139 BinaryContext &BC = Function.getBinaryContext(); in rankRegisters()
212 for (BinaryBasicBlock &BB : Function) in rankRegisters()
215 for (BinaryFunction *ChildFrag : Function.getFragments()) { in rankRegisters()
237 void RegReAssign::aggressivePassOverFunction(BinaryFunction &Function) { in aggressivePassOverFunction() argument
238 BinaryContext &BC = Function.getBinaryContext(); in aggressivePassOverFunction()
239 rankRegisters(Function); in aggressivePassOverFunction()
245 for (BinaryFunction *ChildFrag : Function.getFragments()) { in aggressivePassOverFunction()
283 DataflowInfoManager Info(Function, RA.get(), nullptr); in aggressivePassOverFunction()
285 ProgramPoint::getFirstPointAt(*Function.begin())); in aggressivePassOverFunction()
286 for (BinaryBasicBlock &BB : Function) in aggressivePassOverFunction()
341 swap(Function, ClassicReg, ExtReg); in aggressivePassOverFunction()
342 FuncsChanged.insert(&Function); in aggressivePassOverFunction()
343 for (BinaryFunction *ChildFrag : Function.getFragments()) { in aggressivePassOverFunction()
354 bool RegReAssign::conservativePassOverFunction(BinaryFunction &Function) { in conservativePassOverFunction() argument
355 BinaryContext &BC = Function.getBinaryContext(); in conservativePassOverFunction()
356 rankRegisters(Function); in conservativePassOverFunction()
358 for (BinaryFunction *ChildFrag : Function.getFragments()) { in conservativePassOverFunction()
402 swap(Function, RBX, Candidate); in conservativePassOverFunction()
403 FuncsChanged.insert(&Function); in conservativePassOverFunction()
404 for (BinaryFunction *ChildFrag : Function.getFragments()) { in conservativePassOverFunction()
465 BinaryFunction &Function = I.second; in runOnFunctions() local
467 if (!Function.isSimple() || Function.isIgnored() || Function.isFragment()) in runOnFunctions()
471 LLVM_DEBUG(dbgs() << " - " << Function.getPrintName() << "\n"); in runOnFunctions()
472 if (!conservativePassOverFunction(Function) && opts::AggressiveReAssign) { in runOnFunctions()
473 aggressivePassOverFunction(Function); in runOnFunctions()
475 if (FuncsChanged.count(&Function)) in runOnFunctions()
476 dbgs() << "Aggressive pass successful on " << Function.getPrintName() in runOnFunctions()