From 89fef139c108ada8da9a45bdd2d45ec4ebc96013 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 8 Jun 2009 22:17:53 +0000 Subject: [PATCH] Document the stack alignment part of target data description. llvm-svn: 73089 --- docs/LangRef.html | 4 ++++ 1 file changed, 4 insertions(+) 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: