r272782 - [Sparc] Change to let clang know that setjmp and longjmp intrinsics are implemented in the back-end.

Chris Dewhurst via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 15 05:44:48 PDT 2016


Author: lerochris
Date: Wed Jun 15 07:44:47 2016
New Revision: 272782

URL: http://llvm.org/viewvc/llvm-project?rev=272782&view=rev
Log:
[Sparc] Change to let clang know that setjmp and longjmp intrinsics are implemented in the back-end.

Differential Revision: http://reviews.llvm.org/D19798

Modified:
    cfe/trunk/lib/Basic/Targets.cpp

Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=272782&r1=272781&r2=272782&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Wed Jun 15 07:44:47 2016
@@ -6395,6 +6395,10 @@ public:
              .Default(false);
   }
 
+  bool hasSjLjLowering() const override {
+    return true;
+  }
+
   ArrayRef<Builtin::Info> getTargetBuiltins() const override {
     // FIXME: Implement!
     return None;
@@ -6562,6 +6566,7 @@ public:
   SparcV8TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
       : SparcTargetInfo(Triple, Opts) {
     resetDataLayout("E-m:e-p:32:32-i64:64-f128:64-n32-S64");
+    MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
     // NetBSD / OpenBSD use long (same as llvm default); everyone else uses int.
     switch (getTriple().getOS()) {
     default:




More information about the cfe-commits mailing list