summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SafeStack.cpp
diff options
context:
space:
mode:
authorDavid L Kreitzer <david.l.kreitzer@intel.com>2016-10-13 20:57:51 +0000
committerDavid L Kreitzer <david.l.kreitzer@intel.com>2016-10-13 20:57:51 +0000
commit9015316df48ff422b6d65571a1c431fb6311dd6c (patch)
tree60a5cb4a60f89d9ac2be608af94e3a9d3ee65e20 /llvm/lib/CodeGen/SafeStack.cpp
parentf29fa586e1b403e2ee1a845e7f428a8d04215dc3 (diff)
downloadbcm5719-llvm-9015316df48ff422b6d65571a1c431fb6311dd6c.tar.gz
bcm5719-llvm-9015316df48ff422b6d65571a1c431fb6311dd6c.zip
[safestack] Reapply r283248 after moving X86-targeted SafeStack tests into
the X86 subdirectory. Original commit message: Requires a valid TargetMachine to be passed to the SafeStack pass. Patch by Michael LeMay Differential revision: http://reviews.llvm.org/D24896 llvm-svn: 284161
Diffstat (limited to 'llvm/lib/CodeGen/SafeStack.cpp')
-rw-r--r--llvm/lib/CodeGen/SafeStack.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/SafeStack.cpp b/llvm/lib/CodeGen/SafeStack.cpp
index 2f934f5ae02..ed3fa8cd6ad 100644
--- a/llvm/lib/CodeGen/SafeStack.cpp
+++ b/llvm/lib/CodeGen/SafeStack.cpp
@@ -357,9 +357,8 @@ bool SafeStack::IsSafeStackAlloca(const Value *AllocaPtr, uint64_t AllocaSize) {
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.
@@ -392,9 +391,7 @@ Value *SafeStack::getOrCreateUnsafeStackPtr(IRBuilder<> &IRB, Function &F) {
}
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);
@@ -751,7 +748,9 @@ bool SafeStack::runOnFunction(Function &F) {
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;
OpenPOWER on IntegriCloud