+ /// This representation is in the same format accepted by the string
+ /// constructor above. This should not be used to compare two DataLayout as
+ /// different string can represent the same layout.
+ const std::string &getStringRepresentation() const {
+ return StringRepresentation;
+ }
+
+ /// \brief Test if the DataLayout was constructed from an empty string.
+ bool isDefault() const { return StringRepresentation.empty(); }
+
+ /// \brief Returns true if the specified type is known to be a native integer
+ /// type supported by the CPU.
+ ///
+ /// For example, i64 is not native on most 32-bit CPUs and i37 is not native
+ /// on any known one. This returns false if the integer width is not legal.