For PR1145:
authorReid Spencer <rspencer@reidspencer.com>
Thu, 22 Mar 2007 00:32:02 +0000 (00:32 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 22 Mar 2007 00:32:02 +0000 (00:32 +0000)
Add the NoUnwindAttribute to allow explicit marking of functions that do
not unwind the stack via the unwind instruction. This is akin to gcc's
NoThrow attribute and used for optimizing exception handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35250 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/DerivedTypes.h

index dadbdcc3add37de15eb4dd348a1c6964743446bf..4b24d876beef7a39deb20b1a761d69ec209f2040 100644 (file)
@@ -148,7 +148,8 @@ public:
     SExtAttribute     = 1 << 1, ///< sign extended before/after call
     NoReturnAttribute = 1 << 2, ///< mark the function as not returning
     InRegAttribute    = 1 << 3, ///< force argument to be passed in register
-    StructRetAttribute= 1 << 4  ///< hidden pointer to structure to return
+    StructRetAttribute= 1 << 4, ///< hidden pointer to structure to return
+    NoUnwindAttribute = 1 << 5  ///< Function doesn't unwind stack
   };
   typedef std::vector<ParameterAttributes> ParamAttrsList;
 private: