17 #ifndef LLVM_CODEGEN_STACKPROTECTOR_H
18 #define LLVM_CODEGEN_STACKPROTECTOR_H
70 unsigned SSPBufferSize;
84 bool InsertStackProtectors();
96 bool ContainsProtectableArray(
Type *Ty,
bool &IsLarge,
bool Strong =
false,
97 bool InStruct =
false)
const;
104 bool RequiresStackProtector();
127 #endif // LLVM_CODEGEN_STACKPROTECTOR_H
virtual bool runOnFunction(Function &Fn)
AnalysisUsage & addPreserved()
static PassRegistry * getPassRegistry()
The main container class for the LLVM Intermediate Representation.
LLVM Basic Block Representation.
SSPLayoutKind getSSPLayout(const AllocaInst *AI) const
void initializeStackProtectorPass(PassRegistry &)
ValueMap< const AllocaInst *, SSPLayoutKind > SSPLayoutMap
A mapping of AllocaInsts to their required SSP layout.
virtual void getAnalysisUsage(AnalysisUsage &AU) const
StackProtector(const TargetMachine *TM)