summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* For PR1248:Reid Spencer2007-03-211-18/+26
| | | | | | | | | | | | * Fix some indentation and comments in InsertRangeTest * Add an "IsSigned" parameter to AddWithOverflow and make it handle signed additions. Also, APIntify this function so it works with any bitwidth. * For the icmp pred ([us]div %X, C1), C2 transforms, exit early if the div instruction's RHS is zero. * Finally, for icmp pred (sdiv %X, C1), -C2, fix an off-by-one error. The HiBound needs to be incremented in order to get the range test correct. llvm-svn: 35247
* repair x86 performance, dejagnu problems from previous changeDale Johannesen2007-03-215-5/+34
| | | | llvm-svn: 35245
* Add TODO list for MSIL backendAnton Korobeynikov2007-03-211-0/+51
| | | | llvm-svn: 35244
* Let the new backend begin!Anton Korobeynikov2007-03-213-0/+1594
| | | | llvm-svn: 35242
* add generation of unnecessary push/pop around callsDale Johannesen2007-03-211-0/+42
| | | | llvm-svn: 35241
* fold (truncate (srl (load x), c)) -> (smaller load (x+c/vt bits))Evan Cheng2007-03-211-6/+24
| | | | llvm-svn: 35239
* Protect R31's frame offset from being used by callee-saved registers, when R31Nicolas Geoffray2007-03-211-0/+20
| | | | | | is the frame pointer. llvm-svn: 35233
* Fix a bug in getAllOnesValue() which brokeZhou Sheng2007-03-211-1/+1
| | | | | | some test cases for bitwidth > 64. llvm-svn: 35232
* Mark re-materializable instructions.Evan Cheng2007-03-213-0/+6
| | | | llvm-svn: 35230
* Updated.Evan Cheng2007-03-201-1/+6
| | | | llvm-svn: 35229
* Potential spiller improvement.Evan Cheng2007-03-201-0/+27
| | | | llvm-svn: 35228
* do not share old induction variables when this would result in invalidDale Johannesen2007-03-204-18/+71
| | | | | | instructions (that would have to be split later) llvm-svn: 35227
* maintain LiveIn when splitting blocks (register scavenging needs it)Dale Johannesen2007-03-202-1/+29
| | | | llvm-svn: 35226
* DominanceFrontier::calculate().Devang Patel2007-03-201-23/+78
| | | | | | Avoid recursion, Use iterative algorithm. llvm-svn: 35225
* Fix some VC++ warnings.Jeff Cohen2007-03-202-1/+2
| | | | llvm-svn: 35224
* Fix (and simplify) 48-bit byte swap.Jeff Cohen2007-03-201-9/+8
| | | | | | Get pos/neg infinity the correct way. llvm-svn: 35223
* LoopSimplify::FindPHIToPartitionLoops()Devang Patel2007-03-202-4/+25
| | | | | | Use ETForest instead of DominatorSet. llvm-svn: 35221
* Code clean up.Lauro Ramos Venancio2007-03-201-23/+20
| | | | llvm-svn: 35220
* Minor bug.Evan Cheng2007-03-201-1/+2
| | | | llvm-svn: 35219
* bugfix: When the source register of CALL_NOLINK was LR, the following code ↵Lauro Ramos Venancio2007-03-203-19/+28
| | | | | | | | | | was emitted: mov lr, pc bx lr So, the function was not called. llvm-svn: 35218
* Regenerate.Reid Spencer2007-03-202-176/+172
| | | | llvm-svn: 35215
* Don't delete things before their last use (avoids bad reads).Reid Spencer2007-03-201-2/+0
| | | | llvm-svn: 35214
* CopyToReg source operand can be a physical register.Lauro Ramos Venancio2007-03-201-3/+19
| | | | llvm-svn: 35213
* Simplify isHighOnes().Zhou Sheng2007-03-201-9/+1
| | | | llvm-svn: 35211
* First cut trivial re-materialization support.Evan Cheng2007-03-204-26/+151
| | | | llvm-svn: 35208
* Make two piece constant generation as a single instruction. It's ↵Evan Cheng2007-03-202-30/+55
| | | | | | re-materialized as a load from constantpool. llvm-svn: 35207
* New entry.Evan Cheng2007-03-201-0/+13
| | | | llvm-svn: 35206
* Added MRegisterInfo hook to re-materialize an instruction.Evan Cheng2007-03-2012-16/+99
| | | | llvm-svn: 35205
* Two changes:Chris Lattner2007-03-202-13/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | 1) codegen a shift of a register as a shift, not an LEA. 2) teach the RA to convert a shift to an LEA instruction if it wants something in three-address form. This gives us asm diffs like: - leal (,%eax,4), %eax + shll $2, %eax which is faster on some processors and smaller on all of them. and, more interestingly: - movl 24(%esi), %eax - leal (,%eax,4), %edi + movl 24(%esi), %edi + shll $2, %edi Without #2, #1 was a significant pessimization in some cases. This implements CodeGen/X86/shift-codegen.ll llvm-svn: 35204
* fix indentationChris Lattner2007-03-201-1/+1
| | | | llvm-svn: 35202
* Regenerate.Reid Spencer2007-03-203-282/+320
| | | | llvm-svn: 35199
* Plug some PATypeHolder memory leaks.Reid Spencer2007-03-201-6/+25
| | | | llvm-svn: 35198
* use types of loads and stores, not address, in CheckForIVReuseDale Johannesen2007-03-201-7/+28
| | | | llvm-svn: 35197
* fix obvious comment bugDale Johannesen2007-03-201-1/+1
| | | | llvm-svn: 35196
* Fix a nasty memory leak, caused by my revamp of the value symbol table.Chris Lattner2007-03-201-0/+5
| | | | llvm-svn: 35195
* Make isOneBitSet faster by using APInt::isPowerOf2. Thanks Chris.Reid Spencer2007-03-201-1/+1
| | | | llvm-svn: 35194
* APIntify the isHighOnes utility function.Reid Spencer2007-03-191-5/+6
| | | | llvm-svn: 35190
* Fix coding standards violation.Reid Spencer2007-03-191-1/+1
| | | | llvm-svn: 35189
* Implement isMaxValueMinusOne in terms of APInt instead of uint64_t.Reid Spencer2007-03-191-5/+4
| | | | | | Patch by Sheng Zhou. llvm-svn: 35188
* Implement isMinValuePlusOne using facilities of APInt instead of uint64_tReid Spencer2007-03-191-5/+4
| | | | | | Patch by Zhou Sheng. llvm-svn: 35187
* Implement isOneBitSet in terms of APInt::countPopulation.Reid Spencer2007-03-191-2/+1
| | | | llvm-svn: 35186
* 1. Use APInt::getSignBit to reduce clutter (patch by Sheng Zhou)Reid Spencer2007-03-191-8/+4
| | | | | | 2. Replace uses of the "isPositive" utility function with APInt::isPositive llvm-svn: 35185
* Remove a redundant clause in an if statement.Reid Spencer2007-03-191-1/+0
| | | | | | Patch by Sheng Zhou. llvm-svn: 35184
* Regenerate.Reid Spencer2007-03-192-156/+146
| | | | llvm-svn: 35183
* Fix test/Assembler/2007-03-19-NegValue.ll by using the new "isSigned"Reid Spencer2007-03-191-9/+4
| | | | | | | parameter on ConstantInt::get to indicate the signedness of the intended value. llvm-svn: 35182
* Allow ConstantInt::get(Ty, uint64_t) to interpret the 64-bit values as aReid Spencer2007-03-191-2/+2
| | | | | | negative number. This is needed to fix test/Assembler/2007-03-19-NegValue.ll llvm-svn: 35181
* Implement extension of sign bits for negative values in the uint64_tReid Spencer2007-03-191-1/+5
| | | | | | constructor. This helps to fix test/Assembler/2007-03-19-NegValue.ll llvm-svn: 35180
* Fix mingw32 buildAnton Korobeynikov2007-03-191-0/+1
| | | | llvm-svn: 35177
* Regenerate.Reid Spencer2007-03-193-579/+607
| | | | llvm-svn: 35174
* For PR1248:Reid Spencer2007-03-191-155/+169
| | | | | | | | | | | Eliminate support for type planes in numbered values. This simplifies the data structures involved in managing forward definitions, etc. Instead of requiring maps from type to value, we can now just use a vector of values. These changes also required rewrites of some support functions such as InsertValue, getBBVal, and ResolveDefinitions. Some other cosmetic changes were made as well. llvm-svn: 35173
OpenPOWER on IntegriCloud