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
Ruchira Sasanka
dceb09f3d8
*** empty log message ***
...
llvm-svn: 411
2001-08-31 20:30:42 +00:00
Vikram S. Adve
28e3131d5c
Added directory LiveVar/
...
llvm-svn: 410
2001-08-28 23:29:31 +00:00
Vikram S. Adve
c90d21f261
Makefile for tools/tests/
...
llvm-svn: 409
2001-08-28 23:28:25 +00:00
Vikram S. Adve
b61f869552
Driver to test IsPowerOf2. Could be extended for other library routines.
...
llvm-svn: 408
2001-08-28 23:28:10 +00:00
Vikram S. Adve
df6573f9e8
Add testcodegen target, and restrict which tests are run for it.
...
llvm-svn: 407
2001-08-28 23:26:44 +00:00
Vikram S. Adve
b79b5f6b8b
Added nonterminals for arithmetic operations where one operand is constant.
...
llvm-svn: 406
2001-08-28 23:25:46 +00:00
Vikram S. Adve
9a19bf6cc8
Changed link line.
...
llvm-svn: 405
2001-08-28 23:23:35 +00:00
Vikram S. Adve
35eed0ce61
Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA().
...
llvm-svn: 404
2001-08-28 23:23:14 +00:00
Vikram S. Adve
9fd1f9c1c2
Makefile for InstrSched/
...
llvm-svn: 403
2001-08-28 23:17:22 +00:00
Vikram S. Adve
778fc57b85
Remove source list.
...
llvm-svn: 402
2001-08-28 23:16:59 +00:00
Vikram S. Adve
49fddd4df3
Added directory InstrSched.
...
llvm-svn: 401
2001-08-28 23:16:13 +00:00
Vikram S. Adve
789dcfe59c
Major changes too hard to document :-)
...
llvm-svn: 400
2001-08-28 23:12:57 +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
8fdc52a63d
Moved debug options declaration to header file, and moved
...
a function to MachineInstr.cpp.
llvm-svn: 393
2001-08-28 23:04:38 +00:00