Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | For PR1248: | Reid Spencer | 2007-03-21 | 1 | -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 change | Dale Johannesen | 2007-03-21 | 5 | -5/+34 |
| | | | | llvm-svn: 35245 | ||||
* | Add TODO list for MSIL backend | Anton Korobeynikov | 2007-03-21 | 1 | -0/+51 |
| | | | | llvm-svn: 35244 | ||||
* | Let the new backend begin! | Anton Korobeynikov | 2007-03-21 | 3 | -0/+1594 |
| | | | | llvm-svn: 35242 | ||||
* | add generation of unnecessary push/pop around calls | Dale Johannesen | 2007-03-21 | 1 | -0/+42 |
| | | | | llvm-svn: 35241 | ||||
* | fold (truncate (srl (load x), c)) -> (smaller load (x+c/vt bits)) | Evan Cheng | 2007-03-21 | 1 | -6/+24 |
| | | | | llvm-svn: 35239 | ||||
* | Protect R31's frame offset from being used by callee-saved registers, when R31 | Nicolas Geoffray | 2007-03-21 | 1 | -0/+20 |
| | | | | | | is the frame pointer. llvm-svn: 35233 | ||||
* | Fix a bug in getAllOnesValue() which broke | Zhou Sheng | 2007-03-21 | 1 | -1/+1 |
| | | | | | | some test cases for bitwidth > 64. llvm-svn: 35232 | ||||
* | Mark re-materializable instructions. | Evan Cheng | 2007-03-21 | 3 | -0/+6 |
| | | | | llvm-svn: 35230 | ||||
* | Updated. | Evan Cheng | 2007-03-20 | 1 | -1/+6 |
| | | | | llvm-svn: 35229 | ||||
* | Potential spiller improvement. | Evan Cheng | 2007-03-20 | 1 | -0/+27 |
| | | | | llvm-svn: 35228 | ||||
* | do not share old induction variables when this would result in invalid | Dale Johannesen | 2007-03-20 | 4 | -18/+71 |
| | | | | | | instructions (that would have to be split later) llvm-svn: 35227 | ||||
* | maintain LiveIn when splitting blocks (register scavenging needs it) | Dale Johannesen | 2007-03-20 | 2 | -1/+29 |
| | | | | llvm-svn: 35226 | ||||
* | DominanceFrontier::calculate(). | Devang Patel | 2007-03-20 | 1 | -23/+78 |
| | | | | | | Avoid recursion, Use iterative algorithm. llvm-svn: 35225 | ||||
* | Fix some VC++ warnings. | Jeff Cohen | 2007-03-20 | 2 | -1/+2 |
| | | | | llvm-svn: 35224 | ||||
* | Fix (and simplify) 48-bit byte swap. | Jeff Cohen | 2007-03-20 | 1 | -9/+8 |
| | | | | | | Get pos/neg infinity the correct way. llvm-svn: 35223 | ||||
* | LoopSimplify::FindPHIToPartitionLoops() | Devang Patel | 2007-03-20 | 2 | -4/+25 |
| | | | | | | Use ETForest instead of DominatorSet. llvm-svn: 35221 | ||||
* | Code clean up. | Lauro Ramos Venancio | 2007-03-20 | 1 | -23/+20 |
| | | | | llvm-svn: 35220 | ||||
* | Minor bug. | Evan Cheng | 2007-03-20 | 1 | -1/+2 |
| | | | | llvm-svn: 35219 | ||||
* | bugfix: When the source register of CALL_NOLINK was LR, the following code ↵ | Lauro Ramos Venancio | 2007-03-20 | 3 | -19/+28 |
| | | | | | | | | | | was emitted: mov lr, pc bx lr So, the function was not called. llvm-svn: 35218 | ||||
* | Regenerate. | Reid Spencer | 2007-03-20 | 2 | -176/+172 |
| | | | | llvm-svn: 35215 | ||||
* | Don't delete things before their last use (avoids bad reads). | Reid Spencer | 2007-03-20 | 1 | -2/+0 |
| | | | | llvm-svn: 35214 | ||||
* | CopyToReg source operand can be a physical register. | Lauro Ramos Venancio | 2007-03-20 | 1 | -3/+19 |
| | | | | llvm-svn: 35213 | ||||
* | Simplify isHighOnes(). | Zhou Sheng | 2007-03-20 | 1 | -9/+1 |
| | | | | llvm-svn: 35211 | ||||
* | First cut trivial re-materialization support. | Evan Cheng | 2007-03-20 | 4 | -26/+151 |
| | | | | llvm-svn: 35208 | ||||
* | Make two piece constant generation as a single instruction. It's ↵ | Evan Cheng | 2007-03-20 | 2 | -30/+55 |
| | | | | | | re-materialized as a load from constantpool. llvm-svn: 35207 | ||||
* | New entry. | Evan Cheng | 2007-03-20 | 1 | -0/+13 |
| | | | | llvm-svn: 35206 | ||||
* | Added MRegisterInfo hook to re-materialize an instruction. | Evan Cheng | 2007-03-20 | 12 | -16/+99 |
| | | | | llvm-svn: 35205 | ||||
* | Two changes: | Chris Lattner | 2007-03-20 | 2 | -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 indentation | Chris Lattner | 2007-03-20 | 1 | -1/+1 |
| | | | | llvm-svn: 35202 | ||||
* | Regenerate. | Reid Spencer | 2007-03-20 | 3 | -282/+320 |
| | | | | llvm-svn: 35199 | ||||
* | Plug some PATypeHolder memory leaks. | Reid Spencer | 2007-03-20 | 1 | -6/+25 |
| | | | | llvm-svn: 35198 | ||||
* | use types of loads and stores, not address, in CheckForIVReuse | Dale Johannesen | 2007-03-20 | 1 | -7/+28 |
| | | | | llvm-svn: 35197 | ||||
* | fix obvious comment bug | Dale Johannesen | 2007-03-20 | 1 | -1/+1 |
| | | | | llvm-svn: 35196 | ||||
* | Fix a nasty memory leak, caused by my revamp of the value symbol table. | Chris Lattner | 2007-03-20 | 1 | -0/+5 |
| | | | | llvm-svn: 35195 | ||||
* | Make isOneBitSet faster by using APInt::isPowerOf2. Thanks Chris. | Reid Spencer | 2007-03-20 | 1 | -1/+1 |
| | | | | llvm-svn: 35194 | ||||
* | APIntify the isHighOnes utility function. | Reid Spencer | 2007-03-19 | 1 | -5/+6 |
| | | | | llvm-svn: 35190 | ||||
* | Fix coding standards violation. | Reid Spencer | 2007-03-19 | 1 | -1/+1 |
| | | | | llvm-svn: 35189 | ||||
* | Implement isMaxValueMinusOne in terms of APInt instead of uint64_t. | Reid Spencer | 2007-03-19 | 1 | -5/+4 |
| | | | | | | Patch by Sheng Zhou. llvm-svn: 35188 | ||||
* | Implement isMinValuePlusOne using facilities of APInt instead of uint64_t | Reid Spencer | 2007-03-19 | 1 | -5/+4 |
| | | | | | | Patch by Zhou Sheng. llvm-svn: 35187 | ||||
* | Implement isOneBitSet in terms of APInt::countPopulation. | Reid Spencer | 2007-03-19 | 1 | -2/+1 |
| | | | | llvm-svn: 35186 | ||||
* | 1. Use APInt::getSignBit to reduce clutter (patch by Sheng Zhou) | Reid Spencer | 2007-03-19 | 1 | -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 Spencer | 2007-03-19 | 1 | -1/+0 |
| | | | | | | Patch by Sheng Zhou. llvm-svn: 35184 | ||||
* | Regenerate. | Reid Spencer | 2007-03-19 | 2 | -156/+146 |
| | | | | llvm-svn: 35183 | ||||
* | Fix test/Assembler/2007-03-19-NegValue.ll by using the new "isSigned" | Reid Spencer | 2007-03-19 | 1 | -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 a | Reid Spencer | 2007-03-19 | 1 | -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_t | Reid Spencer | 2007-03-19 | 1 | -1/+5 |
| | | | | | | constructor. This helps to fix test/Assembler/2007-03-19-NegValue.ll llvm-svn: 35180 | ||||
* | Fix mingw32 build | Anton Korobeynikov | 2007-03-19 | 1 | -0/+1 |
| | | | | llvm-svn: 35177 | ||||
* | Regenerate. | Reid Spencer | 2007-03-19 | 3 | -579/+607 |
| | | | | llvm-svn: 35174 | ||||
* | For PR1248: | Reid Spencer | 2007-03-19 | 1 | -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 |