Commit Graph

698 Commits

Author SHA1 Message Date
Chris Lattner 16dd09a7bb * Clean up InstrForest
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)

begin
        seteq int *%x, %y
        ret void
end

llvm-svn: 552
2001-09-12 01:28:49 +00:00
Chris Lattner cc38da77e8 Eliminate 'BasicNode' from InstrForest.
llvm-svn: 551
2001-09-11 23:52:11 +00:00
Chris Lattner 706ee8e5ec Eliminate MainTreeNode function
llvm-svn: 550
2001-09-11 23:22:43 +00:00
Chris Lattner a7d3b8dca1 Remove irrelevant gross K&R Cisms
llvm-svn: 549
2001-09-11 23:13:38 +00:00
Chris Lattner 3ce5ac2107 Handle subtract in expression classifier
llvm-svn: 548
2001-09-11 04:27:34 +00:00
Chris Lattner 22c0bb699f Disable destructors on constants
llvm-svn: 547
2001-09-11 04:27:19 +00:00
Chris Lattner f4a0d70778 Use the correct style casts
llvm-svn: 546
2001-09-10 20:12:04 +00:00
Chris Lattner fe7b461376 Use correct style casts
llvm-svn: 545
2001-09-10 20:11:44 +00:00
Chris Lattner dd009521fe Use correct style casts
Types are not all constant now

llvm-svn: 544
2001-09-10 20:11:28 +00:00
Chris Lattner e014d797b4 Use type checking predicates
llvm-svn: 543
2001-09-10 20:10:26 +00:00
Chris Lattner 5a01692836 Use correct casts
llvm-svn: 542
2001-09-10 20:10:02 +00:00
Chris Lattner aeaba8a2ee Use predicate for Value type test
Use builtin casts

llvm-svn: 541
2001-09-10 20:09:50 +00:00
Chris Lattner 44a45af61b Use predicate for Value type test
llvm-svn: 540
2001-09-10 20:09:28 +00:00
Chris Lattner c4b2634574 ModuleTyID doesn't exist anyymore
Use correct cast

llvm-svn: 539
2001-09-10 20:09:08 +00:00
Chris Lattner 212c907cf1 getMethodType is now just getType
llvm-svn: 538
2001-09-10 20:08:52 +00:00
Chris Lattner adfe0d19d6 Add support for printing globals
llvm-svn: 537
2001-09-10 20:08:19 +00:00
Chris Lattner 8ad45e8101 Update to use correct type cast
llvm-svn: 536
2001-09-10 20:08:08 +00:00
Chris Lattner 706946b40a Add support for global variables
llvm-svn: 535
2001-09-10 20:07:57 +00:00
Chris Lattner 1dc8b62690 * Add capability of printing out a global variable
llvm-svn: 534
2001-09-10 20:06:47 +00:00
Chris Lattner 6d37abd9cb * Method::getType should return type cast as MethodType, eliminate getMethodType
* Make Type::*Ty not be const types
* Add a new Type.def file to provide info about types
* Add a full complement of casting methods to the Type class

llvm-svn: 533
2001-09-10 20:06:17 +00:00
Chris Lattner 61204a9189 Update assertion to allow extra case
llvm-svn: 532
2001-09-10 20:02:12 +00:00
Chris Lattner acfa507663 Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks
llvm-svn: 531
2001-09-10 19:43:38 +00:00
Chris Lattner da9755002f Implement global variable support
llvm-svn: 530
2001-09-10 07:58:01 +00:00
Chris Lattner baf08eb2a7 Add support for external methods
llvm-svn: 529
2001-09-10 04:50:17 +00:00
Chris Lattner 676d4118cf Genericize support for calling functions a bit
Add external method support

