1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

457 Commits

Author SHA1 Message Date
Chris Lattner
0e510b8267 * Support new setname interface
* Add assertion for sanity checking

llvm-svn: 461
2001-09-07 16:47:03 +00:00
Chris Lattner
9c4eb70eae * 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
d2c013e34c Support new setName itf
llvm-svn: 459
2001-09-07 16:44:17 +00:00
Chris Lattner
99e8b0589f Annotations are const objects now
llvm-svn: 458
2001-09-07 16:44:01 +00:00
Chris Lattner
e299925703 Types and constants are wierd things in symbol tables now
llvm-svn: 457
2001-09-07 16:43:50 +00:00
Chris Lattner
b82abeff92 * 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
797730ca28 Constant pool is dead
llvm-svn: 455
2001-09-07 16:42:51 +00:00
Chris Lattner
4fc1bcadd9 Constants are now global unique objects
llvm-svn: 454
2001-09-07 16:42:26 +00:00
Chris Lattner
eaf4551d57 * Eliminate constant pool dependancies:
* Eliminate DoRemoveUnusedConstants

llvm-svn: 453
2001-09-07 16:42:08 +00:00
Chris Lattner
6a211421bf * 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
652b08d465 * Support global constants
* Eliminate need for constant pool

llvm-svn: 451
2001-09-07 16:40:34 +00:00
Chris Lattner
caac8de99d annotations are now const
llvm-svn: 450
2001-09-07 16:40:04 +00:00
Chris Lattner
28154ea366 * 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
0d073caf6c * 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
c189163d03 * 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
b8f60e50f3 * 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
1a53e079fd Add support for forward referencing types
llvm-svn: 445
2001-09-07 16:33:01 +00:00
Chris Lattner
f590e0c914 Add support for an opaque type
llvm-svn: 444
2001-09-07 16:32:43 +00:00
Chris Lattner
fddd7fbc2c Remove #include of nonexistant header file
llvm-svn: 443
2001-09-07 16:32:10 +00:00
Chris Lattner
35ea5501a8 * 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
f1f36de564 Module analyzer no longer has to iterate over constant pool
llvm-svn: 441
2001-09-07 16:31:23 +00:00
Chris Lattner
8bd3097d81 Simplify code by eliminating need to hang onto constant pool references
llvm-svn: 440
2001-09-07 16:31:04 +00:00
Chris Lattner
e9a2b44041 * 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
477cbbd351 Constant pools no longer exist
llvm-svn: 438
2001-09-07 16:29:55 +00:00
Chris Lattner
8eeaca2118 Eliminate DoConstantPoolMerging. ConstantPools no longer exist
llvm-svn: 437
2001-09-07 16:29:40 +00:00
Chris Lattner
457dd333a4 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
9464de6a0f Annotations are now passed around as const objects
llvm-svn: 435
2001-09-07 16:28:25 +00:00
Chris Lattner
3160e29bae 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
25101c9f38 Clean stuff up.
Types are not named, they are described

llvm-svn: 433
2001-09-07 16:27:25 +00:00
Chris Lattner
63820f443d Simplify SlotCalculator. SlotCalculator is now not a ModuleAnalyzer
llvm-svn: 432
2001-09-07 16:27:05 +00:00
Chris Lattner
75c2b8034b Simplify analyzer
llvm-svn: 431
2001-09-07 16:26:36 +00:00
Chris Lattner
132d1f8efd * 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
73856b65c7 Add assertion to check for
alloca [int]
for example

llvm-svn: 429
2001-09-07 16:25:42 +00:00
Chris Lattner
080104e2fe * 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
1a4da8a9b3 Remove extra whitespace at EOL
llvm-svn: 427
2001-09-07 16:24:35 +00:00
Chris Lattner
d44f5e0a60 * 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
d239f94d88 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
4141b13ff6 SymTabValues no longer hold constant pools
llvm-svn: 424
2001-09-07 16:21:04 +00:00
Chris Lattner
51152baa4a SymTabValue no longer includes ValueHolder for Module. Include it ourself
llvm-svn: 423
2001-09-07 16:20:46 +00:00
Chris Lattner
9dccaed65c * Support new setName interface
* Make the iterator a little nicer

llvm-svn: 422
2001-09-07 16:20:18 +00:00
Chris Lattner
7f8ccda329 Support new setName interface
llvm-svn: 421
2001-09-07 16:19:55 +00:00
Chris Lattner
8cae894583 * 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
1eb6fb36db 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
28141ac535 Add support for walking type graphs
llvm-svn: 418
2001-09-07 16:17:24 +00:00
Chris Lattner
bfbc1e3d24 Changing setName semantics
llvm-svn: 417
2001-09-07 16:16:57 +00:00
Chris Lattner
0707315524 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
105abcbee2 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
9562c73a91 whoo hoo I did something! :)
llvm-svn: 414
2001-09-07 16:10:35 +00:00
Chris Lattner
6efa48a664 Make fib be more real
llvm-svn: 413
2001-09-01 01:47:52 +00:00
Ruchira Sasanka
fb626ffffe *** empty log message ***
llvm-svn: 412
2001-08-31 20:59:58 +00:00