[PATCH] D24896: [safestack] Require TargetMachine to be provided.

Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 13:40:41 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL283248: [safestack] Requires a valid TargetMachine to be passed to the SafeStack pass. (authored by dlkreitz).

Changed prior to commit:
  https://reviews.llvm.org/D24896?vs=72567&id=73546#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D24896

Files:
  llvm/trunk/lib/CodeGen/SafeStack.cpp


Index: llvm/trunk/lib/CodeGen/SafeStack.cpp
===================================================================
--- llvm/trunk/lib/CodeGen/SafeStack.cpp
+++ llvm/trunk/lib/CodeGen/SafeStack.cpp
@@ -358,9 +358,8 @@
 
 Value *SafeStack::getOrCreateUnsafeStackPtr(IRBuilder<> &IRB, Function &F) {
   // Check if there is a target-specific location for the unsafe stack pointer.
-  if (TL)
-    if (Value *V = TL->getSafeStackPointerLocation(IRB))
-      return V;
+  if (Value *V = TL->getSafeStackPointerLocation(IRB))
+    return V;
 
   // Otherwise, assume the target links with compiler-rt, which provides a
   // thread-local variable with a magic name.
@@ -393,9 +392,7 @@
 }
 
 Value *SafeStack::getStackGuard(IRBuilder<> &IRB, Function &F) {
-  Value *StackGuardVar = nullptr;
-  if (TL)
-    StackGuardVar = TL->getIRStackGuard(IRB);
+  Value *StackGuardVar = TL->getIRStackGuard(IRB);
   if (!StackGuardVar)
     StackGuardVar =
         F.getParent()->getOrInsertGlobal("__stack_chk_guard", StackPtrTy);
@@ -752,7 +749,9 @@
     return false;
   }
 
-  TL = TM ? TM->getSubtargetImpl(F)->getTargetLowering() : nullptr;
+  if (!TM)
+    report_fatal_error("Target machine is required");
+  TL = TM->getSubtargetImpl(F)->getTargetLowering();
   SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
 
   ++NumFunctions;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24896.73546.patch
Type: text/x-patch
Size: 1330 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161004/7094ea52/attachment.bin>


More information about the llvm-commits mailing list