Chris Lattner
4afa297e52
Use generic pointer hashes instead of custom ones.
...
llvm-svn: 1684
2002-02-04 16:31:42 +00:00
Chris Lattner
7ad6519f90
Cut down include pollution and number of frivolous consts.
...
llvm-svn: 1683
2002-02-04 16:31:03 +00:00
Chris Lattner
28d8eb2286
PostOrderIterator really does depend on Method and BasicBlock. Obviously this
...
is a huge fixme.
llvm-svn: 1682
2002-02-04 16:29:55 +00:00
Chris Lattner
f48173a875
Convert RegisterAllocator interface to opaque pass type, so that users do not
...
need to know _anything_ about RegAlloc to use it. Well in the end maybe.
llvm-svn: 1681
2002-02-04 15:54:09 +00:00
Chris Lattner
13b2227ccc
EmitAssembly doesn't need an UltraSparc, it can do with any TargetMachine
...
llvm-svn: 1680
2002-02-04 15:53:23 +00:00
Chris Lattner
bd3ad751f0
Eliminate ModuleAnalyzer. It's old code that is not going to be used in the near future
...
llvm-svn: 1679
2002-02-04 06:47:17 +00:00
Chris Lattner
47b65a1025
Cut down number of times libraries are included to link a little bit faster
...
llvm-svn: 1678
2002-02-04 06:43:56 +00:00
Chris Lattner
5216cc55f7
* Minor cleanups
...
* Reduce number of #includes
* Remove blatently misleading qualifiers (how do you have an inlined pure virtual function?)
* Remove unnecesary & ignored qualifiers (const int argument vs int argument)
* SparcInternals.h now no longer #includes RegClass.h or SparcRegClassInfo.h
* Pull inlined functions out of .h file if they are virtual and interfere with dependencies
llvm-svn: 1677
2002-02-04 05:59:25 +00:00
Chris Lattner
c797387363
Add code that used to be inline in MachineSchedInfo.h
...
llvm-svn: 1676
2002-02-04 05:56:30 +00:00
Chris Lattner
49562d8442
Add #includes neccesary since they were removed from .h files
...
llvm-svn: 1675
2002-02-04 05:56:09 +00:00
Chris Lattner
a8171dd554
Move instrIsFeasible from InstrScheduling.h
...
llvm-svn: 1674
2002-02-04 05:55:42 +00:00
Chris Lattner
b3c64a73ad
* Minor cleanups
...
* Reduce number of #includes
* Delete blank lines at end of files
* Remove blatently misleading qualifiers (how do you have an inlined pure virtual function?)
* Remove unnecesary & ignored qualifiers (const int argument vs int argument)
* Remove LARGE chunks of "inline" code out to .cpp file
* s/unsigned int/unsigned/
llvm-svn: 1673
2002-02-04 05:55:10 +00:00
Chris Lattner
b0da8b2de1
* Minor cleanups
...
* Reduce number of #includes, sometimes drastically (LiveRangeInfo.h lost _7_)
* Move instrIsFeasible() from InstrScheduling.h to SchedPriorities.h
* Delete blank lines at end of files
llvm-svn: 1672
2002-02-04 05:52:08 +00:00
Chris Lattner
73645f3b94
Minor cleanups
...
llvm-svn: 1671
2002-02-04 05:48:24 +00:00
Chris Lattner
a3403539e1
SparcRegInfo does NOT need anything about instruction scheduling.
...
llvm-svn: 1670
2002-02-04 02:44:38 +00:00
Chris Lattner
720bc02f18
* Move command line parsing debug stuff to InstrScheduling internal header file
...
SchedPriorities.h
llvm-svn: 1669
2002-02-04 02:44:20 +00:00
Chris Lattner
e769482fd3
Pull all of the scheduling related stuff out of Sparc.cpp into it's own file
...
llvm-svn: 1668
2002-02-04 00:39:14 +00:00
Chris Lattner
36aa542ef0
Split RegisterAllocation stuff OUT of Sparc.cpp into a well defined pass
...
that has a very minimal interface (like it should have).
llvm-svn: 1667
2002-02-04 00:33:08 +00:00
Chris Lattner
64593c51bb
Move a ton of tables out of SparcInternals.h and move them to Sparc.cpp.
...
Eventually they will probably get moved again, but at least now they aren't
having to be compiled by 7 different .cpp files...
llvm-svn: 1666
2002-02-04 00:04:35 +00:00
Chris Lattner
f728637f2e
* Remove -noasm option. If we're not compiling, what's the point?
...
* convert over to pass based target backend. Much cleaner now
llvm-svn: 1665
2002-02-03 23:43:19 +00:00
Chris Lattner
38aa77b911
Convert sparc backend over to use pass based compilation structure.
...
Try to decouple stuff as much as possible.
llvm-svn: 1664
2002-02-03 23:42:19 +00:00
Chris Lattner
84fa1e7801
Convert sparc backend over to use pass based compilation structure.
...
Convert some stages into passes in preparation for more splitting up.
Try to decouple stuff as much as possible.
llvm-svn: 1663
2002-02-03 23:41:51 +00:00
Chris Lattner
d682045227
Convert assembly emission over to a two pass approach.
...
llvm-svn: 1662
2002-02-03 23:41:08 +00:00
Chris Lattner
199853563e
Revamp compilation to be pass based instead of being monolithic so that
...
backend's can customize compilation as much as they want
llvm-svn: 1661
2002-02-03 23:40:22 +00:00
Chris Lattner
eda6bd71a0
Code pulled out of MAchineInstr.(h|cpp)
...
llvm-svn: 1660
2002-02-03 07:54:50 +00:00
Chris Lattner
74f0a5b35e
Switch over to a model where we compile each method, emit assembly, then free
...
machineinstr memory before starting on the next method.
llvm-svn: 1659
2002-02-03 07:54:10 +00:00
Chris Lattner
4b361376f0
Switch from MachineCodeForVMInstr model that is built into the VMCore library to an annotation based MAchineCodeForInstruction model
...
Instruction.cpp now has 0 lines of code generation related code in it.
llvm-svn: 1658
2002-02-03 07:52:58 +00:00
Chris Lattner
029af0b37f
Add a file level comment
...
Remove #includes
llvm-svn: 1657
2002-02-03 07:52:04 +00:00
Chris Lattner
92a49c5cae
Implement new method by method assembly output & memory releasing
...
llvm-svn: 1656
2002-02-03 07:51:17 +00:00
Chris Lattner
477923d0d4
* Switch to new TmpInstruction model
...
* Switch to new MachineCodeForInstruction model
llvm-svn: 1655
2002-02-03 07:50:56 +00:00
Chris Lattner
f08669fcbc
* Switch to new TmpInstruction model
...
llvm-svn: 1654
2002-02-03 07:49:49 +00:00
Chris Lattner
0752167009
* Swithc to new MachineCodeForInstruction model
...
* Implement memory freeing for instruction temporaries
llvm-svn: 1653
2002-02-03 07:49:15 +00:00
Chris Lattner
e772d28862
* prune #includes
...
* Implement permethod output of machine code to assembly
llvm-svn: 1652
2002-02-03 07:48:06 +00:00
Chris Lattner
621457a34b
Add #include that is no longer implicitly included
...
llvm-svn: 1651
2002-02-03 07:47:05 +00:00
Chris Lattner
abafc3bc70
Lots of code cleanups, no functional changes
...
llvm-svn: 1650
2002-02-03 07:46:34 +00:00
Chris Lattner
4cec147d4e
* Prune #includes
...
* Remove MachineCodeFor(Method|VMInstr) code to their own .cpp files
llvm-svn: 1649
2002-02-03 07:46:01 +00:00
Chris Lattner
b86d191dbe
* Switch over to cleaner TmpInstruction model
...
llvm-svn: 1648
2002-02-03 07:39:06 +00:00
Chris Lattner
e59929f7b2
* Straighten out #includes
...
* Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr
llvm-svn: 1647
2002-02-03 07:33:46 +00:00
Chris Lattner
0068ea26d7
* Swich to annotation model for MachineCodeForInstruction
...
llvm-svn: 1646
2002-02-03 07:31:41 +00:00
Chris Lattner
02d8e37cae
Remove extraneous #includes
...
llvm-svn: 1645
2002-02-03 07:30:08 +00:00
Chris Lattner
a17c469136
* Straighten out #includes
...
* Switch from MachineCodeForVMInstr to MachineCodeForInstruction model
llvm-svn: 1644
2002-02-03 07:29:45 +00:00
Chris Lattner
7c9c85947c
* Get machine instrs from Instructin's by using MachineCodeForInstruction::get
...
* Convert a few (*X). to X->
llvm-svn: 1643
2002-02-03 07:28:30 +00:00
Chris Lattner
6f27b7d41c
Lots of nonfunctional code cleanups
...
llvm-svn: 1642
2002-02-03 07:25:25 +00:00
Chris Lattner
d4868c6837
Add methods to TargetMachine to:
...
* Output assembly code a method at a time instead of building it all up then emitting it as a whole module
* Release memory contained in various annotations.
llvm-svn: 1641
2002-02-03 07:24:05 +00:00
Chris Lattner
7d01ff38e9
* Trim #includes
...
llvm-svn: 1640
2002-02-03 07:20:47 +00:00
Chris Lattner
13002dd26b
Remove #include
...
move typedefs here
llvm-svn: 1639
2002-02-03 07:17:37 +00:00
Chris Lattner
101e267eab
Remove extranous #include
...
llvm-svn: 1638
2002-02-03 07:15:36 +00:00
Chris Lattner
6316f38c96
Add a class forward decl
...
llvm-svn: 1637
2002-02-03 07:13:04 +00:00
Chris Lattner
80011479a3
* Prune many #includes
...
* Remove MachineCodeForVMInstr -> MachineCodeForInstruction.h
* Remove MachineCodeForMethod -> MachineCodeForMethod.h
llvm-svn: 1636
2002-02-03 07:11:59 +00:00
Chris Lattner
3149bcd366
* Remove TMP_INSTRUCTION_OPCODE silliness
...
* Fix TmpInstruction copy ctor to not read uninitialized memory
* Fix TmpInstruction copy ctor to not copy 2 operands if there is only one
* Inline Initialize method into ctors
llvm-svn: 1635
2002-02-03 07:07:16 +00:00