Skip to content
  1. Apr 01, 2007
    • Reid Spencer's avatar
      For PR1297: · 6bba6c81
      Reid Spencer authored
      Support overloaded intrinsics bswap, ctpop, cttz, ctlz.
      
      llvm-svn: 35547
      6bba6c81
    • Reid Spencer's avatar
      For PR1297: · 3a0843e7
      Reid Spencer authored
      Adjust for changes in the bit counting intrinsics. They all return i32
      now so we have to trunc/zext the DAG node accordingly.
      
      llvm-svn: 35546
      3a0843e7
    • Reid Spencer's avatar
      For PR1297: · a090ffb2
      Reid Spencer authored
      Change getOperationName to return std::string instead of const char*
      
      llvm-svn: 35545
      a090ffb2
    • Reid Spencer's avatar
      For PR1297: · eba02145
      Reid Spencer authored
      Implement bswap, ctpop, ctlz, and cttz utilizing the new overloaded
      intrinsic feature of tblgen. By defining llvm_int_ty to have an ValueType
      of iAny, any intrinsic using that type becomes an overloaded intrinsic.
      This signals that a) any integer type could be used for that argument and
      b) the intrinsic needs a suffix to match each such argument for the
      actual intrinsic.
      
      llvm-svn: 35544
      eba02145
    • Reid Spencer's avatar
      For PR1297: · c7c4880a
      Reid Spencer authored
      Intrinsic functions might need to be generated (if they are overloaded) so
      returning a const char* is no longer possible. Change getOperationName to
      return a std::string instead.
      
      llvm-svn: 35543
      c7c4880a
    • Reid Spencer's avatar
      For PR1297: · be23fb03
      Reid Spencer authored
      Change the interface to the getName, getType, getDeclaration methods to
      include the "actual" types of the result/arguments. This is necessary to
      support overloaded intrinsics.
      
      llvm-svn: 35542
      be23fb03
    • Reid Spencer's avatar
      For PR1297: · 2a2117c8
      Reid Spencer authored
      Implement "actual" argument types for the Intrinsic member functions. This
      involves changing the getName, getType, and getDeclaration methods to have
      optional parameters for the actual types. These are necessary in order for
      the type/name to be constructed properly for overloaded intrinsics. Only
      the caller knows the actual argument types desired.
      
      llvm-svn: 35541
      2a2117c8
    • Reid Spencer's avatar
      For PR1297: · 7c57b88b
      Reid Spencer authored
      1. Clear up confusion between "GotBits" and "ExpectBits". GotBits is the
         type actually provided. ExpectedBits is the type expected for the
         intrinsics. Before this patch, it was reversed!
      2. Implement checks for overloaded intrinsics. This involves computing the
         suffix expected and making sure the suffix matches the function name. It
         also includes some intrinsic-specific checks such as ensuring that the
         bswap parameter and result are the same width and an even number of bytes.
      
      llvm-svn: 35540
      7c57b88b
    • Reid Spencer's avatar
      For PR1297: · e67d0c22
      Reid Spencer authored
      Implement code generation for overloaded intrinsic functions. The basic
      difference is that "actual" argument types must be provided when
      constructing intrinsic names and types. Also, for recognition, only the
      prefix is examined. If it matches, the suffix is assumed to match. The
      suffix is checked by the Verifier, however.
      
      llvm-svn: 35539
      e67d0c22
    • Reid Spencer's avatar
      For PR1297: · 51455e00
      Reid Spencer authored
      Add an "iAny" ValueType as a place holder for an integer type of any
      bit width. This is used for intrinsics overloading on integer type.
      
      llvm-svn: 35538
      51455e00
    • Chris Lattner's avatar
      not not! · f517e957
      Chris Lattner authored
      llvm-svn: 35537
      f517e957
    • Chris Lattner's avatar
      Fix InstCombine/2007-03-31-InfiniteLoop.ll · 04277995
      Chris Lattner authored
      llvm-svn: 35536
      04277995
    • Chris Lattner's avatar
      New testcase · 9729bdd8
      Chris Lattner authored
      llvm-svn: 35535
      9729bdd8
    • Nick Lewycky's avatar
      Implement union of wrapped sets. · f22938af
      Nick Lewycky authored
      llvm-svn: 35534
      f22938af
  2. Mar 31, 2007
  3. Mar 30, 2007
Loading