diff --git a/docs/BytecodeFormat.html b/docs/BytecodeFormat.html index 669e7197f5e..524879f6097 100644 --- a/docs/BytecodeFormat.html +++ b/docs/BytecodeFormat.html @@ -861,6 +861,10 @@ missing otherwise. uint24_vbr Type ID for structure types (14) + + uint32_vbr + Value 0 if a normal structure, 1 if a packed structure + zlist(uint24_vbr) Slot number of each of the element's fields. diff --git a/docs/LangRef.html b/docs/LangRef.html index 64725a700fe..35585f252b8 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -40,6 +40,7 @@
  • Function Type
  • Pointer Type
  • Structure Type
  • +
  • Packed Structure Type
  • Packed Type
  • Opaque Type
  • @@ -932,6 +933,38 @@ instruction.

    + +
    Packed Structure Type +
    +
    +
    Overview:
    +

    The packed structure type is used to represent a collection of data members +together in memory. There is no padding between fields. Further, the alignment +of a packed structure is 1 byte. The elements of a packed structure may +be any type that has a size.

    +

    Structures are accessed using 'load +and 'store' by getting a pointer to a +field with the 'getelementptr' +instruction.

    +
    Syntax:
    +
      < { <type list> } > 
    +
    Examples:
    + + + + + +
    + < { int, int, int } >
    + < { float, int (int) * } >
    +
    + a triple of three int values
    + A pair, where the first element is a float and the second element + is a pointer to a function + that takes an int, returning an int.
    +
    +
    +
    Pointer Type