summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO
Commit message (Collapse)AuthorAgeFilesLines
* * Add names to the symbol table for pool types and modified typesChris Lattner2002-04-131-11/+45
| | | | | | | | * Handle more complex structure so that power works almost * Fix bug with pooldestroy call where we passed in the size of the object instead of the pool to destroy. bisort is now pool allocated successfully! llvm-svn: 2238
* Implement function rewriting to use offsets instead of pointers in programs.Chris Lattner2002-04-121-217/+569
| | | | | | This now works with treeadd at least, and perhaps other programs as well. llvm-svn: 2233
* * Add documentationChris Lattner2002-04-101-210/+208
| | | | | | | | | * Split the CleanGCC pass into two passes, a global pass and an IP pass. Before it was just a global pass, but it did illegal things to the module, which broke other passes that were being scheduled with it by gccld. llvm-svn: 2224
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-093-6/+8
| | | | | | be 'Argument' instead of FunctionArgument. llvm-svn: 2216
* Add #includes to make up for #includes pruned out of header files.Chris Lattner2002-04-092-0/+2
| | | | llvm-svn: 2207
* s/Method/FunctionChris Lattner2002-04-083-7/+2
| | | | | | Remove extraneous #includes of llvm/Assembly/Writer llvm-svn: 2178
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-073-68/+65
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* PATypeHolder is now not a templateChris Lattner2002-04-041-4/+5
| | | | llvm-svn: 2106
* Allow scalars that point to multiple nodes when building the scalar map.Chris Lattner2002-04-011-5/+0
| | | | llvm-svn: 2087
* Add extra case here to avoid getting spurious outputChris Lattner2002-04-011-0/+4
| | | | llvm-svn: 2086
* Add debug outputChris Lattner2002-03-311-11/+19
| | | | llvm-svn: 2066
* * Catch and ignore (for now) return instructions in tranformed functionsChris Lattner2002-03-301-31/+58
| | | | | | | | | | | * Add more debugging output * Fix problems refering to wrong versions of various graphs * Build the pool descriptor map! * Clear the nodemapping map after building pool descriptor to avoid assert * Transform the NEw function body, not the old one... * Matrix.ll now works! llvm-svn: 2058
* * Clean up data structures [AllocDSNode -> DSNode]Chris Lattner2002-03-301-74/+232
| | | | | | | | | | | | | * TransformFunctionInfo now has call field form field mapping. May be removed in the future. * Moved the computation of "Scalars" into transformFunctionBody so transformFunction didn't have to recompute it. * Implement the node mapping calculation in preparation to calculate PoolDescriptors to pass to transformFunctionBody * Print out the node mapping [it looks right!] * Other minor changes llvm-svn: 2056
* Maintain enough information so that the pools for all of the nodes ofChris Lattner2002-03-301-44/+66
| | | | | | the graph can be passed around. llvm-svn: 2053
* Implement the first batch of transformations to the methods. So far it:Chris Lattner2002-03-291-2/+172
| | | | | | | | | | | * Converts malloc instructions to poolalloc * Converts free instructions to poolfree * Convert calls to call the new cloned hacked up versions Note that this does not modify hacked up stuff yet, just the top level function llvm-svn: 2052
* Correctly clone the function with the extra argument types. Now we needChris Lattner2002-03-291-6/+74
| | | | | | | | | to modify the function next. This also properly recycles functions so that we don't get exponential code blowup in the common case. llvm-svn: 2049
* s/Method/FunctionChris Lattner2002-03-291-6/+6
| | | | llvm-svn: 2048
* Find out which calls in the function we need to transform and how.Chris Lattner2002-03-291-15/+189
| | | | | | Next step is to start hacking functions up. llvm-svn: 2044
* s/Method/FunctionChris Lattner2002-03-291-3/+3
| | | | llvm-svn: 2043
* Modularize code a bitChris Lattner2002-03-291-2/+25
| | | | llvm-svn: 2040
* Implement the first step of pool allocation - Creating, initialization, andChris Lattner2002-03-291-8/+82
| | | | | | destruction of the pools. llvm-svn: 2039
* Flesh out a bunch more code, print allocations that are poolable.Chris Lattner2002-03-291-10/+149
| | | | llvm-svn: 2031
* s/method/functionChris Lattner2002-03-291-30/+26
| | | | llvm-svn: 2030
* s/Method/Function/gChris Lattner2002-03-291-66/+65
| | | | llvm-svn: 2029
* Initial checkin of Noop pass that will be the pool allocatorChris Lattner2002-03-281-0/+33
| | | | llvm-svn: 2014
* Change references from Method to FunctionChris Lattner2002-03-262-6/+6
| | | | | | change references from MethodARgument to FunctionArgument llvm-svn: 1991
* Remove code designed to compensate for a bug in GCC. The bug has sinceChris Lattner2002-03-151-57/+5
| | | | | | been fixed. llvm-svn: 1881
* Take CallGraph out of the CFG namespace. It has nothing to do with CFGsChris Lattner2002-03-062-10/+10
| | | | llvm-svn: 1820
* Change over to use new style pass mechanism, now passes only expose smallChris Lattner2002-02-265-54/+150
| | | | | | creation functions in their public header file, unless they can help it. llvm-svn: 1816
* When inlining basic blocks and instructions, give them a name!Chris Lattner2002-02-251-0/+4
| | | | llvm-svn: 1796
* Handle more cases in the linkerChris Lattner2002-02-181-5/+21
| | | | llvm-svn: 1771
* * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner2002-02-121-2/+3
| | | | | | | | | llvm/Support/CFG.h * Make pred & succ iterators for intervals global functions * Add #includes that are now neccesary because BasicBlock.h doesn't include InstrTypes.h anymore llvm-svn: 1750
* Convert xforms over to new pass structure.Chris Lattner2002-01-315-27/+67
| | | | llvm-svn: 1605
* Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass inChris Lattner2002-01-221-62/+0
| | | | | | the ChangeAllocations.h header file. llvm-svn: 1522
* Move stuff out of the Optimizations directories into the appropriate TransformsChris Lattner2002-01-211-10/+7
| | | | | | directories. Eliminate the opt namespace. llvm-svn: 1520
* Rename SwapStructureContents -> IPO/SimpleStructMutationChris Lattner2002-01-212-5/+6
| | | | | | Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h) llvm-svn: 1510
* Implement a more powerful, simpler, pass system. This pass system can figureChris Lattner2002-01-215-61/+66
| | | | | | | | | out how to run a collection of passes optimially given their behaviors and charactaristics. Convert code to use it. llvm-svn: 1507
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-206-34/+47
| | | | llvm-svn: 1503
* The proper prototype for malloc returns a pointer, not an unsized arrayChris Lattner2001-12-141-6/+3
| | | | llvm-svn: 1463
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-042-4/+4
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-034-14/+14
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Split the PHINode class out from the iOther.h file into the iPHINode.h fileChris Lattner2001-12-033-2/+5
| | | | llvm-svn: 1405
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-1/+1
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* Remove debugging outputChris Lattner2001-11-261-1/+1
| | | | llvm-svn: 1383
* Support internal linkageChris Lattner2001-11-261-1/+2
| | | | llvm-svn: 1382
* Implement DCE of global valuesChris Lattner2001-11-262-0/+65
| | | | llvm-svn: 1360
* Support selectable structure transformationsChris Lattner2001-11-261-13/+45
| | | | llvm-svn: 1342
* Support mutation of array indexingChris Lattner2001-11-261-20/+20
| | | | llvm-svn: 1341
* -cleangcc pass now remove type names that are never referenced and type ↵Chris Lattner2001-11-151-3/+43
| | | | | | names for pointers to primitive types. llvm-svn: 1312
* Better heuristics for handling arraysChris Lattner2001-11-141-7/+17
| | | | llvm-svn: 1296
OpenPOWER on IntegriCloud