|
LLVM
8.0.1
|
#include "SafeStackColoring.h"#include "SafeStackLayout.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/BranchProbabilityInfo.h"#include "llvm/Analysis/InlineCost.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/Analysis/ScalarEvolutionExpressions.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Transforms/Utils/Local.h"#include "llvm/CodeGen/TargetLowering.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/IR/Argument.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/CallSite.h"#include "llvm/IR/ConstantRange.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DIBuilder.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/MDBuilder.h"#include "llvm/IR/Module.h"#include "llvm/IR/Type.h"#include "llvm/IR/Use.h"#include "llvm/IR/User.h"#include "llvm/IR/Value.h"#include "llvm/Pass.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Transforms/Utils/BasicBlockUtils.h"#include "llvm/Transforms/Utils/Cloning.h"#include <algorithm>#include <cassert>#include <cstdint>#include <string>#include <utility>Go to the source code of this file.
Namespaces | |
| llvm | |
| This class represents lattice values for constants. | |
Macros | |
| #define | DEBUG_TYPE "safe-stack" |
Functions | |
| llvm::STATISTIC (NumFunctions, "Total number of functions") | |
| llvm::STATISTIC (NumUnsafeStackFunctions, "Number of functions with unsafe stack") | |
| llvm::STATISTIC (NumUnsafeStackRestorePointsFunctions, "Number of functions that use setjmp or exceptions") | |
| llvm::STATISTIC (NumAllocas, "Total number of allocas") | |
| llvm::STATISTIC (NumUnsafeStaticAllocas, "Number of unsafe static allocas") | |
| llvm::STATISTIC (NumUnsafeDynamicAllocas, "Number of unsafe dynamic allocas") | |
| llvm::STATISTIC (NumUnsafeByValArguments, "Number of unsafe byval arguments") | |
| llvm::STATISTIC (NumUnsafeStackRestorePoints, "Number of setjmps and landingpads") | |
| INITIALIZE_PASS_BEGIN (SafeStackLegacyPass, DEBUG_TYPE, "Safe Stack instrumentation pass", false, false) INITIALIZE_PASS_END(SafeStackLegacyPass | |
Variables | |
| static cl::opt< bool > | SafeStackUsePointerAddress ("safestack-use-pointer-address", cl::init(false), cl::Hidden) |
| Use __safestack_pointer_address even if the platform has a faster way of access safe stack pointer. More... | |
| DEBUG_TYPE | |
| Safe Stack instrumentation | pass |
| Safe Stack instrumentation | false |
| #define DEBUG_TYPE "safe-stack" |
Definition at line 76 of file SafeStack.cpp.
| INITIALIZE_PASS_BEGIN | ( | SafeStackLegacyPass | , |
| DEBUG_TYPE | , | ||
| "Safe Stack instrumentation pass" | , | ||
| false | , | ||
| false | |||
| ) |
| DEBUG_TYPE |
Definition at line 907 of file SafeStack.cpp.
| Safe Stack instrumentation false |
Definition at line 907 of file SafeStack.cpp.
| Safe Stack instrumentation pass |
Definition at line 907 of file SafeStack.cpp.
Referenced by LLVMTargetMachineEmit(), llvm::Spiller::postOptimization(), and llvm::verifySafepointIR().
1.8.13