Chris Lattner [Fri, 29 Mar 2002 19:04:08 +0000 (19:04 +0000)]
Checkin new useful routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2046
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 19:03:54 +0000 (19:03 +0000)]
New clone function routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2045
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:13:46 +0000 (17:13 +0000)]
Find out which calls in the function we need to transform and how.
Next step is to start hacking functions up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2044
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:08:29 +0000 (17:08 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2043
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:08:01 +0000 (17:08 +0000)]
Rename getCalledMethod to getCalledFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2042
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:07:34 +0000 (17:07 +0000)]
Remove getCalledMethod. Use getCalledFunction instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2041
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 06:21:38 +0000 (06:21 +0000)]
Modularize code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2040
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 05:50:20 +0000 (05:50 +0000)]
Implement the first step of pool allocation - Creating, initialization, and
destruction of the pools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2039
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 05:49:37 +0000 (05:49 +0000)]
Add an insert method to VAlueHolder to allow batch insertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2038
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 04:48:40 +0000 (04:48 +0000)]
Add new addTypeName method to Module class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2037
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:57:15 +0000 (03:57 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2036
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:51:11 +0000 (03:51 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2035
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:44:36 +0000 (03:44 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2034
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:44:18 +0000 (03:44 +0000)]
Implement new getFunction and getOrInsertFunction methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:43:24 +0000 (03:43 +0000)]
Simplify code a bit by using Module::getOrInsertFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:40:59 +0000 (03:40 +0000)]
Flesh out a bunch more code, print allocations that are poolable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:40:25 +0000 (03:40 +0000)]
s/method/function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:39:36 +0000 (03:39 +0000)]
s/Method/Function/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:38:05 +0000 (03:38 +0000)]
Simplify code a lot by using the Module::getFunction & getOrInsertFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2028
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:35:30 +0000 (03:35 +0000)]
Expose more information to clients
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2027
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:32:29 +0000 (03:32 +0000)]
Add getOrInsertFunction and getFunction methods to Module. This simplifies
some code in the transformations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2026
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:32:00 +0000 (03:32 +0000)]
Add #define for MethodType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2025
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:30:59 +0000 (03:30 +0000)]
s/Method/Function/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2024
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 03:15:32 +0000 (03:15 +0000)]
Rename MethodType to FunctionType, provide a #define
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2023
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 22:49:49 +0000 (22:49 +0000)]
Remove the reduceApply functions they are obsolete things from the days before
we had a reasonable pass system
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2022
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 19:33:00 +0000 (19:33 +0000)]
Implement getEscapingAllocations & getNonEscapingAllocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2021
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 19:16:48 +0000 (19:16 +0000)]
* Rename UnlinkUndistinguishableShadowNodes & RemoveUnreachableShadowNodes
to reflect that they can eliminate arbitrary nodes.
* Rename the ShadowNodeEliminate.cpp file to EliminateNodes.cpp for the
same reason
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2020
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 19:15:38 +0000 (19:15 +0000)]
* Remove RemoveUnreachableShadowNodes & UnlinkUndistinguishableShadowNodes
to reflect the fact that they actually operate on arbitrary nodes
* Clean up public interface of FunctionDSGraph
* add getEscapingAllocations & getNonEscapingAllocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2019
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:38:38 +0000 (18:38 +0000)]
Ooops, I did such a great job pruning nodes, that I accidentally deleted
ALL allocation nodes... hrm... bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2018
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:21:31 +0000 (18:21 +0000)]
Add subdirs to makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2017
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:21:05 +0000 (18:21 +0000)]
Initial checkin of first regression test for mem2reg pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2016
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:10:31 +0000 (18:10 +0000)]
Makefile change for IPO's that use the Datastructure analysis stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2015
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:08:31 +0000 (18:08 +0000)]
Initial checkin of Noop pass that will be the pool allocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2014
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:08:07 +0000 (18:08 +0000)]
Add hook for pool allocation pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2013
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 18:01:22 +0000 (18:01 +0000)]
New file for new pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2012
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 17:56:28 +0000 (17:56 +0000)]
Checking for Cameron
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 17:56:03 +0000 (17:56 +0000)]
Many changes
* Simplify a lot of the inlining stuff. There are still problems, but not
many
* Break up the Function representation to have a vector for every different
node type so it is fast to find nodes of a particular flavor.
* Do more intelligent merging of call values
* Allow elimination of unreachable shadow and allocation nodes
* Generalize indistinguishability testing to allow merging of identical calls.
* Increase shadow node merging power
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2010
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Mar 2002 17:48:41 +0000 (17:48 +0000)]
* Define some operators on PointerVal and PVS's
* Nodes can determine whether they are foldable with another node
* Rename NewDSNode to AllocDSNode
* The Function graph breaks up all of the node types into individual
vectors to alloc fast access when you are looking for a particular type
of node. Simplifies much code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2009
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Buschardt [Wed, 27 Mar 2002 23:29:23 +0000 (23:29 +0000)]
Rename constructor function for mem2reg pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2008
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Buschardt [Wed, 27 Mar 2002 23:28:40 +0000 (23:28 +0000)]
* Move classes around
* rename constructor function
* Move stuff into anonymous namespaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2007
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Buschardt [Wed, 27 Mar 2002 23:27:45 +0000 (23:27 +0000)]
Rename constructor function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2006
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Buschardt [Wed, 27 Mar 2002 23:17:37 +0000 (23:17 +0000)]
Implemented promote mem->reg pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2005
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 19:48:03 +0000 (19:48 +0000)]
* Add #define to enabled debug messages
* Move removeEdgesTo to be a member of DSNode
* Implement (but #ifdef out) the new, spiffier, method of determining
shadow node equivalence. This cannot be enabled until more is
implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2004
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 19:46:05 +0000 (19:46 +0000)]
* Implement DSNode::removeAllIncomingEdges
* Implement Critical Shadow node handling
* Implement routines to determine whether an allocation node is a malloc
or alloca
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2003
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 19:45:12 +0000 (19:45 +0000)]
* Add critical node support
* Optimize graph after building it. This should be unneccesary in the future
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2002
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 19:44:33 +0000 (19:44 +0000)]
* Destroy alloca nodes when a graph gets inlined
* Add links to all subtrees when a shadow node gets resolved
* Add critical node handling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2001
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 19:41:45 +0000 (19:41 +0000)]
* Add a nice utility method to DSNode
* Export interface to tell whether an alloc node represent a malloc or alloca
* Add the concept of a "critical" shadow node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2000
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 00:55:13 +0000 (00:55 +0000)]
* Optimizers return true on change
* Implement indistinguishable shadow node elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 00:54:31 +0000 (00:54 +0000)]
Fix long line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1998
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 00:53:57 +0000 (00:53 +0000)]
* Because of optimization, the shadow nodes between arguments might get
removed. Check to see if they are there.
* Repeat optimizations while changing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1997
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 27 Mar 2002 00:52:57 +0000 (00:52 +0000)]
Allow isa<DSNode>(..)
Simplification routines return true on change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1996
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 22:43:12 +0000 (22:43 +0000)]
* Add support for DataStructure analysis
* Parameterize pass outputting with the printPass template, so analysis
output can optionally take more arguments than just a stream. The
default output mode is just to use operator<< on the analysis.
* Remove CurrentModule hack, in favor of using printPass
* Remove special operator<<'s defined for FindUsedTypes and
FindUnsafePointerTypes, in favor of printPass specializations
* Use std::cout instead of cout
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1995
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 22:39:06 +0000 (22:39 +0000)]
Initial checkin of Datastructure analysis.
Has bugs, but shouldn't crash in theory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1994
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 22:38:45 +0000 (22:38 +0000)]
New header file for datastructure analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1993
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 18:02:30 +0000 (18:02 +0000)]
Change from Method to Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1992
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 18:01:55 +0000 (18:01 +0000)]
Change references from Method to Function
change references from MethodARgument to FunctionArgument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1991
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 17:58:12 +0000 (17:58 +0000)]
Convert to use new style casts instead of direct checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 17:55:33 +0000 (17:55 +0000)]
change refs to Method to Function
Change references to MEthodArgument to FunctionArgument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 17:49:55 +0000 (17:49 +0000)]
Change uses of Method to Function
Change uses of methodArgument to FunctionArgument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 17:49:00 +0000 (17:49 +0000)]
Remove unneccesary forward declarations for classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 17:48:08 +0000 (17:48 +0000)]
Transform uses of Method into uses of Function.
Rename MethodArgument to FunctionArgument
Fix some _really_ out of date comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1986
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 26 Mar 2002 17:46:41 +0000 (17:46 +0000)]
Allow clients to use FunctionType as well as MethodType for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1985
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 13:22:04 +0000 (13:22 +0000)]
Make test more rigorous. It was never reading the non-scalar variables
from memory! Also, separate the writing and reading routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1983
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Mar 2002 07:03:10 +0000 (07:03 +0000)]
initialize sum variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1982
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:58:02 +0000 (03:58 +0000)]
Refix bug: Add back method MachineCodeForInstruction::dropAllReferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1980
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:57:38 +0000 (03:57 +0000)]
Fix padding when allocating local variables on stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1979
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:56:55 +0000 (03:56 +0000)]
Add methods to support type inquiry. Rename TmpInstruction values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1978
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:55:06 +0000 (03:55 +0000)]
Moved to directory Scalar/ and renamed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1977
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:54:03 +0000 (03:54 +0000)]
Destroy MethodLiveVarInfo after register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1976
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:53:03 +0000 (03:53 +0000)]
Use deterministic iterator for SchedGraphs. This is actually not
useful right now when we only do local scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1975
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:46:15 +0000 (03:46 +0000)]
Bug fix: nextToTry was not being initialized in one case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1974
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:45:35 +0000 (03:45 +0000)]
Add option to disable scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1973
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:44:55 +0000 (03:44 +0000)]
Add option to disable scheduling.
Destroy live-variable information after scheduling so it is
recomputed before later phases (e.g., reg. allocation).
Use deterministic iterator to enumerate sched graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1972
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:40:59 +0000 (03:40 +0000)]
Minor changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1971
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:40:11 +0000 (03:40 +0000)]
Re-fix bug: Put back MachineCodeForInstruction::dropAllReferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1970
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:39:26 +0000 (03:39 +0000)]
Fix padding for variables allocated on stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1969
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:37:53 +0000 (03:37 +0000)]
Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1968
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:36:52 +0000 (03:36 +0000)]
Use deterministic iterator for treeRoots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1967
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:35:16 +0000 (03:35 +0000)]
Bug re-fix: put back MachineCodeForInstruction::get(*I).dropAllReferences().
Also re-enable instr. scheduling pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1966
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:33:53 +0000 (03:33 +0000)]
Change latencies for Load, Store and Branch instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1965
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:33:02 +0000 (03:33 +0000)]
Major enhancements to how array and structure indices are handled.
Improve checking for constants in Multiply.
Simpler method to keep track of when a node is folded into its parent.
Several other bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1964
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:25:17 +0000 (03:25 +0000)]
Change treeRoots data structure to make enumeration deterministic.
Also, add a flag to marked nodes that do not need code because they
have been folded into the user (parent in the BURG tree).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1963
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:24:00 +0000 (03:24 +0000)]
Change treeRoots data structure to make enumeration deterministic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1962
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:21:18 +0000 (03:21 +0000)]
Major overhaul to support arbitrary mixed array and structure indices.
Also moved to the Scalar/ directory and renamed to "MultiDim".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1961
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:19:54 +0000 (03:19 +0000)]
Rename pass to DecomposeMultiDimRefs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:18:49 +0000 (03:18 +0000)]
Fix out-of-date name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1959
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 24 Mar 2002 03:17:16 +0000 (03:17 +0000)]
Regression tests for DecomposeMultiDimRefs pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1958
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 22:51:58 +0000 (22:51 +0000)]
Rename Method to Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 22:48:21 +0000 (22:48 +0000)]
Remove extranous forward decl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1956
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 22:48:07 +0000 (22:48 +0000)]
Remove unneccesary forward definitions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1955
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 22:47:43 +0000 (22:47 +0000)]
Add transition header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1954
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 22:47:28 +0000 (22:47 +0000)]
Update documentation, rename Method to Function, move typedef to Value.h for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1953
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 22:46:51 +0000 (22:46 +0000)]
Change Method to Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1952
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Mar 2002 21:59:53 +0000 (21:59 +0000)]
Add transition typedef to Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1951
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 23 Mar 2002 20:46:18 +0000 (20:46 +0000)]
New pass to convert Convert multi-dimensional
array references into 1-D references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1950
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 23 Mar 2002 20:44:37 +0000 (20:44 +0000)]
Moved to Scalar/ directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1949
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 23 Mar 2002 20:43:39 +0000 (20:43 +0000)]
New pass to decompose multi-dimensional array references into
a sequence of 1-D references, using a sequence of getElementPtrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1948
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Mar 2002 19:13:47 +0000 (19:13 +0000)]
Remove compilation of __main because we now link -lgcc into programs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1947
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Mar 2002 18:01:58 +0000 (18:01 +0000)]
Add an assertion that would hopefully catch a problem that was tripping
cameron up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1944
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Mar 2002 23:02:37 +0000 (23:02 +0000)]
Fix bug test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1943
91177308-0d34-0410-b5e6-
96231b3b80d8