summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Major fix: extract ConstantExpr nodes and decompose them into symbolicVikram S. Adve2002-10-131-22/+90
| | | | | | | | | instructions so that (a) constant folding is done automatically before code generation, and (b) selection does not have to deal with them. Also, check for ConstantPointerRefs in additional to GlobalValues when creating a GEP to load a global address. llvm-svn: 4126
* Changed to external global varAnand Shukla2002-10-121-1/+1
| | | | llvm-svn: 4120
* Instead of adding stdlib we just prototype malloc correctly.Nick Hildenbrandt2002-10-111-1/+3
| | | | llvm-svn: 4118
* Sun requires you to include stdlib to use mallocNick Hildenbrandt2002-10-111-1/+1
| | | | llvm-svn: 4117
* Major bug fix: spill code for an instruction in a delay slot wasVikram S. Adve2002-10-111-11/+73
| | | | | | merrily being inserted before/after the instruction! llvm-svn: 4116
* Don't pad variables in stack slots for performance!Vikram S. Adve2002-10-111-2/+2
| | | | llvm-svn: 4115
* Use PARALLEL_DIRS.Vikram S. Adve2002-10-111-1/+1
| | | | llvm-svn: 4114
* Added capability to get execution count of a loop if it is a predictableMisha Brukman2002-10-111-11/+137
| | | | | | number of iterations. llvm-svn: 4113
* Added helper functions in LoopInfo: isLoopExit and numBackEdges.Misha Brukman2002-10-111-0/+24
| | | | llvm-svn: 4112
* Stop using DataStructureGraph.hChris Lattner2002-10-101-4/+1
| | | | llvm-svn: 4106
* - Dramatically simplify the ConstantMerge code now thatChris Lattner2002-10-091-102/+3
| | | | | | Value::replaceAllUsesWith works with constants correctly. llvm-svn: 4104
* - 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. llvm-svn: 4103
* - 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. llvm-svn: 4102
* 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. llvm-svn: 4099
* Minor, non-functionality changing, formatting fixChris Lattner2002-10-091-6/+6
| | | | llvm-svn: 4091
* - Remove Value::use_removeChris Lattner2002-10-091-7/+0
| | | | llvm-svn: 4090
* - Rename MTy to FTy (no methods exist anymore)Chris Lattner2002-10-091-9/+13
| | | | | | - Fix bug: LevelRaise/2002-10-08-VarArgCallInfLoop.ll llvm-svn: 4088
* 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. llvm-svn: 4086
* Fix bug: Assembler/2002-10-08-LargeArrayPerformance.ll by usingChris Lattner2002-10-081-2/+4
| | | | | | std::vector::reserve when possible llvm-svn: 4085
* - Fix bug: LevelRaise/2002-10-08-VarArgCall.llChris Lattner2002-10-081-1/+39
| | | | llvm-svn: 4083
* - Fix bug: cee/2002-10-07-NoImmediateDominator.llChris Lattner2002-10-082-2/+4
| | | | llvm-svn: 4081
* Changes to support PHINode::removeIncoming changesChris Lattner2002-10-082-9/+8
| | | | llvm-svn: 4080
* Changes to support PHINode::removeIncoming changesChris Lattner2002-10-081-9/+2
| | | | llvm-svn: 4079
* - Change PHINode::removeIncomingValue to delete the phi node if the lastChris Lattner2002-10-081-1/+10
| | | | | | incoming value is removed! llvm-svn: 4078
* - 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. llvm-svn: 4077
* Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges passChris Lattner2002-10-082-18/+20
| | | | llvm-svn: 4075
* Expose new "recalculate" method from dominatorsetChris Lattner2002-10-081-4/+8
| | | | llvm-svn: 4074
* It is illegal for PHI nodes to have zero values, delete the code to handle themChris Lattner2002-10-081-2/+0
| | | | llvm-svn: 4071
* Fold ashr -1, X into -1Chris Lattner2002-10-081-0/+6
| | | | llvm-svn: 4070
* Non-functionality change just to make it more clear what is going onChris Lattner2002-10-071-1/+1
| | | | llvm-svn: 4060
* Global variables are now external if they don't have initializers, notChris Lattner2002-10-061-1/+1
| | | | | | "uninitialized" llvm-svn: 4052
* Check that we don't have external varaibles with internal linkageChris Lattner2002-10-061-1/+5
| | | | llvm-svn: 4051
* The parser now accepts "external" global variables, in addition to the backwardsChris Lattner2002-10-062-4/+5
| | | | | | compatible "uninitialized" global variables llvm-svn: 4050
* PHI nodes are not allowed to exist with zero incoming values, check thatChris Lattner2002-10-061-0/+7
| | | | | | there aren't any like this. llvm-svn: 4044
* Bug fix: In preventing static global variables from being printed twice,Vikram S. Adve2002-10-051-3/+2
| | | | | | | I also prevented external globals from being printed twice, but they should (extern declaration and definition). llvm-svn: 4043
* Added #include<unistd.h> to compile with solaris gcc3.2Anand Shukla2002-10-041-0/+1
| | | | llvm-svn: 4042
* added cast to unsigned to compile with gcc3.2 (sparc)Anand Shukla2002-10-041-2/+4
| | | | llvm-svn: 4041
* Handle post dominance correctly in the case where blocks do not have a path toChris Lattner2002-10-041-0/+12
| | | | | | the exit node. llvm-svn: 4038
* 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. llvm-svn: 4037
* Prune function nodes that are no longer referenced due to inliningChris Lattner2002-10-032-2/+3
| | | | llvm-svn: 4036
* sgefa uses truely huge data structures nodes. Only print part of them if theyChris Lattner2002-10-031-2/+7
| | | | | | are so big llvm-svn: 4035
* Handle bug exposed by power benchmarkChris Lattner2002-10-031-1/+1
| | | | llvm-svn: 4033
* Add parens around constant calls to getelemptr to properly associate the ↵Nick Hildenbrandt2002-10-031-2/+2
| | | | | | reference llvm-svn: 4032
* Reimplement/port the Bottom Up Closure passChris Lattner2002-10-032-38/+61
| | | | llvm-svn: 4031
* DataStructure.h doesn't include DSGraph.hChris Lattner2002-10-023-0/+3
| | | | llvm-svn: 4029
* I was wrong on the removing of those references on the last commit.Nick Hildenbrandt2002-10-021-0/+3
| | | | llvm-svn: 4023
* * Implement the getc() functionChris Lattner2002-10-021-11/+86
| | | | | | * Support usage of stdin, stdout & stderr correctly in LLI! llvm-svn: 4022
* Cleanup #includes, expose moduleChris Lattner2002-10-021-4/+2
| | | | llvm-svn: 4021
* Expose TD to ExternalFunctions.cppChris Lattner2002-10-021-1/+1
| | | | llvm-svn: 4020
* - Print the predecessors of a basic block instead of the number of uses ofChris Lattner2002-10-021-3/+17
| | | | | | the block in the AsmWriter llvm-svn: 4019
OpenPOWER on IntegriCloud