Commit Graph

94637 Commits

Author SHA1 Message Date
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