1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
Commit Graph

358 Commits

Author SHA1 Message Date
Chris Lattner
0dfd40e910 Add support for global constants, and for initializers for constants
Clean up parser somewhat by factoring out freeing of ID's into setname function

llvm-svn: 597
2001-09-18 04:00:54 +00:00
Ruchira Sasanka
f51404a55a modified machine code printing
llvm-svn: 595
2001-09-15 21:11:11 +00:00
Ruchira Sasanka
9517b55411 modified printing of debug messages
llvm-svn: 593
2001-09-15 19:11:31 +00:00
Ruchira Sasanka
ecc5b3b882 --added methods for printing
llvm-svn: 592
2001-09-15 19:08:41 +00:00
Ruchira Sasanka
3706ce9f36 added setRegForValue to MachineOperand class
llvm-svn: 591
2001-09-15 19:07:45 +00:00
Ruchira Sasanka
c1514789f3 fixed printing messages
llvm-svn: 590
2001-09-15 19:06:58 +00:00
Ruchira Sasanka
6807a780c5 -- debug messages dissabled
llvm-svn: 589
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
e0cf66f325 --reg alloc code added
llvm-svn: 587
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
ad27c6876c -reg alloc code
llvm-svn: 586
2001-09-15 00:31:44 +00:00
Ruchira Sasanka
422a5cb539 added register allocation code
llvm-svn: 585
2001-09-15 00:30:44 +00:00
Chris Lattner
fb161a3063 Fix a bug with not removing method level types after compilation
llvm-svn: 582
2001-09-14 22:03:42 +00:00
Ruchira Sasanka
8308fe4dee added RegAlloc Directory to DIRS
llvm-svn: 581
2001-09-14 21:28:17 +00:00
Ruchira Sasanka
e30e83df47 *** empty log message ***
llvm-svn: 580
2001-09-14 21:18:34 +00:00
Ruchira Sasanka
803a63ced2 *** empty log message ***
llvm-svn: 579
2001-09-14 20:31:39 +00:00
Chris Lattner
eb286a8ad2 Add support for loading and storing pointers...
llvm-svn: 575
2001-09-14 20:00:02 +00:00
Chris Lattner
45ab5fc1ae Fix a bug that caused a crash if a setcc had zero uses.
llvm-svn: 574
2001-09-14 18:29:28 +00:00
Chris Lattner
cbf2f72954 Add a forward decl, oops.
llvm-svn: 573
2001-09-14 17:55:51 +00:00
Chris Lattner
d6a98c11bc 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

llvm-svn: 572
2001-09-14 16:56:32 +00:00
Chris Lattner
add21b5643 Add a comment
llvm-svn: 571
2001-09-14 16:08:12 +00:00
Chris Lattner
16dc47075f Break scheduling infrastructure out of TargetMachine.cpp into SchedInfo.cpp
llvm-svn: 569
2001-09-14 15:43:58 +00:00
Chris Lattner
de29307caa Split Target/Machine.h into three files:
* Machine.h
* InstInfo.h
* SchedInfo.h

TODO: Split out reg info stuff
llvm-svn: 567
2001-09-14 06:08:03 +00:00
Chris Lattner
a0a3946882 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

llvm-svn: 566
2001-09-14 05:34:53 +00:00
Chris Lattner
7e70cdb641 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.

llvm-svn: 565
2001-09-14 04:32:55 +00:00
Chris Lattner
33a2812c8a Move files to new sparc directory
llvm-svn: 563
2001-09-14 03:56:45 +00:00
Chris Lattner
2057603b65 Move the sparc target to a new lib/Target directory
llvm-svn: 562
2001-09-14 03:55:11 +00:00
Chris Lattner
1f823b04b3 Move files.
llvm-svn: 561
2001-09-14 03:47:57 +00:00
Chris Lattner
0cf998996e Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc
llvm-svn: 560
2001-09-14 03:46:34 +00:00
Chris Lattner
3e2a85a0e3 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.

