summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Join two lines that can be joined.Reid Spencer2007-02-271-2/+1
| | | | llvm-svn: 34705
* Pull out the stops.Reid Spencer2007-02-271-4/+2
| | | | llvm-svn: 34703
* Remove some redundancy.Reid Spencer2007-02-271-4/+1
| | | | llvm-svn: 34702
* Minor tweak. Allocate r0 to r3 in reverse order, r3 is least likely to be ↵Evan Cheng2007-02-271-5/+5
| | | | | | livein to a function. llvm-svn: 34701
* Some more code clean up.Evan Cheng2007-02-271-23/+29
| | | | llvm-svn: 34700
* reenable generation of CC infoChris Lattner2007-02-271-1/+1
| | | | llvm-svn: 34699
* Oops.Evan Cheng2007-02-271-1/+4
| | | | llvm-svn: 34698
* Implement countLeadingOnes() and getMinSignedBits(). This helps to minimizeReid Spencer2007-02-271-1/+34
| | | | | | | the bit width of negative numbers by computing the minimum bit width for a negative value. E.g. 0x1800000000000000 could be just 0x8000000000000000 llvm-svn: 34695
* Back out previous commit temporarily.Evan Cheng2007-02-271-1/+1
| | | | llvm-svn: 34694
* Let MRegisterInfo now owns RegScavenger; eliminateFrameIndex must preserve ↵Evan Cheng2007-02-272-30/+51
| | | | | | register kill info. llvm-svn: 34692
* Let MRegisterInfo now owns RegScavenger.Evan Cheng2007-02-271-3/+3
| | | | llvm-svn: 34691
* RegScavenger interface change to make it more flexible.Evan Cheng2007-02-271-16/+18
| | | | llvm-svn: 34690
* implement CCMatchIfCC in terms of CCMatchIfChris Lattner2007-02-271-4/+4
| | | | llvm-svn: 34685
* build cc infoChris Lattner2007-02-271-1/+1
| | | | llvm-svn: 34684
* Adjust to changes in the APInt interface.Reid Spencer2007-02-272-5/+5
| | | | llvm-svn: 34681
* Improve APInt interface:Reid Spencer2007-02-271-34/+1
| | | | | | | | | | 1. Add unsigned and signed versions of methods so a "bool" argument doesn't need to be passed in. 2. Make the various getMin/getMax functions all be inline since they are so simple. 3. Simplify sdiv and srem code. llvm-svn: 34680
* Conform to single person attribution in file comment.Reid Spencer2007-02-271-3/+2
| | | | llvm-svn: 34678
* For PR1205:Reid Spencer2007-02-271-14/+5
| | | | | | | | | | | Implement review feedback: 1. Use new APInt::RoundDoubleToAPInt interface to specify the bit width so that we don't have to truncate or extend in constant folding. 2. Fix a pasteo in SDiv that prevented a check for overflow. 3. Fix the shift operators: undef happens when the shift amount is equal to the bitwidth. llvm-svn: 34677
* 1. Fix three serious bugs in the comparison code.Reid Spencer2007-02-271-18/+22
| | | | | | | 2. Change RoundDoubleToAPInt to take a bit width parameter. Use that parameter to limit the bit width of the result. llvm-svn: 34673
* a noteChris Lattner2007-02-271-0/+42
| | | | llvm-svn: 34670
* Make getPassManagerType() const.Devang Patel2007-02-272-3/+5
| | | | llvm-svn: 34669
* Fix parenthesis for BCTRL_{ELF|Macho} test.Nicolas Geoffray2007-02-271-1/+1
| | | | llvm-svn: 34668
* Differentiate between the MachO and the ELF ABI the CALL instruction.Nicolas Geoffray2007-02-274-12/+12
| | | | llvm-svn: 34667
* Duplicate use of LR, take 2.Jim Laskey2007-02-273-26/+42
| | | | llvm-svn: 34666
* Allow the AsmWriter to print out arbitrary precision integers.Reid Spencer2007-02-271-1/+1
| | | | llvm-svn: 34664
* Correct the implelmentation of ConstantInt::getAllOnesValue() for bitReid Spencer2007-02-271-1/+1
| | | | | | widths > 64 bits. llvm-svn: 34663
* Get rid of extraneous // in file comment.Reid Spencer2007-02-271-1/+1
| | | | llvm-svn: 34662
* Add calling convention infoChris Lattner2007-02-272-2/+11
| | | | llvm-svn: 34661
* For PR1205:Reid Spencer2007-02-271-102/+135
| | | | | | Implement constant folding via APInt instead of uint64_t. llvm-svn: 34660
* move target independent calling convention stuff to TargetCallingConv.tdChris Lattner2007-02-272-56/+71
| | | | llvm-svn: 34659
* fill in some holesChris Lattner2007-02-271-7/+33
| | | | llvm-svn: 34658
* switch x86-64 return value lowering over to using same mechanism as argumentChris Lattner2007-02-271-68/+88
| | | | | | lowering uses. llvm-svn: 34657
* Minor refactoring of CC Lowering interfacesChris Lattner2007-02-272-23/+28
| | | | llvm-svn: 34656
* move CC Lowering stuff to its own public interfaceChris Lattner2007-02-272-146/+51
| | | | llvm-svn: 34655
* refactor x86-64 argument lowering yet again, this time eliminating templates,Chris Lattner2007-02-271-166/+179
| | | | | | 'clients', etc, and adding CCValAssign instead. llvm-svn: 34654
* ConstantFolding.cpp/h -> ConstantFold.cpp/h to avoid confusion withChris Lattner2007-02-273-2/+2
| | | | | | lib/Analysis/ConstantFolding. llvm-svn: 34653
* Backing out Jim's LR spill changes. This was causing llvm-gcc bootstrappingEvan Cheng2007-02-273-19/+2
| | | | | | | | | to infinite loop: PPCMachineFunctionInfo.h updated: 1.2 -> 1.3 PPCRegisterInfo.cpp updated: 1.110 -> 1.111 PPCRegisterInfo.h updated: 1.28 -> 1.29 llvm-svn: 34652
* forward() should not increment internal iterator. Its client may insert ↵Evan Cheng2007-02-272-5/+26
| | | | | | instruction between now and next forward() call. llvm-svn: 34649
* Simplify and document RoundDoubleToAPInt.Reid Spencer2007-02-271-3/+15
| | | | llvm-svn: 34648
* For PR1205:Reid Spencer2007-02-261-16/+49
| | | | | | | | | | Implement the first step towards arbitrary precision integer support in LLVM. The APInt class provides arbitrary precision arithmetic and value representation. This patch changes ConstantInt to use APInt as its value representation without supporting bit widths > 64 yet. That change will come after ConstantFolding handles bit widths > 64 bits. llvm-svn: 34647
* 1. Make sure all delete operators of arrays use the array form of delete.Reid Spencer2007-02-261-19/+45
| | | | | | | | | | | | | | 2. Rewrite operator=(const APInt& RHS) to allow the RHS to be a different bit width than the LHS. This makes it possible to use APInt as the key of a DenseMap, as needed for the IntConstants map in Constants.cpp 3. Fix operator=(uint64_t) to clear unused bits in case the client assigns a value that has more bits than the APInt allows. 4. Assert that bit widths are equal in operator== 5. Revise getHashValue() to put the bit width in the low order six bits. This should help to make i1 0, i2 0, ... i64 0 all distinct in the IntConstants DenseMap. llvm-svn: 34646
* Joining an interval with a dead copy instruction. Shorten the live range to ↵Evan Cheng2007-02-261-20/+46
| | | | | | the last use. llvm-svn: 34645
* Implement the getHashValue method.Reid Spencer2007-02-261-1/+16
| | | | | | Fix toString use of getValue to use getZExtValue() llvm-svn: 34642
* Use efficient container SmallPtrSetDevang Patel2007-02-261-3/+4
| | | | llvm-svn: 34640
* always lower to RETFLAG, never leave it as just ret.Chris Lattner2007-02-262-11/+7
| | | | llvm-svn: 34639
* Do not unswitch loop on same value again and again.Devang Patel2007-02-261-0/+7
| | | | llvm-svn: 34638
* fix attributionChris Lattner2007-02-261-1/+1
| | | | llvm-svn: 34637
* Add a description of the X86-64 calling convention and the returnChris Lattner2007-02-262-0/+143
| | | | | | conventions. This doesn't do anything yet, but may in the future. llvm-svn: 34636
* Re-enable this. The header was committed.Reid Spencer2007-02-261-4/+0
| | | | llvm-svn: 34634
* switch to smallvectorChris Lattner2007-02-261-3/+1
| | | | llvm-svn: 34633
OpenPOWER on IntegriCloud