summaryrefslogtreecommitdiff
path: root/lib/Transforms
Commit message (Collapse)AuthorAge
* Take CallGraph out of the CFG namespace. It has nothing to do with CFGsChris Lattner2002-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1820 91177308-0d34-0410-b5e6-96231b3b80d8
* Change over to use new style pass mechanism, now passes only expose smallChris Lattner2002-02-26
| | | | | | | creation functions in their public header file, unless they can help it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
* Move ProfilePaths class into ProfilePaths library, only expose a creation ↵Chris Lattner2002-02-26
| | | | | | function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1812 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass stuff by reference instead of by copy. Copying entire graphs seems likeChris Lattner2002-02-26
| | | | | | | a bad idea git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1810 91177308-0d34-0410-b5e6-96231b3b80d8
* Move processGraph down lower in the file so all of the forward declarationsChris Lattner2002-02-26
| | | | | | | can be eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1809 91177308-0d34-0410-b5e6-96231b3b80d8
* * Changes to compile successfully with GCC 3.0Chris Lattner2002-02-26
| | | | | | | | * Eliminated memory leak in processGraph * Pass vectors by const reference to moveDummyCode instead of by copy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1808 91177308-0d34-0410-b5e6-96231b3b80d8
* Makefile for profile-pathsAnand Shukla2002-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1807 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin: functions on Graph used for path profile passAnand Shukla2002-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1806 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin: instrument code to get path execution frequencyAnand Shukla2002-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1805 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin: helper file to insert instrumentation code along edgesAnand Shukla2002-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1804 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial check in of graph.cpp: implements graph interface used in path profilesAnand Shukla2002-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1803 91177308-0d34-0410-b5e6-96231b3b80d8
* New makefile to include ProfilePaths dirAnand Shukla2002-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1799 91177308-0d34-0410-b5e6-96231b3b80d8
* When inlining basic blocks and instructions, give them a name!Chris Lattner2002-02-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1796 91177308-0d34-0410-b5e6-96231b3b80d8
* NamespacesChris Lattner2002-02-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1791 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle more cases in the linkerChris Lattner2002-02-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1771 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix for test/Regression/Other/2002-02-14-LevelRaiseBadAssert.llChris Lattner2002-02-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1767 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement conversion of method pointer parameter in Call instructionChris Lattner2002-02-14
| | | | | | | to clean up MST benchmark. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1763 91177308-0d34-0410-b5e6-96231b3b80d8
* * Check in fix for: ↵Chris Lattner2002-02-14
| | | | | | | | | llvm/test/Regression/Other/2002-02-14-LevelRaiseInstDelete.ll * Minor reformatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1760 91177308-0d34-0410-b5e6-96231b3b80d8
* * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner2002-02-12
| | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1750 91177308-0d34-0410-b5e6-96231b3b80d8
* Method.h no longer includes BasicBlock.hChris Lattner2002-02-12
| | | | | | | | Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
* Add neccesary #includeChris Lattner2002-02-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1742 91177308-0d34-0410-b5e6-96231b3b80d8
* I forgot to provide dominance frontier information. Now it's available.Chris Lattner2002-02-12
| | | | | | | Also add more comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1741 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin of new memory -> register promotion passChris Lattner2002-02-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1739 91177308-0d34-0410-b5e6-96231b3b80d8
* General cleanupChris Lattner2002-02-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1628 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate SimplifyCFG.h file, pull everything into the UnifyMethodExitNodes ↵Chris Lattner2002-01-31
| | | | | | class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1613 91177308-0d34-0410-b5e6-96231b3b80d8
* MethodPass's are now guaranteed to not be run on external methods!Chris Lattner2002-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1611 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert xforms over to new pass structure.Chris Lattner2002-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1605 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert analyses to new pass structureChris Lattner2002-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1603 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extraneous #includesChris Lattner2002-01-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1588 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove opt namespaceChris Lattner2002-01-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1587 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement new DeadInstElmination passChris Lattner2002-01-23
| | | | | | | remove old comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1555 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't insert a useless castChris Lattner2002-01-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1527 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename LowerAllocations.h to ChangeAllocations.h since it now contains theChris Lattner2002-01-22
| | | | | | | RaiseAllocations pass as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass inChris Lattner2002-01-22
| | | | | | | the ChangeAllocations.h header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
* LowerAllocations is really a BasicBlock pass. Make it so.Chris Lattner2002-01-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1521 91177308-0d34-0410-b5e6-96231b3b80d8
* Move stuff out of the Optimizations directories into the appropriate TransformsChris Lattner2002-01-21
| | | | | | | directories. Eliminate the opt namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
* Elminate an unused variableChris Lattner2002-01-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1518 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename SwapStructureContents -> IPO/SimpleStructMutationChris Lattner2002-01-21
| | | | | | | Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1510 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a more powerful, simpler, pass system. This pass system can figureChris Lattner2002-01-21
| | | | | | | | | | out how to run a collection of passes optimially given their behaviors and charactaristics. Convert code to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
* initial checkinChris Lattner2001-12-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1480 91177308-0d34-0410-b5e6-96231b3b80d8
* * isFirstClassType is now provided by the Type classChris Lattner2001-12-14
| | | | | | | * Add ReplaceInstWithInst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1468 91177308-0d34-0410-b5e6-96231b3b80d8
* * add ReplaceInstWithInstChris Lattner2001-12-14
| | | | | | | | * Add support for pointer indexing * Fix minor bugs that are majorly annoying git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1467 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unsized array supportChris Lattner2001-12-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1466 91177308-0d34-0410-b5e6-96231b3b80d8
* * Support pointer indexingChris Lattner2001-12-14
| | | | | | | | | | * Unsized arrays are a thing of the past, remove DoInsertArrayCast family * Remove cases were we would get into infinite loops because we would insert a cast which would then be removed, inserting a different cast, ad infinitum... * Remove some code that should be redundant with ExprTypeConvert code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1465 91177308-0d34-0410-b5e6-96231b3b80d8
* Many many changes and bugfixes:Chris Lattner2001-12-14
| | | | | | | | | | | * Remove support for unsized arrays * Add pointer indexing support * Allow more arbitrary malloc type changes (which are too generous currently and should be fixed in the future) * Allow more and better conversions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1464 91177308-0d34-0410-b5e6-96231b3b80d8
* The proper prototype for malloc returns a pointer, not an unsized arrayChris Lattner2001-12-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1463 91177308-0d34-0410-b5e6-96231b3b80d8
* * Refactor trace values to work as a proper pass. Before it used to addChris Lattner2001-12-14
| | | | | | | | | | | methods while the pass was running which was a no no. Now it adds the printf method at pass initialization * Revamp code to use printf calls instead of the old style print_<type> calls. * Simplify code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1457 91177308-0d34-0410-b5e6-96231b3b80d8
* Assertion could never fail because another one would in it's place. :)Chris Lattner2001-12-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1449 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement more general conversions for getelementptr instructionsChris Lattner2001-12-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1432 91177308-0d34-0410-b5e6-96231b3b80d8