Getter and setter for function notes.
authorDevang Patel <dpatel@apple.com>
Tue, 2 Sep 2008 18:33:55 +0000 (18:33 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 2 Sep 2008 18:33:55 +0000 (18:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55638 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Function.h

index 0e852e6ba1e2fa1acba627ca40de5925311d5362..58edab480ac46f64209396b2f5e277b31e2a4afd 100644 (file)
@@ -51,6 +51,12 @@ template<> struct ilist_traits<Argument>
   static int getListOffset();
 };
 
+typedef unsigned FunctionNotes;
+const FunctionNotes FP_None            = 0;   
+const FunctionNotes FP_NoInline        = 1<<0;
+const FunctionNotes FP_AlwaysInline    = 1<<1;
+const FunctionNotes FP_OptimizeForSize = 1<<2;
+
 class Function : public GlobalValue, public Annotable,
                  public ilist_node<Function> {
 public:
@@ -70,7 +76,8 @@ private:
   mutable ArgumentListType ArgumentList;  ///< The formal arguments
   ValueSymbolTable *SymTab;               ///< Symbol table of args/instructions
   PAListPtr ParamAttrs;                   ///< Parameter attributes
-  
+  FunctionNotes Notes;                    ///< Function properties
+
   // The Calling Convention is stored in Value::SubclassData.
   /*unsigned CallingConvention;*/
 
@@ -148,6 +155,14 @@ public:
   ///
   void setParamAttrs(const PAListPtr &attrs) { ParamAttrs = attrs; }
 
+  /// getNotes - Return this function properties
+  ///
+  const FunctionNotes &getNotes() const { return Notes; }
+
+  /// setNotes - Set properties for this function
+  ///
+  void setNotes(const FunctionNotes P) { Notes = P;}
+
   /// hasGC/getGC/setGC/clearGC - The name of the garbage collection algorithm
   ///                             to use during code generation.
   bool hasGC() const;