oota-llvm.git
22 years agoSignificantly rework InstructionCombining to work better and to be cleaner.
Chris Lattner [Thu, 18 Apr 2002 17:39:14 +0000 (17:39 +0000)]
Significantly rework InstructionCombining to work better and to be cleaner.
We now use an InstVisitor to delegate to different cases that we are
interested in handling.  We also fix the FIXME's by adding users to the
worklist when appropriate.

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

22 years agoNew testcase.
Chris Lattner [Thu, 18 Apr 2002 17:35:39 +0000 (17:35 +0000)]
New testcase.

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

22 years ago* Add a comment to the header giving a breif overview of how to return a
Chris Lattner [Thu, 18 Apr 2002 16:16:16 +0000 (16:16 +0000)]
* Add a comment to the header giving a breif overview of how to return a
  value from a visit function
* Define a (file local) DELEGATE macro to make the code easier to read/maintain
* Define per-opcode delegation functions so that users can override specific
  instances of BinaryOperator for example.

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

22 years ago* Make dtor virtual
Chris Lattner [Thu, 18 Apr 2002 15:46:40 +0000 (15:46 +0000)]
* Make dtor virtual
* Add a new defaulted argument that allows the instruction visitation
  visitors to return a non-void value.

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

22 years agoCheck in the first test: make sure getelementptr gets folded
Chris Lattner [Thu, 18 Apr 2002 15:39:50 +0000 (15:39 +0000)]
Check in the first test: make sure getelementptr gets folded

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

22 years agoTest the instruction combiner
Chris Lattner [Thu, 18 Apr 2002 15:39:15 +0000 (15:39 +0000)]
Test the instruction combiner

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

22 years agoConvert SCCP over to use InstVisitor instead of hand crafted switch
Chris Lattner [Thu, 18 Apr 2002 15:13:15 +0000 (15:13 +0000)]
Convert SCCP over to use InstVisitor instead of hand crafted switch

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

22 years agoRemove gep::isStructSelector
Chris Lattner [Thu, 18 Apr 2002 14:44:53 +0000 (14:44 +0000)]
Remove gep::isStructSelector
CTor's do not allow names anymore for StoreInst objects

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

22 years agoGEP instructions can never be constant propogated.
Chris Lattner [Thu, 18 Apr 2002 14:44:13 +0000 (14:44 +0000)]
GEP instructions can never be constant propogated.

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

22 years agoStore instructions always return void, so they never get a name
Chris Lattner [Thu, 18 Apr 2002 14:43:54 +0000 (14:43 +0000)]
Store instructions always return void, so they never get a name

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

22 years agoCorrectly transform dependant arguments, allowing the perimeter bm to work.
Chris Lattner [Thu, 18 Apr 2002 14:43:30 +0000 (14:43 +0000)]
Correctly transform dependant arguments, allowing the perimeter bm to work.

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

22 years ago* StoreInst's shouldn't take names (they are _always_ void type)
Chris Lattner [Thu, 18 Apr 2002 14:42:27 +0000 (14:42 +0000)]
* StoreInst's shouldn't take names (they are _always_ void type)
* Remove two methods that are not used

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

22 years agoFix a bug printing out %c formated characters.
Chris Lattner [Wed, 17 Apr 2002 17:43:01 +0000 (17:43 +0000)]
Fix a bug printing out %c formated characters.

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

22 years agoInline indirect function calls that are only capable of calling one function
Chris Lattner [Wed, 17 Apr 2002 03:42:51 +0000 (03:42 +0000)]
Inline indirect function calls that are only capable of calling one function

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

22 years agoMake data structure acurately get ALL edges, even loads of null fields of
Chris Lattner [Wed, 17 Apr 2002 03:24:59 +0000 (03:24 +0000)]
Make data structure acurately get ALL edges, even loads of null fields of
nodes that are not shadow nodes

This fixes em3d to be _correct_ if not optimial

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

22 years agoMake data structure acurately get ALL edges, even loads of null fields of
Chris Lattner [Wed, 17 Apr 2002 03:24:47 +0000 (03:24 +0000)]
Make data structure acurately get ALL edges, even loads of null fields of
nodes that are not shadow nodes

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

22 years agoAdd casts for documentation
Chris Lattner [Tue, 16 Apr 2002 22:10:52 +0000 (22:10 +0000)]
Add casts for documentation

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

