|
LLVM 24.0.0git
|
#include "llvm/Transforms/Instrumentation/CopyProf.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/Function.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Module.h"#include "llvm/IR/PassManager.h"#include "llvm/Support/Casting.h"#include "llvm/Transforms/Utils/Instrumentation.h"#include "llvm/Transforms/Utils/ModuleUtils.h"#include <array>#include <cstddef>#include <cstdint>Go to the source code of this file.
Functions | |
| static bool | insertModuleCtor (Module &M) |
| static bool | isCopyProfCandidate (const Function &F) |
| static bool | isCopyProfStoresCandidate (const Function &F) |
| static size_t | getAttrValueAsInt (const Function &F, StringRef Attr) |
Variables | |
| constexpr StringRef | CopyProfModuleCtorName = "copyprof.module_ctor" |
| constexpr StringRef | CopyProfInitName = "__copyprof_init" |
| constexpr StringRef | CopyProfCtorEnterCallbackName |
| constexpr StringRef | CopyProfCtorExitCallbackName |
| constexpr StringRef | CopyProfCopyCtorEnterCallbackName |
| constexpr StringRef | CopyProfCopyCtorExitCallbackName |
| constexpr StringRef | CopyProfCopyAssignOpEnterCallbackName |
| constexpr StringRef | CopyProfCopyAssignOpExitCallbackName |
| constexpr StringRef | CopyProfDtorEnterCallbackName |
| constexpr StringRef | CopyProfDtorExitCallbackName |
| constexpr StringRef | CopyProfStoreCallbackName = "__copyprof_store_callback" |
| constexpr StringRef | CopyProfCtorAttr = "copyprof-ctor" |
| constexpr StringRef | CopyProfCopyCtorAttr = "copyprof-copy-ctor" |
| constexpr StringRef | CopyProfCopyAssignAttr = "copyprof-copy-assign-op" |
| constexpr StringRef | CopyProfDtorAttr = "copyprof-dtor" |
Definition at line 128 of file CopyProf.cpp.
References assert(), F, Success, and llvm::to_integer().
Definition at line 77 of file CopyProf.cpp.
References llvm::Function::addFnAttr(), llvm::appendToGlobalCtors(), CopyProfInitName, CopyProfModuleCtorName, llvm::getOrCreateSanitizerCtorAndInitFunctions(), and Modified.
Referenced by llvm::MemorySanitizerPass::run(), llvm::ModuleCopyProfPass::run(), and llvm::ModuleThreadSanitizerPass::run().
Definition at line 91 of file CopyProf.cpp.
References CopyProfCopyAssignAttr, CopyProfCopyCtorAttr, CopyProfCtorAttr, CopyProfDtorAttr, and F.
Referenced by llvm::CopyProfPass::run().
Definition at line 120 of file CopyProf.cpp.
References F.
Referenced by llvm::CopyProfStoresPass::run().
|
constexpr |
Definition at line 74 of file CopyProf.cpp.
Referenced by isCopyProfCandidate().
|
constexpr |
Definition at line 61 of file CopyProf.cpp.
|
constexpr |
Definition at line 63 of file CopyProf.cpp.
|
constexpr |
Definition at line 73 of file CopyProf.cpp.
Referenced by isCopyProfCandidate().
|
constexpr |
Definition at line 57 of file CopyProf.cpp.
|
constexpr |
Definition at line 59 of file CopyProf.cpp.
|
constexpr |
Definition at line 72 of file CopyProf.cpp.
Referenced by isCopyProfCandidate().
|
constexpr |
Definition at line 53 of file CopyProf.cpp.
|
constexpr |
Definition at line 55 of file CopyProf.cpp.
|
constexpr |
Definition at line 75 of file CopyProf.cpp.
Referenced by isCopyProfCandidate().
|
constexpr |
Definition at line 65 of file CopyProf.cpp.
|
constexpr |
Definition at line 67 of file CopyProf.cpp.
|
constexpr |
Definition at line 50 of file CopyProf.cpp.
Referenced by insertModuleCtor().
|
constexpr |
Definition at line 49 of file CopyProf.cpp.
Referenced by insertModuleCtor().
|
constexpr |
Definition at line 69 of file CopyProf.cpp.