oota-llvm.git
22 years agoAdd accessors and a method to get all the outgoing links for ALL nodes
Chris Lattner [Sat, 30 Mar 2002 09:07:51 +0000 (09:07 +0000)]
Add accessors and a method to get all the outgoing links for ALL nodes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2055 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd an accessor
Chris Lattner [Sat, 30 Mar 2002 04:02:41 +0000 (04:02 +0000)]
Add an accessor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2054 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMaintain enough information so that the pools for all of the nodes of
Chris Lattner [Sat, 30 Mar 2002 04:02:31 +0000 (04:02 +0000)]
Maintain enough information so that the pools for all of the nodes of
the graph can be passed around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2053 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement the first batch of transformations to the methods. So far it:
Chris Lattner [Fri, 29 Mar 2002 21:25:19 +0000 (21:25 +0000)]
Implement the first batch of transformations to the methods.  So far it:
 * 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2052 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a hook to allow the datastructure to keep naturally up to date, even
Chris Lattner [Fri, 29 Mar 2002 21:23:29 +0000 (21:23 +0000)]
Add a hook to allow the datastructure to keep naturally up to date, even
though it's not entirely fleshed out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2051 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* s/Method/Function
Chris Lattner [Fri, 29 Mar 2002 19:06:18 +0000 (19:06 +0000)]
* s/Method/Function
* Implement a check to make sure a function is not internal and external
  at the same time

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2050 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCorrectly clone the function with the extra argument types. Now we need
Chris Lattner [Fri, 29 Mar 2002 19:05:48 +0000 (19:05 +0000)]
Correctly clone the function with the extra argument types.  Now we need
to modify the function next.

This also properly recycles functions so that we don't get exponential
code blowup in the common case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2049 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agos/Method/Function
Chris Lattner [Fri, 29 Mar 2002 19:04:45 +0000 (19:04 +0000)]
s/Method/Function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2048 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd more accessors
Chris Lattner [Fri, 29 Mar 2002 19:04:19 +0000 (19:04 +0000)]
Add more accessors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2047 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCheckin new useful routine
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

22 years agoNew clone function routine
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

22 years agoFind out which calls in the function we need to transform and how.
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

22 years agos/Method/Function
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

22 years agoRename getCalledMethod to getCalledFunction
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

22 years agoRemove getCalledMethod. Use getCalledFunction instead
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

22 years agoModularize code a bit
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

22 years agoImplement the first step of pool allocation - Creating, initialization, and
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

22 years agoAdd an insert method to VAlueHolder to allow batch insertion
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

22 years agoAdd new addTypeName method to Module class
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

22 years agos/Method/Function
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

22 years agos/Method/Function
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

22 years agos/Method/Function
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

22 years agoImplement new getFunction and getOrInsertFunction methods
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

22 years agoSimplify code a bit by using Module::getOrInsertFunction
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

22 years agoFlesh out a bunch more code, print allocations that are poolable.
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

22 years agos/method/function
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

22 years agos/Method/Function/g
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

22 years agoSimplify code a lot by using the Module::getFunction & getOrInsertFunction
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

22 years agoExpose more information to clients
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

22 years agoAdd getOrInsertFunction and getFunction methods to Module. This simplifies
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

22 years agoAdd #define for MethodType
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

22 years agos/Method/Function/
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

22 years agoRename MethodType to FunctionType, provide a #define
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

22 years agoRemove the reduceApply functions they are obsolete things from the days before
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

22 years agoImplement getEscapingAllocations & getNonEscapingAllocations
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

22 years ago* Rename UnlinkUndistinguishableShadowNodes & RemoveUnreachableShadowNodes
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

22 years ago* Remove RemoveUnreachableShadowNodes & UnlinkUndistinguishableShadowNodes
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

22 years agoOoops, I did such a great job pruning nodes, that I accidentally deleted
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

22 years agoAdd subdirs to makefile
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

22 years agoInitial checkin of first regression test for mem2reg pass
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

22 years agoMakefile change for IPO's that use the Datastructure analysis stuff
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

22 years agoInitial checkin of Noop pass that will be the pool allocator
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

22 years agoAdd hook for pool allocation pass
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

22 years agoNew file for new pass
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

22 years agoChecking for Cameron
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

22 years agoMany changes
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

22 years ago* Define some operators on PointerVal and PVS's
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

22 years agoRename constructor function for mem2reg pass.
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

22 years ago* Move classes around
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

22 years agoRename constructor function
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

22 years agoImplemented promote mem->reg pass.
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

22 years ago* Add #define to enabled debug messages
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

22 years ago* Implement DSNode::removeAllIncomingEdges
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

22 years ago* Add critical node support
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

22 years ago* Destroy alloca nodes when a graph gets inlined
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

22 years ago* Add a nice utility method to DSNode
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

22 years ago* Optimizers return true on change
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

22 years agoFix long line
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

22 years ago* Because of optimization, the shadow nodes between arguments might get
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

22 years agoAllow isa<DSNode>(..)
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

22 years ago* Add support for DataStructure analysis
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

22 years agoInitial checkin of Datastructure analysis.
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

22 years agoNew header file for datastructure analysis
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

22 years agoChange from Method to Function
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

22 years agoChange references from Method to Function
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

22 years agoConvert to use new style casts instead of direct checking
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

22 years agochange refs to Method to Function
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

22 years agoChange uses of Method to Function
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

22 years agoRemove unneccesary forward declarations for classes
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

22 years agoTransform uses of Method into uses of Function.
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

22 years agoAllow clients to use FunctionType as well as MethodType for now
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

22 years agoMake test more rigorous. It was never reading the non-scalar variables
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

22 years agoinitialize sum variable
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

22 years agoRefix bug: Add back method MachineCodeForInstruction::dropAllReferences.
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

22 years agoFix padding when allocating local variables on stack.
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

22 years agoAdd methods to support type inquiry. Rename TmpInstruction values.
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

22 years agoMoved to directory Scalar/ and renamed.
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

22 years agoDestroy MethodLiveVarInfo after register allocation.
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

22 years agoUse deterministic iterator for SchedGraphs. This is actually not
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

22 years agoBug fix: nextToTry was not being initialized in one case.
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

22 years agoAdd option to disable scheduling.
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

22 years agoAdd option to disable scheduling.
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

22 years agoMinor changes.
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

22 years agoRe-fix bug: Put back MachineCodeForInstruction::dropAllReferences.
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

22 years agoFix padding for variables allocated on stack.
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

22 years agoMajor overhaul to FoldGetElemPtr to handle mixed array and struct refs.
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

22 years agoUse deterministic iterator for treeRoots.
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

22 years agoBug re-fix: put back MachineCodeForInstruction::get(*I).dropAllReferences().
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

22 years agoChange latencies for Load, Store and Branch instructions.
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

22 years agoMajor enhancements to how array and structure indices are handled.
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

22 years agoChange treeRoots data structure to make enumeration deterministic.
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

22 years agoChange treeRoots data structure to make enumeration deterministic.
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

22 years agoMajor overhaul to support arbitrary mixed array and structure indices.
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

22 years agoRename pass to DecomposeMultiDimRefs.
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

22 years agoFix out-of-date name.
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

22 years agoRegression tests for DecomposeMultiDimRefs pass.
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

22 years agoRename Method to Function
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

22 years agoRemove extranous forward decl
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

22 years agoRemove unneccesary forward definitions
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

22 years agoAdd transition header file
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