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
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
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
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
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
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
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
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
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
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
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
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
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
e949da5bb1
Improved dump for disp type operand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@679 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:44:19 +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
Vikram S. Adve
4a87b38ba9
Minor changes for bug fixes in SchedGraph.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@677 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:37:26 +00:00
Vikram S. Adve
5316f8fa2f
Two bug fixes:
...
(1) Add edges for Values that are written by multiple m/c instructions
(2) Add edges for LLVM operands that are not machine operands (e.g., Call args)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@676 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:36:58 +00:00
Ruchira Sasanka
ab304c42c2
added suggesting color support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@673 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:19:57 +00:00
Ruchira Sasanka
a5ab9648a8
--added suggesting colors; call/ret arg handling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@670 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:11:59 +00:00
Chris Lattner
3ff4387113
Pull iterators out of CFG.h and CFGdecls and put them in Support directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:56:31 +00:00
Ruchira Sasanka
24fad613ba
-- removed debugging messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@651 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:39:58 +00:00
Ruchira Sasanka
23d95af632
-fixed return value bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@650 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:31:21 +00:00
Chris Lattner
045e7c8434
Change debug info from #define to command line option
...
Clean up extra debug info that wasn't guarded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@647 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:23 +00:00
Chris Lattner
6edcad89e7
Change debug info from #define to command line option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@646 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:10 +00:00
Chris Lattner
4c3aaa4adb
* REMOVE extraneous debug info if DEBUG_RA is not set
...
* Spell PhyRegAlloc right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@645 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:09:04 +00:00
Ruchira Sasanka
80acc6cf43
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@634 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:57:47 +00:00
Ruchira Sasanka
e727f8553d
-- updated printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@631 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:43:57 +00:00
Chris Lattner
7e5450312d
Remove a copy of a bunch of code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@630 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 18:15:40 +00:00
Chris Lattner
921b5e1471
Don't check for null on delete
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@624 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:02:42 +00:00
Vikram S. Adve
137f7202c7
Cast unsigned to int! It was causing a nice little bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@614 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:57:39 +00:00
Vikram S. Adve
6e44718192
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@613 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:56:28 +00:00
Vikram S. Adve
4c31fb5fbb
Don't add instructions to subtree for Phi or Call.
...
Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@612 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:54:27 +00:00
Vikram S. Adve
fe30f1f664
Format file header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@611 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:52:03 +00:00
Vikram S. Adve
f0ba28045f
Add new entry/exit edges when removing delay slot nodes from the graph.
...
Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@610 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:51:38 +00:00
Vikram S. Adve
8b6d245693
Moved erase edge functions to class SchedGraph.
...
Add new dummy edges when deleting existing edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@609 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:50:40 +00:00
Vikram S. Adve
851d44c522
Renamed some header files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@608 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:39 +00:00
Vikram S. Adve
f0b6d7960c
Moved erase-edge functions from SchedGraphNode to SchedGraph.
...
Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@607 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:26 +00:00
Vikram S. Adve
4bc86976bb
Minor fixes: renamed target machine files; fold sched info into TargetMachine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@603 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:41:43 +00:00
Ruchira Sasanka
6b0a8b5b1a
modified machine code printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@595 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 21:11:11 +00:00
Ruchira Sasanka
6053b9337b
--added methods for printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@592 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:08:41 +00:00
Ruchira Sasanka
ed8f674b9a
added setRegForValue to MachineOperand class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@591 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:07:45 +00:00
Ruchira Sasanka
0931a01f57
fixed printing messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@590 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:06:58 +00:00
Ruchira Sasanka
4d0d632927
-- debug messages dissabled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@589 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
1bf6d645cd
--reg alloc code added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@587 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
1f3b29fc72
-reg alloc code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@586 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:31:44 +00:00
Ruchira Sasanka
1506aef6d4
added RegAlloc Directory to DIRS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@581 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:28:17 +00:00
Ruchira Sasanka
8e6047920d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@580 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:18:34 +00:00
Chris Lattner
c0c77083ba
Add a forward decl, oops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@573 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 17:55:51 +00:00
Chris Lattner
46cbff625e
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@572 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:56:32 +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
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
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
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
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
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
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
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
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
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
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
97b7311e9f
annotations are now const
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@450 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:40:04 +00:00
Ruchira Sasanka
f2a6477aee
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@412 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-31 20:59:58 +00:00
Vikram S. Adve
840f53ae8e
Added nonterminals for arithmetic operations where one operand is constant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@406 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:25:46 +00:00
Vikram S. Adve
59e3b8220a
Makefile for InstrSched/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@403 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:17:22 +00:00
Vikram S. Adve
3b4d062eb3
Remove source list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@402 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:16:59 +00:00
Vikram S. Adve
4c182bf16f
Added directory InstrSched.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@401 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:16:13 +00:00
Vikram S. Adve
d4228a5066
Major changes too hard to document :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:12:57 +00:00
Vikram S. Adve
24084be5f2
Extensive additions for supporting instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@398 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:10:41 +00:00
Vikram S. Adve
bf24233691
Added class MachineSchedInfo and several supporting classes
...
as a machine description for instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@397 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:09:36 +00:00
Vikram S. Adve
0e1158f340
Implementation of instruction scheduling for LLVM.
...
Currently schedules one basic block at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@396 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:07:19 +00:00
Vikram S. Adve
37866b3437
Class that encapsulates priority heuristics for instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@395 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:49 +00:00
Vikram S. Adve
78ef1392f3
Scheduling DAG for instruction scheduling. Currently for a single basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@394 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:02 +00:00
Vikram S. Adve
89df1ae2c3
Moved debug options declaration to header file, and moved
...
a function to MachineInstr.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@393 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:04:38 +00:00
Vikram S. Adve
5b79591450
Moved function PrintMachineInstructions here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@392 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:02:39 +00:00
Chris Lattner
9ff64a8c63
I suck
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@385 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 18:54:45 +00:00
Chris Lattner
e7fb36030b
Initial checkin of TargetData code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@384 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 16:00:15 +00:00
Chris Lattner
e3860e5be5
Convert to use the new factored out TargetData class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@381 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:16 +00:00
Chris Lattner
3a13c7e56f
Factor code out to the TargetData class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@380 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:50:41 +00:00
Chris Lattner
be88fd03e6
Demolish explicit source list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:18:35 +00:00
Chris Lattner
d6075728d2
Remove explicit source list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-25 20:40:32 +00:00
Vikram S. Adve
149977b48a
Always set isDef for operand in position resultPos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:32:45 +00:00
Ruchira Sasanka
b0cdcda42a
Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the
...
result position is a def (i.e., added true to the end of call) -- Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:26:28 +00:00
Ruchira Sasanka
81cb20775a
Changed case 64 to make the first arg of phi a defintion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:24:01 +00:00
Ruchira Sasanka
0b03c6a492
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
45c171ee25
added a default isDef arg to SetMachineOperand method - Ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 20:16:52 +00:00
Vikram S. Adve
98a9c979e2
Add CC operand as 4th operand of SUBcc, and mark it as a def.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 21:06:10 +00:00
Vikram S. Adve
0fae90e3a2
Also, move burg rule to Makefile.common.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 19:06:56 +00:00
Vikram S. Adve
811aad97c1
Better still, lets move pathname for Burg to Makefile.common.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@344 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 19:01:45 +00:00
Vikram S. Adve
735c4ce808
Use full pathname for burg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 18:53:26 +00:00
Vikram S. Adve
960066ad75
Simplify command line options, and add option for printing
...
machine instructions without debugging info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:53:25 +00:00
Vikram S. Adve
769939dbde
Added tree nodes for Phi instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:50:29 +00:00
Vikram S. Adve
e4e77f9efc
Generate tree nodes for Phi instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:53 +00:00
Vikram S. Adve
1885da4f49
Allow machine instructions with variable numbers of arguments.
...
This is used only by Phi for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:28 +00:00
Vikram S. Adve
74f4a130d2
Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:46:57 +00:00
Vikram S. Adve
76d3520f3e
Record machine instructions in the vector for each basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:48:43 +00:00
Vikram S. Adve
3c3b713d55
Added UltraSparcInstrInfo class to specialize class MachineInstrInfo.
...
Relevant changes elsewhere:
Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo. Latency fields are to support scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:19:10 +00:00
Vikram S. Adve
9b0b1ec1ec
Eliminate unused function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:15:45 +00:00
Vikram S. Adve
4f23166133
Bug fixes:
...
Store bool result in register after SetCC if the bool value
is used by anything other than a branch.
Forward-substitute operand of a VM instruction for which no
machine instruction is generated (e.g., Cast).
Other changes due to changes to classes TargetMachine and MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:15:15 +00:00
Vikram S. Adve
44a853cc53
Added MachineInstrInfo class and moved instruction-related members there.
...
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo. Latency fields are to support scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:09:37 +00:00
Vikram S. Adve
6a175e01eb
Eliminate separate enum for operand register type.
...
Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:06:37 +00:00
Chris Lattner
1e78f36127
CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
...
args as the objects they represent and the "right thing" will happen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 19:27:24 +00:00
Chris Lattner
4bc3daaa3f
Eliminated the Unique class in favor of NonCopyable and NonCopyableV
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 18:26:21 +00:00
Chris Lattner
57dbb3ad63
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
75279ccc75
Clean up hash table usage
...
Remove opaque pointer used for C compatibility which isn't an issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:50:57 +00:00
Chris Lattner
6c5a32d545
Removal of the redundant CompileContext wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:09:03 +00:00
Chris Lattner
8f367bd3c0
Large scale changes to implement new command line argument facility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 02:35:57 +00:00
Chris Lattner
aceb9132b7
Privatize LLCOptions. It had no business being visible to the entire
...
program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 04:40:02 +00:00
Chris Lattner
68498cefe6
Eliminate lots of unnecessary #includes and forward decls
...
there are probably more to kill
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 23:24:48 +00:00
Chris Lattner
942d99e4c8
Eliminate many unneccesary #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:59:56 +00:00
Chris Lattner
51a9ad93af
Make code fit in 80 columns more
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:57:05 +00:00
Chris Lattner
36765b0c3f
Remove unneccesary #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:53:35 +00:00
Chris Lattner
57738965f8
Exterminate nasty Cisms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:42:09 +00:00
Chris Lattner
e23fb7c8ee
Refer to include/llvm/CodeGen not Codegen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:32:34 +00:00
Chris Lattner
7e583cfafe
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:58:30 +00:00
Vikram S. Adve
a21cf20411
Description of the SPARC as a target architecture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:42:19 +00:00
Vikram S. Adve
daae69927f
Base clas for a description of a target architecture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:42:08 +00:00
Vikram S. Adve
70bc4b5d1a
Instruction selection via pattern matching on instruction trees using BURG.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:41:50 +00:00
Vikram S. Adve
05f4745c01
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:41:01 +00:00