Commit Graph

125 Commits

Author SHA1 Message Date
Chris Lattner
d4fd397805 Cloning stuff doesn't modify the source module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4787 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 20:22:58 +00:00
Chris Lattner
d18015599c Minor changes to cloning interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4770 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 22:54:01 +00:00
Chris Lattner
1c9985067b Extend function cloning interface to support inlining
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4767 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 21:54:38 +00:00
Chris Lattner
b499419def This file is supersumed by Utils/Cloning.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4765 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 21:00:33 +00:00
Chris Lattner
84bf9880ea Merge cloning and inlining utilities
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4763 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 20:58:38 +00:00
Chris Lattner
8f51da42e7 Move inlining pass to IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4761 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 20:43:24 +00:00
Chris Lattner
5113eb0c52 Move the function extractor pass from tools/extract into lib/Xform/IPO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4759 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 18:42:59 +00:00
Chris Lattner
e802a023d9 Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4075 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:06:27 +00:00
Chris Lattner
f6b684c505 Checkin new loop-preheader insertion pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3943 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 16:17:33 +00:00
Chris Lattner
7afd98d144 Converted SimpleStructMutation to take TargetData as a required pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3931 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 00:17:18 +00:00
Chris Lattner
1751b7ed27 Change LowerAllocations pass to 'require' TargetData instead of it being
passed in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3930 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 23:47:49 +00:00
Chris Lattner
04d8dc31f6 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3909 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 15:51:54 +00:00
Chris Lattner
87944916a4 Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3906 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 15:42:27 +00:00
Chris Lattner
119e9ea33b Add new BreakCriticalEdges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 00:08:37 +00:00
Vikram S. Adve
be376cf6d4 Allow transformation DecomposeArrayRef(GetElementPtrInst* GEP) to
be invoked on a single instruction at a time, for use in other passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3751 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:07:19 +00:00
Chris Lattner
513d3e8fc5 Include stub for correlated expression elimination pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3597 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 18:39:29 +00:00
Chris Lattner
ca8474e7f2 - Rename BreakCriticalEdge to the slightly more standard SplitCriticalEdge
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3587 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:35:11 +00:00
Chris Lattner
3e57cb98bd * Doxygenize API
* Add new functions for identifying and breaking critical edges


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3586 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:19:25 +00:00
Chris Lattner
b041eb5dd4 Remove duplicate #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3567 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-02 04:04:11 +00:00
Chris Lattner
044f908791 - Do not expose ::ID from any of the analyses anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3416 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:45 +00:00
Chris Lattner
229a3770f6 Implement a new RemoveSuccessor function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3130 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 22:32:06 +00:00
Chris Lattner
d472e47b6c * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 21:03:38 +00:00
Chris Lattner
1e43516dcf * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:12:44 +00:00
Chris Lattner
ab955c3359 Move many files into IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:58 +00:00
Chris Lattner
ac20beb546 Move contents of these files into IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3041 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:24 +00:00
Chris Lattner
5c5db0eeb4 * Rename to IPO.h
* Add ConstantMerge.h contents


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3032 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:56:27 +00:00
Chris Lattner
3c19b92389 Incorporate into IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3030 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:51:10 +00:00
Chris Lattner
03917ccb0c Prepare the file to become IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3029 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:48:52 +00:00
Chris Lattner
378fb1df55 Merge the contents of ChangeAllocations.h into Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:37:38 +00:00
Chris Lattner
dedcc76fda *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3008 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:44 +00:00
Chris Lattner
f113b854d0 Pass creator requires a TargetData member
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3007 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:42 +00:00
Anand Shukla
0135729303 initial version: for emitfuncs pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2886 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-12 20:28:22 +00:00
Chris Lattner
7e70829632 MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
18961504fc *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:12:52 +00:00
Chris Lattner
a338016c7c Simplify the interface to local dce and constprop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2750 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-26 20:18:35 +00:00
Chris Lattner
76ae3445f8 Simplify interface to ConstantFoldTerminator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:04:50 +00:00
Chris Lattner
b8bcb086f7 Expose CFG simplification pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2696 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:04:15 +00:00
Chris Lattner
0fe2153507 Add prototype for LICM pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2612 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:44:16 +00:00
Chris Lattner
531823f125 Add prototype for the PiNodeInserter pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2592 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 05:40:37 +00:00
Chris Lattner
540d63cbc7 Add expr reassociation pass prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2558 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 22:19:01 +00:00
Chris Lattner
1ea5c56795 Spell aggressive right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2549 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 22:12:52 +00:00
Chris Lattner
3bcf74e298 These files are supersumed by include/llvm/Transforms/Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2534 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:38:42 +00:00
Chris Lattner
332f3679d0 New header file to replace all of the Scalar/*.h files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2533 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:37:18 +00:00
Chris Lattner
148a0bfcea Checkin headers for Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2528 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:52:48 +00:00
Chris Lattner
96bcfc30dc Cleanup implementation a bit + comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2527 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:51:44 +00:00
Chris Lattner
efbe5d682b Update header after moving file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:34:57 +00:00
Chris Lattner
2d95aa29f8 Remove long dead file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2521 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:20:10 +00:00
Chris Lattner
88d15ab0d6 Factor code out to the Transform Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2519 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:18:00 +00:00
Chris Lattner
94cf3b1c67 Remove unused files: This is the old induction varaible cannonicalization
pass built on top of interval analysis


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2411 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 20:18:00 +00:00
Chris Lattner
96c466b06a Add new optional getPassName() virtual function that a Pass can override
to make debugging output a lot nicer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 14:57:45 +00:00