Chris Lattner
aa271e6c35
Remove ReversePostOrderTraversal declaration
...
llvm-svn: 481
2001-09-07 21:02:50 +00:00
Chris Lattner
02e8c974dd
* Don't predefine ReversePostOrderTraversal because it adds a dependence on vector
...
* static ctor/dtor is actually a REALLY good idea
* Remove explicit copy ctor and op=
llvm-svn: 480
2001-09-07 21:02:14 +00:00
Chris Lattner
fc8566a1ed
Check opaque, abstract, and recursive type handling
...
llvm-svn: 479
2001-09-07 20:59:20 +00:00
Chris Lattner
6f728cf288
NEw file
...
llvm-svn: 478
2001-09-07 19:29:23 +00:00
Chris Lattner
1cedcf1c31
Moved functionality into the other constant pool stuff
...
llvm-svn: 477
2001-09-07 18:00:19 +00:00
Chris Lattner
2833dd3fed
Follow the golden rule of the coding standards guide: Make the code look
...
like the rest of the system.
llvm-svn: 476
2001-09-07 17:38:10 +00:00
Chris Lattner
23fcc08d38
The header file for a translation unit should always be included first
...
System headers should be last
llvm-svn: 475
2001-09-07 17:18:30 +00:00
Chris Lattner
74d07801bf
A file should always include it's private header file *FIRST* see the
...
coding guidelines
llvm-svn: 474
2001-09-07 17:15:18 +00:00
Chris Lattner
dbc082f7f7
Constant pool is eliminated
...
llvm-svn: 473
2001-09-07 17:08:28 +00:00
Chris Lattner
330f87d7fe
Add support for iteration through type graphs
...
Static constructors destroy genericity
llvm-svn: 472
2001-09-07 17:04:29 +00:00
Chris Lattner
c3f679f2fe
Remove support for const pool merging, which is obsolete now.
...
llvm-svn: 471
2001-09-07 16:59:35 +00:00
Chris Lattner
8564037d97
Annotations are now const
...
llvm-svn: 470
2001-09-07 16:59:15 +00:00
Chris Lattner
754d3cf7e3
Build lli first
...
llvm-svn: 469
2001-09-07 16:58:57 +00:00
Chris Lattner
5cc42aa810
Symboltables are sorted in the bytecode, so no problems here!
...
llvm-svn: 468
2001-09-07 16:58:39 +00:00
Chris Lattner
5f3b276293
Cleanup
...
llvm-svn: 467
2001-09-07 16:57:29 +00:00
Chris Lattner
97d79f144c
Support abstract types
...
Remove constant pool support
llvm-svn: 466
2001-09-07 16:57:07 +00:00
Chris Lattner
2bd66ebee9
Support a abstract, opaque, and recursive types
...
Remove lockty, remove fillerty
Make type lookup more efficient
Support shared generic factory code
llvm-svn: 465
2001-09-07 16:56:42 +00:00
Chris Lattner
9e0f1cb3ad
Types and constnats are wierd objects in the symtabs
...
Support abstract types in symtab
llvm-svn: 464
2001-09-07 16:48:17 +00:00
Chris Lattner
f50b723d9c
Modules must have a valid, nonnull type. Make them void
...
llvm-svn: 463
2001-09-07 16:47:42 +00:00
Chris Lattner
5c764a5a9b
Support new setName interface
...
llvm-svn: 462
2001-09-07 16:47:18 +00:00
Chris Lattner
e8dd6ad040
* Support new setname interface
...
* Add assertion for sanity checking
llvm-svn: 461
2001-09-07 16:47:03 +00:00
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