From: Daniel Dunbar Date: Mon, 8 Jun 2009 22:17:53 +0000 (+0000) Subject: Document the stack alignment part of target data description. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=87bde0b7d30c9b57f2a3e6d701e535fc539f34e0;p=oota-llvm.git Document the stack alignment part of target data description. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73089 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/LangRef.html b/docs/LangRef.html index 60217ecff42..c4255ba296e 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1177,6 +1177,9 @@ aspect of the data layout. The specifications accepted are as follows:

asize:abi:pref
This specifies the alignment for an aggregate type of a given bit size.
+
ssize:abi:pref
+
This specifies the alignment for a stack object of a given bit + size.

When constructing the data layout for a given target, LLVM starts with a default set of specifications which are then (possibly) overriden by the @@ -1196,6 +1199,7 @@ are given in this list:

  • v64:64:64 - 64-bit vector is 64-bit aligned
  • v128:128:128 - 128-bit vector is 128-bit aligned
  • a0:0:1 - aggregates are 8-bit aligned
  • +
  • s0:64:64 - stack objects are 64-bit aligned
  • When LLVM is determining the alignment for a given type, it uses the following rules: