add nocapture attribute to llvm.mem* intrinsics and have tblgen
[oota-llvm.git] / utils / TableGen / CodeGenIntrinsics.h
index 1170da0f35994fc0a25efd1ea3989baf7091e405..dd99e319d6c77e089f47f007ce8883b48fc09235 100644 (file)
@@ -63,13 +63,17 @@ namespace llvm {
       NoMem, ReadArgMem, ReadMem, WriteArgMem, WriteMem
     } ModRef;
 
-    // This is set to true if the intrinsic is overloaded by its argument
-    // types.
+    /// This is set to true if the intrinsic is overloaded by its argument
+    /// types.
     bool isOverloaded;
 
-    // isCommutative - True if the intrinsic is commutative.
-    //
+    /// isCommutative - True if the intrinsic is commutative.
     bool isCommutative;
+    
+    enum ArgAttribute {
+      NoCapture
+    };
+    std::vector<std::pair<unsigned, ArgAttribute> > ArgumentAttributes;
 
     CodeGenIntrinsic(Record *R);
   };