Commit Graph

  • 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
  • cc3a0dbb85 Corrected the compilation error by making the ValOperator class a friend of MachineOperand class - Ruchira Ruchira Sasanka 2001-08-13 16:54:48 +00:00
  • 149977b48a Always set isDef for operand in position resultPos. Vikram S. Adve 2001-08-13 16:32:45 +00:00
  • b0cdcda42a Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the result position is a def (i.e., added true to the end of call) -- Ruchira Ruchira Sasanka 2001-08-13 16:26:28 +00:00
  • 81cb20775a Changed case 64 to make the first arg of phi a defintion Ruchira Sasanka 2001-08-13 16:24:01 +00:00
  • 4f01c1ee99 Can't use ref to stack value! Vikram S. Adve 2001-08-09 20:14:22 +00:00
  • 98f2f8053b Needed old conditions as well as new in skipToNextVal()! Vikram S. Adve 2001-08-09 19:18:33 +00:00
  • 7c02601b58 Bug fix in ValOpIterator: not moving past operand with NULL Value. Vikram S. Adve 2001-08-08 00:15:42 +00:00
  • 0b03c6a492 *** empty log message *** Ruchira Sasanka 2001-08-07 21:01:23 +00:00
  • 45c171ee25 added a default isDef arg to SetMachineOperand method - Ruchira Ruchira Sasanka 2001-08-07 20:16:52 +00:00
  • 773fc471bd Added isDef field to MachineOperand class - Ruchira Ruchira Sasanka 2001-08-07 20:14:30 +00:00
  • 98a9c979e2 Add CC operand as 4th operand of SUBcc, and mark it as a def. Vikram S. Adve 2001-08-06 21:06:10 +00:00
  • 6a0c6d82a9 Use extra operand for instructions that set a CC register that was not explicit before. Vikram S. Adve 2001-08-06 21:05:39 +00:00
  • 0fae90e3a2 Also, move burg rule to Makefile.common. Vikram S. Adve 2001-08-06 19:06:56 +00:00
  • bedbcf65e2 And add rule to create a .cpp source file from burg input file! Vikram S. Adve 2001-08-06 19:06:43 +00:00
  • 811aad97c1 Better still, lets move pathname for Burg to Makefile.common. Vikram S. Adve 2001-08-06 19:01:45 +00:00
  • dba59efd43 Add path and options for burg. Vikram S. Adve 2001-08-06 19:01:20 +00:00
  • 735c4ce808 Use full pathname for burg. Vikram S. Adve 2001-08-06 18:53:26 +00:00
  • 3929cf6779 Allow numOperands of -1 for variable #operands. Vikram S. Adve 2001-07-31 21:55:51 +00:00
  • 960066ad75 Simplify command line options, and add option for printing machine instructions without debugging info. Vikram S. Adve 2001-07-31 21:53:25 +00:00
  • cf8a5f899b Had used the wrong option. Vikram S. Adve 2001-07-31 21:52:28 +00:00
  • 769939dbde Added tree nodes for Phi instructions. Vikram S. Adve 2001-07-31 21:50:29 +00:00
  • e4e77f9efc Generate tree nodes for Phi instructions. Vikram S. Adve 2001-07-31 21:49:53 +00:00
  • 1885da4f49 Allow machine instructions with variable numbers of arguments. This is used only by Phi for now. Vikram S. Adve 2001-07-31 21:49:28 +00:00
  • 0a229ed79a Added dummy Phi instruction. Vikram S. Adve 2001-07-31 21:48:23 +00:00
  • 74f4a130d2 Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg). Vikram S. Adve 2001-07-31 21:46:57 +00:00
  • 35fc0b172e Added support for testing instruction selection on all but 2 tests. Vikram S. Adve 2001-07-31 21:45:56 +00:00
  • f6445837e9 Added class MachineCodeForBasicBlock. Vikram S. Adve 2001-07-30 18:49:07 +00:00
  • 76d3520f3e Record machine instructions in the vector for each basic block. Vikram S. Adve 2001-07-30 18:48:43 +00:00
  • b63933975f Added vector of machine instructions for the basic block. Vikram S. Adve 2001-07-30 18:47:24 +00:00
  • 877fbcd8d7 New test cases Chris Lattner 2001-07-28 18:04:10 +00:00
  • ca112b361e Remove some gross stuff Chris Lattner 2001-07-28 17:52:53 +00:00
  • 3868521e22 Allow vararg method types with 0 fixed types Chris Lattner 2001-07-28 17:52:35 +00:00
  • 36e4b8aec4 Make error msg nicer Chris Lattner 2001-07-28 17:52:14 +00:00
  • ee7cb29866 Enable the elimination of method prototypes that are not referenced Chris Lattner 2001-07-28 17:51:49 +00:00
  • 7c5014767f * Make sure that the size of the type field can also control the output instruction pattern. Chris Lattner 2001-07-28 17:51:21 +00:00
  • 3d3f289eac * Add calls to failure template so that it is actually possible to debug why bytecode parsing is failing. Just put a breakpoint in the failure templates. Chris Lattner 2001-07-28 17:50:18 +00:00
  • 81e29632f7 * Fix bugs Chris Lattner 2001-07-28 17:49:02 +00:00
  • 93750fa4f8 * Enable the use of escaped literal strings * Unresolved variable names now have the correct line number for their error messages * Rename Def* to Value* * Check for symbol table collisions before inserting values * Remove the STRING keyword * Enable the use of string literals to initialize constant arrays * Enable the use of extended constants in more locations: eg ret [int] [4, 5] * Allow method prototypes to appear in the constant pool of the program * Support varargs methods better. Enable varargs methods with 0 fixed arguments * Allow the entire method prototype to optionally be specified in a call inst Chris Lattner 2001-07-28 17:48:55 +00:00
  • 0add2d33e4 Modify var names to make it apparant that the code is really generic Chris Lattner 2001-07-28 17:43:45 +00:00
  • dc693b8965 Changes to make test scripts more reliable Chris Lattner 2001-07-28 17:40:15 +00:00
  • e17303dc9b Add test of string constants Chris Lattner 2001-07-28 17:39:46 +00:00
  • 7d2a2518e8 Added function printIndent. Vikram S. Adve 2001-07-28 04:41:27 +00:00
  • bf2b7e8beb Added a pointer hash function object for use in pointer maps. Vikram S. Adve 2001-07-28 04:41:10 +00:00
  • 8b6821732e Make a function const. Vikram S. Adve 2001-07-28 04:40:15 +00:00
  • 588f14855f Remove lib/LLC library. Vikram S. Adve 2001-07-28 04:39:27 +00:00
  • 670d0abe49 Added several SPARC instructions including conditional move and SETHI. Added MachineInstrInfo class and subclass UltraSparcInstrInfo. Added several fields to MachineInstrDescriptor (and renamed it from MachineInstrInfo). Latency fields are to support scheduling. Vikram S. Adve 2001-07-28 04:26:42 +00:00
  • 2e4d108495 Remove redundant and unused functions. Vikram S. Adve 2001-07-28 04:20:33 +00:00
  • 3c3b713d55 Added UltraSparcInstrInfo class to specialize class MachineInstrInfo. Relevant changes elsewhere: Added MachineInstrInfo class and moved instruction-related members there. Added several fields to MachineInstrDescriptor (and renamed it from MachineInstrInfo. Latency fields are to support scheduling. Vikram S. Adve 2001-07-28 04:19:10 +00:00
  • 9b0b1ec1ec Eliminate unused function. Vikram S. Adve 2001-07-28 04:15:45 +00:00