aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Various cleanups and efficiency improvementsChris Lattner2003-11-061-38/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9753 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: PR93Chris Lattner2003-11-061-0/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9752 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the problem with running cleanups in bugpoint: We were deleting argumentsChris Lattner2003-11-051-1/+4
| | | | | | | of intrinsic functions, causing the verifier to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9745 91177308-0d34-0410-b5e6-96231b3b80d8
* Split behavior into two piecesChris Lattner2003-11-051-13/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9741 91177308-0d34-0410-b5e6-96231b3b80d8
* Yet more fixes for constant expr shiftsChris Lattner2003-11-051-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9739 91177308-0d34-0410-b5e6-96231b3b80d8
* Further fixes for PR93Chris Lattner2003-11-051-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9738 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix flawed logic that was breaking several SPEC benchmarks, including gzip ↵Chris Lattner2003-11-051-3/+3
| | | | | | and crafty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9731 91177308-0d34-0410-b5e6-96231b3b80d8
* Be gcc 3.4 cleanChris Lattner2003-11-051-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9725 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug with previous implementation:Chris Lattner2003-11-051-4/+11
| | | | | | | | | | - // ~(c-X) == X-(c-1) == X+(-c+1) + // ~(c-X) == X-c-1 == X+(-c-1) Implement: C - ~X == X + (1+C) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9715 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanup, plus implement InstCombine/xor.ll:test17Chris Lattner2003-11-041-3/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9711 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/xor.ll:test(15|16)Chris Lattner2003-11-041-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9708 91177308-0d34-0410-b5e6-96231b3b80d8
* Checking in Chris's suggestions:John Criswell2003-11-041-3/+32
| | | | | | | | | | | Added assert() to ensure symbol table is well formed. Added code to remember the value that was found; resolving types can change the symbol table and invalidate the value of the iterator. Added comments to the ResolveTypes() function (mainly for my own benefit). Please feel free to correct the comments if they are not accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9693 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/cast-set.ll:test6[a]. This improves code generated forChris Lattner2003-11-031-6/+57
| | | | | | | a hot function in em3d git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9673 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement InstCombine/cast-set.ll: test1, test2, test7Chris Lattner2003-11-031-15/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9670 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug with zero sized castsChris Lattner2003-11-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9667 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in previous checkinChris Lattner2003-11-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9656 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement transmogriphication of allocation instructionsChris Lattner2003-11-021-2/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9654 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR78Chris Lattner2003-11-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9648 91177308-0d34-0410-b5e6-96231b3b80d8
* Strip off CPR's manually, because if we don't, the inliner doesn't delete deadChris Lattner2003-10-311-2/+9
| | | | | | | functions. GRR git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9641 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: 2003-10-29-CallSiteResolve.ll & PR70Chris Lattner2003-10-301-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9600 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code, initial implementation of -insert-block-profiling passChris Lattner2003-10-291-64/+106
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9593 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR66 & ScalarRepl/2003-10-29-ArrayProblem.llChris Lattner2003-10-291-62/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9585 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: ConstantMerge/2003-10-28-MergeExternalConstants.ll & PR64Chris Lattner2003-10-291-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9579 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in statistifying patch for BillChris Lattner2003-10-281-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9572 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass in argc & argvChris Lattner2003-10-281-6/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9563 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin of profiling instrumentation pass. So far, despite theChris Lattner2003-10-281-0/+127
| | | | | | | | file name, we only support function profiling. This will be fixed in the near future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9547 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate using declarationsChris Lattner2003-10-271-25/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9543 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagating constants to arguments can make other arguments constant. For nowChris Lattner2003-10-271-5/+15
| | | | | | | do something dumb, and inefficient, but more complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9542 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test: Linker/2003-10-27-LinkOncePromote.llChris Lattner2003-10-271-27/+29
| | | | | | | Fix PR58 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9530 91177308-0d34-0410-b5e6-96231b3b80d8
* Get the list of PHI node values before the basic block is split. Also, addChris Lattner2003-10-271-9/+16
| | | | | | | | | PHI node entries for unwind instructions just like for call instructions which became invokes! This fixes PR57, tested by Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9526 91177308-0d34-0410-b5e6-96231b3b80d8
* We might as well strip off any CPRs before propagationChris Lattner2003-10-231-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9437 91177308-0d34-0410-b5e6-96231b3b80d8
* * We were forgetting to pass varargs arguments through a callChris Lattner2003-10-231-0/+18
| | | | | | | * Add a work around for bug PR56, gross but necessary for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9428 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in initial version of ipcpChris Lattner2003-10-231-0/+110
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9423 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this pass substantially stronger by having it delete dead return valuesChris Lattner2003-10-231-127/+354
| | | | | | | | | | as well as arguments. Now it can delete arguments and return values which are only passed into other arguments or are returned, if they are dead. This causes it to delete several hundred extra args/retvals from the C++ hello world program, shrinking it by about 2K. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9398 91177308-0d34-0410-b5e6-96231b3b80d8
* This important patch fixes two warnings in the linker which can occur from ↵Chris Lattner2003-10-221-4/+33
| | | | | | | | | linking valid pieces of code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9390 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the 'used' flag correctlyChris Lattner2003-10-221-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9366 91177308-0d34-0410-b5e6-96231b3b80d8
* Loop over the module, not the symbol table. This makes the code handleChris Lattner2003-10-221-21/+18
| | | | | | | unused external functions again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9365 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement FunctionResolve/2003-10-21-GlobalResolveHack.llChris Lattner2003-10-221-2/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9363 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: FunctionResolve/2003-10-21-GlobalTypeDifference.llChris Lattner2003-10-211-55/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9359 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Linker/2003-10-21-ConflictingTypesTolerance.llChris Lattner2003-10-211-13/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9357 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix message to make more sense and confuse Chris lessChris Lattner2003-10-211-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9354 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header.John Criswell2003-10-214-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright notice to Makefiles.John Criswell2003-10-207-0/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-2064-0/+448
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorder for minor efficiency gainChris Lattner2003-10-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9285 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the Opcode enum for PHI nodes from "Instruction::PHINode" to ↵Chris Lattner2003-10-194-7/+7
| | | | | | "Instruction::PHI" to be more consistent with the other instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9269 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR#50Chris Lattner2003-10-181-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9227 91177308-0d34-0410-b5e6-96231b3b80d8
* ADd support for the new varargs instructionsChris Lattner2003-10-181-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9225 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not crash on empty structuresChris Lattner2003-10-171-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9195 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for 'weak' linkage.Chris Lattner2003-10-161-5/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9171 91177308-0d34-0410-b5e6-96231b3b80d8