Chris Lattner
0eb1e7c044
Move FunctionArgument out of iOther.h into Argument.h and rename class to
...
be 'Argument' instead of FunctionArgument.
Move Argument implementation to Function.cpp
llvm-svn: 2211
2002-04-09 19:39:35 +00:00
Chris Lattner
bcca3f108e
Add a couple of extra casts to avoid extra #include
...
llvm-svn: 2206
2002-04-09 18:37:08 +00:00
Chris Lattner
b579d93f7f
Add a couple of extra casts to avoid having to add #include
...
llvm-svn: 2205
2002-04-09 18:36:52 +00:00
Chris Lattner
9a2cf06433
*blush* somehow this debugging code got checked in...
...
llvm-svn: 2187
2002-04-09 05:10:39 +00:00
Chris Lattner
c8166cec07
s/Method/Function
...
llvm-svn: 2180
2002-04-08 22:03:57 +00:00
Chris Lattner
5046c084ec
* Narrow AsmWriter interface
...
* Implement Value::print methods here instead of WriteToAssembly
llvm-svn: 2179
2002-04-08 22:03:40 +00:00
Chris Lattner
44f14449c4
ConstantHandling moved into VMCore library
...
llvm-svn: 2165
2002-04-08 20:18:09 +00:00
Chris Lattner
7083f2bcf0
Move include/llvm/ValueHolderImpl.h to lib/VMCore/ValueHolderImpl.h
...
llvm-svn: 2156
2002-04-08 00:15:29 +00:00
Chris Lattner
137fa92dce
* 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
llvm-svn: 2154
2002-04-07 22:49:37 +00:00
Chris Lattner
0b712a046b
Remove some gross code by using the Value::dump method to do debug dumps
...
llvm-svn: 2150
2002-04-07 22:33:13 +00:00
Chris Lattner
47f1f0e588
Remove some gross code by using the VAlue::dump method to do debug dumps
...
llvm-svn: 2149
2002-04-07 22:32:25 +00:00
Chris Lattner
c994519230
Update comments
...
Implement Value::dump here.
llvm-svn: 2148
2002-04-07 22:31:46 +00:00
Chris Lattner
bc15ae64dd
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.
llvm-svn: 2144
2002-04-07 20:49:59 +00:00
Chris Lattner
96135c924f
Fix Bug: test/Regression/Other/2002-04-07-InfConstant.ll
...
llvm-svn: 2142
2002-04-07 08:42:53 +00:00
Chris Lattner
1c83a4a20c
Fix bug: test/Regression/Other/2002-04-07-HexFloatConstants.ll
...
llvm-svn: 2141
2002-04-07 08:37:11 +00:00
Chris Lattner
e7b5d159c5
Implement constant propogation of multiply and divide instructions!!
...
llvm-svn: 2134
2002-04-07 08:10:14 +00:00
Chris Lattner
d81ca8a752
* 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!
llvm-svn: 2127
2002-04-07 06:14:56 +00:00
Chris Lattner
35c1a4347b
* Reenable apparently neccesary code, that breaks testcases when enabled,
...
but causes MANY FUNDAMENTAL PROBLEMS when not enabled. :(
* Add debugging function
llvm-svn: 2125
2002-04-06 00:21:11 +00:00
Chris Lattner
83b6eecc84
* 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
llvm-svn: 2124
2002-04-05 23:02:46 +00:00
Chris Lattner
68857bb2bf
* 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!
llvm-svn: 2121
2002-04-05 22:25:26 +00:00
Chris Lattner
3b80438423
Clean up debugging code
...
llvm-svn: 2119
2002-04-05 19:53:06 +00:00
Chris Lattner
e105f97672
* 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
llvm-svn: 2118
2002-04-05 19:44:07 +00:00
Chris Lattner
8afff0c29a
s/MethodType/FunctionType
...
llvm-svn: 2115
2002-04-04 22:19:18 +00:00
Chris Lattner
39d7d981ed
Make build work in release mode
...
llvm-svn: 2113
2002-04-04 19:35:24 +00:00
Chris Lattner
ffc9ef8be9
Make the release build work
...
llvm-svn: 2109
2002-04-04 19:26:26 +00:00
Chris Lattner
87cabdd757
* Add debug support for PATypeHolder
...
* PATypeHolder is now not a template
llvm-svn: 2108
2002-04-04 19:26:02 +00:00
Chris Lattner
a0a6c8d4a2
Make the release build compile
...
llvm-svn: 2107
2002-04-04 19:24:48 +00:00
Chris Lattner
0f0829f28d
Add a new replaceWith method useful for replacing instructions
...
llvm-svn: 2088
2002-04-01 17:52:16 +00:00
Chris Lattner
c7df07c3f8
* s/Method/Function
...
* Implement a check to make sure a function is not internal and external
at the same time
llvm-svn: 2050
2002-03-29 19:06:18 +00:00
Chris Lattner
18cc6a9277
Add an insert method to VAlueHolder to allow batch insertion
...
llvm-svn: 2038
2002-03-29 05:49:37 +00:00
Chris Lattner
474495e742
Add new addTypeName method to Module class
...
llvm-svn: 2037
2002-03-29 04:48:40 +00:00
Chris Lattner
084601e6f4
s/Method/Function
...
llvm-svn: 2034
2002-03-29 03:44:36 +00:00
Chris Lattner
c32e9901b1
Implement new getFunction and getOrInsertFunction methods
...
llvm-svn: 2033
2002-03-29 03:44:18 +00:00
Chris Lattner
ab9cc61ceb
Remove the reduceApply functions they are obsolete things from the days before
...
we had a reasonable pass system
llvm-svn: 2022
2002-03-28 22:49:49 +00:00
Chris Lattner
849c762b02
Change references from Method to Function
...
change references from MethodARgument to FunctionArgument
llvm-svn: 1991
2002-03-26 18:01:55 +00:00
Chris Lattner
c481e92886
Rename Method to Function
...
llvm-svn: 1957
2002-03-23 22:51:58 +00:00
Chris Lattner
0b9734b293
Add an assertion that would hopefully catch a problem that was tripping
...
cameron up
llvm-svn: 1944
2002-03-22 18:01:58 +00:00
Chris Lattner
8051e7c953
* AllocationInst ctor moved here from iMemory.h
...
* AllocationInst now always has an array size operand
llvm-svn: 1939
2002-03-21 22:37:48 +00:00
Chris Lattner
ceb4e429a2
Add an assertion to catch a misuse of replaceAllUsesWith
...
llvm-svn: 1924
2002-03-21 05:38:15 +00:00
Chris Lattner
240209eb5b
Make an assertion provide a more helpful error message
...
llvm-svn: 1883
2002-03-17 21:16:01 +00:00
Chris Lattner
ba358e8e65
Checkin new test for problem anand ran into
...
llvm-svn: 1880
2002-03-15 20:25:09 +00:00
Chris Lattner
1a4aac1060
Add a check to ensure that only PHI nodes are self referential. Code
...
input to instruction combination was broken, which caused it to explode.
llvm-svn: 1870
2002-03-14 16:53:48 +00:00
Chris Lattner
b44f81b987
* Add new method localLookup
...
* SymbolTable::remove(Value *N) checks to see if we are internally
inconsistent before looking for a type plane (caused a crash)
* insertEntry now does a local lookup instead of a global lookup, which was
causing an infinite loop in the renamer logic.
* Added assertions to make sure stuff stays happy
* Now the linker correctly links the SPECINT2000 mcf benchmark
llvm-svn: 1840
2002-03-08 20:26:17 +00:00
Chris Lattner
00ef917e01
Expose more entry points to the verifier
...
llvm-svn: 1815
2002-02-26 21:45:33 +00:00
Chris Lattner
3b0be84157
Fix bug: test/Regression/Other/2002-02-24-InlineBrokePHINodes.ll
...
llvm-svn: 1798
2002-02-25 00:35:07 +00:00
Chris Lattner
b10862d793
Make it compile with GCC 3.0.4
...
llvm-svn: 1786
2002-02-24 23:01:21 +00:00
Chris Lattner
75c1ff0221
Actually implement some checking in the verifier.
...
These specific problems were ones Anand ran into in his work and seem not
uncommon for beginners.
llvm-svn: 1781
2002-02-20 17:55:43 +00:00
Chris Lattner
aa07d741cb
Fix isArrayAllocation() to be correct
...
llvm-svn: 1779
2002-02-19 21:24:17 +00:00
Chris Lattner
8e9be000a7
* Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into
...
llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
InstrTypes.h anymore
llvm-svn: 1750
2002-02-12 22:39:50 +00:00
Chris Lattner
b0a2c5546b
Method.h no longer includes BasicBlock.h
...
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746
2002-02-12 21:07:25 +00:00