|
LLVM 23.0.0git
|
The instrumentation opportunity for alloca instructions. More...
#include "llvm/Transforms/IPO/Instrumentor.h"
Public Types | |
| enum | ConfigKind { PassAddress = 0 , ReplaceAddress , PassSize , ReplaceSize , PassAlignment , PassId , NumConfig } |
| using | ConfigTy = BaseConfigTy<ConfigKind> |
| Public Types inherited from llvm::instrumentor::InstrumentationOpportunity | |
| using | CallbackTy = std::function<bool(Value &)> |
| An optional callback that takes the value that is about to be instrumented and can return false if it should be skipped. | |
Public Attributes | |
| ConfigTy | Config |
| Public Attributes inherited from llvm::instrumentor::InstrumentationOpportunity | |
| InstrumentationLocation | IP |
| The instrumentation location of the opportunity. | |
| SmallVector< IRTArg > | IRTArgs |
| The list of possible arguments for the instrumentation runtime function. | |
| bool | Enabled = true |
| Whether the opportunity is enabled. | |
| StringRef | Filter |
| A filter expression to be matched against runtime property values. | |
| CallbackTy | CB = nullptr |
Additional Inherited Members | |
| Static Public Attributes inherited from llvm::instrumentor::InstructionIO< Instruction::Alloca > | |
| static constexpr std::array< unsigned, sizeof...(Opcodes)> | OpcodesArray |
The instrumentation opportunity for alloca instructions.
Definition at line 711 of file Instrumentor.h.
Definition at line 724 of file Instrumentor.h.
| Enumerator | |
|---|---|
| PassAddress | |
| ReplaceAddress | |
| PassSize | |
| ReplaceSize | |
| PassAlignment | |
| PassId | |
| NumConfig | |
Definition at line 714 of file Instrumentor.h.
|
inline |
Definition at line 712 of file Instrumentor.h.
References llvm::instrumentor::InstructionIO< Instruction::Alloca >::InstructionIO().
Referenced by populate().
|
static |
Definition at line 1134 of file Instrumentor.cpp.
References llvm::cast(), and getAlign().
Referenced by init().
|
static |
Definition at line 1101 of file Instrumentor.cpp.
References llvm::cast(), DL, llvm::ConstantPointerNull::get(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::instrumentor::InstrumentorIRBuilderTy::IRB, and llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isFixed().
Referenced by init().
| void AllocaIO::init | ( | InstrumentationConfig & | IConf, |
| InstrumentorIRBuilderTy & | IIRB, | ||
| ConfigTy * | UserConfig = nullptr ) |
}
AllocaIO {
Definition at line 1075 of file Instrumentor.cpp.
References llvm::instrumentor::InstrumentationConfig::addChoice(), llvm::instrumentor::InstrumentationOpportunity::addCommonArgs(), Config, llvm::instrumentor::InstrumentorIRBuilderTy::Ctx, getAlignment(), llvm::instrumentor::InstrumentationOpportunity::getLocationKind(), getSize(), llvm::instrumentor::InstrumentationOpportunity::getValue(), llvm::instrumentor::InstrumentationLocation::INSTRUCTION_PRE, llvm::instrumentor::InstrumentorIRBuilderTy::Int64Ty, llvm::instrumentor::InstrumentationOpportunity::IRTArgs, llvm::instrumentor::IRTArg::NONE, PassAddress, PassAlignment, PassId, PassSize, llvm::instrumentor::InstrumentorIRBuilderTy::PtrTy, llvm::instrumentor::IRTArg::REPLACABLE, ReplaceAddress, ReplaceSize, llvm::instrumentor::InstrumentationOpportunity::replaceValue(), and setSize().
|
inlinestatic |
Definition at line 741 of file Instrumentor.h.
References AllocaIO(), llvm::instrumentor::InstrumentationConfig::allocate(), llvm::instrumentor::InstrumentationLocation::INSTRUCTION_POST, and llvm::instrumentor::InstrumentationLocation::INSTRUCTION_PRE.
Referenced by llvm::instrumentor::InstrumentationConfig::populate().
|
static |
Definition at line 1122 of file Instrumentor.cpp.
References llvm::cast(), DL, llvm::instrumentor::InstrumentorIRBuilderTy::eraseLater(), and llvm::instrumentor::InstrumentorIRBuilderTy::IRB.
Referenced by init().
| ConfigTy llvm::instrumentor::AllocaIO::Config |
Definition at line 725 of file Instrumentor.h.
Referenced by init().