Lines Matching refs:BF
131 void emitFunctionBody(BinaryFunction &BF, bool EmitColdPart,
139 bool emitFunction(BinaryFunction &BF, bool EmitColdPart);
143 void emitConstantIslands(BinaryFunction &BF, bool EmitColdPart,
147 void emitJumpTables(const BinaryFunction &BF);
156 void emitLSDA(BinaryFunction &BF, bool EmitColdPart);
164 SMLoc emitLineInfo(const BinaryFunction &BF, SMLoc NewLoc, SMLoc PrevLoc,
171 void emitLineInfoEnd(const BinaryFunction &BF, MCSymbol *FunctionEndSymbol);
394 void BinaryEmitter::emitFunctionBody(BinaryFunction &BF, bool EmitColdPart, in emitFunctionBody() argument
396 if (!EmitCodeOnly && EmitColdPart && BF.hasConstantIsland()) in emitFunctionBody()
397 BF.duplicateConstantIslands(); in emitFunctionBody()
401 for (BinaryBasicBlock *BB : BF.getLayout().blocks()) { in emitFunctionBody()
411 if (MCSymbol *EntrySymbol = BF.getSecondaryEntryPointSymbol(*BB)) in emitFunctionBody()
444 emitCFIInstruction(*BF.getCFIFor(Instr)); in emitFunctionBody()
458 if (!EmitCodeOnly && opts::UpdateDebugSections && BF.getDWARFUnit()) { in emitFunctionBody()
459 LastLocSeen = emitLineInfo(BF, Instr.getLoc(), LastLocSeen, FirstInstr); in emitFunctionBody()
465 if (!EmitCodeOnly && BF.requiresAddressTranslation() && in emitFunctionBody()
479 emitConstantIslands(BF, EmitColdPart); in emitFunctionBody()
482 void BinaryEmitter::emitConstantIslands(BinaryFunction &BF, bool EmitColdPart, in emitConstantIslands() argument
484 if (!BF.hasIslandsInfo()) in emitConstantIslands()
487 BinaryFunction::IslandInfo &Islands = BF.getIslandInfo(); in emitConstantIslands()
495 : BF.getConstantIslandAlignment(); in emitConstantIslands()
500 Streamer.emitLabel(BF.getFunctionConstantIslandLabel()); in emitConstantIslands()
502 Streamer.emitLabel(BF.getFunctionColdConstantIslandLabel()); in emitConstantIslands()
508 assert(!BF.isInjected() && in emitConstantIslands()
511 StringRef SectionContents = BF.getOriginSection()->getContents(); in emitConstantIslands()
515 BF.getAddress() - BF.getOriginSection()->getAddress(), BF.getMaxSize()); in emitConstantIslands()
518 outs() << "BOLT-INFO: emitting constant island for function " << BF << "\n"; in emitConstantIslands()
532 EndOffset = BF.getMaxSize(); in emitConstantIslands()
561 << " for " << BF << " at offset 0x" in emitConstantIslands()
594 assert(BF.hasName(std::string(IS->second->getName()))); in emitConstantIslands()
629 emitConstantIslands(*ExternalFunc, EmitColdPart, &BF); in emitConstantIslands()
632 SMLoc BinaryEmitter::emitLineInfo(const BinaryFunction &BF, SMLoc NewLoc, in emitLineInfo() argument
634 DWARFUnit *FunctionCU = BF.getDWARFUnit(); in emitLineInfo()
635 const DWARFDebugLine::LineTable *FunctionLineTable = BF.getDWARFLineTable(); in emitLineInfo()
694 void BinaryEmitter::emitLineInfoEnd(const BinaryFunction &BF, in emitLineInfoEnd() argument
696 DWARFUnit *FunctionCU = BF.getDWARFUnit(); in emitLineInfoEnd()
707 void BinaryEmitter::emitJumpTables(const BinaryFunction &BF) { in emitJumpTables() argument
712 if (!BF.hasJumpTables()) in emitJumpTables()
716 outs() << "BOLT-INFO: jump tables for function " << BF << ":\n"; in emitJumpTables()
718 for (auto &JTI : BF.jumpTables()) { in emitJumpTables()
722 if ((opts::JumpTables == JTS_BASIC || !BF.isSimple()) && in emitJumpTables()
740 if (BF.isSimple()) { in emitJumpTables()
744 HotSection = BF.hasProfile() ? ReadOnlySection : ReadOnlyColdSection; in emitJumpTables()
861 void BinaryEmitter::emitLSDA(BinaryFunction &BF, bool EmitColdPart) { in emitLSDA() argument
863 EmitColdPart ? &BF.getColdCallSites() : &BF.getCallSites(); in emitLSDA()
889 EmitColdPart ? BF.getColdLSDASymbol() : BF.getLSDASymbol(); in emitLSDA()
895 EmitColdPart ? BF.getColdSymbol() : BF.getSymbol(); in emitLSDA()
947 BF.getLSDAActionTable().size() + // Actions table size in emitLSDA()
948 BF.getLSDATypeTable().size() * TTypeEncodingSize; // Types table size in emitLSDA()
990 for (uint8_t const &Byte : BF.getLSDAActionTable()) in emitLSDA()
994 (TTypeEncoding & dwarf::DW_EH_PE_indirect) ? BF.getLSDATypeAddressTable() in emitLSDA()
995 : BF.getLSDATypeTable(); in emitLSDA()
996 assert(TypeTable.size() == BF.getLSDATypeTable().size() && in emitLSDA()
1024 for (uint8_t const &Byte : BF.getLSDATypeIndexTable()) in emitLSDA()
1138 void emitFunctionBody(MCStreamer &Streamer, BinaryFunction &BF, in emitFunctionBody() argument
1140 BinaryEmitter(Streamer, BF.getBinaryContext()) in emitFunctionBody()
1141 .emitFunctionBody(BF, EmitColdPart, EmitCodeOnly); in emitFunctionBody()