Commit Graph

  • c0f483d4ef Annotations are const objects now Chris Lattner 2001-09-07 16:44:01 +00:00
  • 13b1f0cb4b Types and constants are wierd things in symbol tables now Chris Lattner 2001-09-07 16:43:50 +00:00
  • b70d82fb39 * Eliminate reference to ConstantPool class * Constants are global objects that are not allocated or freed Chris Lattner 2001-09-07 16:43:22 +00:00
  • 78721d5418 Constant pool is dead Chris Lattner 2001-09-07 16:42:51 +00:00
  • 7365745546 Constants are now global unique objects Chris Lattner 2001-09-07 16:42:26 +00:00
  • 2f11a9ded3 * Eliminate constant pool dependancies: * Eliminate DoRemoveUnusedConstants Chris Lattner 2001-09-07 16:42:08 +00:00
  • 9b644cc627 * 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) Chris Lattner 2001-09-07 16:41:30 +00:00
  • 311611079b * Support global constants * Eliminate need for constant pool Chris Lattner 2001-09-07 16:40:34 +00:00
  • 97b7311e9f annotations are now const Chris Lattner 2001-09-07 16:40:04 +00:00
  • e8fdde179d * 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 Chris Lattner 2001-09-07 16:39:41 +00:00
  • 1d670cc402 * 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 Chris Lattner 2001-09-07 16:37:43 +00:00
  • 007377f381 * Assembly writer is not a module analyzer anymore * There is no constant pool anymore Chris Lattner 2001-09-07 16:36:04 +00:00
  • 30c8979bcb * 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 Chris Lattner 2001-09-07 16:35:17 +00:00
  • eb5ff8d517 Add support for forward referencing types Chris Lattner 2001-09-07 16:33:01 +00:00
  • e1fe875fc2 Add support for an opaque type Chris Lattner 2001-09-07 16:32:43 +00:00
  • 85b0bb175f Remove #include of nonexistant header file Chris Lattner 2001-09-07 16:32:10 +00:00
  • 9a29790a6b * 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 Chris Lattner 2001-09-07 16:31:52 +00:00
  • 5485bbe0f6 Module analyzer no longer has to iterate over constant pool Chris Lattner 2001-09-07 16:31:23 +00:00
  • 8e195e02fe Simplify code by eliminating need to hang onto constant pool references Chris Lattner 2001-09-07 16:31:04 +00:00
  • 643afb3b01 * Fixed mapped_iterator to actually work with functors * Implement mapto function that works like map in a functional programming language Chris Lattner 2001-09-07 16:30:28 +00:00
  • e05281537f Constant pools no longer exist Chris Lattner 2001-09-07 16:29:55 +00:00
  • 9152a47906 Eliminate DoConstantPoolMerging. ConstantPools no longer exist Chris Lattner 2001-09-07 16:29:40 +00:00
  • 539a4bf4b5 You no longer have to delete constants! They are located in a global constant pool instead of in local ones. Chris Lattner 2001-09-07 16:29:18 +00:00
  • 5f30d24175 Annotations are now passed around as const objects Chris Lattner 2001-09-07 16:28:25 +00:00
  • 368216420a Use a deque instead of a vector for greater efficiency writing bytecode Chris Lattner 2001-09-07 16:27:49 +00:00
  • 740611a034 Clean stuff up. Types are not named, they are described Chris Lattner 2001-09-07 16:27:25 +00:00
  • 4c4007b3df Simplify SlotCalculator. SlotCalculator is now not a ModuleAnalyzer Chris Lattner 2001-09-07 16:27:05 +00:00
  • d5bbe381b9 Simplify analyzer Chris Lattner 2001-09-07 16:26:36 +00:00
  • b12dcd1c30 * Fix long standing problems that would affect inlining. How could this have worked? * Update to new setName interface Chris Lattner 2001-09-07 16:26:13 +00:00
  • 118630d924 Add assertion to check for alloca [int] for example Chris Lattner 2001-09-07 16:25:42 +00:00
  • 9d3e9f93e5 * Values are AbstactTypeUsers to support abstract types * SetName now takes extra parameter to support naming types and constants without handles Chris Lattner 2001-09-07 16:25:23 +00:00
  • d964e56a92 Remove extra whitespace at EOL Chris Lattner 2001-09-07 16:24:35 +00:00
  • a797d28333 * 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 Chris Lattner 2001-09-07 16:23:59 +00:00
  • 46b23d92e3 Support abstract types by keeping on the use list of the abstract type. Chris Lattner 2001-09-07 16:21:36 +00:00
  • 810affe049 SymTabValues no longer hold constant pools Chris Lattner 2001-09-07 16:21:04 +00:00
  • 640040e1cf SymTabValue no longer includes ValueHolder for Module. Include it ourself Chris Lattner 2001-09-07 16:20:46 +00:00
  • f7bd639290 * Support new setName interface * Make the iterator a little nicer Chris Lattner 2001-09-07 16:20:18 +00:00
  • be4c4001f4 Support new setName interface Chris Lattner 2001-09-07 16:19:55 +00:00
  • 2cac6d2ef4 * Add new DerivedType base class that goes between Type and the derived types * Implement abstract types * Add new Opaque derived type Chris Lattner 2001-09-07 16:19:29 +00:00
  • 3e22bed211 Implement support for globally unique constants. Constants no longer live in a module or method local pool, they are global to the llvm system. Chris Lattner 2001-09-07 16:18:19 +00:00
  • 20b0010030 Add support for walking type graphs Chris Lattner 2001-09-07 16:17:24 +00:00
  • 2cb0722c00 Changing setName semantics Chris Lattner 2001-09-07 16:16:57 +00:00
  • 53aaefe18a Make annotations operations const with a mutable annotation list so that we can annotate Types. A better solution would be make types nonconst. Chris Lattner 2001-09-07 16:16:35 +00:00
  • 1b6e1fca14 Fixed the "output constant pool even if he have no constants" issue Chris Lattner 2001-09-07 16:13:58 +00:00
  • 643ecd4387 whoo hoo I did something! :) Chris Lattner 2001-09-07 16:10:35 +00:00
  • 98af669fb9 Make fib be more real Chris Lattner 2001-09-01 01:47:52 +00:00
  • f2a6477aee *** empty log message *** Ruchira Sasanka 2001-08-31 20:59:58 +00:00
  • 33b6e9f48b *** empty log message *** Ruchira Sasanka 2001-08-31 20:30:42 +00:00
  • 0e4fda3c1a Added directory LiveVar/ Vikram S. Adve 2001-08-28 23:29:31 +00:00
  • c34b88fd13 Makefile for tools/tests/ Vikram S. Adve 2001-08-28 23:28:25 +00:00
  • 0eca9ed813 Driver to test IsPowerOf2. Could be extended for other library routines. Vikram S. Adve 2001-08-28 23:28:10 +00:00
  • 5b7d0bf988 Add testcodegen target, and restrict which tests are run for it. Vikram S. Adve 2001-08-28 23:26:44 +00:00
  • 840f53ae8e Added nonterminals for arithmetic operations where one operand is constant. Vikram S. Adve 2001-08-28 23:25:46 +00:00
  • e595ba7631 Changed link line. Vikram S. Adve 2001-08-28 23:23:35 +00:00
  • 14335835f1 Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA(). Vikram S. Adve 2001-08-28 23:23:14 +00:00
  • 59e3b8220a Makefile for InstrSched/ Vikram S. Adve 2001-08-28 23:17:22 +00:00
  • 3b4d062eb3 Remove source list. Vikram S. Adve 2001-08-28 23:16:59 +00:00
  • 4c182bf16f Added directory InstrSched. Vikram S. Adve 2001-08-28 23:16:13 +00:00
  • d4228a5066 Major changes too hard to document :-) Vikram S. Adve 2001-08-28 23:12:57 +00:00
  • 136c9f4062 Added function MachineInstr::operandIsDefined(i) and decl for function PrintMachineInstructions. Vikram S. Adve 2001-08-28 23:11:46 +00:00
  • 24084be5f2 Extensive additions for supporting instruction scheduling. Vikram S. Adve 2001-08-28 23:10:41 +00:00
  • bf24233691 Added class MachineSchedInfo and several supporting classes as a machine description for instruction scheduling. Vikram S. Adve 2001-08-28 23:09:36 +00:00
  • 0e1158f340 Implementation of instruction scheduling for LLVM. Currently schedules one basic block at a time. Vikram S. Adve 2001-08-28 23:07:19 +00:00
  • 37866b3437 Class that encapsulates priority heuristics for instruction scheduling. Vikram S. Adve 2001-08-28 23:06:49 +00:00
  • 78ef1392f3 Scheduling DAG for instruction scheduling. Currently for a single basic block. Vikram S. Adve 2001-08-28 23:06:02 +00:00
  • 89df1ae2c3 Moved debug options declaration to header file, and moved a function to MachineInstr.cpp. Vikram S. Adve 2001-08-28 23:04:38 +00:00
  • 5b79591450 Moved function PrintMachineInstructions here. Vikram S. Adve 2001-08-28 23:02:39 +00:00
  • 8b5f6cc0a4 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). Vikram S. Adve 2001-08-28 22:36:35 +00:00
  • 402ace79fc *** empty log message *** Vikram S. Adve 2001-08-28 22:35:21 +00:00
  • 71fc67c4b1 Simplification transformations to normalize the code for later passes. Vikram S. Adve 2001-08-28 21:40:27 +00:00
  • 81cd1e50ec Use const int instead of #define. Vikram S. Adve 2001-08-28 21:35:26 +00:00
  • 9827c6e315 Add copy and assignment operators for POIterator, and static constructors. Vikram S. Adve 2001-08-28 21:34:56 +00:00
  • d9151962df Added InstrSched library to link line. Vikram S. Adve 2001-08-28 21:33:33 +00:00
  • 9ff64a8c63 I suck Chris Lattner 2001-08-27 18:54:45 +00:00
  • e7fb36030b Initial checkin of TargetData code Chris Lattner 2001-08-27 16:00:15 +00:00
  • e37dbf843d Remove target specific stuff from Type classes Chris Lattner 2001-08-27 15:52:13 +00:00
  • b5d2f1db8c Remove target specific method from MemAccessInst class Chris Lattner 2001-08-27 15:51:43 +00:00
  • e3860e5be5 Convert to use the new factored out TargetData class Chris Lattner 2001-08-27 15:51:16 +00:00
  • 3a13c7e56f Factor code out to the TargetData class Chris Lattner 2001-08-27 15:50:41 +00:00
  • fed72d5973 Use the new TargetData class to factor out some of the shared code between the static compilers and the interpreter. Chris Lattner 2001-08-27 15:50:12 +00:00
  • 4647b1c3be Remove target specific method. Chris Lattner 2001-08-27 15:49:36 +00:00
  • 231022954f Remove target specific code, move to TargetData.cpp file Chris Lattner 2001-08-27 15:49:16 +00:00
  • da8f004cdb Support passing a data pointer to annotation factory methods Chris Lattner 2001-08-27 05:19:10 +00:00
  • be88fd03e6 Demolish explicit source list Chris Lattner 2001-08-27 05:18:35 +00:00
  • a0facd063b Extend annotations to pass data pointers around to the functions Chris Lattner 2001-08-27 05:17:47 +00:00
  • 491bff495f Add another TODO: sigh Chris Lattner 2001-08-27 05:17:20 +00:00
  • 86660981e1 Lots of new functionality Chris Lattner 2001-08-27 05:16:50 +00:00
  • d6075728d2 Remove explicit source list Chris Lattner 2001-08-25 20:40:32 +00:00
  • 989bfcf387 Add dependence to libvmcore. Vikram S. Adve 2001-08-25 12:43:25 +00:00
  • 1b5499bbb8 Make sure noone branches to the entry node of the method Chris Lattner 2001-08-24 14:56:34 +00:00
  • 766403276f Compile LLI Chris Lattner 2001-08-23 17:09:06 +00:00
  • 1a42c342c2 Rename start methods to main so interpreter works easier Chris Lattner 2001-08-23 17:08:51 +00:00
  • 8dc89a330c Add annotation support Chris Lattner 2001-08-23 17:07:56 +00:00
  • 384e5b1595 Handle case where there is no exit node from a flowgraph Chris Lattner 2001-08-23 17:07:19 +00:00
  • 9407be443e Changed an assertion message Chris Lattner 2001-08-23 17:06:38 +00:00
  • cda67e5086 Add annotation support to value Chris Lattner 2001-08-23 17:06:21 +00:00
  • bd8364aed7 * Add assertions * Add a nodeVisited method to the DF interator Chris Lattner 2001-08-23 17:05:59 +00:00
  • 92101acd7f Initial checkin of interpreter Chris Lattner 2001-08-23 17:05:04 +00:00
  • e27c344b56 LV code on machine instructions Ruchira Sasanka 2001-08-20 21:12:49 +00:00
  • 9166181257 LV info on machine instructions Ruchira Sasanka 2001-08-20 21:11:01 +00:00