oota-llvm.git
22 years agoNew testcase
Chris Lattner [Sun, 7 Apr 2002 08:14:44 +0000 (08:14 +0000)]
New testcase

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

22 years agoRemove debugging code accidentally checked in!
Chris Lattner [Sun, 7 Apr 2002 08:13:29 +0000 (08:13 +0000)]
Remove debugging code accidentally checked in!

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

22 years agodon't delete intermediate files!
Chris Lattner [Sun, 7 Apr 2002 08:11:07 +0000 (08:11 +0000)]
don't delete intermediate files!

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

22 years agoAdd support for hexadecimal FP constants!
Chris Lattner [Sun, 7 Apr 2002 08:10:41 +0000 (08:10 +0000)]
Add support for hexadecimal FP constants!

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

22 years agoImplement constant propogation of multiply and divide instructions!!
Chris Lattner [Sun, 7 Apr 2002 08:10:14 +0000 (08:10 +0000)]
Implement constant propogation of multiply and divide instructions!!

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

22 years agoTestcase for bad constant handling
Chris Lattner [Sun, 7 Apr 2002 07:58:25 +0000 (07:58 +0000)]
Testcase for bad constant handling

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

22 years agoHopefully this change will make the makefile work for other people without hacking it.
Chris Lattner [Sun, 7 Apr 2002 06:18:40 +0000 (06:18 +0000)]
Hopefully this change will make the makefile work for other people without hacking it.

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

22 years ago* Make all of the refineAbstractType functions work identically
Chris Lattner [Sun, 7 Apr 2002 06:14:56 +0000 (06:14 +0000)]
* Make all of the refineAbstractType functions work identically
* Remove ambiguous code that caused problems with understanding how stuff
  worked.
* Implement DerivedType::typeIsRefined right.  Add a big comment talking
  about it.
* The removeUserFromConcrete method already checks to see if the type is
  not abstract, so no need to duplicate the test all over this code

This checkin makes all of the type parsing related failures work.  All
Assembler Regression tests now pass!

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

22 years agoEnable better debug output. When debugging the type system, print out the
Chris Lattner [Sun, 7 Apr 2002 06:11:22 +0000 (06:11 +0000)]
Enable better debug output.  When debugging the type system, print out the
type tables after reading a bytecode file to make sure they are ok

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

22 years ago* Reenable apparently neccesary code, that breaks testcases when enabled,
Chris Lattner [Sat, 6 Apr 2002 00:21:11 +0000 (00:21 +0000)]
* Reenable apparently neccesary code, that breaks testcases when enabled,
  but causes MANY FUNDAMENTAL PROBLEMS when not enabled. :(
* Add debugging function

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

22 years ago* FIX: test/Regression/Assembler/2002-02-19-TypeParsing.ll
Chris Lattner [Fri, 5 Apr 2002 23:02:46 +0000 (23:02 +0000)]
* FIX: test/Regression/Assembler/2002-02-19-TypeParsing.ll
   That was due to the StructType object not getting called multiple times
   to remove itself from the ATU list for an object, because it stopped
   getting queried due to this wrong test

* Improve debug output when DEBUG_MERGE_TYPES is on

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

22 years agoFix bug in testcase: no implementatino section make it not legal input, so
Chris Lattner [Fri, 5 Apr 2002 23:00:02 +0000 (23:00 +0000)]
Fix bug in testcase: no implementatino section make it not legal input, so
once the parser is fixed to handle the bug, it broke on the bad input.  :)

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

22 years agoNew testcases
Chris Lattner [Fri, 5 Apr 2002 22:25:51 +0000 (22:25 +0000)]
New testcases

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

22 years ago* Move DerivedType::addAbstractTypeUser from DerivedType.h
Chris Lattner [Fri, 5 Apr 2002 22:25:26 +0000 (22:25 +0000)]
* Move DerivedType::addAbstractTypeUser from DerivedType.h
* Refactor a bunch of code.  Types now only remove one subelement at a time
  when they are told that they have changed
* Improve debugging output, add more assertions...
* FIX Bugs:
  * test/Regression/Assembler/2002-04-04-PureVirtMethCall.ll
  * test/Regression/Assembler/2002-04-04-PureVirtMethCall2.ll
  * The change to fix these bugs was the to ValTypeBase::refineAbstractType
    method.  Basically we #if 0'd out the chunk of code there and make the
    table get reorganized EVEN IF the type has the same pointer.  Merging
    opportunities were being missed!

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

22 years ago* Delete getNumAbstractTypeUsers method
Chris Lattner [Fri, 5 Apr 2002 22:21:08 +0000 (22:21 +0000)]
* Delete getNumAbstractTypeUsers method
* Move addAbstractTypeUser method to Type.cpp

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