22 years ago* Clean up the code a bit
Chris Lattner [Tue, 16 Apr 2002 22:10:36 +0000 (22:10 +0000)]
* Clean up the code a bit
* Allow structs with negative offsets.  This enables the em3d benchmark to
  be made typesafe.  In this case, the struct had an array as the first
  element, so a negative index was ok (the expr was -8 + 8x)

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

22 years agoRemove old frivolous uses of getStrValue in a debugging statement
Chris Lattner [Tue, 16 Apr 2002 21:36:59 +0000 (21:36 +0000)]
Remove old frivolous uses of getStrValue in a debugging statement

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

22 years agoRemove unneccesary cast
Chris Lattner [Tue, 16 Apr 2002 21:36:29 +0000 (21:36 +0000)]
Remove unneccesary cast

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

22 years agoChanges to:
Chris Lattner [Tue, 16 Apr 2002 21:36:08 +0000 (21:36 +0000)]
Changes to:
* Fix bug printing method types (oops when converting previous code)
* Move some of the code from Constant::getStrValue implementations here.
  This allows us to do a MUCH MUCH better job printing out complex constant
  values (think an array of structure pointers), because we print symbolic
  type names instead of structural.  The assistance when debugging is immense

Eventually, Constant::getStrValue should be removed (it existed before because
the asmwriter file was not in VMCore), and everyone should go through the
asmwriter that want's equivalent functionality.

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

22 years agoFix for buggy test
Chris Lattner [Tue, 16 Apr 2002 21:31:08 +0000 (21:31 +0000)]
Fix for buggy test

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

22 years ago* Remove the concept of a critical shadow node
Chris Lattner [Tue, 16 Apr 2002 20:39:59 +0000 (20:39 +0000)]
* Remove the concept of a critical shadow node
* Make the function pointer argument explicit for a call nodes
* Eliminate unreachable global values
* Merge call nodes that are identical

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

22 years agoRemove the concept of a critical shadow node
Chris Lattner [Tue, 16 Apr 2002 20:39:23 +0000 (20:39 +0000)]
Remove the concept of a critical shadow node

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

22 years agoNew testcase
Chris Lattner [Tue, 16 Apr 2002 05:58:24 +0000 (05:58 +0000)]
New testcase

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

22 years agoNew testcase
Chris Lattner [Tue, 16 Apr 2002 05:44:56 +0000 (05:44 +0000)]
New testcase

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

22 years ago* Eliminate ArgDSNode's completely, now rely on scalar map
Chris Lattner [Tue, 16 Apr 2002 03:44:03 +0000 (03:44 +0000)]
* Eliminate ArgDSNode's completely, now rely on scalar map
* Fold call nodes that are indistinguishable for each other.  This is a big
  win for external functions like sqrt, which would multiply dramatically
  before.
* Global nodes with no edges to or from them are now eliminated from the graph.

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

22 years ago* Eliminate ArgDSNode's completely, rely now on Scalar map
Chris Lattner [Tue, 16 Apr 2002 03:41:22 +0000 (03:41 +0000)]
* Eliminate ArgDSNode's completely, rely now on Scalar map

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

22 years agorun an extra pass after a function has been transformed to eliminate
Chris Lattner [Mon, 15 Apr 2002 22:42:23 +0000 (22:42 +0000)]
run an extra pass after a function has been transformed to eliminate
obviously duplicate loads of the pool base.

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

22 years agoOnly print debug message if DEBUG_RA is on
Chris Lattner [Mon, 15 Apr 2002 22:41:48 +0000 (22:41 +0000)]
Only print debug message if DEBUG_RA is on

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

22 years agoOnly emit message if DEBUG_RA is on
Chris Lattner [Mon, 15 Apr 2002 20:36:15 +0000 (20:36 +0000)]
Only emit message if DEBUG_RA is on

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

22 years agoEliminate cast of same type instructions.
Chris Lattner [Mon, 15 Apr 2002 19:45:29 +0000 (19:45 +0000)]
Eliminate cast of same type instructions.

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

22 years ago* s/Method/Function
Chris Lattner [Mon, 15 Apr 2002 19:32:36 +0000 (19:32 +0000)]
* s/Method/Function
* Add/allow callbacks for module,function, & basic block visiting

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

22 years agoCheckin first unit testcases for the backend
Chris Lattner [Sun, 14 Apr 2002 06:23:00 +0000 (06:23 +0000)]
Checkin first unit testcases for the backend

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

22 years ago* s/Method/Function
Chris Lattner [Sun, 14 Apr 2002 06:15:24 +0000 (06:15 +0000)]
* s/Method/Function
* Fix bug where the character after a % was being discarded

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

22 years agoTurn off debug output
Chris Lattner [Sun, 14 Apr 2002 06:14:41 +0000 (06:14 +0000)]
Turn off debug output

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

22 years agos/Method/Function
Chris Lattner [Sun, 14 Apr 2002 06:14:15 +0000 (06:14 +0000)]
s/Method/Function

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

22 years agoUpdate documentation a LOT, make it more accurate and match current model
Chris Lattner [Sun, 14 Apr 2002 06:13:44 +0000 (06:13 +0000)]
Update documentation a LOT, make it more accurate and match current model
better.  Still more room for improvement.

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

22 years ago* Allow datasize to be specified on the commandline
Chris Lattner [Sat, 13 Apr 2002 23:13:18 +0000 (23:13 +0000)]
* Allow datasize to be specified on the commandline
* Build new datatypes correctly
* Transform instructions that return null pointers from functions to return
  a null index.

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

22 years ago* Fix bug: test/Regression/Verifier/2002-04-13-RetTypes.ll
Chris Lattner [Sat, 13 Apr 2002 22:48:46 +0000 (22:48 +0000)]
* Fix bug: test/Regression/Verifier/2002-04-13-RetTypes.ll
* Check that arguments match the method types of the method they live in

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

22 years agoNew testcase for the verifier
Chris Lattner [Sat, 13 Apr 2002 22:46:24 +0000 (22:46 +0000)]
New testcase for the verifier

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

22 years agoMinor bugfix for previous checkin
Chris Lattner [Sat, 13 Apr 2002 21:11:04 +0000 (21:11 +0000)]
Minor bugfix for previous checkin

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

22 years ago* Remove obselete code for unsized arrays
Chris Lattner [Sat, 13 Apr 2002 20:53:41 +0000 (20:53 +0000)]
* Remove obselete code for unsized arrays
* Add new function printTypeAtLeastOneLevel used to...
* Print the symbol table *WITH SYMBOLIC TYPES*.  Now we get:
       %tree = type { int, %tree*, %tree* }
  in the type definition section of the disassembled output instead of
       %tree = type { int, \2*, \2* }
  the different for the health benchmark and power are simply amazing.

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

22 years ago* Give alloca's for pool descriptors better names than "pool<n>".
Chris Lattner [Sat, 13 Apr 2002 19:52:54 +0000 (19:52 +0000)]
* Give alloca's for pool descriptors better names than "pool<n>".
* Fill in the pool descriptor links in the pool descriptors.

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

22 years ago* Add names to the symbol table for pool types and modified types
Chris Lattner [Sat, 13 Apr 2002 19:25:57 +0000 (19:25 +0000)]
* Add names to the symbol table for pool types and modified types
* Handle more complex structure so that power works almost
* Fix bug with pooldestroy call where we passed in the size of the object
  instead of the pool to destroy.  bisort is now pool allocated successfully!

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

22 years agoAdd Module::getTypeName
Chris Lattner [Sat, 13 Apr 2002 18:58:33 +0000 (18:58 +0000)]
Add Module::getTypeName

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

22 years agoAdd info about the StringList class
Chris Lattner [Sat, 13 Apr 2002 18:35:59 +0000 (18:35 +0000)]
Add info about the StringList class

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

22 years ago* Clean up code to use isa & dyncast instead of poking directly into instructions
Chris Lattner [Sat, 13 Apr 2002 18:34:38 +0000 (18:34 +0000)]
* Clean up code to use isa & dyncast instead of poking directly into instructions
* Do not print the allocation size for a non array allocation (this used to work,
  but was broken).

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

22 years ago* Add the printm pass to allow dumping the entire module after a transformation.
Chris Lattner [Sat, 13 Apr 2002 18:32:47 +0000 (18:32 +0000)]
* Add the printm pass to allow dumping the entire module after a transformation.
* s/Method/Function/

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

22 years agoImplement function rewriting to use offsets instead of pointers in programs.
Chris Lattner [Fri, 12 Apr 2002 20:23:15 +0000 (20:23 +0000)]
Implement function rewriting to use offsets instead of pointers in programs.
This now works with treeadd at least, and perhaps other programs as well.

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

22 years ago* Add comment
Chris Lattner [Fri, 12 Apr 2002 18:21:53 +0000 (18:21 +0000)]
* Add comment
* Do not print a space before the * in a pointer type.

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

22 years agoExpose funcresolve pass through opt
Chris Lattner [Fri, 12 Apr 2002 18:21:13 +0000 (18:21 +0000)]
Expose funcresolve pass through opt

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

22 years agoAdd new check of return value type matching ret instruction values types
Chris Lattner [Fri, 12 Apr 2002 18:20:49 +0000 (18:20 +0000)]
Add new check of return value type matching ret instruction values types

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

22 years agoFix pure virtual function called exception!
Chris Lattner [Fri, 12 Apr 2002 18:19:45 +0000 (18:19 +0000)]
Fix pure virtual function called exception!

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

22 years agoHandle the FP format problem, where outputed FP constants were not precise
Chris Lattner [Thu, 11 Apr 2002 21:44:02 +0000 (21:44 +0000)]
Handle the FP format problem, where outputed FP constants were not precise
enough.  This fixes compilation of the health benchmark.

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

22 years ago* The cleangcc pass is broken into two parts, we only want to
Chris Lattner [Wed, 10 Apr 2002 20:37:47 +0000 (20:37 +0000)]
* The cleangcc pass is broken into two parts, we only want to
  FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
  pipelined with the constant merging pass or something else if desired.

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

22 years agoThe cleangcc pass is brokeninto two pieces, execute both of them.
Chris Lattner [Wed, 10 Apr 2002 20:33:32 +0000 (20:33 +0000)]
The cleangcc pass is brokeninto two pieces, execute both of them.

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

22 years ago* Add documentation
Chris Lattner [Wed, 10 Apr 2002 20:33:11 +0000 (20:33 +0000)]
* Add documentation
* Split the CleanGCC pass into two passes, a global pass and an IP pass.
  Before it was just a global pass, but it did illegal things to the
  module, which broke other passes that were being scheduled with it by
  gccld.

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

22 years agoPrint out what the root of the call graph is.
Chris Lattner [Wed, 10 Apr 2002 20:31:44 +0000 (20:31 +0000)]
Print out what the root of the call graph is.

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

22 years agoSplit the CleanupGCCOutput pass into two passes, and add real life actual
Chris Lattner [Wed, 10 Apr 2002 20:31:22 +0000 (20:31 +0000)]
Split the CleanupGCCOutput pass into two passes, and add real life actual
documentation on when they do.

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

22 years agoAllow a pass to obtain an analysis result for updating.
Chris Lattner [Wed, 10 Apr 2002 20:30:44 +0000 (20:30 +0000)]
Allow a pass to obtain an analysis result for updating.

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

22 years agoNew testcase for structure valued parameters.
Chris Lattner [Wed, 10 Apr 2002 17:43:40 +0000 (17:43 +0000)]
New testcase for structure valued parameters.

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

22 years agoImplement TODO, fixing bug:
Chris Lattner [Tue, 9 Apr 2002 20:53:36 +0000 (20:53 +0000)]
Implement TODO, fixing bug:
test/Regression/Transforms/LevelRaise/2002-04-09-MissedRaise.ll

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

22 years agoNew testcase
Chris Lattner [Tue, 9 Apr 2002 20:43:18 +0000 (20:43 +0000)]
New testcase

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

22 years agoMove FunctionArgument out of iOther.h into Argument.h and rename class to
Chris Lattner [Tue, 9 Apr 2002 19:59:31 +0000 (19:59 +0000)]
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

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

22 years agoMove FunctionArgument out of iOther.h into Argument.h and rename class to
Chris Lattner [Tue, 9 Apr 2002 19:48:49 +0000 (19:48 +0000)]
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

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

22 years agoEliminate unneccesary extraneous iterators
Chris Lattner [Tue, 9 Apr 2002 19:46:27 +0000 (19:46 +0000)]
Eliminate unneccesary extraneous iterators

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

22 years agoMove FunctionArgument out of iOther.h into Argument.h and rename class to
Chris Lattner [Tue, 9 Apr 2002 19:41:42 +0000 (19:41 +0000)]
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Rename some yacc type names to be more concise.  Change jump table to use
a vector instead of a list.

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

22 years agoUpdate comment to reflect class name change.
Chris Lattner [Tue, 9 Apr 2002 19:40:40 +0000 (19:40 +0000)]
Update comment to reflect class name change.

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

22 years agoMove FunctionArgument out of iOther.h into Argument.h and rename class to
Chris Lattner [Tue, 9 Apr 2002 19:39:58 +0000 (19:39 +0000)]
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Move implementation to Function.cpp

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

22 years agoMove FunctionArgument out of iOther.h into Argument.h and rename class to
Chris Lattner [Tue, 9 Apr 2002 19:39:35 +0000 (19:39 +0000)]
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Move Argument implementation to Function.cpp

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

22 years agoMove FunctionArgument out of iOther.h into Argument.h and rename class to
Chris Lattner [Tue, 9 Apr 2002 19:36:56 +0000 (19:36 +0000)]
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

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

22 years agoAdd explicit #includes of Function.h to make up for the removed #include
Chris Lattner [Tue, 9 Apr 2002 19:08:28 +0000 (19:08 +0000)]
Add explicit #includes of Function.h to make up for the removed #include
in iOther.h

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

22 years agoUse explicit .get() calls to avoid having to #include Function.h
Chris Lattner [Tue, 9 Apr 2002 19:07:44 +0000 (19:07 +0000)]
Use explicit .get() calls to avoid having to #include Function.h

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

22 years agoAdd #includes to make up for #includes pruned out of header files.
Chris Lattner [Tue, 9 Apr 2002 18:37:46 +0000 (18:37 +0000)]
Add #includes to make up for #includes pruned out of header files.

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

22 years agoAdd a couple of extra casts to avoid extra #include
Chris Lattner [Tue, 9 Apr 2002 18:37:08 +0000 (18:37 +0000)]
Add a couple of extra casts to avoid extra #include

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

22 years agoAdd a couple of extra casts to avoid having to add #include
Chris Lattner [Tue, 9 Apr 2002 18:36:52 +0000 (18:36 +0000)]
Add a couple of extra casts to avoid having to add #include

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

22 years agoUse .get() explicitly and add a few extra casts to avoid 2 #includes
Chris Lattner [Tue, 9 Apr 2002 18:36:05 +0000 (18:36 +0000)]
Use .get() explicitly and add a few extra casts to avoid 2 #includes

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

22 years agoUse opaque decl instead of #include
Chris Lattner [Tue, 9 Apr 2002 18:35:38 +0000 (18:35 +0000)]
Use opaque decl instead of #include

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

22 years agoiUse new form of pop_back to make code more concise
Chris Lattner [Tue, 9 Apr 2002 18:02:02 +0000 (18:02 +0000)]
iUse new form of pop_back to make code more concise

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

22 years agoNo need to reserve space, erasing does not change the size of the container.
Chris Lattner [Tue, 9 Apr 2002 18:01:21 +0000 (18:01 +0000)]
No need to reserve space, erasing does not change the size of the container.

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

22 years agoRewrite MachineCodeForBasicBlock in terms of containment rather than
Chris Lattner [Tue, 9 Apr 2002 18:00:49 +0000 (18:00 +0000)]
Rewrite MachineCodeForBasicBlock in terms of containment rather than
inheritance.

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

22 years agoDelete NOP instructions as they are eliminated.
Chris Lattner [Tue, 9 Apr 2002 15:05:04 +0000 (15:05 +0000)]
Delete NOP instructions as they are eliminated.

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

22 years agoFree memory when done with it.
Chris Lattner [Tue, 9 Apr 2002 15:04:37 +0000 (15:04 +0000)]
Free memory when done with it.

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

22 years ago* Add a file header with some information
Chris Lattner [Tue, 9 Apr 2002 05:45:58 +0000 (05:45 +0000)]
* Add a file header with some information
* Delete the DelaySlotInfo objects created by the SchedulingManager class.
  These leaked objects were accounting for 3/4 of the memory leaked by the
  backend, so this is a relatively major win.
* Reorganize SchedulingManager::getDelaySlotInfoForInstr so that it has
  better code locality (making it easier to read).

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

