From ec38da42c8d563d639579d77b883e9ed1cbe2582 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Sun, 27 Sep 2009 00:45:11 +0000 Subject: [PATCH] Move the integer type out of 'derived' and into 'primitive'. This permits us to explain that derived types are all composed of other types, which primitive types aren't. Without moving integer out of derived, this wouldn't be true. Perform a few trivial cleanups; 'i1' went from a link to #t_primitive to #t_integer (a holdover from when it was a bool type I suppose). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82884 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LangRef.html | 100 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 51 insertions(+), 49 deletions(-) diff --git a/docs/LangRef.html b/docs/LangRef.html index 039b81ab825..935625dbfaa 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -56,6 +56,7 @@
  • Type Classifications
  • Primitive Types
      +
    1. Integer Type
    2. Floating Point Types
    3. Void Type
    4. Label Type
    5. @@ -64,7 +65,6 @@
    6. Derived Types
        -
      1. Integer Type
      2. Array Type
      3. Function Type
      4. Pointer Type
      5. @@ -1380,7 +1380,7 @@ Classifications

        The first class types are perhaps the most important. Values of these types are the only ones which can be produced by - instructions, passed as arguments, or used as operands to instructions.

        + instructions.

        @@ -1395,6 +1395,47 @@ Classifications + + +
        + +
        Overview:
        +

        The integer type is a very simple type that simply specifies an arbitrary + bit width for the integer type desired. Any bit width from 1 bit to + 223-1 (about 8 million) can be specified.

        + +
        Syntax:
        +
        +  iN
        +
        + +

        The number of bits the integer will occupy is specified by the N + value.

        + +
        Examples:
        + + + + + + + + + + + + + +
        i1a single-bit integer.
        i32a 32-bit integer.
        i1942652a really big integer of over 1 million bits.
        + +

        Note that the code generator does not yet support large integer types to be + used as function return types. The specific limit on how large a return type + the code generator can currently handle is target-dependent; currently it's + often 64 bits for 32-bit targets and 128 bits for 64-bit targets.

        + +
        + +
        @@ -1467,49 +1508,10 @@ Classifications

        The real power in LLVM comes from the derived types in the system. This is what allows a programmer to represent arrays, functions, pointers, and other - useful types. Note that these derived types may be recursive: For example, - it is possible to have a two dimensional array.

        - - - - - - -
        - -
        Overview:
        -

        The integer type is a very simple derived type that simply specifies an - arbitrary bit width for the integer type desired. Any bit width from 1 bit to - 2^23-1 (about 8 million) can be specified.

        - -
        Syntax:
        -
        -  iN
        -
        - -

        The number of bits the integer will occupy is specified by the N - value.

        - -
        Examples:
        - - - - - - - - - - - - - -
        i1a single-bit integer.
        i32a 32-bit integer.
        i1942652a really big integer of over 1 million bits.
        - -

        Note that the code generator does not yet support large integer types to be - used as function return types. The specific limit on how large a return type - the code generator can currently handle is target-dependent; currently it's - often 64 bits for 32-bit targets and 128 bits for 64-bit targets.

        + useful types. Each of these types contain one or more element types which + may be a primitive type, or another derived type. For example, it is + possible to have a two dimensional array, using an array as the element type + of another array.

        @@ -1888,7 +1890,7 @@ Classifications
        Boolean constants
        The two strings 'true' and 'false' are both valid - constants of the i1 type.
        + constants of the i1 type.
        Integer constants
        Standard integers (such as '4') are constants of @@ -4691,7 +4693,7 @@ entry:
        Semantics:

        The 'icmp' compares op1 and op2 according to the condition code given as cond. The comparison performed always yields - either an i1 or vector of i1 + either an i1 or vector of i1 result, as follows:

          @@ -4768,7 +4770,7 @@ entry: values based on comparison of its operands.

          If the operands are floating point scalars, then the result type is a boolean -(i1).

          +(i1).

          If the operands are floating point vectors, then the result type is a vector of boolean with the same number of elements as the operands being @@ -4810,7 +4812,7 @@ entry:

          The 'fcmp' instruction compares op1 and op2 according to the condition code given as cond. If the operands are vectors, then the vectors are compared element by element. Each comparison - performed always yields an i1 result, as + performed always yields an i1 result, as follows:

            -- 2.11.0