1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Commit Graph

192 Commits

Author SHA1 Message Date
Chris Lattner
f828410b63 New file for supporting abstract types
llvm-svn: 502
2001-09-07 23:00:03 +00:00
Chris Lattner
e0ca8ad220 Provide a way to change the incoming value for a phi node
llvm-svn: 495
2001-09-07 22:19:55 +00:00
Chris Lattner
0b0dae7bdb * Remove lots of unnecesary #includes
* Remove extra flyers
* Remove dependence on stringExtras by eliminating printIndent calls

llvm-svn: 486
2001-09-07 21:18:16 +00:00
Chris Lattner
3f36c6fe59 * Remove lots of annoying extra #includes
* Elminate dependecy on stringextras.h by moving dump's into .cpp files
* Kill InOutIterator class because it breaks iterator semantics to work like that
   - Copy ctor on iterator doesn't work.

llvm-svn: 485
2001-09-07 21:07:10 +00:00
Chris Lattner
31e4c8874f * Add tag so emacs knows it's a c++ file
* Remove frivolous flyers

llvm-svn: 484
2001-09-07 21:04:59 +00:00
Chris Lattner
9aac44442d Add tags so emacs knows these are C++ files
llvm-svn: 483
2001-09-07 21:04:20 +00:00
Chris Lattner
5c5ee6b8b4 Remove extra space
llvm-svn: 482
2001-09-07 21:03:14 +00:00
Chris Lattner
2db0f7a35f Remove ReversePostOrderTraversal declaration
llvm-svn: 481
2001-09-07 21:02:50 +00:00
Chris Lattner
a1f1e01665 * 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
cd69a08c26 NEw file
llvm-svn: 478
2001-09-07 19:29:23 +00:00
Chris Lattner
4272da0927 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
fb273d331f Constant pool is eliminated
llvm-svn: 473
2001-09-07 17:08:28 +00:00
Chris Lattner
dafdd1ce54 Add support for iteration through type graphs
Static constructors destroy genericity

llvm-svn: 472
2001-09-07 17:04:29 +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
Ruchira Sasanka
dceb09f3d8 *** empty log message ***
llvm-svn: 411
2001-08-31 20:30:42 +00:00
Vikram S. Adve
62a903416c Added function MachineInstr::operandIsDefined(i) and decl for
function PrintMachineInstructions.

llvm-svn: 399
2001-08-28 23:11:46 +00:00
Vikram S. Adve
5947c43319 Extensive additions for supporting instruction scheduling.
llvm-svn: 398
2001-08-28 23:10:41 +00:00
Vikram S. Adve
f9fa4cc579 Added class MachineSchedInfo and several supporting classes
as a machine description for instruction scheduling.

llvm-svn: 397
2001-08-28 23:09:36 +00:00
Vikram S. Adve
ad002e37d5 Implementation of instruction scheduling for LLVM.
Currently schedules one basic block at a time.

llvm-svn: 396
2001-08-28 23:07:19 +00:00
Vikram S. Adve
91d73a52d5 Class that encapsulates priority heuristics for instruction scheduling.
llvm-svn: 395
2001-08-28 23:06:49 +00:00
Vikram S. Adve
23be1e0839 Scheduling DAG for instruction scheduling. Currently for a single basic block.
llvm-svn: 394
2001-08-28 23:06:02 +00:00
Vikram S. Adve
3ac9f99cf5 Simplification transformations to normalize the code for later passes.
llvm-svn: 389
2001-08-28 21:40:27 +00:00
Vikram S. Adve
23d0560303 Use const int instead of #define.
llvm-svn: 388
2001-08-28 21:35:26 +00:00
Vikram S. Adve
c1c65235ef Add copy and assignment operators for POIterator, and
static constructors.

llvm-svn: 387
2001-08-28 21:34:56 +00:00
Chris Lattner
6336546710 Initial checkin of TargetData code
llvm-svn: 384
2001-08-27 16:00:15 +00:00
Chris Lattner
511d1ca915 Use the new TargetData class to factor out some of the shared code
between the static compilers and the interpreter.

llvm-svn: 379
2001-08-27 15:50:12 +00:00
Chris Lattner
85b42a0028 Remove target specific method.
llvm-svn: 378
2001-08-27 15:49:36 +00:00