Commit Graph

53 Commits

Author SHA1 Message Date
abbc2dd779 Add new function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19 05:56:28 +00:00
d0fde30ce8 Put all LLVM code into the llvm namespace, as per bug 109.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
aeef8c70f0 Include forms of SplitCriticalEdge which work correctly with pred/succ iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9856 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10 04:42:13 +00:00
d9c5c5e12f Move isCriticalEdge & SplitCritical into this file. While we're at it, change
the interface to SplitCriticalEdge so that it splits an edge if it is critical,
otherwise just returns false and noops if not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9852 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10 04:10:27 +00:00
6fbcc26f14 Added LLVM copyright header (for lack of a better term).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
43f820d1f7 Change the interface to PromoteMemToReg to also take a DominatorTree
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8883 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 21:20:13 +00:00
48486893f4 Standardize header file comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:37:50 +00:00
b912491329 Cleanup header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-20 14:35:38 +00:00
f46057be77 Expand the pass to unify all of the unwind blocks as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 20:34:51 +00:00
a04e51f4c0 Fix an FLAT OUT WRONG comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:37:29 +00:00
9d3a1b2d97 Add versions of InlineFunction which work on Invoke instructions and general call sites
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 06:58:32 +00:00
658c5bcdb2 Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6476 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 20:01:37 +00:00
7cf322f51b Sorry, correcting small typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:53:50 +00:00
2c49fc023e Added support for cloning a trace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:48:23 +00:00
aa101c3147 Doxygenify comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6393 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:06:40 +00:00
82c89b9f3a Hopefully, the final fix for `[Pp]ropogate'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 21:01:22 +00:00
a107e5f11c Add prototype for new CloneBasicBlock function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5804 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 03:49:22 +00:00
d76370b306 Add getAnalysisUsage method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 17:29:18 +00:00
fb743a937f Change the mem2reg interface to accept a TargetData argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:25:18 +00:00
782752b7a2 Add a new interface file for the PromoteMemToReg interface in the Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-22 23:04:52 +00:00
1690f1d77d This file provides the function DemoteRegToStack(), which takes a
virtual register computed by an Instruction& X and replaces it with
a slot in the stack frame, allocated via alloca.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4963 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-10 13:07:12 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
3b743f9fb3 s/Method/Function in classname
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2335 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:59:56 +00:00
f57b845547 * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:56:12 +00:00
7dab15def6 Checkin new useful routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2046 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29 19:04:08 +00:00
e7506a366e Rename Method to Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:51:58 +00:00
bd0ef77cde Change over to use new style pass mechanism, now passes only expose small
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
2002-02-26 21:46:54 +00:00
cd6663b9ba Add constructor for addition to opt program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1626 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-01 04:53:15 +00:00
21801532fd Eliminate SimplifyCFG.h file, pull everything into the UnifyMethodExitNodes class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1613 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 01:12:06 +00:00
967a04442d Convert xforms over to use new pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1596 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 23:29:35 +00:00
697954c15d Changes to build successfully with GCC 3.02
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00