================
@@ -892,6 +895,22 @@ void X86AsmPrinter::LowerFENTRY_CALL(const MachineInstr
&MI,
X86MCInstLower &MCIL) {
bool Is64Bits = Subtarget->is64Bit();
MCContext &Ctx = OutStreamer->getContext();
+
+ if (MF->getFunction().hasFnAttribute("mrecord-mcount")) {
+ MCSymbol *DotSym = OutContext.createTempSymbol();
+ OutStreamer->pushSection();
+ OutStreamer->switchSection(
+ Ctx.getELFSection("__mcount_loc", ELF::SHT_PROGBITS, ELF::SHF_ALLOC));
+ OutStreamer->emitSymbolValue(DotSym, Is64Bits ? 8 : 4);
+ OutStreamer->popSection();
+ OutStreamer->emitLabel(DotSym);
+ }
+
+ if (MF->getFunction().hasFnAttribute("mnop-mcount")) {
+ emitX86Nops(*OutStreamer, 5, Subtarget);
----------------
nikic wrote:
Comment where the magic number 5 here comes from? I assume it's the length of a
call.
https://github.com/llvm/llvm-project/pull/184641
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits