Chris Lattner
49d855ca31
* Cnstants are now global objects
...
* ConstantPools no longer exist
* Constants are global objects in the LLVM system
* Constants are structurally equilivant if they are pointer equilivant
* Support abstract & opaque types
* Support setName on constants even though they don't track names
* Constnats don't get copy ctors anymore
* ConstPoolVal::equals is no longer useful [use ptr equivalency]
* Support generic factory classes to create and maintain constants
llvm-svn: 460
2001-09-07 16:46:31 +00:00
Chris Lattner
2d189a5981
Support new setName itf
...
llvm-svn: 459
2001-09-07 16:44:17 +00:00
Chris Lattner
da010ca1b9
Annotations are const objects now
...
llvm-svn: 458
2001-09-07 16:44:01 +00:00
Chris Lattner
d707ec62b6
Types and constants are wierd things in symbol tables now
...
llvm-svn: 457
2001-09-07 16:43:50 +00:00
Chris Lattner
dae05dc937
* Eliminate reference to ConstantPool class
...
* Constants are global objects that are not allocated or freed
llvm-svn: 456
2001-09-07 16:43:22 +00:00
Chris Lattner
e57fc205f4
Constant pool is dead
...
llvm-svn: 455
2001-09-07 16:42:51 +00:00
Chris Lattner
6d7bce9f3c
Constants are now global unique objects
...
llvm-svn: 454
2001-09-07 16:42:26 +00:00
Chris Lattner
07e158de3c
* Eliminate constant pool dependancies:
...
* Eliminate DoRemoveUnusedConstants
llvm-svn: 453
2001-09-07 16:42:08 +00:00
Chris Lattner
030772df99
* Supoprt global constants
...
* Remove support for local constant pools
* Eliminate constant pool merging method, which is no longer neccesary
* Disable invalid optimization (todo: fix it)
llvm-svn: 452
2001-09-07 16:41:30 +00:00
Chris Lattner
bbb229655b
* Support global constants
...
* Eliminate need for constant pool
llvm-svn: 451
2001-09-07 16:40:34 +00:00
Chris Lattner
4eb6d9fd85
annotations are now const
...
llvm-svn: 450
2001-09-07 16:40:04 +00:00
Chris Lattner
b97ef9f4cf
* Emit bytecode using a deque instead of a vector to be faster
...
* Internal rep no longer has a constant pool
* Support emission of recursive types
* Don't output a constant pool for an external method
* The bytecode writer is no longer a module analyzer
llvm-svn: 449
2001-09-07 16:39:41 +00:00
Chris Lattner
1f043cd1ba
* Remove support for internal constant pool
...
* Support globally unique constants
* Support recursive and forward referenced types
* Support abstract types
* Add new BCR_TRACE macro to enable debugging of why the bytecode reader
occasionally refuses to read something
llvm-svn: 448
2001-09-07 16:37:43 +00:00
Chris Lattner
fee714f7e0
* Assembly writer is not a module analyzer anymore
...
* There is no constant pool anymore
llvm-svn: 447
2001-09-07 16:36:04 +00:00
Chris Lattner
aa534bf195
* Add support for forward referencing types
...
* Add support for upreferences for recursive types
* Remove support for ConstantPool.h
* Add support for globally unique Constants
* Add support for the opaque type
llvm-svn: 446
2001-09-07 16:35:17 +00:00
Chris Lattner
c7805c7d71
Add support for forward referencing types
...
llvm-svn: 445
2001-09-07 16:33:01 +00:00
Chris Lattner
47af30c937
Add support for an opaque type
...
llvm-svn: 444
2001-09-07 16:32:43 +00:00
Chris Lattner
dea211ea67
Remove #include of nonexistant header file
...
llvm-svn: 443
2001-09-07 16:32:10 +00:00
Chris Lattner
1e6912a13f
* Slot calc is now simpler and not based on module analyzer.
...
* Add new SC_DEBUG option to enable debugging of why stuff doesn't work
llvm-svn: 442
2001-09-07 16:31:52 +00:00
Chris Lattner
ce4cd006c1
Module analyzer no longer has to iterate over constant pool
...
llvm-svn: 441
2001-09-07 16:31:23 +00:00
Chris Lattner
c6b06c4f9b
Simplify code by eliminating need to hang onto constant pool references
...
llvm-svn: 440
2001-09-07 16:31:04 +00:00
Chris Lattner
fd5541a8c8
* Fixed mapped_iterator to actually work with functors
...
* Implement mapto function that works like map in a functional programming language
llvm-svn: 439
2001-09-07 16:30:28 +00:00
Chris Lattner
a559795e9a
Constant pools no longer exist
...
llvm-svn: 438
2001-09-07 16:29:55 +00:00
Chris Lattner
d996b2d857
Eliminate DoConstantPoolMerging. ConstantPools no longer exist
...
llvm-svn: 437
2001-09-07 16:29:40 +00:00
Chris Lattner
a7f5ed8f26
You no longer have to delete constants! They are located in a global
...
constant pool instead of in local ones.
Change bool handling to prevent modification of bool values
llvm-svn: 436
2001-09-07 16:29:18 +00:00
Chris Lattner
5e89d7c81c
Annotations are now passed around as const objects
...
llvm-svn: 435
2001-09-07 16:28:25 +00:00
Chris Lattner
b68baea2ed
Use a deque instead of a vector for greater efficiency writing bytecode
...
llvm-svn: 434
2001-09-07 16:27:49 +00:00
Chris Lattner
6dbd0f2a81
Clean stuff up.
...
Types are not named, they are described
llvm-svn: 433
2001-09-07 16:27:25 +00:00
Chris Lattner
6f0e042959
Simplify SlotCalculator. SlotCalculator is now not a ModuleAnalyzer
...
llvm-svn: 432
2001-09-07 16:27:05 +00:00
Chris Lattner
faa382da48
Simplify analyzer
...
llvm-svn: 431
2001-09-07 16:26:36 +00:00
Chris Lattner
a9a872f142
* Fix long standing problems that would affect inlining. How could this have worked?
...
* Update to new setName interface
llvm-svn: 430
2001-09-07 16:26:13 +00:00
Chris Lattner
71cc25394b
Add assertion to check for
...
alloca [int]
for example
llvm-svn: 429
2001-09-07 16:25:42 +00:00
Chris Lattner
4ce1643c94
* Values are AbstactTypeUsers to support abstract types
...
* SetName now takes extra parameter to support naming types and constants without handles
llvm-svn: 428
2001-09-07 16:25:23 +00:00
Chris Lattner
8e0ee42697
Remove extra whitespace at EOL
...
llvm-svn: 427
2001-09-07 16:24:35 +00:00
Chris Lattner
fc51ef84bb
* Add support for Opaque & Abstract types.
...
* Remove silly enum values that are never going to be used
* What used to be a types "name" is now it's "description"
* Add a new iterator to type to allow users to iterate over subtypes
llvm-svn: 426
2001-09-07 16:23:59 +00:00
Chris Lattner
0f26373be3
Support abstract types by keeping on the use list of the abstract type.
...
llvm-svn: 425
2001-09-07 16:21:36 +00:00
Chris Lattner
433a9e8244
SymTabValues no longer hold constant pools
...
llvm-svn: 424
2001-09-07 16:21:04 +00:00
Chris Lattner
b371e06002
SymTabValue no longer includes ValueHolder for Module. Include it ourself
...
llvm-svn: 423
2001-09-07 16:20:46 +00:00
Chris Lattner
4619a296f3
* Support new setName interface
...
* Make the iterator a little nicer
llvm-svn: 422
2001-09-07 16:20:18 +00:00
Chris Lattner
09dcda1769
Support new setName interface
...
llvm-svn: 421
2001-09-07 16:19:55 +00:00
Chris Lattner
fce2dd9caa
* Add new DerivedType base class that goes between Type and the derived types
...
* Implement abstract types
* Add new Opaque derived type
llvm-svn: 420
2001-09-07 16:19:29 +00:00
Chris Lattner
3fc9d2f558
Implement support for globally unique constants. Constants no longer live
...
in a module or method local pool, they are global to the llvm system.
llvm-svn: 419
2001-09-07 16:18:19 +00:00
Chris Lattner
52e6fa2031
Add support for walking type graphs
...
llvm-svn: 418
2001-09-07 16:17:24 +00:00
Chris Lattner
8d230bf786
Changing setName semantics
...
llvm-svn: 417
2001-09-07 16:16:57 +00:00
Chris Lattner
0799ddb3a9
Make annotations operations const with a mutable annotation list so that
...
we can annotate Types. A better solution would be make types nonconst.
llvm-svn: 416
2001-09-07 16:16:35 +00:00
Chris Lattner
d77a512129
Fixed the "output constant pool even if he have no constants" issue
...
llvm-svn: 415
2001-09-07 16:13:58 +00:00
Chris Lattner
56ba0bb0da
whoo hoo I did something! :)
...
llvm-svn: 414
2001-09-07 16:10:35 +00:00
Chris Lattner
3b78fa378e
Make fib be more real
...
llvm-svn: 413
2001-09-01 01:47:52 +00:00
Ruchira Sasanka
4d30f4bb6c
*** empty log message ***
...
llvm-svn: 412
2001-08-31 20:59:58 +00:00
Ruchira Sasanka
b7237c88ae
*** empty log message ***
...
llvm-svn: 411
2001-08-31 20:30:42 +00:00