Lines Matching defs:BC
44 const BinaryContext &BC) const {
45 if (!BC.HasRelocations) {
54 if (!BC.StartFunctionAddress) {
61 if (BC.IsStaticExecutable && !opts::InstrumentationSleepTime) {
79 void InstrumentationRuntimeLibrary::emitBinary(BinaryContext &BC,
81 MCSection *Section = BC.isELF()
82 ? static_cast<MCSection *>(BC.Ctx->getELFSection(
89 : static_cast<MCSection *>(BC.Ctx->getMachOSection(
93 Section->setAlignment(llvm::Align(BC.RegularPageSize));
105 auto emitLabelByName = [&BC, emitLabel](StringRef Name,
107 MCSymbol *Symbol = BC.Ctx->getOrCreateSymbol(Name);
135 auto emitValue = [&BC, &Streamer, emitDataPadding,
137 const unsigned Psize = BC.AsmInfo->getCodePointerSize();
169 emitPadding(BC.RegularPageSize);
188 if (BC.isMachO()) {
189 MCSection *TablesSection = BC.Ctx->getMachOSection(
191 TablesSection->setAlignment(llvm::Align(BC.RegularPageSize));
193 emitString("__bolt_instr_tables", buildTables(BC));
198 BinaryContext &BC, StringRef ToolPath, BOLTLinker &Linker,
203 if (BC.isMachO())
228 emitTablesAsELFNote(BC);
231 std::string InstrumentationRuntimeLibrary::buildTables(BinaryContext &BC) {
321 void InstrumentationRuntimeLibrary::emitTablesAsELFNote(BinaryContext &BC) {
322 std::string TablesStr = buildTables(BC);
325 BC.registerOrUpdateNoteSection(".bolt.instr.tables", copyByteArray(BoltInfo),