Commit Graph

659 Commits

Author SHA1 Message Date
Vikram S. Adve
4c31fb5fbb Don't add instructions to subtree for Phi or Call.
Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@612 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:54:27 +00:00
Vikram S. Adve
fe30f1f664 Format file header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@611 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:52:03 +00:00
Vikram S. Adve
f0ba28045f Add new entry/exit edges when removing delay slot nodes from the graph.
Renamed some header files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@610 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:51:38 +00:00
Vikram S. Adve
8b6d245693 Moved erase edge functions to class SchedGraph.
Add new dummy edges when deleting existing edges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@609 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:50:40 +00:00
Vikram S. Adve
851d44c522 Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@608 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:39 +00:00
Vikram S. Adve
f0b6d7960c Moved erase-edge functions from SchedGraphNode to SchedGraph.
Renamed some header files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@607 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:26 +00:00
Vikram S. Adve
5efa3ccbd1 Moved DebugValue to Value.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@606 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:48:16 +00:00
Vikram S. Adve
bb6a8c0849 Added debugging support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@605 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:44:41 +00:00
Vikram S. Adve
8f3f5a87f9 Moved debugging interfaces for class Value to Value.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@604 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:43:15 +00:00
Vikram S. Adve
4bc86976bb Minor fixes: renamed target machine files; fold sched info into TargetMachine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@603 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:41:43 +00:00
Vikram S. Adve
a578a6d054 Make class TargetMachine the common interface to all target-dependent
information, including instr, sched, and reg information.
Rename files to match the primary classes they provide.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@602 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:38:31 +00:00
Vikram S. Adve
0b5787ace8 Added debugging support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@601 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:23:40 +00:00
Chris Lattner
ead19d51ba Fix testcases to handle new syntax for construction and initializeation
Test constants


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@600 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:38:50 +00:00
Chris Lattner
7f5ef148b0 Remove the unsized array constraint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@599 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:38:32 +00:00
Chris Lattner
d70684f758 Add support for global constants, and for initializers for constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@598 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:01:05 +00:00
Chris Lattner
1781acab34 Add support for global constants, and for initializers for constants
Clean up parser somewhat by factoring out freeing of ID's into setname function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@597 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:00:54 +00:00
Ruchira Sasanka
475253b430 added a method to get reg num after register allocation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@596 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 21:11:48 +00:00
Ruchira Sasanka
6b0a8b5b1a modified machine code printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@595 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 21:11:11 +00:00
Ruchira Sasanka
427a527311 -modified machine operand class - took regNum out of union to set regNum after
retister allocation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@594 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 20:16:41 +00:00
Ruchira Sasanka
866f1385b4 modified printing of debug messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@593 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:11:31 +00:00
Ruchira Sasanka
6053b9337b --added methods for printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@592 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:08:41 +00:00
Ruchira Sasanka
ed8f674b9a added setRegForValue to MachineOperand class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@591 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:07:45 +00:00
Ruchira Sasanka
0931a01f57 fixed printing messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@590 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:06:58 +00:00
Ruchira Sasanka
4d0d632927 -- debug messages dissabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@589 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
c5258a4210 added reg alloc support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@588 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:34:31 +00:00
Ruchira Sasanka
1bf6d645cd --reg alloc code added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@587 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
1f3b29fc72 -reg alloc code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@586 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:31:44 +00:00
Ruchira Sasanka
e38bd53361 added register allocation code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@585 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:30:44 +00:00
Ruchira Sasanka
a5c5abc81b Added regalloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@584 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:28:37 +00:00
Chris Lattner
43c6dfea25 Oops, accidentally checked my debugging makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@583 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 23:21:08 +00:00
Chris Lattner
e4d71a1e18 Fix a bug with not removing method level types after compilation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@582 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 22:03:42 +00:00
Ruchira Sasanka
1506aef6d4 added RegAlloc Directory to DIRS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@581 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:28:17 +00:00
Ruchira Sasanka
8e6047920d *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@580 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:18:34 +00:00
Ruchira Sasanka
94d86e9677 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@579 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:31:39 +00:00
Chris Lattner
f24ce2a600 Remove invalid testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@578 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:30:58 +00:00
Chris Lattner
a229b0685f Remove invalid testcase. Unneccesary anyways
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@577 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:28:57 +00:00
Chris Lattner
808b9b6cdf Add new test cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@576 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:03:04 +00:00
Chris Lattner
7163447b9d Add support for loading and storing pointers...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@575 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:00:02 +00:00
Chris Lattner
ffe335ace1 Fix a bug that caused a crash if a setcc had zero uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@574 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 18:29:28 +00:00
Chris Lattner
c0c77083ba Add a forward decl, oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@573 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 17:55:51 +00:00
Chris Lattner
46cbff625e Chris seems fond of #include <vector>. Fix these. Also convert use list in
Value to a vector instead of a list.

Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@572 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:56:32 +00:00
Chris Lattner
78a81a24e1 Add a comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@571 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:08:12 +00:00
Chris Lattner
7c94f9dc96 Minor reformatting, & protection fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@570 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:08:06 +00:00
Chris Lattner
c7634618ca Break scheduling infrastructure out of TargetMachine.cpp into SchedInfo.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@569 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 15:43:58 +00:00
Chris Lattner
5f3c2e566f Split Register specific stuff out from TargetMachine.h to RegInfo.h
Get rid of unneccesary #includes from TargetMachine.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@568 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 06:20:10 +00:00
Chris Lattner
e5bc8b0653 Split Target/Machine.h into three files:
* Machine.h
* InstInfo.h
* SchedInfo.h

TODO: Split out reg info stuff


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@567 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 06:08:03 +00:00
Chris Lattner
b26bcc5087 Make a new llvm/Target #include directory.
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 05:34:53 +00:00
Chris Lattner
f6e0e28135 Checkin changes to:
1. Clean up the TargetMachine structure.  No more wierd pointers that have to
   be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument.  The same
   should be done with the instinfo, it just isn't now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@565 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:55 +00:00
Chris Lattner
69db8da023 Checkin changes to:
1. Clean up the TargetMachine structure.  No more wierd pointers that have to
   be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument.  The same
   should be done with the instinfo, it just isn't now.
3. Sparc.h is now just a factory method.  Eventually this file will dissapear,
   but probably not until we have more than one backend.  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@564 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:38 +00:00
Chris Lattner
c6495eeef6 Move files to new sparc directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@563 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:56:45 +00:00