Commit Graph

56 Commits

Author SHA1 Message Date
Vikram S. Adve
0b1e8f2577 Moved implementation of class UltraSparcInstrInfo here.
llvm-svn: 861
2001-10-18 00:01:48 +00:00
Vikram S. Adve
44769fbb57 Only list automatically generated .cpp files.
llvm-svn: 854
2001-10-17 12:34:26 +00:00
Ruchira Sasanka
26ab9c8e61 Added support for caller saving
llvm-svn: 847
2001-10-16 01:23:19 +00:00
Chris Lattner
4737d9ac3d Emit the proper .type declarations to tell the debugger what a function is
llvm-svn: 845
2001-10-15 19:34:17 +00:00
Chris Lattner
06e9785523 Handle abnormal jmpl syntax correctly
llvm-svn: 844
2001-10-15 19:21:31 +00:00
Chris Lattner
683166c06e Output to cerr rather than cout so that debug info doesn't mess up assembly generation
llvm-svn: 840
2001-10-15 18:15:27 +00:00
Ruchira Sasanka
de15e9b64e updated suggesting/coloring of call & return args & implicit operands
llvm-svn: 830
2001-10-15 16:25:28 +00:00
Chris Lattner
eba2b7cf61 Be const correct
llvm-svn: 826
2001-10-15 15:54:43 +00:00
Vikram S. Adve
54bfbca17f Forward operands into implicit uses as well as explicit ones.
llvm-svn: 808
2001-10-14 23:28:43 +00:00
Vikram S. Adve
45536008e9 Two bug fixes that were suppressing some "load-constant-into-register" instrs.
llvm-svn: 795
2001-10-14 18:10:33 +00:00
Chris Lattner
f1104f9d8a Move the burg file to here. Add .in suffix to indicate that it gets
preprocessed before burg gets to it

llvm-svn: 794
2001-10-14 17:26:21 +00:00
Chris Lattner
23de05d818 Make the sparc.burg file be a little more flexible and rubust in the fact of
renumbering of instructions.  It is still horribly broken and grossly dependant on the number of instructions, but now it is a least a little better.

Oh yeah it also works now.

llvm-svn: 793
2001-10-14 17:25:31 +00:00
Chris Lattner
e479974c19 Fix broken #endif
llvm-svn: 768
2001-10-13 06:54:54 +00:00
Chris Lattner
9fb95b57db * Add #include
* Fix #endif problems
* Change to getCalledValue instead of getCalledMethod

llvm-svn: 767
2001-10-13 06:54:30 +00:00
Vikram S. Adve
cc2f052087 Record implicitRefs for each machine instruction instead of
each VM instruction.

llvm-svn: 725
2001-10-11 04:23:19 +00:00
Vikram S. Adve
2f08c4c828 Insert code to load constants used as Call or Return arguments.
Also, note return value of a Call as an "implicitUse".

llvm-svn: 720
2001-10-10 20:56:33 +00:00
Ruchira Sasanka
b7ab4088e7 --removed %g regs being allocated - fix later
llvm-svn: 714
2001-10-09 23:36:13 +00:00
Chris Lattner
a01eda3091 * Both Method & GlobalVariable now subclass GlobalValue
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion

llvm-svn: 703
2001-10-03 14:53:21 +00:00
Chris Lattner
08b1dde37e Commit more code over to new cast style
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
ad1b0a1a83 Convert more code to use new style casts
Eliminate old style casts from value.h

llvm-svn: 696
2001-10-01 20:11:19 +00:00
Chris Lattner
4c684cde80 Add more support for new style casts
Convert more code to use them

llvm-svn: 695
2001-10-01 18:26:53 +00:00
Chris Lattner
43781f1f96 Add support for new style casts
llvm-svn: 694
2001-10-01 16:18:37 +00:00
Chris Lattner
716c1ac09e Fix emission of return instructions
llvm-svn: 688
2001-10-01 02:32:34 +00:00
Vikram S. Adve
4bdadf3b6f Several fixes:
(1) Avoid hard-coding some register numbers.
(2) Fix some incorrect branch opcodes.
(3) Don't try to move int register to float register!
(4) If an operand being forwarded is a constant and it doesn't fit
    into the immed field of the copy machine instruction, then
    generate a load-constant instead of a copy.
(5) Use (unsigned long) 0 for copying a pointer via "add 0, ptr -> ptr2".

llvm-svn: 683
2001-10-01 00:12:53 +00:00
Vikram S. Adve
5201cd7f93 Change latency of setuw and setsw to 2 cycles.
llvm-svn: 681
2001-09-30 23:46:57 +00:00
Ruchira Sasanka
cfc7b10745 added suggesting color support
llvm-svn: 673
2001-09-30 23:19:57 +00:00
Ruchira Sasanka
897da2bda1 added support for suggesting colors
llvm-svn: 671
2001-09-30 23:16:47 +00:00
Chris Lattner
082a95ea67 * Properly escape function names
* Ignore %xcc argument on conditional branches

llvm-svn: 663
2001-09-28 15:07:24 +00:00
Chris Lattner
5390f15d0b Check in bug fix for vadve
llvm-svn: 662
2001-09-28 15:06:55 +00:00
Ruchira Sasanka
b43f15e73a -- fixed a ret val bug
llvm-svn: 652
2001-09-19 22:40:51 +00:00
Chris Lattner
2635fee3a8 Seperate instruction definitions into new SparcInstr.def file
Move contents of SparcMachineInstrDesc[] out of SparcInternals.h
into Sparc.cpp

llvm-svn: 644
2001-09-19 15:56:23 +00:00
Chris Lattner
14d60a1971 Add EmitAssembly to mf
llvm-svn: 637
2001-09-19 13:48:18 +00:00
Chris Lattner
d30d71f9e1 First cut at assembly output
llvm-svn: 636
2001-09-19 13:47:27 +00:00
Chris Lattner
05d1751f8d Add emitAssemblyMethod to TargetMachine
llvm-svn: 635
2001-09-19 13:47:12 +00:00
Ruchira Sasanka
ee3ad646e2 -- ruchira
llvm-svn: 632
2001-09-18 22:52:44 +00:00
Chris Lattner
30d7546b7d Remove extraneous #includes
llvm-svn: 627
2001-09-18 17:03:48 +00:00
Vikram S. Adve
ef4f0a345c Renamed files to match the primary classes they provide.
llvm-svn: 620
2001-09-18 13:10:05 +00:00
Vikram S. Adve
a163e94412 Renamed a header file.
llvm-svn: 619
2001-09-18 13:04:53 +00:00
Vikram S. Adve
916f962d8b 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.

llvm-svn: 618
2001-09-18 13:04:24 +00:00
Vikram S. Adve
a9b6105720 Allow pointer constants as well as integer and booleans.
Skip over list nodes in ForwardOperand.

llvm-svn: 617
2001-09-18 13:03:13 +00:00
Vikram S. Adve
cfb2776d53 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.

llvm-svn: 616
2001-09-18 13:01:29 +00:00
Vikram S. Adve
bdbc6292fa Renamed files to match the main classes they provide.
Some other minor changes.

llvm-svn: 615
2001-09-18 12:58:33 +00:00
Ruchira Sasanka
9517b55411 modified printing of debug messages
llvm-svn: 593
2001-09-15 19:11:31 +00:00
Ruchira Sasanka
422a5cb539 added register allocation code
llvm-svn: 585
2001-09-15 00:30:44 +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
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