Commit Graph

289 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Chris Lattner
e6fdb11e1a Fix problems with freeing memory twice
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@520 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:29 +00:00
Chris Lattner
167ed34a1f Rename file to be consistent with header name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@519 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:59:43 +00:00
Chris Lattner
82072d4743 Clean up Type class by removing mutable ConstRules member and use annotations insead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@516 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:02:38 +00:00
Chris Lattner
14712a6abf Clean up ConstRules stuff to use annotations instead of a mutable member in Type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@515 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:01:20 +00:00
Chris Lattner
78914e772f Convert ConstRules to use annotations to clean it up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@514 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:00:23 +00:00
Vikram S. Adve
9856e0c56b Handle cast float-to-float or cast double-to-double.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@512 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 20:35:34 +00:00
Chris Lattner
56786d268f Fix build breakage. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@511 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 19:52:23 +00:00
Chris Lattner
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
Ruchira Sasanka
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
Ruchira Sasanka
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
Chris Lattner
c9744e7f26 Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@501 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:59:25 +00:00
Chris Lattner
1fa0c09e9d Updates to work with new lack of constant pool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@490 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:22:57 +00:00
Chris Lattner
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
Chris Lattner
c83e954025 Remove unnecesary #include add dump calls pulled out of .h file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@488 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:21:03 +00:00
Chris Lattner
1ff63a1217 * Remove lots of #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@487 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:19:42 +00:00
Chris Lattner
1b40a1bacd Add tags so emacs knows these are C++ files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@483 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:04:20 +00:00
Chris Lattner
a361ba2ca0 Moved functionality into the other constant pool stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@477 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 18:00:19 +00:00
Chris Lattner
822b4fb896 The header file for a translation unit should always be included first
System headers should be last


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@475 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 17:18:30 +00:00
Chris Lattner
feb6059343 A file should always include it's private header file *FIRST* see the
coding guidelines


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@474 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 17:15:18 +00:00
Chris Lattner
454bd1f9a7 Annotations are now const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@470 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:59:15 +00:00