llvm-svn: 559
2001-09-14 03:37:52 +00:00
Chris Lattner
9f5d3502c5 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.

llvm-svn: 558
2001-09-14 03:37:22 +00:00
Chris Lattner
aa4e715da3 Updates to use local header files.
Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.

llvm-svn: 557
2001-09-14 03:33:32 +00:00
Chris Lattner
b6e1cc3118 More cleanups, preparing to revamp InstrForest to, among other things,
not leak all its allocated memory.

llvm-svn: 553
2001-09-12 16:34:03 +00:00
Chris Lattner
6ff8e8edce * Clean up InstrForest
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)

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

llvm-svn: 552
2001-09-12 01:28:49 +00:00
Chris Lattner
8cbda4e314 Eliminate 'BasicNode' from InstrForest.
llvm-svn: 551
2001-09-11 23:52:11 +00:00
Chris Lattner
70439801a6 Eliminate MainTreeNode function
llvm-svn: 550
2001-09-11 23:22:43 +00:00
Chris Lattner
2a101815b4 Remove irrelevant gross K&R Cisms
llvm-svn: 549
2001-09-11 23:13:38 +00:00
Chris Lattner
277c7264f6 Handle subtract in expression classifier
llvm-svn: 548
2001-09-11 04:27:34 +00:00
Chris Lattner
836b03a509 Use the correct style casts
llvm-svn: 546
2001-09-10 20:12:04 +00:00
Chris Lattner
ea511697dd Use correct style casts
llvm-svn: 545
2001-09-10 20:11:44 +00:00
Chris Lattner
c5adfbc219 Use correct style casts
Types are not all constant now

llvm-svn: 544
2001-09-10 20:11:28 +00:00
Chris Lattner
2a4122b6b2 Use type checking predicates
llvm-svn: 543
2001-09-10 20:10:26 +00:00
Chris Lattner
9f96643e60 Use correct casts
llvm-svn: 542
2001-09-10 20:10:02 +00:00
Chris Lattner
1ee7b9046f Use predicate for Value type test
Use builtin casts

llvm-svn: 541
2001-09-10 20:09:50 +00:00
Chris Lattner
65f74b8d84 Use predicate for Value type test
llvm-svn: 540
2001-09-10 20:09:28 +00:00
Chris Lattner
00391ca46d ModuleTyID doesn't exist anyymore
Use correct cast

llvm-svn: 539
2001-09-10 20:09:08 +00:00
Chris Lattner
ee86b5f051 getMethodType is now just getType
llvm-svn: 538
2001-09-10 20:08:52 +00:00
Chris Lattner
0631fccc21 Add support for printing globals
llvm-svn: 537
2001-09-10 20:08:19 +00:00
Chris Lattner
7310978a8b Update to use correct type cast
llvm-svn: 536
2001-09-10 20:08:08 +00:00
Chris Lattner
b15a10307e Add support for global variables
llvm-svn: 535
2001-09-10 20:07:57 +00:00
Chris Lattner
52084c119f Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks
llvm-svn: 531
2001-09-10 19:43:38 +00:00
Chris Lattner
9d1629d688 Implement global variable support
llvm-svn: 530
2001-09-10 07:58:01 +00:00
Chris Lattner
3e7417ba99 Add support for external methods
llvm-svn: 529
2001-09-10 04:50:17 +00:00
Chris Lattner
34c9e1a6fb Genericize support for calling functions a bit
Add external method support

