summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcISelLowering.cpp
diff options
context:
space:
mode:
authorMarcin Koscielnicki <koriakin@0x04.net>2016-04-26 10:37:14 +0000
committerMarcin Koscielnicki <koriakin@0x04.net>2016-04-26 10:37:14 +0000
commit33571e2c415cc4d6f2375a6499278110a65da1b7 (patch)
tree34480a58c03b239993358e2713fe3514f6488942 /llvm/lib/Target/Sparc/SparcISelLowering.cpp
parentfafb44951ae43f198af0e6fa20c9ce60c394cdca (diff)
downloadbcm5719-llvm-33571e2c415cc4d6f2375a6499278110a65da1b7.tar.gz
bcm5719-llvm-33571e2c415cc4d6f2375a6499278110a65da1b7.zip
[SPARC] [SSP] Add support for LOAD_STACK_GUARD.
This fixes PR22248 on sparc. Differential Revision: http://reviews.llvm.org/D19386 llvm-svn: 267545
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcISelLowering.cpp')
-rw-r--r--llvm/lib/Target/Sparc/SparcISelLowering.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.cpp b/llvm/lib/Target/Sparc/SparcISelLowering.cpp
index 527d052258d..7a1e7538ba0 100644
--- a/llvm/lib/Target/Sparc/SparcISelLowering.cpp
+++ b/llvm/lib/Target/Sparc/SparcISelLowering.cpp
@@ -3302,3 +3302,16 @@ void SparcTargetLowering::ReplaceNodeResults(SDNode *N,
}
}
}
+
+// Override to enable LOAD_STACK_GUARD lowering on Linux.
+bool SparcTargetLowering::useLoadStackGuardNode() const {
+ if (!Subtarget->isTargetLinux())
+ return TargetLowering::useLoadStackGuardNode();
+ return true;
+}
+
+// Override to disable global variable loading on Linux.
+void SparcTargetLowering::insertSSPDeclarations(Module &M) const {
+ if (!Subtarget->isTargetLinux())
+ return TargetLowering::insertSSPDeclarations(M);
+}
OpenPOWER on IntegriCloud