Vikram S. Adve
24084be5f2
Extensive additions for supporting instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@398 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:10:41 +00:00
Vikram S. Adve
bf24233691
Added class MachineSchedInfo and several supporting classes
...
as a machine description for instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@397 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:09:36 +00:00
Vikram S. Adve
0e1158f340
Implementation of instruction scheduling for LLVM.
...
Currently schedules one basic block at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@396 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:07:19 +00:00
Vikram S. Adve
37866b3437
Class that encapsulates priority heuristics for instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@395 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:49 +00:00
Vikram S. Adve
78ef1392f3
Scheduling DAG for instruction scheduling. Currently for a single basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@394 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:02 +00:00
Vikram S. Adve
89df1ae2c3
Moved debug options declaration to header file, and moved
...
a function to MachineInstr.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@393 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:04:38 +00:00
Vikram S. Adve
5b79591450
Moved function PrintMachineInstructions here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@392 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:02:39 +00:00
Vikram S. Adve
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@391 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:36:35 +00:00
Vikram S. Adve
402ace79fc
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@390 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:35:21 +00:00
Chris Lattner
9ff64a8c63
I suck
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@385 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 18:54:45 +00:00
Chris Lattner
e7fb36030b
Initial checkin of TargetData code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@384 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 16:00:15 +00:00
Chris Lattner
e37dbf843d
Remove target specific stuff from Type classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@383 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:52:13 +00:00
Chris Lattner
b5d2f1db8c
Remove target specific method from MemAccessInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@382 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:43 +00:00
Chris Lattner
e3860e5be5
Convert to use the new factored out TargetData class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@381 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:16 +00:00
Chris Lattner
3a13c7e56f
Factor code out to the TargetData class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@380 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:50:41 +00:00
Chris Lattner
da8f004cdb
Support passing a data pointer to annotation factory methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@376 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:19:10 +00:00
Chris Lattner
be88fd03e6
Demolish explicit source list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:18:35 +00:00
Chris Lattner
86660981e1
Lots of new functionality
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:16:50 +00:00
Chris Lattner
d6075728d2
Remove explicit source list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-25 20:40:32 +00:00
Chris Lattner
1b5499bbb8
Make sure noone branches to the entry node of the method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-24 14:56:34 +00:00
Chris Lattner
8dc89a330c
Add annotation support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:07:56 +00:00
Chris Lattner
384e5b1595
Handle case where there is no exit node from a flowgraph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:07:19 +00:00
Chris Lattner
9407be443e
Changed an assertion message
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:06:38 +00:00
Chris Lattner
92101acd7f
Initial checkin of interpreter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:05:04 +00:00
Ruchira Sasanka
e27c344b56
LV code on machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-20 21:12:49 +00:00
Ruchira Sasanka
9166181257
LV info on machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-20 21:11:01 +00:00
Vikram S. Adve
149977b48a
Always set isDef for operand in position resultPos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:32:45 +00:00
Ruchira Sasanka
b0cdcda42a
Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the
...
result position is a def (i.e., added true to the end of call) -- Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:26:28 +00:00
Ruchira Sasanka
81cb20775a
Changed case 64 to make the first arg of phi a defintion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:24:01 +00:00
Ruchira Sasanka
0b03c6a492
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
45c171ee25
added a default isDef arg to SetMachineOperand method - Ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 20:16:52 +00:00
Vikram S. Adve
98a9c979e2
Add CC operand as 4th operand of SUBcc, and mark it as a def.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 21:06:10 +00:00
Vikram S. Adve
0fae90e3a2
Also, move burg rule to Makefile.common.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 19:06:56 +00:00
Vikram S. Adve
811aad97c1
Better still, lets move pathname for Burg to Makefile.common.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@344 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 19:01:45 +00:00
Vikram S. Adve
735c4ce808
Use full pathname for burg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 18:53:26 +00:00
Vikram S. Adve
960066ad75
Simplify command line options, and add option for printing
...
machine instructions without debugging info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:53:25 +00:00
Vikram S. Adve
769939dbde
Added tree nodes for Phi instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:50:29 +00:00
Vikram S. Adve
e4e77f9efc
Generate tree nodes for Phi instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:53 +00:00
Vikram S. Adve
1885da4f49
Allow machine instructions with variable numbers of arguments.
...
This is used only by Phi for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:28 +00:00
Vikram S. Adve
74f4a130d2
Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:46:57 +00:00
Vikram S. Adve
76d3520f3e
Record machine instructions in the vector for each basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:48:43 +00:00
Vikram S. Adve
b63933975f
Added vector of machine instructions for the basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:47:24 +00:00
Chris Lattner
ca112b361e
Remove some gross stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:53 +00:00
Chris Lattner
3868521e22
Allow vararg method types with 0 fixed types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:35 +00:00
Chris Lattner
36e4b8aec4
Make error msg nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:14 +00:00
Chris Lattner
ee7cb29866
Enable the elimination of method prototypes that are not referenced
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:51:49 +00:00
Chris Lattner
7c5014767f
* Make sure that the size of the type field can also control the output
...
instruction pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:51:21 +00:00
Chris Lattner
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@323 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:50:18 +00:00
Chris Lattner
81e29632f7
* Fix bugs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@322 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:49:02 +00:00
Chris Lattner
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:48:55 +00:00