diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 6 | 
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index cebdc753bf6..f9e4bc6196b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -328,6 +328,7 @@ void SelectionDAGISel::getAnalysisUsage(AnalysisUsage &AU) const {      AU.addRequired<AAResultsWrapperPass>();    AU.addRequired<GCModuleInfo>();    AU.addRequired<StackProtector>(); +  AU.addPreserved<StackProtector>();    AU.addPreserved<GCModuleInfo>();    AU.addRequired<TargetLibraryInfoWrapperPass>();    AU.addRequired<TargetTransformInfoWrapperPass>(); @@ -1543,7 +1544,6 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {    processDbgDeclares(FuncInfo);    // Iterate over all basic blocks in the function. -  StackProtector &SP = getAnalysis<StackProtector>();    for (const BasicBlock *LLVMBB : RPOT) {      if (OptLevel != CodeGenOpt::None) {        bool AllPredsVisited = true; @@ -1713,7 +1713,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {        FastIS->recomputeInsertPt();      } -    if (SP.shouldEmitSDCheck(*LLVMBB)) { +    if (getAnalysis<StackProtector>().shouldEmitSDCheck(*LLVMBB)) {        bool FunctionBasedInstrumentation =            TLI->getSSPStackGuardCheck(*Fn.getParent());        SDB->SPDescriptor.initialize(LLVMBB, FuncInfo->MBBMap[LLVMBB], @@ -1746,8 +1746,6 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {      ElidedArgCopyInstrs.clear();    } -  SP.copyToMachineFrameInfo(MF->getFrameInfo()); -    propagateSwiftErrorVRegs(FuncInfo);    delete FastIS;  | 

