|
@@ -19,18 +19,17 @@
|
|
|
|
|
|
#include "llvm/ADT/SmallPtrSet.h"
|
|
|
#include "llvm/ADT/Triple.h"
|
|
|
-#include "llvm/CodeGen/TargetPassConfig.h"
|
|
|
#include "llvm/IR/Dominators.h"
|
|
|
#include "llvm/IR/ValueMap.h"
|
|
|
#include "llvm/Pass.h"
|
|
|
#include "llvm/Target/TargetLowering.h"
|
|
|
-#include "llvm/Target/TargetMachine.h"
|
|
|
|
|
|
namespace llvm {
|
|
|
|
|
|
class Function;
|
|
|
class Module;
|
|
|
class PHINode;
|
|
|
+class TargetMachine;
|
|
|
|
|
|
class StackProtector : public FunctionPass {
|
|
|
public:
|
|
@@ -119,10 +118,7 @@ public:
|
|
|
initializeStackProtectorPass(*PassRegistry::getPassRegistry());
|
|
|
}
|
|
|
|
|
|
- void getAnalysisUsage(AnalysisUsage &AU) const override {
|
|
|
- AU.addRequired<TargetPassConfig>();
|
|
|
- AU.addPreserved<DominatorTreeWrapperPass>();
|
|
|
- }
|
|
|
+ void getAnalysisUsage(AnalysisUsage &AU) const override;
|
|
|
|
|
|
SSPLayoutKind getSSPLayout(const AllocaInst *AI) const;
|
|
|
|