llvm-svn: 528
2001-09-10 04:49:44 +00:00
Chris Lattner f0afd8bac7 Add support for tool specified linker options
llvm-svn: 527
2001-09-10 04:49:26 +00:00
Chris Lattner 8b648b4a8b Remove the definitions of 3 global functions that don't belong in the core
llvm-svn: 526
2001-09-09 23:02:07 +00:00
Chris Lattner a461b05207 Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally. Remove the two support functions to inline their contents.
llvm-svn: 525
2001-09-09 23:01:47 +00:00
Chris Lattner e4fe7bc4a5 Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.
llvm-svn: 524
2001-09-09 23:01:32 +00:00
Chris Lattner 6aede54032 Remove 3 gross global functions that don't belong here
llvm-svn: 523
2001-09-09 23:00:59 +00:00
Chris Lattner 1117548f9e Rename contype to subtype
llvm-svn: 522
2001-09-09 22:26:58 +00:00
Chris Lattner acfd27d502 Make ADCE more robust, it still has problems, but it's getting closer
llvm-svn: 521
2001-09-09 22:26:47 +00:00
Chris Lattner c49f5f35db Fix problems with freeing memory twice
llvm-svn: 520
2001-09-09 22:26:29 +00:00
Chris Lattner 9f8c09e760 Rename file to be consistent with header name
llvm-svn: 519
2001-09-09 21:59:43 +00:00
Chris Lattner 8cc2749e2a Rerun backend tests if as or llc is changed
llvm-svn: 518
2001-09-09 21:58:36 +00:00
Chris Lattner 0223c60bf0 iFix dependence order
llvm-svn: 517
2001-09-09 21:03:12 +00:00
Chris Lattner 81eb4c4e5c Clean up Type class by removing mutable ConstRules member and use annotations insead
llvm-svn: 516
2001-09-09 21:02:38 +00:00
Chris Lattner 61607ee880 Clean up ConstRules stuff to use annotations instead of a mutable member in Type
llvm-svn: 515
2001-09-09 21:01:20 +00:00
Chris Lattner 9d0578c92b Convert ConstRules to use annotations to clean it up.
llvm-svn: 514
2001-09-09 21:00:23 +00:00
Chris Lattner d196e04234 Fix automatic dependence on static libs
llvm-svn: 513
2001-09-09 20:59:28 +00:00
Vikram S. Adve b606fcb3e0 Handle cast float-to-float or cast double-to-double.
llvm-svn: 512
2001-09-09 20:35:34 +00:00
Chris Lattner 57de997eff Fix build breakage. :(
llvm-svn: 511
2001-09-09 19:52:23 +00:00
Chris Lattner facf074632 I really don't like it when people break the build.
llvm-svn: 510
2001-09-09 19:41:52 +00:00
Chris Lattner d9c5134806 Remove extraneous space
llvm-svn: 509
2001-09-09 19:35:33 +00:00
Chris Lattner 7e6810c807 Remove extra #include
llvm-svn: 508
2001-09-09 19:34:25 +00:00
Ruchira Sasanka 4c8bd00b6c *** empty log message ***
llvm-svn: 507
2001-09-08 17:23:06 +00:00
Ruchira Sasanka 2d98fd0ac5 *** empty log message ***
llvm-svn: 506
2001-09-08 14:32:00 +00:00
Ruchira Sasanka f5788aa837 Committed for compliation. Not yet final.
--Ruchira

llvm-svn: 505
2001-09-08 14:22:50 +00:00
Ruchira Sasanka e5d0fb8eee --Ruchira
llvm-svn: 504
2001-09-08 14:10:34 +00:00
Chris Lattner 9210ecaed8 New testcase to deal with lists
llvm-svn: 503
2001-09-07 23:00:46 +00:00
Chris Lattner dab21c54d1 New file for supporting abstract types
llvm-svn: 502
2001-09-07 23:00:03 +00:00
Chris Lattner 9373bd69b7 Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
llvm-svn: 501
2001-09-07 22:59:25 +00:00
Chris Lattner c0a673f133 Executables all live in a nice centralized location now
llvm-svn: 500
2001-09-07 22:58:50 +00:00
Chris Lattner 43840bd6f6 Executables have moved into centralized location
llvm-svn: 499
2001-09-07 22:58:33 +00:00
Chris Lattner 07c7c19f7d Support TOOLNAME and USEDLIBS options for easier tool building
llvm-svn: 498
2001-09-07 22:57:58 +00:00
Chris Lattner a18d083dcc Remove old old file
llvm-svn: 497
2001-09-07 22:52:07 +00:00
Chris Lattner 2cf137b57a Convert llc driver to standard tool format
llvm-svn: 496
2001-09-07 22:20:50 +00:00
Chris Lattner c6d8db65c8 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 7170360d74 Add llc path to setup
Make code gen simpler, don't drop extra files all over the place

llvm-svn: 494
2001-09-07 22:13:44 +00:00
Chris Lattner 5e65e4212b Uhm... that was really bad
llvm-svn: 493
2001-09-07 21:26:51 +00:00
Chris Lattner ed22606da2 Clean up driver
llvm-svn: 492
2001-09-07 21:26:31 +00:00
Chris Lattner c6b8a071b6 Make makefile not depend on where stuff is installed!!!!
llvm-svn: 491
2001-09-07 21:24:25 +00:00
Chris Lattner 064286b9cf Updates to work with new lack of constant pool
llvm-svn: 490
2001-09-07 21:22:57 +00:00
Chris Lattner e99c9acb84 Remove unneeded #includes
llvm-svn: 489
2001-09-07 21:22:28 +00:00
Chris Lattner b7d0c37f5c Remove unnecesary #include add dump calls pulled out of .h file
llvm-svn: 488
2001-09-07 21:21:03 +00:00
Chris Lattner bbf765695f * Remove lots of #includes
llvm-svn: 487
2001-09-07 21:19:42 +00:00
Chris Lattner 8fb5258faa * 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 6b9a933694 * 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 313ece8a3e * 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 feb62c321e Add tags so emacs knows these are C++ files
llvm-svn: 483
2001-09-07 21:04:20 +00:00
Chris Lattner d2a6069518 Remove extra space
llvm-svn: 482
2001-09-07 21:03:14 +00:00
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
Chris Lattner faa382da48 Simplify analyzer
llvm-svn: 431
2001-09-07 16:26:36 +00:00
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
Chris Lattner d77a512129 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 56ba0bb0da whoo hoo I did something! :)
llvm-svn: 414
2001-09-07 16:10:35 +00:00
Chris Lattner 3b78fa378e Make fib be more real
llvm-svn: 413
2001-09-01 01:47:52 +00:00
Ruchira Sasanka 4d30f4bb6c *** empty log message ***
llvm-svn: 412
2001-08-31 20:59:58 +00:00
Ruchira Sasanka b7237c88ae *** empty log message ***
llvm-svn: 411
2001-08-31 20:30:42 +00:00
Vikram S. Adve 8ae325420f Added directory LiveVar/
llvm-svn: 410
2001-08-28 23:29:31 +00:00
Vikram S. Adve 4968d07d19 Makefile for tools/tests/
llvm-svn: 409
2001-08-28 23:28:25 +00:00
Vikram S. Adve 8ff24b26c9 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 1f98eb43e5 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 10db4c2551 Added nonterminals for arithmetic operations where one operand is constant.
llvm-svn: 406
2001-08-28 23:25:46 +00:00
Vikram S. Adve df3c54f41d Changed link line.
llvm-svn: 405
2001-08-28 23:23:35 +00:00
Vikram S. Adve 799aed0af3 Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA().
llvm-svn: 404
2001-08-28 23:23:14 +00:00
Vikram S. Adve 59a091870a Makefile for InstrSched/
llvm-svn: 403
2001-08-28 23:17:22 +00:00
Vikram S. Adve 27713047f4 Remove source list.
llvm-svn: 402
2001-08-28 23:16:59 +00:00
Vikram S. Adve ebfa4bd437 Added directory InstrSched.
llvm-svn: 401
2001-08-28 23:16:13 +00:00
Vikram S. Adve 245b5b0691 Major changes too hard to document :-)
llvm-svn: 400
2001-08-28 23:12:57 +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 8641f9dca0 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
Vikram S. Adve 5f72f42aee Moved function PrintMachineInstructions here.
llvm-svn: 392
2001-08-28 23:02:39 +00:00
Vikram S. Adve 1143eff628 analyze() now checks to see that we don't analyze the same method twice.
Needs a mechnanism to override this check (e.g., after a transformation).

