Commit Graph

567 Commits

Author SHA1 Message Date
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
Chris Lattner
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
Chris Lattner
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
Chris Lattner
1fddfd18ab Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@560 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:46:34 +00:00
Chris Lattner
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
Chris Lattner
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
Chris Lattner
d8dc93d0ac Updates to use local header files.
Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@557 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:33:32 +00:00
Chris Lattner
b312259842 Export the instruction forest support from the analysis library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@556 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:42 +00:00
Chris Lattner
e710047854 Initial instruction tree support for the analysis library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@555 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:26 +00:00
Chris Lattner
07ea7d7f7e Generic k-way tree support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@554 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:01 +00:00
Chris Lattner
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
Chris Lattner
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
Chris Lattner
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
Chris Lattner
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
Chris Lattner
974e73a086 Remove irrelevant gross K&R Cisms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@549 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:13:38 +00:00
Chris Lattner
69f8ce051e Handle subtract in expression classifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@548 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 04:27:34 +00:00
Chris Lattner
871ffd7a2e Disable destructors on constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@547 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 04:27:19 +00:00
Chris Lattner
e93cdce4c9 Use the correct style casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@546 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:12:04 +00:00
Chris Lattner
ca24d381e7 Use correct style casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@545 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:44 +00:00
Chris Lattner
243f1f7315 Use correct style casts
Types are not all constant now


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@544 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:28 +00:00
Chris Lattner
c4e09ec453 Use type checking predicates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@543 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:10:26 +00:00
Chris Lattner
79a4aeb61c Use correct casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@542 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:10:02 +00:00
Chris Lattner
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
Chris Lattner
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
Chris Lattner
b64e774ce5 ModuleTyID doesn't exist anyymore
Use correct cast


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@539 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:08 +00:00
Chris Lattner
1767edd983 getMethodType is now just getType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@538 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:52 +00:00
Chris Lattner
b0e4523624 Add support for printing globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@537 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:19 +00:00
Chris Lattner
b2d22f6dce Update to use correct type cast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@536 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:08 +00:00
Chris Lattner
fad0d4f1d4 Add support for global variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@535 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:07:57 +00:00
Chris Lattner
74f4a766c4 * Add capability of printing out a global variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@534 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:06:47 +00:00
Chris Lattner
be07811cd0 * Method::getType should return type cast as MethodType, eliminate getMethodType
* Make Type::*Ty not be const types
* Add a new Type.def file to provide info about types
* Add a full complement of casting methods to the Type class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@533 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:06:17 +00:00
Chris Lattner
746e0014a6 Update assertion to allow extra case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@532 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:02:12 +00:00
Chris Lattner
b221a76386 Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@531 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 19:43:38 +00:00
Chris Lattner
70cc3397f8 Implement global variable support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@530 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 07:58:01 +00:00
Chris Lattner
7720c8e1a7 Add support for external methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@529 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:50:17 +00:00
Chris Lattner
365a76e46e Genericize support for calling functions a bit
Add external method support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@528 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:49:44 +00:00
Chris Lattner
49f2b9470e Add support for tool specified linker options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@527 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:49:26 +00:00
Chris Lattner
2a7eb23091 Remove the definitions of 3 global functions that don't belong in the core
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@526 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:02:07 +00:00
Chris Lattner
52bdd8aaa3 Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally. Remove the two support functions to inline their contents.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@525 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:01:47 +00:00
Chris Lattner
990f2a5a1a Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@524 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:01:32 +00:00
Chris Lattner
85cdba3bb6 Remove 3 gross global functions that don't belong here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@523 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:00:59 +00:00
Chris Lattner
74c2b7633f Rename contype to subtype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@522 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:58 +00:00
Chris Lattner
b8259dd93c Make ADCE more robust, it still has problems, but it's getting closer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@521 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:47 +00:00