Index: src/IceIntrinsics.h |
diff --git a/src/IceIntrinsics.h b/src/IceIntrinsics.h |
index aea0bd202f12eb63e6c8b5193fea6d8ee6a03fbf..4b2fbc45e18f5f4efd40090fde4d696c1023817c 100644 |
--- a/src/IceIntrinsics.h |
+++ b/src/IceIntrinsics.h |
@@ -106,15 +106,19 @@ public: |
enum ReturnsTwice { ReturnsTwice_F = 0, ReturnsTwice_T = 1 }; |
+ enum MemoryWrite { MemoryWrite_F = 0, MemoryWrite_T = 1 }; |
+ |
/// Basic attributes related to each intrinsic, that are relevant to code |
/// generation. Perhaps the attributes representation can be shared with |
/// general function calls, but PNaCl currently strips all attributes from |
/// functions. |
struct IntrinsicInfo { |
- enum IntrinsicID ID : 30; |
+ enum IntrinsicID ID : 29; |
enum SideEffects HasSideEffects : 1; |
enum ReturnsTwice ReturnsTwice : 1; |
+ enum MemoryWrite IsMemoryWrite : 1; |
}; |
+ static_assert(sizeof(IntrinsicInfo) == 4, "IntrinsicInfo should be 32 bits"); |
/// The types of validation values for FullIntrinsicInfo.validateCall. |
enum ValidateCallValue { |