Chris Lattner
f862b6d374
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
2002-04-07 08:42:53 +00:00
Chris Lattner
ace9103ebe
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
2002-04-07 08:37:11 +00:00
Chris Lattner
b55679d427
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
2002-04-07 08:31:26 +00:00
Chris Lattner
74dbc99777
Remove debugging code accidentally checked in!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2137 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 08:13:29 +00:00
Chris Lattner
275da86ab0
Add support for hexadecimal FP constants!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2135 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 08:10:41 +00:00
Chris Lattner
05c05ea9ca
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
2002-04-07 08:10:14 +00:00
Chris Lattner
417081c6b3
* 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
2002-04-07 06:14:56 +00:00
Chris Lattner
92940ac1c0
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
2002-04-07 06:11:22 +00:00
Chris Lattner
339ba45f10
* 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
2002-04-06 00:21:11 +00:00
Chris Lattner
af93dbcc95
* 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
2002-04-05 23:02:46 +00:00
Chris Lattner
3855f2f951
* 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
2002-04-05 22:25:26 +00:00
Chris Lattner
cecb520d1c
Clean up debugging code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2119 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-05 19:53:06 +00:00
Chris Lattner
3f59b7e933
* 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
2002-04-05 19:44:07 +00:00
Chris Lattner
2aac6bf66a
s/MethodType/FunctionType
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2115 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 22:19:18 +00:00
Chris Lattner
a364ad0f9d
Make build work in release mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2113 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:35:24 +00:00
Chris Lattner
6a6931e287
Make the release build work
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2109 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:26:26 +00:00
Chris Lattner
aa06d2c103
* 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
2002-04-04 19:26:02 +00:00
Chris Lattner
22c3982cd3
Make the release build compile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2107 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:24:48 +00:00
Chris Lattner
61f64f9b6a
PATypeHolder is now not a template
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2106 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:24:34 +00:00
Chris Lattner
b3afb1f076
Add debug support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2105 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:24:11 +00:00
Chris Lattner
8b88b3b5bf
* 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
2002-04-04 19:23:55 +00:00
Chris Lattner
4e4cae87f9
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
2002-04-04 19:22:17 +00:00
Chris Lattner
0009dac2bf
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
2002-04-04 19:21:51 +00:00
Chris Lattner
1f1170c94a
Add hack to get timing of analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2101 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:21:27 +00:00
Chris Lattner
cc0c1b2e18
* 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
2002-04-04 19:21:06 +00:00
Chris Lattner
a13d6ceed7
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
2002-04-01 22:20:48 +00:00
Vikram S. Adve
85e1e9c22f
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
2002-04-01 20:28:48 +00:00
Chris Lattner
bb063f38fa
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
2002-04-01 17:52:16 +00:00
Chris Lattner
f8285d4d8f
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
2002-04-01 01:26:53 +00:00
Chris Lattner
f7196949bb
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
2002-04-01 00:45:33 +00:00
Chris Lattner
e0d1d1acf6
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
2002-04-01 00:45:09 +00:00
Chris Lattner
dba61f34e8
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
2002-04-01 00:15:30 +00:00
Chris Lattner
3feaf02c47
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
2002-04-01 00:14:41 +00:00
Chris Lattner
f30185fdfb
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
2002-04-01 00:13:56 +00:00
Chris Lattner
bab4a90cb9
Increase limit for perimeter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2081 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01 00:12:58 +00:00
Chris Lattner
0b7c85c06a
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
2002-03-31 19:57:44 +00:00
Vikram S. Adve
a10d1a7aaa
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
2002-03-31 19:07:35 +00:00
Vikram S. Adve
a44c6c00a2
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
2002-03-31 19:04:50 +00:00
Vikram S. Adve
fbd2161628
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
2002-03-31 19:03:58 +00:00
Vikram S. Adve
1f81861028
Add method clearCallInterference().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2071 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31 18:58:14 +00:00
Vikram S. Adve
fa79e6e869
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
2002-03-31 18:57:49 +00:00
Vikram S. Adve
1792779edf
Fix a bug in previous bug fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2069 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31 18:56:51 +00:00
Vikram S. Adve
1a53f03392
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
2002-03-31 18:54:37 +00:00
Chris Lattner
9acfbeeaa8
Add debug output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31 07:17:46 +00:00
Chris Lattner
09c07538a8
* 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
2002-03-31 07:16:49 +00:00
Chris Lattner
b28bf05483
* 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
2002-03-31 07:16:08 +00:00
Chris Lattner
e6b552fd86
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
2002-03-31 07:15:20 +00:00
Chris Lattner
44cf390784
* 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
2002-03-31 07:14:52 +00:00
Chris Lattner
26cfa6664c
* 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
2002-03-31 07:13:27 +00:00
Vikram S. Adve
f7cedec1f2
Fix CreateUIntSetInstruction() to handle sign extensions correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2059 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31 00:13:12 +00:00