22 years agoDon't leak all of the Loop objects created...
Chris Lattner [Tue, 9 Apr 2002 05:43:19 +0000 (05:43 +0000)]
Don't leak all of the Loop objects created...

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

22 years ago* Add a useful file comment
Chris Lattner [Tue, 9 Apr 2002 05:21:26 +0000 (05:21 +0000)]
* Add a useful file comment
* Move InsertPrologEpilogCode class to PrologEpilogCodeInserter.cpp
   -> Among other things, this eliminates the need for the minstrVec static
      global array.

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

22 years agoMove the InsertPrologEpilogCode class out of the Sparc.cpp file into the
Chris Lattner [Tue, 9 Apr 2002 05:20:15 +0000 (05:20 +0000)]
Move the InsertPrologEpilogCode class out of the Sparc.cpp file into the
new PrologEpilogCodeInserter.cpp file, and include the bodies of the
GetInstructionsFor(Prolog|Epilog) functions from SparcInstrSelection.cpp
into the class.  This eliminates the need for a static global vector of
instructions and a class of errors that is really unneccesary.

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

22 years agoMove the InsertPrologEpilogCode class out of the Sparc.cpp file, and include
Chris Lattner [Tue, 9 Apr 2002 05:18:31 +0000 (05:18 +0000)]
Move the InsertPrologEpilogCode class out of the Sparc.cpp file, and include
the bodies of the GetInstructionsFor(Prolog|Epilog) functions from
SparcInstrSelection.cpp into the class.  This eliminates the need for a static
global vector of instructions and a class of errors that is really unneccesary.

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

22 years agoInclude prototype for interface to PrologEpilogCodeInserter.cpp file
Chris Lattner [Tue, 9 Apr 2002 05:16:36 +0000 (05:16 +0000)]
Include prototype for interface to PrologEpilogCodeInserter.cpp file

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

22 years agoUse new higher level isFloatingPoint() function
Chris Lattner [Tue, 9 Apr 2002 05:16:08 +0000 (05:16 +0000)]
Use new higher level isFloatingPoint() function

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

22 years agoClean up the ownership model a bit so that nodes actually get deleted more
Chris Lattner [Tue, 9 Apr 2002 05:15:33 +0000 (05:15 +0000)]
Clean up the ownership model a bit so that nodes actually get deleted more
frequently. This still leaks edges quite a bit, but it leaks no nodes
(I think).

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

22 years ago* General cleanups
Chris Lattner [Tue, 9 Apr 2002 05:14:14 +0000 (05:14 +0000)]
* General cleanups
* In calcLiveVarSetsForBB, do not leak a ValueSet every time the function
  is called!

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

22 years agoConvert AddedInstrMapType to contain AddedInstrns by value instead of by
Chris Lattner [Tue, 9 Apr 2002 05:13:04 +0000 (05:13 +0000)]
Convert AddedInstrMapType to contain AddedInstrns by value instead of by
pointer so that they do not all get leaked!

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

22 years ago*blush* somehow this debugging code got checked in...
Chris Lattner [Tue, 9 Apr 2002 05:10:39 +0000 (05:10 +0000)]
*blush* somehow this debugging code got checked in...

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

22 years agoGCC3.0 is reported to die without an alloca definition.
Chris Lattner [Tue, 9 Apr 2002 03:37:11 +0000 (03:37 +0000)]
GCC3.0 is reported to die without an alloca definition.

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

22 years agoDon't leak memory like a seive
Chris Lattner [Mon, 8 Apr 2002 23:09:07 +0000 (23:09 +0000)]
Don't leak memory like a seive

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

22 years agoValue cannot be directly instantiated. I think that this code was TRYING to
Chris Lattner [Mon, 8 Apr 2002 22:05:54 +0000 (22:05 +0000)]
Value cannot be directly instantiated.  I think that this code was TRYING to
make a PHI node, although it was badly broken.  This keeps tests passing, so
we'll go with it.

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

22 years agoRemove extranous #include
Chris Lattner [Mon, 8 Apr 2002 22:05:10 +0000 (22:05 +0000)]
Remove extranous #include

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

22 years agos/PrintMethodPass/PrintFunctionPass
Chris Lattner [Mon, 8 Apr 2002 22:05:01 +0000 (22:05 +0000)]
s/PrintMethodPass/PrintFunctionPass

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