aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add i16 address mode.Evan Cheng2007-04-011-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35551 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1297:Reid Spencer2007-04-013-65/+28
| | | | | | | Support overloaded intrinsics bswap, ctpop, cttz, ctlz. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35547 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1297:Reid Spencer2007-04-011-24/+31
| | | | | | | | Adjust for changes in the bit counting intrinsics. They all return i32 now so we have to trunc/zext the DAG node accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35546 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1297:Reid Spencer2007-04-011-1/+1
| | | | | | | Change getOperationName to return std::string instead of const char* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35545 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1297:Reid Spencer2007-04-011-5/+14
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35541 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1297:Reid Spencer2007-04-011-7/+42
| | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35540 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix InstCombine/2007-03-31-InfiniteLoop.llChris Lattner2007-04-011-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35536 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement union of wrapped sets.Nick Lewycky2007-04-011-7/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35534 91177308-0d34-0410-b5e6-96231b3b80d8
* ReadmeAndrew Lenharth2007-03-311-1/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35533 91177308-0d34-0410-b5e6-96231b3b80d8
* Consistency with native compilersAnton Korobeynikov2007-03-311-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35532 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment.Bill Wendling2007-03-311-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35531 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2007-03-311-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35530 91177308-0d34-0410-b5e6-96231b3b80d8
* move a bunch of code out of the sdisel pass into its own opt pass ↵Chris Lattner2007-03-312-485/+21
| | | | | | "codegenprepare". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35529 91177308-0d34-0410-b5e6-96231b3b80d8
* Split the sdisel code munging stuff out into its own opt-pass, CodeGenPrepare.Chris Lattner2007-03-311-0/+548
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35528 91177308-0d34-0410-b5e6-96231b3b80d8
* switch TL::getValueType to use MVT::getValueType.Chris Lattner2007-03-311-22/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35527 91177308-0d34-0410-b5e6-96231b3b80d8
* add a method to turn a type into a VT.Chris Lattner2007-03-311-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35526 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete dead code.Zhou Sheng2007-03-311-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35525 91177308-0d34-0410-b5e6-96231b3b80d8
* Use APInt operators to calculate the carry bits, remove this loop.Zhou Sheng2007-03-311-16/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35524 91177308-0d34-0410-b5e6-96231b3b80d8
* Match GCC's MMX calling convention.Bill Wendling2007-03-311-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35523 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a -print-lsr-output option to LLC, to print the output of the LSR pass.Chris Lattner2007-03-311-1/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35522 91177308-0d34-0410-b5e6-96231b3b80d8
* implement the new addressing mode description hook.Chris Lattner2007-03-306-1/+129
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35521 91177308-0d34-0410-b5e6-96231b3b80d8
* add one addressing mode description hook to rule them all.Chris Lattner2007-03-301-0/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35520 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix incorrect combination of different loads. Reenable zext-over-truncateDale Johannesen2007-03-302-75/+71
| | | | | | | combination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35517 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't add the same MI to register reuse "last def/use" twice if it reads theEvan Cheng2007-03-301-1/+4
| | | | | | | register more than once. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35513 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix for PR1279. When isDead is propagate by copy coalescing, we keep lengthEvan Cheng2007-03-301-5/+10
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35512 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure the use of ConstantInt::getZExtValue() for shift amount safe.Zhou Sheng2007-03-301-18/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35510 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1293:Reid Spencer2007-03-301-49/+67
| | | | | | | | | | | * 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35508 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Make sure the use of ConstantInt::getZExtValue() for getting shiftZhou Sheng2007-03-301-27/+25
| | | | | | | | | amount is safe. 2. Use new method on ConstantInt instead of (? :) operator. 3. Use new method uge() on ConstantInt to simplify codes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35505 91177308-0d34-0410-b5e6-96231b3b80d8
* Use APInt operation instead of ConstantExpr::getXX.Zhou Sheng2007-03-301-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35503 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1289: RegenerateReid Spencer2007-03-302-0/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35500 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1289:Reid Spencer2007-03-301-0/+32
| | | | | | | | | | Check at the end of the parse that there are no unresolved types and no undefined values. Issue errors if there are. This gets rid of the need for implementation or checkpoint by ensuring you can't finish a parse with undefined things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35499 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MMX calling conventions.Bill Wendling2007-03-301-4/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35489 91177308-0d34-0410-b5e6-96231b3b80d8
* New entry.Evan Cheng2007-03-291-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35480 91177308-0d34-0410-b5e6-96231b3b80d8
* Can't re-materialize mov r, imm in thumb since mov would clobber the ↵Evan Cheng2007-03-291-1/+1
| | | | | | condition code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35479 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the stat information in the Path object, if it is already obtained. ThisReid Spencer2007-03-291-4/+3
| | | | | | | | avoids a call to ::fstat by MappedFile when the file size information was already obtained by the Path object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35477 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR789:Reid Spencer2007-03-2910-62/+83
| | | | | | | | | Make the sys::Path::getFileStatus function more efficient by having it return a pointer to the FileStatus structure rather than copy it. Adjust uses of the function accordingly. Also, fix some memory issues in sys::Path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
* the bytecode reader supports dematerializeFunctionChris Lattner2007-03-292-7/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35475 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-03-295-448/+451
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35473 91177308-0d34-0410-b5e6-96231b3b80d8
* Give users a grace period on the implementation keyword. This *will* getReid Spencer2007-03-292-3/+3
| | | | | | | removed in a few days. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35472 91177308-0d34-0410-b5e6-96231b3b80d8
* MS C does have inlining after all, just uses _inline instead of inline.Jeff Cohen2007-03-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35467 91177308-0d34-0410-b5e6-96231b3b80d8
* Determine absolute paths the correct way :)Jeff Cohen2007-03-291-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35464 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a uniqueID field to the FileStatus structure for Paths. This will mapReid Spencer2007-03-292-0/+8
| | | | | | | | to the inode number on Unix and something far less unique on Windows. The windows case needs to be improved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35461 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR789:Reid Spencer2007-03-295-6/+6
| | | | | | | Updates for change in interface of getFileStatus method of sys::Path class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35458 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR789:Reid Spencer2007-03-292-26/+49
| | | | | | | | | | * Add a method: bool isAbsolute() const, which determines if the path name is absolute or not. * Implement caching of file status information in the Path object. Allow it to be updated forcefully or lazily re-fetched from the cached value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35456 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Make more use of APInt::getHighBitsSet/getLowBitsSet.Zhou Sheng2007-03-291-24/+28
| | | | | | | | 2. Let APInt variable do the binary operation stuff instead of using ConstantExpr::getXXX. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35450 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable load width reduction xform of variant (zext (truncate load x)) forEvan Cheng2007-03-291-1/+3
| | | | | | | big endian targets until llvm-gcc build issue has been resolved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35449 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for hidden visibility to darwin/arm.Evan Cheng2007-03-291-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35448 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up some codes in InstCombiner::SimplifyDemandedBits().Zhou Sheng2007-03-291-12/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35446 91177308-0d34-0410-b5e6-96231b3b80d8
* New entries.Evan Cheng2007-03-291-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35445 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up codes in InstCombiner::SimplifyDemandedBits():Zhou Sheng2007-03-291-32/+35
| | | | | | | | | 1. Line out nested call of APInt::zext/trunc. 2. Make more use of APInt::getHighBitsSet/getLowBitsSet. 3. Use APInt[] operator instead of expression like "APIntVal & SignBit". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35444 91177308-0d34-0410-b5e6-96231b3b80d8