Commit Graph

1609 Commits

Author SHA1 Message Date
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