Commit Graph

179853 Commits

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