llvm-svn: 528
2001-09-10 04:49:44 +00:00
Chris Lattner
0754f2306a Remove the definitions of 3 global functions that don't belong in the core
llvm-svn: 526
2001-09-09 23:02:07 +00:00
Chris Lattner
69a3da6f4d Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally. Remove the two support functions to inline their contents.
llvm-svn: 525
2001-09-09 23:01:47 +00:00
Chris Lattner
3bce6b369a Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.
llvm-svn: 524
2001-09-09 23:01:32 +00:00
Chris Lattner
9985e9db71 Rename contype to subtype
llvm-svn: 522
2001-09-09 22:26:58 +00:00
Chris Lattner
c583ae1a1a Make ADCE more robust, it still has problems, but it's getting closer
llvm-svn: 521
2001-09-09 22:26:47 +00:00
Chris Lattner
d681b883a6 Fix problems with freeing memory twice
llvm-svn: 520
2001-09-09 22:26:29 +00:00
Chris Lattner
4bb7fcff1b Rename file to be consistent with header name
llvm-svn: 519
2001-09-09 21:59:43 +00:00
Chris Lattner
45768e6fe5 Clean up Type class by removing mutable ConstRules member and use annotations insead
llvm-svn: 516
2001-09-09 21:02:38 +00:00
Chris Lattner
91858f96f2 Clean up ConstRules stuff to use annotations instead of a mutable member in Type
llvm-svn: 515
2001-09-09 21:01:20 +00:00
Vikram S. Adve
5458bc59fd Handle cast float-to-float or cast double-to-double.
llvm-svn: 512
2001-09-09 20:35:34 +00:00
Chris Lattner
2e74f6ba1f Fix build breakage. :(
llvm-svn: 511
2001-09-09 19:52:23 +00:00
Chris Lattner
b095aaa8f4 I really don't like it when people break the build.
llvm-svn: 510
2001-09-09 19:41:52 +00:00
Ruchira Sasanka
4f3751ecdd Committed for compliation. Not yet final.
--Ruchira

llvm-svn: 505
2001-09-08 14:22:50 +00:00
Ruchira Sasanka
1c3c6a2fd2 --Ruchira
llvm-svn: 504
2001-09-08 14:10:34 +00:00
Chris Lattner
5e9c4e67c2 Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
llvm-svn: 501
2001-09-07 22:59:25 +00:00
Chris Lattner
74dcfcd89b Updates to work with new lack of constant pool
llvm-svn: 490
2001-09-07 21:22:57 +00:00
Chris Lattner
beefdaad8b Remove unneeded #includes
llvm-svn: 489
2001-09-07 21:22:28 +00:00
Chris Lattner
fd10317614 Remove unnecesary #include add dump calls pulled out of .h file
llvm-svn: 488
2001-09-07 21:21:03 +00:00
Chris Lattner
c1ca76ff89 * Remove lots of #includes
llvm-svn: 487
2001-09-07 21:19:42 +00:00
Chris Lattner
9aac44442d Add tags so emacs knows these are C++ files
llvm-svn: 483
2001-09-07 21:04:20 +00:00
Chris Lattner
9570fbc913 Moved functionality into the other constant pool stuff
llvm-svn: 477
2001-09-07 18:00:19 +00:00
Chris Lattner
e1acc842ba The header file for a translation unit should always be included first
System headers should be last

llvm-svn: 475
2001-09-07 17:18:30 +00:00
Chris Lattner
796e9f8118 A file should always include it's private header file *FIRST* see the
coding guidelines

llvm-svn: 474
2001-09-07 17:15:18 +00:00
Chris Lattner
78c2f4ab17 Annotations are now const
llvm-svn: 470
2001-09-07 16:59:15 +00:00
Chris Lattner
078b48a3f4 Cleanup
llvm-svn: 467
2001-09-07 16:57:29 +00:00
Chris Lattner
1dd250de63 Support abstract types
Remove constant pool support

llvm-svn: 466
2001-09-07 16:57:07 +00:00
Chris Lattner
873e0fdbf9 Support a abstract, opaque, and recursive types
Remove lockty, remove fillerty
Make type lookup more efficient
Support shared generic factory code

llvm-svn: 465
2001-09-07 16:56:42 +00:00
Chris Lattner
daf98ba299 Types and constnats are wierd objects in the symtabs
Support abstract types in symtab

llvm-svn: 464
2001-09-07 16:48:17 +00:00
Chris Lattner
e3a3aa89f3 Modules must have a valid, nonnull type. Make them void
llvm-svn: 463
2001-09-07 16:47:42 +00:00
Chris Lattner
aeaeab832b Support new setName interface
llvm-svn: 462
2001-09-07 16:47:18 +00:00
Chris Lattner
0e510b8267 * Support new setname interface
* Add assertion for sanity checking

llvm-svn: 461
2001-09-07 16:47:03 +00:00
Chris Lattner
9c4eb70eae * Cnstants are now global objects
* ConstantPools no longer exist
* Constants are global objects in the LLVM system
* Constants are structurally equilivant if they are pointer equilivant
* Support abstract & opaque types
* Support setName on constants even though they don't track names
* Constnats don't get copy ctors anymore
* ConstPoolVal::equals is no longer useful [use ptr equivalency]
* Support generic factory classes to create and maintain constants

llvm-svn: 460
2001-09-07 16:46:31 +00:00
Chris Lattner
d2c013e34c Support new setName itf
llvm-svn: 459
2001-09-07 16:44:17 +00:00
Chris Lattner
99e8b0589f Annotations are const objects now
llvm-svn: 458
2001-09-07 16:44:01 +00:00
Chris Lattner
e299925703 Types and constants are wierd things in symbol tables now
llvm-svn: 457
2001-09-07 16:43:50 +00:00
Chris Lattner
b82abeff92 * Eliminate reference to ConstantPool class
* Constants are global objects that are not allocated or freed

llvm-svn: 456
2001-09-07 16:43:22 +00:00
Chris Lattner
797730ca28 Constant pool is dead
llvm-svn: 455
2001-09-07 16:42:51 +00:00
Chris Lattner
4fc1bcadd9 Constants are now global unique objects
llvm-svn: 454
2001-09-07 16:42:26 +00:00
Chris Lattner
eaf4551d57 * Eliminate constant pool dependancies:
* Eliminate DoRemoveUnusedConstants

llvm-svn: 453
2001-09-07 16:42:08 +00:00
Chris Lattner
6a211421bf * Supoprt global constants
* Remove support for local constant pools
* Eliminate constant pool merging method, which is no longer neccesary
* Disable invalid optimization (todo: fix it)

llvm-svn: 452
2001-09-07 16:41:30 +00:00
Chris Lattner
652b08d465 * Support global constants
* Eliminate need for constant pool

llvm-svn: 451
2001-09-07 16:40:34 +00:00
Chris Lattner
caac8de99d annotations are now const
llvm-svn: 450
2001-09-07 16:40:04 +00:00
Chris Lattner
28154ea366 * Emit bytecode using a deque instead of a vector to be faster
* Internal rep no longer has a constant pool
* Support emission of recursive types
* Don't output a constant pool for an external method
* The bytecode writer is no longer a module analyzer

llvm-svn: 449
2001-09-07 16:39:41 +00:00
Chris Lattner
0d073caf6c * Remove support for internal constant pool
* Support globally unique constants
* Support recursive and forward referenced types
* Support abstract types
* Add new BCR_TRACE macro to enable debugging of why the bytecode reader
  occasionally refuses to read something

llvm-svn: 448
2001-09-07 16:37:43 +00:00
Chris Lattner
c189163d03 * Assembly writer is not a module analyzer anymore
* There is no constant pool anymore

llvm-svn: 447
2001-09-07 16:36:04 +00:00
Chris Lattner
b8f60e50f3 * Add support for forward referencing types
* Add support for upreferences for recursive types
* Remove support for ConstantPool.h
* Add support for globally unique Constants
* Add support for the opaque type

llvm-svn: 446
2001-09-07 16:35:17 +00:00
Chris Lattner
1a53e079fd Add support for forward referencing types
llvm-svn: 445
2001-09-07 16:33:01 +00:00
Chris Lattner
f590e0c914 Add support for an opaque type
llvm-svn: 444
2001-09-07 16:32:43 +00:00