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