Commit Graph

21532 Commits

Author SHA1 Message Date
921b5e1471 Don't check for null on delete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@624 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:02:42 +00:00
e6cbbfeead Renamed files to match the primary classes they provide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@620 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:10:05 +00:00
f1adecc7c7 Renamed a header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@619 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:04:53 +00:00
339084b908 Make class TargetMachine the common interface to all target-dependent
information, including instr, sched, and reg information.
This allows us to allocate them all in one place and use them much
more uniformly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@618 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:04:24 +00:00
243dd45820 Allow pointer constants as well as integer and booleans.
Skip over list nodes in ForwardOperand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@617 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:03:13 +00:00
0fb498017a 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.
Commented out call to register allocation until more tests run correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@616 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:01:29 +00:00
0799fc479a Renamed files to match the main classes they provide.
Some other minor changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@615 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:58:33 +00:00
137f7202c7 Cast unsigned to int! It was causing a nice little bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@614 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:57:39 +00:00
6e44718192 Minor changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@613 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:56:28 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
f6374bfd69 Move the sparc target to a new lib/Target directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@562 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:55:11 +00:00
20b1ea0c98 Move files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@561 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:47:57 +00:00
0e6530ee1b This checkin represents some cleanup of the backend, implementing the following things:
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory.  The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@559 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:52 +00:00
0811f76860 This checkin represents some cleanup of the backend, implementing the following things:
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory.  The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.


NOTE! The BBLiveVar.cpp file dependant on the Sparc backend, and is therefore not generic/portale to other backends.  This needs to be fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@558 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:22 +00:00
5f6baf78ea More cleanups, preparing to revamp InstrForest to, among other things,
not leak all its allocated memory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@553 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 16:34:03 +00:00
4ddb4c82d7 * Clean up InstrForest
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)

begin
        seteq int *%x, %y
        ret void
end


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@552 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 01:28:49 +00:00
d268ad6e2e Eliminate 'BasicNode' from InstrForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@551 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:52:11 +00:00
c2a2396e17 Eliminate MainTreeNode function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@550 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:22:43 +00:00
1a4f8ae3c8 Use predicate for Value type test
Use builtin casts


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@541 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:50 +00:00
919758563d Use predicate for Value type test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@540 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:28 +00:00
2e5309304a I really don't like it when people break the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@510 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 19:41:52 +00:00
7cd2ca13c1 Committed for compliation. Not yet final.
--Ruchira


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@505 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 14:22:50 +00:00
c7136d2b09 --Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@504 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 14:10:34 +00:00
15dedbc585 Remove unneeded #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@489 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:22:28 +00:00