aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug: 2002-11-13-PointerFunction.llChris Lattner2002-11-131-1/+40
| | | | | | | This should fix codegen on vortex to work much better git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4704 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix testcase: FunctionResolve/2002-11-09-ExternFn.llChris Lattner2002-11-101-19/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4668 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warningChris Lattner2002-11-092-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4649 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling errorChris Lattner2002-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4645 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new getMainFunction() method to efficiently locate mainChris Lattner2002-11-081-10/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4630 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: FunctionResolve/2002-11-07-RetMismatch.llChris Lattner2002-11-081-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4618 91177308-0d34-0410-b5e6-96231b3b80d8
* Instcombine this away:Chris Lattner2002-11-041-1/+7
| | | | | | | | %A = getelementptr [4 x int]* %M, long 0, long 0 %B = getelementptr int* %A, long 2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4536 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a transformation to turn:Chris Lattner2002-11-041-0/+36
| | | | | | | | | malloc Ty, C int malloc [C x Ty], 1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4534 91177308-0d34-0410-b5e6-96231b3b80d8
* Ack: Fix bug in previous checkin.Chris Lattner2002-11-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4526 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more generous about level raising constant expressions don't force eachChris Lattner2002-11-041-24/+20
| | | | | | | constant to one particular type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4525 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to _delete_ memory allocated by worklistsChris Lattner2002-11-041-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4523 91177308-0d34-0410-b5e6-96231b3b80d8
* code to lightly instrument at branchesAnand Shukla2002-11-031-0/+210
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4511 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to include name information if we have itChris Lattner2002-11-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4481 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes to the reassociate pass to make it respect dominance propertiesChris Lattner2002-10-311-57/+54
| | | | | | | | Huge thanks go to Casey Carter for writing this fix, reassociate is now reoperational! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4471 91177308-0d34-0410-b5e6-96231b3b80d8
* BreakCriticalEdges should update dominance frontier information as well asChris Lattner2002-10-312-4/+28
| | | | | | | other dominance stuff. Patch contributed by Casey Carter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4457 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling of `propagate'.Misha Brukman2002-10-295-52/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4423 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure definate initializationChris Lattner2002-10-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4263 91177308-0d34-0410-b5e6-96231b3b80d8
* - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG toChris Lattner2002-10-2112-13/+13
| | | | | | | setPreservesCFG to be less confusing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4255 91177308-0d34-0410-b5e6-96231b3b80d8
* * Apparently string::find doesn't work right on our sun boxes. Work around ↵Chris Lattner2002-10-171-4/+9
| | | | | | this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4219 91177308-0d34-0410-b5e6-96231b3b80d8
* Really disable pool allocatorChris Lattner2002-10-171-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4216 91177308-0d34-0410-b5e6-96231b3b80d8
* - Change Function's so that their argument list is populated when they areChris Lattner2002-10-132-9/+8
| | | | | | | | constructed. Before, external functions would have an empty argument list, now a Function ALWAYS has a populated argument list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4149 91177308-0d34-0410-b5e6-96231b3b80d8
* - Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd toChris Lattner2002-10-131-1/+1
| | | | | | | reflect the fact that it's a range being defined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4147 91177308-0d34-0410-b5e6-96231b3b80d8
* Account for global variables resolved more accurately.Chris Lattner2002-10-131-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4143 91177308-0d34-0410-b5e6-96231b3b80d8
* Use methods that are more explanatoryChris Lattner2002-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4142 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed to external global varAnand Shukla2002-10-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4120 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop using DataStructureGraph.hChris Lattner2002-10-101-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4106 91177308-0d34-0410-b5e6-96231b3b80d8
* - Dramatically simplify the ConstantMerge code now thatChris Lattner2002-10-091-102/+3
| | | | | | | Value::replaceAllUsesWith works with constants correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4104 91177308-0d34-0410-b5e6-96231b3b80d8
* Almost a complete rewrite of FunctionResolution to now resolve functionsChris Lattner2002-10-091-122/+213
| | | | | | | | | | | | | | | and global variables. This fixes bug: FuncResolve/2002-08-19-ResolveGlobalVarsEasier.ll And bug: SingleSource/UnitTests/2002-10-09-ArrayResolution.c Note that this does not fix bug: FunctionResolve/2002-08-19-ResolveGlobalVars.ll because replaceAllUsesWith breaks when a constantexpr is pointing to the thing being replaced. This is more of an infrastructure problem than anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4099 91177308-0d34-0410-b5e6-96231b3b80d8
* - Rename MTy to FTy (no methods exist anymore)Chris Lattner2002-10-091-9/+13
| | | | | | | - Fix bug: LevelRaise/2002-10-08-VarArgCallInfLoop.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4088 91177308-0d34-0410-b5e6-96231b3b80d8
* - Fix bug: LevelRaise/2002-10-08-VarArgCall.llChris Lattner2002-10-081-1/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4083 91177308-0d34-0410-b5e6-96231b3b80d8
* - Fix bug: cee/2002-10-07-NoImmediateDominator.llChris Lattner2002-10-082-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4081 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to support PHINode::removeIncoming changesChris Lattner2002-10-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4080 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to support PHINode::removeIncoming changesChris Lattner2002-10-081-9/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4079 91177308-0d34-0410-b5e6-96231b3b80d8
* - Checkin LARGE number of Changes to CEE pass that will make it much moreChris Lattner2002-10-081-53/+394
| | | | | | | | | | | | powerful, but that are largely disabled. The basic idea here is that it is trying to forward branches across basic blocks that have PHI nodes in it, which are crucial to be able to handle cases like whet.ll. Unfortunately we are not updating SSA correctly, causing sim.c to die, and I don't have time to fix the regression now, so I must disable the functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4077 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges passChris Lattner2002-10-082-18/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4075 91177308-0d34-0410-b5e6-96231b3b80d8
* It is illegal for PHI nodes to have zero values, delete the code to handle themChris Lattner2002-10-081-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4071 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold ashr -1, X into -1Chris Lattner2002-10-081-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4070 91177308-0d34-0410-b5e6-96231b3b80d8
* Non-functionality change just to make it more clear what is going onChris Lattner2002-10-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4060 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: 2002-10-02-SignExtensionProblem.llChris Lattner2002-10-021-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4017 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to work with Statistics reworkChris Lattner2002-10-011-7/+1
| | | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4004 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to work with recent Statistic's changes:Chris Lattner2002-10-0125-140/+132
| | | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4002 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to work with recent Statistic's changes:Chris Lattner2002-10-016-19/+12
| | | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4001 91177308-0d34-0410-b5e6-96231b3b80d8
* Build subdirs in parallelChris Lattner2002-10-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4000 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in LICM that caused the previous big win. :(Chris Lattner2002-09-291-13/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3980 91177308-0d34-0410-b5e6-96231b3b80d8
* Hoist the contents of Loops in depth first order in the dominator tree,Chris Lattner2002-09-291-6/+36
| | | | | | | | | | rather than in random order. This causes LICM to be DRAMATICALLY more effective. For example, on bzip2.c, it is able to hoist 302 loads and 2380 total instructions, as opposed to 44/338 before. This obviously makes other transformations much more powerful as well! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3978 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix major bugs in dominator set & tree information updatingChris Lattner2002-09-291-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3975 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert DIRS to PARALLEL_DIRS. They can be built independently.Vikram S. Adve2002-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3972 91177308-0d34-0410-b5e6-96231b3b80d8
* - Further cleanups of LICM pass, remove extra work from previous implementationChris Lattner2002-09-261-59/+25
| | | | | | | - Do not clone instructions then insert clone outside of loop. Just move them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3951 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comments, doxygenize moreChris Lattner2002-09-261-20/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3950 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up LICM significantly now that it is guaranteed to have loop preheadersChris Lattner2002-09-261-99/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3947 91177308-0d34-0410-b5e6-96231b3b80d8