- /// Parse a target data layout string and initialize TargetData members.
- ///
- /// Parse a target data layout string, initializing the various TargetData
- /// members along the way. A TargetData specification string looks like
- /// "E-p:64:64-d:64-f:32-l:64-i:32-s:16-b:8-B:8" and specifies the
- /// target's endianess, the ABI alignments of various data types and
- /// the size of pointers.
- ///
- /// "-" is used as a separator and ":" separates a token from its argument.
- ///
- /// Alignment is indicated in bits and internally converted to the
- /// appropriate number of bytes.
- ///
- /// The preferred stack/global alignment specifications (":[prefalign]") are
- /// optional and default to the ABI alignment.
- ///
- /// Valid tokens:
- /// <br>
- /// <em>E</em> specifies big endian architecture (1234) [default]<br>
- /// <em>e</em> specifies little endian architecture (4321) <br>
- /// <em>p:[ptr size]:[ptr align]</em> specifies pointer size and alignment
- /// [default = 64:64] <br>
- /// <em>d:[align]:[prefalign]</em> specifies double floating
- /// point alignment [default = 64] <br>
- /// <em>f:[align]:[prefalign]</em> specifies single floating
- /// point alignment [default = 32] <br>
- /// <em>l:[align]:[prefalign]:[globalign[</em> specifies long integer
- /// alignment [default = 64] <br>
- /// <em>i:[align]:[prefalign]</em> specifies integer alignment
- /// [default = 32] <br>
- /// <em>s:[align]:[prefalign]</em> specifies short integer
- /// alignment [default = 16] <br>
- /// <em>b:[align]:[prefalign]</em> specifies byte data type
- /// alignment [default = 8] <br>
- /// <em>B:[align]:[prefalign]</em> specifies boolean data type
- /// alignment [default = 8] <br>
- /// <em>A:[prefalign]</em> specifies an aggregates' minimum alignment
- /// on the stack and when emitted as a global. The default minimum aggregate
- /// alignment defaults to 0, which causes the aggregate's "natural" internal
- /// alignment calculated by llvm to be preferred.
- ///
- /// All other token types are silently ignored.