22 years agoClean up debugging code
Chris Lattner [Fri, 5 Apr 2002 19:53:06 +0000 (19:53 +0000)]
Clean up debugging code

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

22 years ago* Refactor loop in removeAbstractTypeUser to be more clear
Chris Lattner [Fri, 5 Apr 2002 19:44:07 +0000 (19:44 +0000)]
* Refactor loop in removeAbstractTypeUser to be more clear
* Fix a bug in DerivedType::refineAbstractTypeTo that caused
  test/Regression/Assembler/2002-04-05-TypeParsing.ll to fail.
  The added comment describes the fix

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

22 years agoTestcase that breaks recursive type processing
Chris Lattner [Fri, 5 Apr 2002 19:39:55 +0000 (19:39 +0000)]
Testcase that breaks recursive type processing

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

22 years ago* Allow purify builds to be enabled without hacking the makefile. Now you
Chris Lattner [Fri, 5 Apr 2002 18:56:58 +0000 (18:56 +0000)]
* Allow purify builds to be enabled without hacking the makefile.  Now you
  just have to run: make ENABLE_PURIFY=1
* Add command to the link line that makes the broken GCC 3.0 compiler work
  without affecting 2.95.3

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

22 years agos/MethodType/FunctionType
Chris Lattner [Thu, 4 Apr 2002 22:19:18 +0000 (22:19 +0000)]
s/MethodType/FunctionType

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

22 years agoRemove backwards compatibility code
Chris Lattner [Thu, 4 Apr 2002 22:04:45 +0000 (22:04 +0000)]
Remove backwards compatibility code

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

22 years agoMake build work in release mode
Chris Lattner [Thu, 4 Apr 2002 19:35:24 +0000 (19:35 +0000)]
Make build work in release mode

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

22 years agoDon't link in library that cannot be found, this should be removed eventually.
Chris Lattner [Thu, 4 Apr 2002 19:27:43 +0000 (19:27 +0000)]
Don't link in library that cannot be found, this should be removed eventually.

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

22 years agoMake the release build work
Chris Lattner [Thu, 4 Apr 2002 19:26:26 +0000 (19:26 +0000)]
Make the release build work

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

22 years ago* Add debug support for PATypeHolder
Chris Lattner [Thu, 4 Apr 2002 19:26:02 +0000 (19:26 +0000)]
* Add debug support for PATypeHolder
* PATypeHolder is now not a template

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

22 years agoMake the release build compile
Chris Lattner [Thu, 4 Apr 2002 19:24:48 +0000 (19:24 +0000)]
Make the release build compile

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

22 years agoPATypeHolder is now not a template
Chris Lattner [Thu, 4 Apr 2002 19:24:34 +0000 (19:24 +0000)]
PATypeHolder is now not a template

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

22 years agoAdd debug support
Chris Lattner [Thu, 4 Apr 2002 19:24:11 +0000 (19:24 +0000)]
Add debug support

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

22 years ago* Make PATypeHolder not take a type argument
Chris Lattner [Thu, 4 Apr 2002 19:23:55 +0000 (19:23 +0000)]
* Make PATypeHolder not take a type argument
* Eliminate by inlining the old newTH, newTH, and TypeDone functions
* OPAQUE is now just a token that gets returned by the lexer, not a type
  Parser now creates type, not lexer

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

22 years agoLexer doesn't create typehandle gross stuff now, parser does.
Chris Lattner [Thu, 4 Apr 2002 19:22:17 +0000 (19:22 +0000)]
Lexer doesn't create typehandle gross stuff now, parser does.

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

22 years agoCall nodes are never equivalent
Chris Lattner [Thu, 4 Apr 2002 19:21:51 +0000 (19:21 +0000)]
Call nodes are never equivalent
Shadow nodes are never critical.

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

22 years agoAdd hack to get timing of analysis
Chris Lattner [Thu, 4 Apr 2002 19:21:27 +0000 (19:21 +0000)]
Add hack to get timing of analysis

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

22 years ago* Eliminate commented out code
Chris Lattner [Thu, 4 Apr 2002 19:21:06 +0000 (19:21 +0000)]
* Eliminate commented out code
* Do not demand a shadow node when resolving
* Raise arbitrary inline limit

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

22 years agoDeparameterize PATypeHolder
Chris Lattner [Thu, 4 Apr 2002 19:20:18 +0000 (19:20 +0000)]
Deparameterize PATypeHolder

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

22 years agoAdd method to get # nodes in the graph
Chris Lattner [Thu, 4 Apr 2002 19:20:00 +0000 (19:20 +0000)]
Add method to get # nodes in the graph

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

22 years agoMake the release build work
Chris Lattner [Thu, 4 Apr 2002 19:19:27 +0000 (19:19 +0000)]
Make the release build work

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

22 years agoFix the release build
Chris Lattner [Thu, 4 Apr 2002 19:18:17 +0000 (19:18 +0000)]
Fix the release build

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

22 years ago* Add dump() virtual function to AbstractType user to help track down bugs
Chris Lattner [Thu, 4 Apr 2002 19:18:00 +0000 (19:18 +0000)]
* Add dump() virtual function to AbstractType user to help track down bugs
* PATypeHolder is now a nontemplated class, because it was (almost) only
  ever instantiated with 'Type' as the parameter.

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

22 years agoSupport resolving function arguments/return values to pointers that index
Chris Lattner [Mon, 1 Apr 2002 22:20:48 +0000 (22:20 +0000)]
Support resolving function arguments/return values to pointers that index
into other objects.

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

22 years agoCase numbers were not updated when Sparc.burg.in was changed
Vikram S. Adve [Mon, 1 Apr 2002 20:28:48 +0000 (20:28 +0000)]
Case numbers were not updated when Sparc.burg.in was changed
to add separate label for bitwise NOT operator.

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

22 years agoMove the PromoteMemoryToRegister pass to be run _after_ the raise pointer
Chris Lattner [Mon, 1 Apr 2002 19:45:11 +0000 (19:45 +0000)]
Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
references pass, so it is given the chance to do some good!

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

22 years agoAdd a new replaceWith method useful for replacing instructions
Chris Lattner [Mon, 1 Apr 2002 17:52:16 +0000 (17:52 +0000)]
Add a new replaceWith method useful for replacing instructions

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

22 years agoAllow scalars that point to multiple nodes when building the scalar map.
Chris Lattner [Mon, 1 Apr 2002 01:26:53 +0000 (01:26 +0000)]
Allow scalars that point to multiple nodes when building the scalar map.

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

22 years agoAdd extra case here to avoid getting spurious output
Chris Lattner [Mon, 1 Apr 2002 00:45:33 +0000 (00:45 +0000)]
Add extra case here to avoid getting spurious output

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

22 years agoAvoid incorrectly adding null values to the scalar map!
Chris Lattner [Mon, 1 Apr 2002 00:45:09 +0000 (00:45 +0000)]
Avoid incorrectly adding null values to the scalar map!

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

22 years agoCritical shadow nodes no do not know their parent explictly.
Chris Lattner [Mon, 1 Apr 2002 00:15:30 +0000 (00:15 +0000)]
Critical shadow nodes no do not know their parent explictly.

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

22 years agoMinor cleanups (use dyn_cast instead of testing manually)
Chris Lattner [Mon, 1 Apr 2002 00:14:41 +0000 (00:14 +0000)]
Minor cleanups (use dyn_cast instead of testing manually)
Shadow nodes now don't explicitly know their parent.

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

22 years agoAllow merging of identical call nodes. Make the shadow node pointed to
Chris Lattner [Mon, 1 Apr 2002 00:13:56 +0000 (00:13 +0000)]
Allow merging of identical call nodes.  Make the shadow node pointed to
by the call node noncritical before the call is destroyed.

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

22 years agoIncrease limit for perimeter
Chris Lattner [Mon, 1 Apr 2002 00:12:58 +0000 (00:12 +0000)]
Increase limit for perimeter

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

22 years agoShadow nodes don't need to know their explicit parent, they just need to
Chris Lattner [Mon, 1 Apr 2002 00:12:36 +0000 (00:12 +0000)]
Shadow nodes don't need to know their explicit parent, they just need to
know what type to be.

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

22 years agoUnify the destruction code used for node pairs vs normal nodes. This was
Chris Lattner [Sun, 31 Mar 2002 19:57:44 +0000 (19:57 +0000)]
Unify the destruction code used for node pairs vs normal nodes.  This was
causing a problem before because global values with incoming edges didn't
copy the incoming edges to the node they were being merged from, causing
the poolalloc pass to die.

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

22 years ago1. Fix a leftover bug in generating memory instructions.
Vikram S. Adve [Sun, 31 Mar 2002 19:07:35 +0000 (19:07 +0000)]
1. Fix a leftover bug in generating memory instructions.
2. Fix type used for TmpInstruction holding the return address.

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

22 years agoAdded function getCallInstIndirectAddrVal() to set call interference
Vikram S. Adve [Sun, 31 Mar 2002 19:04:50 +0000 (19:04 +0000)]
Added function getCallInstIndirectAddrVal() to set call interference
for that value.

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

22 years agoMinor cleanup in printing constants. I think this included a bug
Vikram S. Adve [Sun, 31 Mar 2002 19:03:58 +0000 (19:03 +0000)]
Minor cleanup in printing constants.  I think this included a bug
fix related to putting a read-write variable in a read-only section,
but I'm not sure now.

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

