aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-01-17 07:28:48 +0000
committerChris Lattner <sabre@nondot.org>2007-01-17 07:28:48 +0000
commitc49e1eb8cc5fc1effebf1863acd78889fad0aa32 (patch)
tree61e03db32b73bddd078a506560af961617f5baa1
parent72826f61710a8bdc421ddc5f8c2ed10bf6873de8 (diff)
make doxygen comment much better. Patch by B. Scott Michel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33294 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Target/TargetData.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h
index 9b5aa99bde..aaae41c17c 100644
--- a/include/llvm/Target/TargetData.h
+++ b/include/llvm/Target/TargetData.h
@@ -81,8 +81,38 @@ public:
~TargetData(); // Not virtual, do not subclass this class
- /// init - Specify configuration if not available at ctor time.
+ /// 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 alignments of various data types and
+ /// the size of pointers. The "-" 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.
+ ///
+ /// 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]</em> specifies double floating point alignment
+ /// [default = 64] <br>
+ /// <em>f:[align]</em> specifies single floating point alignment
+ /// [default = 32] <br>
+ /// <em>l:[align]</em> specifies long integer alignment
+ /// [default = 64] <br>
+ /// <em>i:[align]</em> specifies integer alignment
+ /// [default = 32] <br>
+ /// <em>s:[align]</em> specifies short integer alignment
+ /// [default = 16] <br>
+ /// <em>b:[align]</em> specifies byte data type alignment
+ /// [default = 8] <br>
+ /// <em>B:[align]</em> specifies boolean data type alignment
+ /// [default = 8] <br>
+ ///
+ /// All other token types are silently ignored.
void init(const std::string &TargetDescription);