X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FLangRef.html;h=86f1ee3b51bba0657d23657816d7f6d72e52d846;hb=23ff1f910f5662be275b2c6bf40055d88579675a;hp=fd40c92f9aab93c4f05032f4e2db8968ebc189ff;hpb=284d992777d6364962037eb71082547507275765;p=oota-llvm.git diff --git a/docs/LangRef.html b/docs/LangRef.html index fd40c92f9aa..86f1ee3b51b 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -40,6 +40,7 @@
  • Derived Types
      +
    1. Integer Type
    2. Array Type
    3. Function Type
    4. Pointer Type
    5. @@ -671,7 +672,8 @@ accessed through pointers.

      A global variable may be declared to reside in a target-specifc numbered address space. For targets that support them, address spaces may affect how optimizations are performed and/or what target instructions are used to access -the variable. The default address space is zero.

      +the variable. The default address space is zero. The address space qualifier +must precede any other attributes.

      LLVM allows an explicit section to be specified for globals. If the target supports it, it will emit globals to the section specified.

      @@ -1068,28 +1070,18 @@ value.

      Examples:
      - - - + + + + + + + + + + +
      - i1
      - i4
      - i8
      - i16
      - i32
      - i42
      - i64
      - i1942652
      -
      - A boolean integer of 1 bit
      - A nibble sized integer of 4 bits.
      - A byte sized integer of 8 bits.
      - A half word sized integer of 16 bits.
      - A word sized integer of 32 bits.
      - An integer whose bit width is the answer.
      - A double word sized integer of 64 bits.
      - A really big integer of over 1 million bits.
      -
      i1a single-bit integer.
      i32a 32-bit integer.
      i1942652a really big integer of over 1 million bits.
      @@ -1116,31 +1108,31 @@ be any type with a size.

      Examples:
      - - + + + + + + + + + +
      - [40 x i32 ]
      - [41 x i32 ]
      - [40 x i8]
      -
      - Array of 40 32-bit integer values.
      - Array of 41 32-bit integer values.
      - Array of 40 8-bit integer values.
      -
      [40 x i32]Array of 40 32-bit integer values.
      [41 x i32]Array of 41 32-bit integer values.
      [4 x i8]Array of 4 8-bit integer values.

      Here are some examples of multidimensional arrays:

      - - + + + + + + + + + +
      - [3 x [4 x i32]]
      - [12 x [10 x float]]
      - [2 x [3 x [4 x i16]]]
      -
      - 3x4 array of 32-bit integer values.
      - 12x10 array of single precision floating point values.
      - 2x3x4 array of 16-bit integer values.
      -
      [3 x [4 x i32]]3x4 array of 32-bit integer values.
      [12 x [10 x float]]12x10 array of single precision floating point values.
      [2 x [3 x [4 x i16]]]2x3x4 array of 16-bit integer values.
      @@ -1247,7 +1239,7 @@ instruction.

      < { i32, i32, i32 } > A triple of three i32 values - < { float, i32 (i32) * } > + < { float, i32 (i32)* } > A pair, where the first element is a float and the second element is a pointer to a function that takes an i32, returning @@ -1270,20 +1262,20 @@ zero.

      Examples:
      - - + + + + + + i32. + + + +
      - [4x i32]*
      - i32 (i32 *) *
      - i32 addrspace(5)*
      -
      - A pointer to array of - four i32 values
      - A pointer to a [4x i32]*
      A pointer to array of four i32 values.
      i32 (i32 *) * A pointer to a function that takes an i32*, returning an - i32.
      - A pointer to an i32 value that resides - in address space 5.
      -
      i32 addrspace(5)*A pointer to an i32 value + that resides in address space #5.
      @@ -1315,16 +1307,16 @@ be any integer or floating point type.

      - - + + + + + + + + + +
      - <4 x i32>
      - <8 x float>
      - <2 x i64>
      -
      - Vector of 4 32-bit integer values.
      - Vector of 8 floating-point values.
      - Vector of 2 64-bit integer values.
      -
      <4 x i32>Vector of 4 32-bit integer values.
      <8 x float>Vector of 8 32-bit floating-point values.
      <2 x i64>Vector of 2 64-bit integer values.
      @@ -1350,12 +1342,8 @@ structure type).

      - - + +
      - opaque - - An opaque type.
      -
      opaqueAn opaque type.
      @@ -2670,7 +2658,8 @@ allocate, and free memory in LLVM.

      Overview:

      The 'malloc' instruction allocates memory from the system -heap and returns a pointer to it.

      +heap and returns a pointer to it. The object is always allocated in the generic +address space (address space zero).

      Arguments:
      @@ -2757,7 +2746,8 @@ after this instruction executes.

      The 'alloca' instruction allocates memory on the stack frame of the currently executing function, to be automatically released when this function -returns to its caller.

      +returns to its caller. The object is always allocated in the generic address +space (address space zero).

      Arguments:
      @@ -3971,6 +3961,10 @@ Front-ends for type-safe garbage collected languages should generate these intrinsics to make use of the LLVM garbage collectors. For more details, see Accurate Garbage Collection with LLVM.

      + +

      The garbage collection intrinsics only operate on objects in the generic + address space (address space zero).

      +