Skip to content
  1. Nov 25, 2009
  2. Nov 19, 2009
  3. Jul 11, 2009
  4. Jun 21, 2009
  5. May 22, 2009
  6. Mar 16, 2009
  7. Mar 13, 2009
  8. Nov 03, 2008
    • Dan Gohman's avatar
      Change how extended types are represented in MVTs. Instead of fiddling · d7546abb
      Dan Gohman authored
      bits, use a union of a SimpleValueType enum and a regular Type*.
      
      This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits.
      In most cases, this doesn't add significant overhead. There are places
      in codegen that use arrays of MVTs, so these are now larger, but
      they're small in common cases.
      
      This eliminates restrictions on the size of integer types and vector
      types that can be represented in codegen. As the included testcase
      demonstrates, it's now possible to codegen very large add operations.
      There are still some complications with using very large types. PR2880
      is still open so they can't be used as return values on normal targets,
      there are no libcalls defined for very large integers so operations
      like multiply and divide aren't supported.
      
      This also introduces a minimal tablgen Type library, capable of
      handling IntegerType and VectorType. This will allow parts of
      TableGen that don't depend on using SimpleValueType values to handle
      arbitrary integer and vector types.
      
      llvm-svn: 58623
      d7546abb
  9. Sep 22, 2008
Loading