LLVM: lib/Transforms/Utils/EntryExitInstrumenter.cpp File Reference (original) (raw)

Go to the source code of this file.

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( PostInlineEntryExitInstrumenter ,
"post-inline-ee-instrument" ,
"Instrument function entry/exit with calls to e.g. mcount() " "(post inlining)" ,
false ,
false )

insertCall()

Definition at line 25 of file EntryExitInstrumenter.cpp.

References llvm::Function::addFnAttr(), llvm::CallingConv::C, Call, llvm::CallInst::Create(), DL, llvm::Attribute::get(), llvm::FunctionType::get(), llvm::Type::getInt32Ty(), llvm::Intrinsic::getOrInsertDeclaration(), llvm::PointerType::getUnqual(), llvm::Type::getVoidTy(), llvm::GlobalValue::InternalLinkage, llvm::Triple::isAArch64(), llvm::Triple::isLoongArch(), llvm::Triple::isOSAIX(), llvm::Triple::isRISCV(), llvm::Triple::isSystemZ(), llvm::report_fatal_error(), and llvm::Instruction::setDebugLoc().

Referenced by runOnFunction().

mcount()

runOnFunction()

Definition at line 103 of file EntryExitInstrumenter.cpp.

References Changed, DL, llvm::StringRef::empty(), F, llvm::MDNode::get(), insertCall(), llvm::isa(), and T.

Referenced by INITIALIZE_PASS(), INITIALIZE_PASS(), INITIALIZE_PASS(), llvm::ComplexDeinterleavingPass::run(), llvm::EntryExitInstrumenterPass::run(), and llvm::StraightLineStrengthReducePass::run().

false

instrument

void FunctionInstrumenter::instrument