22 years agoAdd method getCallInstIndirectAddrVal() to add call interference
Vikram S. Adve [Sun, 31 Mar 2002 18:58:49 +0000 (18:58 +0000)]
Add method getCallInstIndirectAddrVal() to add call interference
for this value.

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

22 years agoAdd method clearCallInterference().
Vikram S. Adve [Sun, 31 Mar 2002 18:58:14 +0000 (18:58 +0000)]
Add method clearCallInterference().

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

22 years agoInclude temp. values when computing max. size of stack frame!
Vikram S. Adve [Sun, 31 Mar 2002 18:57:49 +0000 (18:57 +0000)]
Include temp. values when computing max. size of stack frame!

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

22 years agoFix a bug in previous bug fix.
Vikram S. Adve [Sun, 31 Mar 2002 18:56:51 +0000 (18:56 +0000)]
Fix a bug in previous bug fix.

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

22 years agoBug fix: address used by indirect call instruction should also
Vikram S. Adve [Sun, 31 Mar 2002 18:54:37 +0000 (18:54 +0000)]
Bug fix: address used by indirect call instruction should also
be marked as having a Call Interference, even though it may not
be live after the call.

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

22 years agoAdd debug output
Chris Lattner [Sun, 31 Mar 2002 07:17:46 +0000 (07:17 +0000)]
Add debug output

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

22 years ago* Fix nondeleted type handle which could cause type pool corruption (and
Chris Lattner [Sun, 31 Mar 2002 07:16:49 +0000 (07:16 +0000)]
* Fix nondeleted type handle which could cause type pool corruption (and
  a memory leak)
* Fix memory leak of Argument nodes on function prototypes

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

22 years ago* Move the isEquivalentTo implementations here. They can probably be put
Chris Lattner [Sun, 31 Mar 2002 07:16:08 +0000 (07:16 +0000)]
* Move the isEquivalentTo implementations here.  They can probably be put
  someplace nicer in the file though.
* Add new dump method for debugging

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

22 years agoPrint out the instruction instead of just the address!
Chris Lattner [Sun, 31 Mar 2002 07:15:20 +0000 (07:15 +0000)]
Print out the instruction instead of just the address!

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

22 years ago* Move isEquivalentTo implementations to NodeImpl
Chris Lattner [Sun, 31 Mar 2002 07:14:52 +0000 (07:14 +0000)]
* Move isEquivalentTo implementations to NodeImpl
* Implement a new form of node folding to catch cases missed in Addtree
* Add removeIndistinguishableNodePairs to merge calls (todo) and globals

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

22 years ago* Convert CallMap to be a vector, because the keys can change, and the map
Chris Lattner [Sun, 31 Mar 2002 07:13:27 +0000 (07:13 +0000)]
* Convert CallMap to be a vector, because the keys can change, and the map
  doesn't resort!
* Be more generous with the cached matches that we allow now.
* Recursive calls should all work now!

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

22 years ago* Allow access to DSNode iterator as DSNode::iterator/begin/end
Chris Lattner [Sun, 31 Mar 2002 07:11:20 +0000 (07:11 +0000)]
* Allow access to DSNode iterator as DSNode::iterator/begin/end
* Add debugging "dump" method to DSNode
* Fix bugs in DSNode iterator

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

22 years agoFix CreateUIntSetInstruction() to handle sign extensions correctly.
Vikram S. Adve [Sun, 31 Mar 2002 00:13:12 +0000 (00:13 +0000)]
Fix CreateUIntSetInstruction() to handle sign extensions correctly.

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

22 years ago* Catch and ignore (for now) return instructions in tranformed functions
Chris Lattner [Sat, 30 Mar 2002 20:53:14 +0000 (20:53 +0000)]
* Catch and ignore (for now) return instructions in tranformed functions
* Add more debugging output
* Fix problems refering to wrong versions of various graphs
* Build the pool descriptor map!
* Clear the nodemapping map after building pool descriptor to avoid assert
* Transform the NEw function body, not the old one...
* Matrix.ll now works!

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

22 years agoInitial checkin of file:
Chris Lattner [Sat, 30 Mar 2002 09:13:23 +0000 (09:13 +0000)]
Initial checkin of file:

Define an iterator to operate over data structure outgoing links and
graph implementation so generic graph functions can be used.

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

22 years ago* Clean up data structures [AllocDSNode -> DSNode]
Chris Lattner [Sat, 30 Mar 2002 09:12:35 +0000 (09:12 +0000)]
* Clean up data structures [AllocDSNode -> DSNode]
* TransformFunctionInfo now has call field form field mapping.  May be
  removed in the future.
* Moved the computation of "Scalars" into transformFunctionBody so
  transformFunction didn't have to recompute it.
* Implement the node mapping calculation in preparation to calculate
  PoolDescriptors to pass to transformFunctionBody
* Print out the node mapping [it looks right!]
* Other minor changes

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

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