summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add generation of unnecessary push/pop around callsDale Johannesen2007-03-211-0/+42
| | | | llvm-svn: 35241
* New test case.Evan Cheng2007-03-211-0/+27
| | | | llvm-svn: 35240
* fold (truncate (srl (load x), c)) -> (smaller load (x+c/vt bits))Evan Cheng2007-03-211-6/+24
| | | | llvm-svn: 35239
* Regenerate.Reid Spencer2007-03-212-767/+744
| | | | llvm-svn: 35237
* For PR1243:Reid Spencer2007-03-211-14/+10
| | | | | | | Okay, really fix it this time. Make sure the CurFun.Linkage is set early and consolidate some duplicate code. llvm-svn: 35236
* Regenerate.Reid Spencer2007-03-215-904/+1557
| | | | llvm-svn: 35235
* For PR1256:Reid Spencer2007-03-213-251/+708
| | | | | | | | | | | | | | | | | | Make Signedness information pervasive throughout all types and values. There is no easy way to get around this. Because the GEP instruction can index through an arbitrarily complex value structure, it is necessary to keep track of signedness information throughout that structure. This change makes Signedness a full class, capable of representing Signedness in arbitrarily shaped types. The class is then used throughout llvm-upgrade to track signedness and differentiate between globals, locals, and functions based on their signedness. For PR1243: This patch also removes bogus warnings about renaming internal globals. It now only emits such warnings when renaming non-internal globals because they may affect linkage. llvm-svn: 35234
* 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-205-18/+81
| | | | | | instructions (that would have to be split later) llvm-svn: 35227
* maintain LiveIn when splitting blocks (register scavenging needs it)Dale Johannesen2007-03-203-1/+32
| | | | 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-201-0/+4
| | | | | | Use ETForest instead of DominatorSet. llvm-svn: 35222
* 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-204-19/+81
| | | | | | | | | | was emitted: mov lr, pc bx lr So, the function was not called. llvm-svn: 35218
* llvm-gcc now requires -fnested-functions to enable them in C.Chris Lattner2007-03-201-1/+1
| | | | llvm-svn: 35217
* Break up huge line so that this file is almost readable.Reid Spencer2007-03-201-2/+52
| | | | llvm-svn: 35216
* 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
* Test handling of structs with multiple variable-sized fields.Duncan Sands2007-03-202-0/+16
| | | | llvm-svn: 35212
* Simplify isHighOnes().Zhou Sheng2007-03-201-9/+1
| | | | llvm-svn: 35211
* Ada testcase for structs with multiple variable sized fields.Duncan Sands2007-03-202-0/+14
| | | | llvm-svn: 35210
* Test that ARRAY_RANGE_REF returns an array not an element.Duncan Sands2007-03-201-0/+7
| | | | llvm-svn: 35209
* First cut trivial re-materialization support.Evan Cheng2007-03-205-27/+155
| | | | 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-2013-16/+106
| | | | 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
* These functions should use shll, not lea.Chris Lattner2007-03-201-0/+27
| | | | llvm-svn: 35203
* fix indentationChris Lattner2007-03-201-1/+1
| | | | llvm-svn: 35202
* Correct the name: isStrictPositive --> isStrictlyPositive.Zhou Sheng2007-03-201-1/+1
| | | | llvm-svn: 35201
* Add a dtor to fix leaks from all clients of BitVector.Chris Lattner2007-03-201-0/+4
| | | | llvm-svn: 35200
* 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
* Make this test a little simpler/faster.Reid Spencer2007-03-191-2/+1
| | | | llvm-svn: 35193
* Add test case for PR1261, currently XFAILed.Reid Spencer2007-03-191-0/+14
| | | | llvm-svn: 35192
* Document LoopPass.Devang Patel2007-03-191-0/+88
| | | | llvm-svn: 35191
* APIntify the isHighOnes utility function.Reid Spencer2007-03-191-5/+6
| | | | llvm-svn: 35190
OpenPOWER on IntegriCloud