llvm-svn: 391
2001-08-28 22:36:35 +00:00
Vikram S. Adve b6970c305f *** empty log message ***
llvm-svn: 390
2001-08-28 22:35:21 +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
Vikram S. Adve 88bee9f363 Added InstrSched library to link line.
llvm-svn: 386
2001-08-28 21:33:33 +00:00
Chris Lattner b6aa2334f4 I suck
llvm-svn: 385
2001-08-27 18:54:45 +00:00
Chris Lattner 53bbf0783b Initial checkin of TargetData code
llvm-svn: 384
2001-08-27 16:00:15 +00:00
Chris Lattner 74a5857531 Remove target specific stuff from Type classes
llvm-svn: 383
2001-08-27 15:52:13 +00:00
Chris Lattner 21a6f5fe7f Remove target specific method from MemAccessInst class
llvm-svn: 382
2001-08-27 15:51:43 +00:00
Chris Lattner 6c5cbe3f60 Convert to use the new factored out TargetData class
llvm-svn: 381
2001-08-27 15:51:16 +00:00
Chris Lattner 8dd99f33ea Factor code out to the TargetData class
llvm-svn: 380
2001-08-27 15:50:41 +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 f93e63a189 Support passing a data pointer to annotation factory methods
llvm-svn: 376
2001-08-27 05:19:10 +00:00
Chris Lattner 827c2a1d7c Demolish explicit source list
llvm-svn: 375
2001-08-27 05:18:35 +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 6b99609e1f Add another TODO: sigh
llvm-svn: 373
2001-08-27 05:17:20 +00:00
Chris Lattner 2c1a98ef08 Lots of new functionality
llvm-svn: 372
2001-08-27 05:16:50 +00:00
Chris Lattner f04f646c1b Remove explicit source list
llvm-svn: 371
2001-08-25 20:40:32 +00:00
Vikram S. Adve e3590a93e9 Add dependence to libvmcore.
llvm-svn: 370
2001-08-25 12:43:25 +00:00
Chris Lattner 439465583a Make sure noone branches to the entry node of the method
llvm-svn: 369
2001-08-24 14:56:34 +00:00
Chris Lattner addc6258cd Compile LLI
llvm-svn: 368
2001-08-23 17:09:06 +00:00
Chris Lattner 7e0eec9a85 Rename start methods to main so interpreter works easier
llvm-svn: 367
2001-08-23 17:08:51 +00:00
Chris Lattner 3885a2db4f Add annotation support
llvm-svn: 366
2001-08-23 17:07:56 +00:00
Chris Lattner a0484c8eeb Handle case where there is no exit node from a flowgraph
llvm-svn: 365
2001-08-23 17:07:19 +00:00
Chris Lattner 01a45c6c96 Changed an assertion message
llvm-svn: 364
2001-08-23 17:06:38 +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
Chris Lattner d7ff578767 Initial checkin of interpreter
llvm-svn: 361
2001-08-23 17:05:04 +00:00
Ruchira Sasanka 11e97b08f0 LV code on machine instructions
llvm-svn: 360
2001-08-20 21:12:49 +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 1700068262 Always set isDef for operand in position resultPos.
llvm-svn: 357
2001-08-13 16:32:45 +00:00
Ruchira Sasanka 6dec5fe042 Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the
result position is a def (i.e., added true to the end of call) -- Ruchira

llvm-svn: 356
2001-08-13 16:26:28 +00:00
Ruchira Sasanka 20429a47e5 Changed case 64 to make the first arg of phi a defintion
llvm-svn: 355
2001-08-13 16:24:01 +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