aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MRegisterInfo disowns RegScavenger. It's immutable.Evan Cheng2007-02-282-9/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34706 91177308-0d34-0410-b5e6-96231b3b80d8
* Join two lines that can be joined.Reid Spencer2007-02-271-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34705 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some syntactic sugar.Reid Spencer2007-02-271-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34704 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull out the stops.Reid Spencer2007-02-271-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34703 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some redundancy.Reid Spencer2007-02-271-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34702 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34701 91177308-0d34-0410-b5e6-96231b3b80d8
* Some more code clean up.Evan Cheng2007-02-272-28/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34700 91177308-0d34-0410-b5e6-96231b3b80d8
* reenable generation of CC infoChris Lattner2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34699 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops.Evan Cheng2007-02-272-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34698 91177308-0d34-0410-b5e6-96231b3b80d8
* reapplyChris Lattner2007-02-275-8/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34697 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2007-02-272-0/+166
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34696 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement countLeadingOnes() and getMinSignedBits(). This helps to minimizeReid Spencer2007-02-272-2/+48
| | | | | | | | the bit width of negative numbers by computing the minimum bit width for a negative value. E.g. 0x1800000000000000 could be just 0x8000000000000000 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34695 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out previous commit temporarily.Evan Cheng2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34694 91177308-0d34-0410-b5e6-96231b3b80d8
* Backing outEvan Cheng2007-02-274-18/+7
| | | | | | | | | | | CodeGenTarget.cpp updated: 1.82 -> 1.83 Record.cpp updated: 1.55 -> 1.56 Record.h updated: 1.59 -> 1.60 TableGen.cpp updated: 1.47 -> 1.48 It's missing CallingConvEmitter.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34693 91177308-0d34-0410-b5e6-96231b3b80d8
* Let MRegisterInfo now owns RegScavenger; eliminateFrameIndex must preserve ↵Evan Cheng2007-02-272-30/+51
| | | | | | register kill info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34692 91177308-0d34-0410-b5e6-96231b3b80d8
* Let MRegisterInfo now owns RegScavenger.Evan Cheng2007-02-271-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34691 91177308-0d34-0410-b5e6-96231b3b80d8
* RegScavenger interface change to make it more flexible.Evan Cheng2007-02-272-20/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34690 91177308-0d34-0410-b5e6-96231b3b80d8
* Let MRegisterInfo owns RegScavenger.Evan Cheng2007-02-271-9/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34689 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass IsImp, IsKill, and IsDead to ChangeToRegister.Evan Cheng2007-02-271-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34688 91177308-0d34-0410-b5e6-96231b3b80d8
* This test passes on x86/Linux now.Reid Spencer2007-02-271-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34686 91177308-0d34-0410-b5e6-96231b3b80d8
* implement CCMatchIfCC in terms of CCMatchIfChris Lattner2007-02-271-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34685 91177308-0d34-0410-b5e6-96231b3b80d8
* build cc infoChris Lattner2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34684 91177308-0d34-0410-b5e6-96231b3b80d8
* target for generating CC infoChris Lattner2007-02-271-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34683 91177308-0d34-0410-b5e6-96231b3b80d8
* initial support for calling convention generation, still unfinished.Chris Lattner2007-02-274-7/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34682 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to changes in the APInt interface.Reid Spencer2007-02-272-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34681 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve APInt interface:Reid Spencer2007-02-272-55/+67
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34680 91177308-0d34-0410-b5e6-96231b3b80d8
* Conform to single person attribution in file comment.Reid Spencer2007-02-271-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34678 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34677 91177308-0d34-0410-b5e6-96231b3b80d8
* Update for constant folding now generating undef and overflow correctly.Reid Spencer2007-02-272-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34676 91177308-0d34-0410-b5e6-96231b3b80d8
* Shifting by the bit width now produces undef, not 0.Reid Spencer2007-02-277-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34675 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34673 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the RoundDoubleToAPInt function to specify a width to use.Reid Spencer2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34672 91177308-0d34-0410-b5e6-96231b3b80d8
* a noteChris Lattner2007-02-271-0/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34670 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getPassManagerType() const.Devang Patel2007-02-274-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34669 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix parenthesis for BCTRL_{ELF|Macho} test.Nicolas Geoffray2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34668 91177308-0d34-0410-b5e6-96231b3b80d8
* Differentiate between the MachO and the ELF ABI the CALL instruction.Nicolas Geoffray2007-02-274-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34667 91177308-0d34-0410-b5e6-96231b3b80d8
* Duplicate use of LR, take 2.Jim Laskey2007-02-273-26/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34666 91177308-0d34-0410-b5e6-96231b3b80d8
* Added myselfNicolas Geoffray2007-02-271-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34665 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the AsmWriter to print out arbitrary precision integers.Reid Spencer2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34664 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct the implelmentation of ConstantInt::getAllOnesValue() for bitReid Spencer2007-02-271-1/+1
| | | | | | | widths > 64 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34663 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of extraneous // in file comment.Reid Spencer2007-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34662 91177308-0d34-0410-b5e6-96231b3b80d8
* Add calling convention infoChris Lattner2007-02-272-2/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34661 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1205:Reid Spencer2007-02-271-102/+135
| | | | | | | Implement constant folding via APInt instead of uint64_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34660 91177308-0d34-0410-b5e6-96231b3b80d8
* move target independent calling convention stuff to TargetCallingConv.tdChris Lattner2007-02-272-56/+71
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34659 91177308-0d34-0410-b5e6-96231b3b80d8
* fill in some holesChris Lattner2007-02-271-7/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34658 91177308-0d34-0410-b5e6-96231b3b80d8
* switch x86-64 return value lowering over to using same mechanism as argumentChris Lattner2007-02-271-68/+88
| | | | | | | lowering uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34657 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor refactoring of CC Lowering interfacesChris Lattner2007-02-273-78/+107
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34656 91177308-0d34-0410-b5e6-96231b3b80d8
* move CC Lowering stuff to its own public interfaceChris Lattner2007-02-273-146/+200
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34655 91177308-0d34-0410-b5e6-96231b3b80d8
* refactor x86-64 argument lowering yet again, this time eliminating templates,Chris Lattner2007-02-271-166/+179
| | | | | | | 'clients', etc, and adding CCValAssign instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34654 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstantFolding.cpp/h -> ConstantFold.cpp/h to avoid confusion withChris Lattner2007-02-273-55/+2
| | | | | | | lib/Analysis/ConstantFolding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34653 91177308-0d34-0410-b5e6-96231b3b80d8