Chris Lattner [Mon, 8 Apr 2002 00:14:58 +0000 (00:14 +0000)]
GCCLD actually does transformations to simplify the linked program now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:49:37 +0000 (22:49 +0000)]
* Move include/llvm/Analysis/SlotCalculator.h to include/llvm/SlotCalculator.h
because the slot calculator is already part of the VMCore library.
* Rename incorporateMethod and purgeMethod to *Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:35:30 +0000 (22:35 +0000)]
Remove asmwriter library from link line, because the useful contents of it
have been incorporated into the vmcore library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2153
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:34:44 +0000 (22:34 +0000)]
Perform debug outputs with ->dump() instead of <<
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:34:19 +0000 (22:34 +0000)]
use dump method instead of Asm/Writer to do debug printing
Rename C to M because C used to be 'Class' and now we are 'Module'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2151
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:33:13 +0000 (22:33 +0000)]
Remove some gross code by using the Value::dump method to do debug dumps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2150
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:32:25 +0000 (22:32 +0000)]
Remove some gross code by using the VAlue::dump method to do debug dumps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2149
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:31:46 +0000 (22:31 +0000)]
Update comments
Implement Value::dump here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2148
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:31:23 +0000 (22:31 +0000)]
Eliminate explicit use of Writer library, using debug dump output instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2147
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 22:30:17 +0000 (22:30 +0000)]
VCG output support removed because it was broken and will never be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 20:49:59 +0000 (20:49 +0000)]
Change references to the Method class to be references to the Function
class. The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 20:46:56 +0000 (20:46 +0000)]
Source base has been completely changed over to use Function instead of Method, this file is not obsolete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 08:42:53 +0000 (08:42 +0000)]
Fix Bug: test/Regression/Other/2002-04-07-InfConstant.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 08:37:11 +0000 (08:37 +0000)]
Fix bug: test/Regression/Other/2002-04-07-HexFloatConstants.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 08:36:19 +0000 (08:36 +0000)]
Add new function utohexstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 7 Apr 2002 08:31:26 +0000 (08:31 +0000)]
Add a better comment to explain what is going on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2139
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Lattner [Fri, 29 Mar 2002 19:04:08 +0000 (19:04 +0000)]
Checkin new useful routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2046
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 19:03:54 +0000 (19:03 +0000)]
New clone function routine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2045
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:13:46 +0000 (17:13 +0000)]
Find out which calls in the function we need to transform and how.
Next step is to start hacking functions up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2044
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:08:29 +0000 (17:08 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2043
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Mar 2002 17:08:01 +0000 (17:08 +0000)]
Rename getCalledMethod to getCalledFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2042
91177308-0d34-0410-b5e6-
96231b3b80d8