aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* - Make Value::replaceAllUsesWith work with constants correctly. This fixesChris Lattner2002-10-091-16/+18
| | | | | | | bug FuncResolve/2002-08-19-ResolveGlobalVars.ll and gzip looks better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4103 91177308-0d34-0410-b5e6-96231b3b80d8
* - Add new Constant::replaceUsesOfWithOnConstant which has an end resultChris Lattner2002-10-091-0/+106
| | | | | | | | similar to User::replaceUsesOfWith but actually does the right thing for constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4102 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
* Minor, non-functionality changing, formatting fixChris Lattner2002-10-091-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4091 91177308-0d34-0410-b5e6-96231b3b80d8
* - Remove Value::use_removeChris Lattner2002-10-091-7/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4090 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 NASTY N^2 behavior that was causing the gzip benchmark to take forever toChris Lattner2002-10-081-6/+12
| | | | | | | | assemble. Now we scan the use-list from the back when removing users instead of from the front. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4086 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: Assembler/2002-10-08-LargeArrayPerformance.ll by usingChris Lattner2002-10-081-2/+4
| | | | | | | std::vector::reserve when possible git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4085 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-082-9/+8
| | | | 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
* - Change PHINode::removeIncomingValue to delete the phi node if the lastChris Lattner2002-10-081-1/+10
| | | | | | | incoming value is removed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4078 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
* Expose new "recalculate" method from dominatorsetChris Lattner2002-10-081-4/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074 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
* Global variables are now external if they don't have initializers, notChris Lattner2002-10-061-1/+1
| | | | | | | "uninitialized" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4052 91177308-0d34-0410-b5e6-96231b3b80d8
* Check that we don't have external varaibles with internal linkageChris Lattner2002-10-061-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4051 91177308-0d34-0410-b5e6-96231b3b80d8
* The parser now accepts "external" global variables, in addition to the backwardsChris Lattner2002-10-062-4/+5
| | | | | | | compatible "uninitialized" global variables git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4050 91177308-0d34-0410-b5e6-96231b3b80d8
* PHI nodes are not allowed to exist with zero incoming values, check thatChris Lattner2002-10-061-0/+7
| | | | | | | there aren't any like this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4044 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix: In preventing static global variables from being printed twice,Vikram S. Adve2002-10-052-6/+4
| | | | | | | | I also prevented external globals from being printed twice, but they should (extern declaration and definition). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4043 91177308-0d34-0410-b5e6-96231b3b80d8
* Added #include<unistd.h> to compile with solaris gcc3.2Anand Shukla2002-10-041-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4042 91177308-0d34-0410-b5e6-96231b3b80d8
* added cast to unsigned to compile with gcc3.2 (sparc)Anand Shukla2002-10-041-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4041 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle post dominance correctly in the case where blocks do not have a path toChris Lattner2002-10-041-0/+12
| | | | | | | the exit node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4038 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a nasty problem with dominance calculation for unreachable blocks.Chris Lattner2002-10-041-5/+20
| | | | | | | | | | If we had a CFG that look like Entry -> B, Unreachable -> B, then we would not correctly determine that Entry dominated B, because Entry did not apparently dominate "unreachable". This patch fixes this by making the entry node dominate all blocks, including unreachable ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4037 91177308-0d34-0410-b5e6-96231b3b80d8
* Prune function nodes that are no longer referenced due to inliningChris Lattner2002-10-032-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4036 91177308-0d34-0410-b5e6-96231b3b80d8
* sgefa uses truely huge data structures nodes. Only print part of them if theyChris Lattner2002-10-031-2/+7
| | | | | | | are so big git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4035 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle bug exposed by power benchmarkChris Lattner2002-10-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4033 91177308-0d34-0410-b5e6-96231b3b80d8
* Add parens around constant calls to getelemptr to properly associate the ↵Nick Hildenbrandt2002-10-032-4/+4
| | | | | | reference git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4032 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement/port the Bottom Up Closure passChris Lattner2002-10-032-38/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4031 91177308-0d34-0410-b5e6-96231b3b80d8
* DataStructure.h doesn't include DSGraph.hChris Lattner2002-10-023-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4029 91177308-0d34-0410-b5e6-96231b3b80d8
* I was wrong on the removing of those references on the last commit.Nick Hildenbrandt2002-10-022-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4023 91177308-0d34-0410-b5e6-96231b3b80d8
* * Implement the getc() functionChris Lattner2002-10-021-11/+86
| | | | | | | * Support usage of stdin, stdout & stderr correctly in LLI! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4022 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup #includes, expose moduleChris Lattner2002-10-021-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4021 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose TD to ExternalFunctions.cppChris Lattner2002-10-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4020 91177308-0d34-0410-b5e6-96231b3b80d8
* - Print the predecessors of a basic block instead of the number of uses ofChris Lattner2002-10-021-3/+17
| | | | | | | the block in the AsmWriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4019 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
* Removed unneeded reference and dereferences.Nick Hildenbrandt2002-10-022-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4016 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleaned up my last check-in.Nick Hildenbrandt2002-10-022-122/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4014 91177308-0d34-0410-b5e6-96231b3b80d8
* No longer include malloc.h. If protoypes are needed for memory functions ↵Nick Hildenbrandt2002-10-022-4/+122
| | | | | | they will be present in the byte code and the generated c as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4013 91177308-0d34-0410-b5e6-96231b3b80d8
* * Implement fully general merging of array subscripts on demand! ThisChris Lattner2002-10-021-3/+27
| | | | | | | does not handle the initial pointer index case yet though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4012 91177308-0d34-0410-b5e6-96231b3b80d8
* When printing DS nodes, print the mergemap index as well to allow easierChris Lattner2002-10-021-1/+1
| | | | | | | debugging of merging process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4010 91177308-0d34-0410-b5e6-96231b3b80d8
* * Significant rework of DSNode to support arbitrary aliasing due to mergingChris Lattner2002-10-021-20/+146
| | | | | | | | | * Now all and any bytes of a DSNode can be merged together individually. This is neccesary to support the full generality of C and support aliasing correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4008 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-0127-145/+137
| | | | | | | | | | | | | * 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