summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
authorTim Shen <timshen91@gmail.com>2016-04-08 21:26:31 +0000
committerTim Shen <timshen91@gmail.com>2016-04-08 21:26:31 +0000
commit0012756489bd46c1a5c3ff89ce281c14e88bee1f (patch)
treefea568a38ea17a075072117c87df36a094712b55 /llvm/lib/Target/X86/X86ISelLowering.cpp
parentc0a627524d0a96fb0108b1ab96f2f76e96a71a53 (diff)
downloadbcm5719-llvm-0012756489bd46c1a5c3ff89ce281c14e88bee1f.tar.gz
bcm5719-llvm-0012756489bd46c1a5c3ff89ce281c14e88bee1f.zip
[SSP] Remove llvm.stackprotectorcheck.
This is a cleanup patch for SSP support in LLVM. There is no functional change. llvm.stackprotectorcheck is not needed, because SelectionDAG isn't actually lowering it in SelectBasicBlock; rather, it adds check code in FinishBasicBlock, ignoring the position where the intrinsic is inserted (See FindSplitPointForStackProtector()). llvm-svn: 265851
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 4c2e54f8102..1931c7f4263 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -2193,9 +2193,9 @@ unsigned X86TargetLowering::getAddressSpace() const {
return 256;
}
-Value *X86TargetLowering::getStackCookieLocation(IRBuilder<> &IRB) const {
+Value *X86TargetLowering::getIRStackGuard(IRBuilder<> &IRB) const {
if (!Subtarget.isTargetLinux())
- return TargetLowering::getStackCookieLocation(IRB);
+ return TargetLowering::getIRStackGuard(IRB);
// %fs:0x28, unless we're using a Kernel code model, in which case it's %gs:
// %gs:0x14 on i386
@@ -2206,6 +2206,19 @@ Value *X86TargetLowering::getStackCookieLocation(IRBuilder<> &IRB) const {
Type::getInt8PtrTy(IRB.getContext())->getPointerTo(AddressSpace));
}
+void X86TargetLowering::insertSSPDeclarations(Module &M) const {
+ if (!Subtarget.isTargetLinux())
+ TargetLowering::insertSSPDeclarations(M);
+ else
+ llvm_unreachable("X86 Linux supports customized IR stack guard load");
+}
+
+Value *X86TargetLowering::getSDStackGuard(const Module &M) const {
+ if (!Subtarget.isTargetLinux())
+ return TargetLowering::getSDStackGuard(M);
+ llvm_unreachable("X86 Linux supports customized IR stack guard load");
+}
+
Value *X86TargetLowering::getSafeStackPointerLocation(IRBuilder<> &IRB) const {
if (!Subtarget.isTargetAndroid())
return TargetLowering::getSafeStackPointerLocation(IRB);
OpenPOWER on IntegriCloud