Skip to content
  • Reid Spencer's avatar
    For PR1064: · 7a9c62ba
    Reid Spencer authored
    Implement the arbitrary bit-width integer feature. The feature allows
    integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
    16, 32, and 64 bit integers.
    
    This change does several things:
    1. Introduces a new Derived Type, IntegerType, to represent the number of
       bits in an integer. The Type classes SubclassData field is used to
       store the number of bits. This allows 2^23 bits in an integer type.
    2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
       64-bit integers. These are replaced with just IntegerType which is not
       a primitive any more.
    3. Adjust the rest of LLVM to account for this change.
    
    Note that while this incremental change lays the foundation for arbitrary
    bit-width integers, LLVM has not yet been converted to actually deal with
    them in any significant way. Most optimization passes, for example, will
    still only deal with the byte-width integer types.  Future increments
    will rectify this situation.
    
    llvm-svn: 33113
    7a9c62ba
Loading