Vikram S. Adve
fee93865d6
Sparc-specific code shared between local files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@864 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:03:20 +00:00
Vikram S. Adve
4df35a2ce3
Moved implementation of class UltraSparcInstrInfo to SparcInstrInfo.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@863 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:02:32 +00:00
Vikram S. Adve
5684c4e2b4
Added virtual function to generate an instruction sequence to
...
load a constant into a register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@862 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:02:06 +00:00
Vikram S. Adve
30764b8366
Moved implementation of class UltraSparcInstrInfo here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@861 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:01:48 +00:00
Vikram S. Adve
6d35326cd5
1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
...
Needs to be bottom up because constant values may be forward-substituted
to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
InstrSelectionSupport.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@859 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 23:57:50 +00:00
Vikram S. Adve
f43e3366ef
Separate VM instruction that generates the instructions that compute a value
...
from the value itself (the one causing an edge) because the latter may be
a temporary used within the instruction sequence for the VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@858 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 23:55:16 +00:00
Vikram S. Adve
85b46d6c6d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@857 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 23:53:16 +00:00
Vikram S. Adve
c811c2ec0b
Only list automatically generated .cpp files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@854 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 12:34:26 +00:00
Ruchira Sasanka
1b732fd0d6
changed debugg message printing - no change to useful code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@850 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 16:34:44 +00:00
Ruchira Sasanka
47c1372e09
No major change - commented some debug code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@849 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:33:55 +00:00
Ruchira Sasanka
92e251cc29
No major change - added some comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@848 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:25:05 +00:00
Ruchira Sasanka
c4d4b76efb
Added support for caller saving
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@847 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:23:19 +00:00
Chris Lattner
f927bb482e
Emit the proper .type declarations to tell the debugger what a function is
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@845 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 19:34:17 +00:00
Chris Lattner
c28f6d6258
Handle abnormal jmpl syntax correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@844 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 19:21:31 +00:00
Chris Lattner
634b352fa6
Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@841 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 18:30:06 +00:00
Chris Lattner
1e23ed7c65
Output to cerr rather than cout so that debug info doesn't mess up assembly generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@840 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 18:15:27 +00:00
Ruchira Sasanka
b8354a8e4f
--added support for implicit operands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@832 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:58:50 +00:00
Ruchira Sasanka
a90e77061d
updated suggesting/coloring of call & return args & implicit operands.
...
Changed added instr to a deque (from a vector)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@831 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:26:38 +00:00
Ruchira Sasanka
cc3ccac238
updated suggesting/coloring of call & return args & implicit operands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@830 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:25:28 +00:00
Ruchira Sasanka
21721b63c3
fixed a coalscing bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@828 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:22:44 +00:00
Chris Lattner
ec0a95f4e4
Be const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@826 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 15:54:43 +00:00
Vikram S. Adve
c025fc1083
Forward operands into implicit uses as well as explicit ones.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@808 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:28:43 +00:00
Vikram S. Adve
137b62ccc8
Two bug fixes that were suppressing some "load-constant-into-register" instrs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@795 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 18:10:33 +00:00
Chris Lattner
aa703203c3
Move the burg file to here. Add .in suffix to indicate that it gets
...
preprocessed before burg gets to it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@794 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 17:26:21 +00:00
Chris Lattner
0714e3bc44
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@793 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 17:25:31 +00:00
Chris Lattner
e369fcbe35
Fix broken #endif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@768 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:54:54 +00:00
Chris Lattner
749655ff8e
* Add #include
...
* Fix #endif problems
* Change to getCalledValue instead of getCalledMethod
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@767 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:54:30 +00:00
Chris Lattner
80c685ff15
* Fix privacy issues on RegToRefVecMap
...
* Fix initialization order problems...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@762 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:51:01 +00:00
Ruchira Sasanka
d33238bb7b
--corrected coalescing test: coalsed only if two are of the same reg class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@729 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:48:18 +00:00
Ruchira Sasanka
c1daae895d
added support for implict operands in machine instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@728 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:47:23 +00:00
Ruchira Sasanka
598641b4ca
--added support for implicit operands in machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@727 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:46:27 +00:00
Vikram S. Adve
a995e6086d
Record implicitRefs for each machine instruction instead of
...
each VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@725 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:23:19 +00:00
Vikram S. Adve
8d0ffa553f
Add graph edges due to implicit refs in each machine instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@724 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:22:45 +00:00
Vikram S. Adve
6db77c55ff
Don't insert useful instructions in delay slot of a RETURN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@721 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:58:11 +00:00
Vikram S. Adve
8557b226f3
Insert code to load constants used as Call or Return arguments.
...
Also, note return value of a Call as an "implicitUse".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@720 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:56:33 +00:00
Vikram S. Adve
a1d14f3555
Machine-independent code generation routines used in instruction
...
selection. These used to live in several different places before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@719 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:50:43 +00:00
Vikram S. Adve
9aba1d3307
Moved code generation support routines to InstrSelectionSupport.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@717 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:49:07 +00:00
Ruchira Sasanka
0e986d7d28
--removed %g regs being allocated - fix later
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@714 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-09 23:36:13 +00:00
Chris Lattner
ef9c23f281
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:53:21 +00:00
Chris Lattner
b00c582b6d
Commit more code over to new cast style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02 03:41:24 +00:00
Chris Lattner
1d87bcf490
Convert more code to use new style casts
...
Eliminate old style casts from value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 20:11:19 +00:00
Chris Lattner
cfe26c930a
Add more support for new style casts
...
Convert more code to use them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 18:26:53 +00:00
Chris Lattner
9636a91649
Add support for new style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 16:18:37 +00:00
Chris Lattner
f0604b84c7
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
...
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:19:53 +00:00
Chris Lattner
39f501ca41
Fix emission of return instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@688 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 02:32:34 +00:00
Vikram S. Adve
4cecdd206e
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".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@683 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 00:12:53 +00:00
Ruchira Sasanka
71939033de
removing phy regaloc - incorrect file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@682 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:52:14 +00:00
Vikram S. Adve
6e64ef4008
Change latency of setuw and setsw to 2 cycles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@681 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:46:57 +00:00
Vikram S. Adve
64c2cedd66
Change ! ( ...== ...) to !=.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@680 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:45:08 +00:00
Vikram S. Adve
c5b4632c27
Bug fixes:
...
(1) Ensure that delay slot instructions are not moved out of place (this
was happening for some CALL instructions). Basically, we need to
move all delay slot instructions out of the graph and handle them
along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
in more than one cycle in a single step (due to delay slots).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@678 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:43:34 +00:00