170 Commits

Author SHA1 Message Date
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
Ruchira Sasanka
b7237c88ae *** empty log message ***
llvm-svn: 411
2001-08-31 20:30:42 +00:00
Vikram S. Adve
3497e216d0 Added function MachineInstr::operandIsDefined(i) and decl for
function PrintMachineInstructions.

llvm-svn: 399
2001-08-28 23:11:46 +00:00
Vikram S. Adve
23e59b70cd Extensive additions for supporting instruction scheduling.
llvm-svn: 398
2001-08-28 23:10:41 +00:00
Vikram S. Adve
742086f200 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
3148b83485 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
138c3bb667 Class that encapsulates priority heuristics for instruction scheduling.
llvm-svn: 395
2001-08-28 23:06:49 +00:00
Vikram S. Adve
754c4dd6ae 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
6b99de80dc Simplification transformations to normalize the code for later passes.
llvm-svn: 389
2001-08-28 21:40:27 +00:00
Vikram S. Adve
7e95d47bdc Use const int instead of #define.
llvm-svn: 388
2001-08-28 21:35:26 +00:00
Vikram S. Adve
586a1d73a9 Add copy and assignment operators for POIterator, and
static constructors.

llvm-svn: 387
2001-08-28 21:34:56 +00:00
Chris Lattner
53bbf0783b Initial checkin of TargetData code
llvm-svn: 384
2001-08-27 16:00:15 +00:00
Chris Lattner
eae2201f08 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
1cb56eda7f Remove target specific method.
llvm-svn: 378
2001-08-27 15:49:36 +00:00
Chris Lattner
ab759f00c3 Remove target specific code, move to TargetData.cpp file
llvm-svn: 377
2001-08-27 15:49:16 +00:00
Chris Lattner
8aaab6b9c1 Extend annotations to pass data pointers around to the functions
llvm-svn: 374
2001-08-27 05:17:47 +00:00
Chris Lattner
3885a2db4f Add annotation support
llvm-svn: 366
2001-08-23 17:07:56 +00:00
Chris Lattner
8e626e419e Add annotation support to value
llvm-svn: 363
2001-08-23 17:06:21 +00:00
Chris Lattner
9f35277950 * Add assertions
* Add a nodeVisited method to the DF interator

llvm-svn: 362
2001-08-23 17:05:59 +00:00
Ruchira Sasanka
ec1a5411d7 LV info on machine instructions
llvm-svn: 359
2001-08-20 21:11:01 +00:00
Ruchira Sasanka
8c99a32982 Corrected the compilation error by making the ValOperator class a friend of
MachineOperand class - Ruchira

llvm-svn: 358
2001-08-13 16:54:48 +00:00
Vikram S. Adve
5715b56e65 Can't use ref to stack value!
llvm-svn: 354
2001-08-09 20:14:22 +00:00
Vikram S. Adve
315d2d941e Needed old conditions as well as new in skipToNextVal()!
llvm-svn: 353
2001-08-09 19:18:33 +00:00
Vikram S. Adve
c3fd4c2fc6 Bug fix in ValOpIterator: not moving past operand with NULL Value.
llvm-svn: 352
2001-08-08 00:15:42 +00:00
Ruchira Sasanka
c82322c526 *** empty log message ***
llvm-svn: 351
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
5303bac986 Added isDef field to MachineOperand class - Ruchira
llvm-svn: 349
2001-08-07 20:14:30 +00:00
Vikram S. Adve
13090bd303 Use extra operand for instructions that set a CC register that
was not explicit before.

llvm-svn: 347
2001-08-06 21:05:39 +00:00
Vikram S. Adve
701a698d43 Allow numOperands of -1 for variable #operands.
llvm-svn: 341
2001-07-31 21:55:51 +00:00
Vikram S. Adve
ff7070bbb9 Allow machine instructions with variable numbers of arguments.
This is used only by Phi for now.

llvm-svn: 336
2001-07-31 21:49:28 +00:00
Vikram S. Adve
5af4076380 Added dummy Phi instruction.
llvm-svn: 335
2001-07-31 21:48:23 +00:00
Vikram S. Adve
06c30a0419 Added class MachineCodeForBasicBlock.
llvm-svn: 332
2001-07-30 18:49:07 +00:00
Vikram S. Adve
32b5d841ba Added vector of machine instructions for the basic block.
llvm-svn: 330
2001-07-30 18:47:24 +00:00
Chris Lattner
58b3b9a4da Modify var names to make it apparant that the code is really generic
llvm-svn: 320
2001-07-28 17:43:45 +00:00
Vikram S. Adve
222c518e1c Added function printIndent.
llvm-svn: 317
2001-07-28 04:41:27 +00:00
Vikram S. Adve
56324d34f7 Added a pointer hash function object for use in pointer maps.
llvm-svn: 316
2001-07-28 04:41:10 +00:00
Vikram S. Adve
0f32957dbb Make a function const.
llvm-svn: 315
2001-07-28 04:40:15 +00:00