Skip to content
  1. Apr 22, 2007
  2. Apr 09, 2007
  3. Mar 05, 2007
  4. Mar 01, 2007
  5. Feb 20, 2007
  6. Feb 19, 2007
    • Reid Spencer's avatar
      Implement support for non-standard integer bit widths of any size. The · 421bad0d
      Reid Spencer authored
      rules alignment is to pick the alignment that corresponds to the smallest
      specified alignment that is larger than the bit width of the type or the
      largest specified integer alignment if none are larger than the bitwidth
      of the type. For the byte size, the size returned is the next larger
      multiple of the alignment for that type (using the above rule). This patch
      also changes bit widths from "short" to "uint32_t" to ensure there are
      enough bits to specify any bit width that LLVM can handle (currently 2^23);
      16-bits isn't enough.
      
      llvm-svn: 34431
      421bad0d
  7. Feb 17, 2007
  8. Feb 16, 2007
  9. Feb 15, 2007
  10. Feb 14, 2007
  11. Feb 10, 2007
  12. Feb 06, 2007
    • Reid Spencer's avatar
      Although targets are not required to support integers > 64bits, TargetData · 92b50800
      Reid Spencer authored
      must in order for backends that do want to support large integer types to be
      able to function. Consequently, don't assert if the bitwidth > 64 bits
      when computing the size and alignment. Instead, compute the size by rounding
      up to the next even number of bytes for the size. Compute the alignment
      as the same as the LongABIAlignment. These provide reasonable defaults
      that the target can override.
      
      llvm-svn: 33943
      92b50800
  13. Jan 31, 2007
  14. Jan 26, 2007
    • Reid Spencer's avatar
      For PR761: · 3ac38e99
      Reid Spencer authored
      The Module::setEndianness and Module::setPointerSize methods have been
      removed. Instead you can get/set the DataLayout. Adjust thise accordingly.
      
      llvm-svn: 33530
      3ac38e99
  15. Jan 24, 2007
  16. Jan 23, 2007
  17. Jan 21, 2007
  18. Jan 20, 2007
  19. Jan 12, 2007
    • 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
  20. Jan 11, 2007
  21. Dec 31, 2006
    • Reid Spencer's avatar
      For PR950: · e63b6518
      Reid Spencer authored
      Three changes:
      1. Convert signed integer types to signless versions.
      2. Implement the @sext and @zext parameter attributes. Previously the
         type of an function parameter was used to determine whether it should
         be sign extended or zero extended before the call. This information is
         now communicated via the function type's parameter attributes.
      3. The interface to LowerCallTo had to be changed in order to accommodate
         the parameter attribute information. Although it would have been
         convenient to pass in the FunctionType itself, there isn't always one
         present in the caller. Consequently, a signedness indication for the
         result type and for each parameter was provided for in the interface
         to this method. All implementations were changed to make the adjustment
         necessary.
      
      llvm-svn: 32788
      e63b6518
  22. Dec 08, 2006
  23. Oct 24, 2006
  24. Oct 20, 2006
    • Reid Spencer's avatar
      For PR950: · e0fc4dfc
      Reid Spencer authored
      This patch implements the first increment for the Signless Types feature.
      All changes pertain to removing the ConstantSInt and ConstantUInt classes
      in favor of just using ConstantInt.
      
      llvm-svn: 31063
      e0fc4dfc
  25. Jun 16, 2006
  26. May 21, 2006
Loading