- Apr 01, 2007
-
-
Reid Spencer authored
Support overloaded intrinsics bswap, ctpop, cttz, ctlz. llvm-svn: 35547
-
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
-
Reid Spencer authored
Change getOperationName to return std::string instead of const char* llvm-svn: 35545
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
Chris Lattner authored
llvm-svn: 35537
-
Chris Lattner authored
llvm-svn: 35536
-
Chris Lattner authored
llvm-svn: 35535
-
Nick Lewycky authored
llvm-svn: 35534
-
- Mar 31, 2007
-
-
Andrew Lenharth authored
llvm-svn: 35533
-
Anton Korobeynikov authored
llvm-svn: 35532
-
Bill Wendling authored
llvm-svn: 35531
-
Chris Lattner authored
llvm-svn: 35530
-
Chris Lattner authored
llvm-svn: 35529
-
Chris Lattner authored
llvm-svn: 35528
-
Chris Lattner authored
llvm-svn: 35527
-
Chris Lattner authored
llvm-svn: 35526
-
Zhou Sheng authored
llvm-svn: 35525
-
Zhou Sheng authored
llvm-svn: 35524
-
Bill Wendling authored
llvm-svn: 35523
-
Chris Lattner authored
llvm-svn: 35522
-
Chris Lattner authored
llvm-svn: 35521
-
Chris Lattner authored
llvm-svn: 35520
-
Evan Cheng authored
llvm-svn: 35519
-
Jeff Cohen authored
llvm-svn: 35518
-
- Mar 30, 2007
-
-
Dale Johannesen authored
combination. llvm-svn: 35517
-
Chris Lattner authored
llvm-svn: 35516
-
Evan Cheng authored
llvm-svn: 35515
-
Evan Cheng authored
register more than once. llvm-svn: 35513
-
Evan Cheng authored
of dead def live interval at 1 to avoid multiple def's targeting the same register. The previous patch missed a case where the source operand is live-in. In that case, remove the whole interval. llvm-svn: 35512
-
Evan Cheng authored
llvm-svn: 35511
-
Zhou Sheng authored
llvm-svn: 35510
-
Zhou Sheng authored
llvm-svn: 35509
-
Reid Spencer authored
* Rename the FunctionType* parameter from M to FT on all the functions. * Implement a fix for PR1293 by just asserting that library functions that must return pointers should have pointer typed results. This just makes sure that we don't attempt to use an uninitialized integer or something later on. llvm-svn: 35508
-
Duncan Sands authored
llvm-svn: 35507
-