Chris Lattner [Tue, 12 Feb 2002 20:19:06 +0000 (20:19 +0000)]
Add neccesary #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Feb 2002 18:27:41 +0000 (18:27 +0000)]
I forgot to provide dominance frontier information. Now it's available.
Also add more comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Feb 2002 17:17:33 +0000 (17:17 +0000)]
Enable register promotion pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Feb 2002 17:16:22 +0000 (17:16 +0000)]
Initial checkin of new memory -> register promotion pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Feb 2002 15:47:23 +0000 (15:47 +0000)]
Add new abort-on-exceptions flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Feb 2002 15:39:38 +0000 (15:39 +0000)]
Add comments
Add rules to compile a program with LLC to machine code and an executable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Feb 2002 15:21:57 +0000 (15:21 +0000)]
test/Features should not contain whole programs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1734
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 23:44:06 +0000 (23:44 +0000)]
New testcase for bug in -raise pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 23:32:43 +0000 (23:32 +0000)]
Allow multiline RUN:'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 23:22:56 +0000 (23:22 +0000)]
Add testcase for sparc backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1731
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 11 Feb 2002 22:50:17 +0000 (22:50 +0000)]
Added command to build SPARC executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1730
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 11 Feb 2002 22:48:18 +0000 (22:48 +0000)]
Simple fibonacci test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 22:35:46 +0000 (22:35 +0000)]
Write llvm bytecode to output .s file as last step of LLC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1728
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 11 Feb 2002 20:59:26 +0000 (20:59 +0000)]
Shell script to simplify running cvs and viewing the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 20:19:16 +0000 (20:19 +0000)]
Make array bound checks optional and disabled by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 17:12:03 +0000 (17:12 +0000)]
Try to fix build error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Feb 2002 17:11:43 +0000 (17:11 +0000)]
Fix build error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1722
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 06:52:25 +0000 (06:52 +0000)]
Convert BBLiveVar to be a BasicBlock annotation, this removes the BB2BBLVMap from MethodLiveVarInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 06:02:59 +0000 (06:02 +0000)]
Convert operand iterator over to work like an STL iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 04:20:12 +0000 (04:20 +0000)]
Minor change: Methods that return ValueSet's that are guaranteed to be valid
return references instead of pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 03:52:29 +0000 (03:52 +0000)]
* Code Cleanups
* Removal dependencies on Type.h & remove uses of getTypeID()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 03:51:37 +0000 (03:51 +0000)]
* Code Cleanups of IGNode.h
* Removal of getTypeID() methods, and dependence on llvm/Type.h, from IGNode & LiveRange
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 03:35:53 +0000 (03:35 +0000)]
Must include SetOperations to do set_*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 03:35:31 +0000 (03:35 +0000)]
Remove generic routines to Support/SetOperations.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 03:35:10 +0000 (03:35 +0000)]
New Support file for operations on set like objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 02:52:53 +0000 (02:52 +0000)]
Remove empty files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 02:52:05 +0000 (02:52 +0000)]
* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static
function in the one .cpp file that uses it. Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
templates that will eventually be moved to Support.
* Eliminate some irrelevant const's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 02:51:01 +0000 (02:51 +0000)]
* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static
function in the one .cpp file that uses it. Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
templates that will eventually be moved to Support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 01:43:49 +0000 (01:43 +0000)]
* Code Cleanups
* Introduce RAV to allow stream I/O instead of using printValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 00:43:37 +0000 (00:43 +0000)]
Changes neccesary due to the move of BBLiveVar.h to the lib/Analysis/LiveVar directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 00:35:59 +0000 (00:35 +0000)]
Remove empty file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 00:35:14 +0000 (00:35 +0000)]
* Add a #include not indirectly included any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1707
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 00:34:50 +0000 (00:34 +0000)]
* Give BBLiveVar.cpp a proper file header
* applyFlowFunc DOES NOT NEED TO COPY the huge BB->BBLiveVar Map every time it is invoked!
* Big cleanups.
* Make BBLiveVar.h effectively an internal header file
* Prepare LiveVarMap.h for deletion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1706
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Feb 2002 00:33:19 +0000 (00:33 +0000)]
* Big cleanups.
* Make BBLiveVar.h effectively an internal header file
* Prepare LiveVarMap.h for deletion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1705
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 23:31:16 +0000 (23:31 +0000)]
Code cleanups, no functional change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1704
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 20:49:04 +0000 (20:49 +0000)]
Clean up MethodLiveVarInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1703
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 20:03:43 +0000 (20:03 +0000)]
The interface to instruction scheduling is now just a call to get the pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1702
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 20:02:38 +0000 (20:02 +0000)]
* RegisterAllocation _uses_ LiveVar analysis, instead of creating it's own copy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1701
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 20:02:16 +0000 (20:02 +0000)]
* The itf exposed by InstrScheduling is now a single function to create the right pass
* InstructionScheduling is now a real pass
* InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times
through a loop. In this was LiveVarAnalysis is actually even SHARED by Register
allocation.
* SchedPriorities is now passed the live var information in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 20:00:08 +0000 (20:00 +0000)]
Turn live variable analysis into a real MethodPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1699
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 19:59:22 +0000 (19:59 +0000)]
Instruction scheduling is a real pass now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:49:01 +0000 (17:49 +0000)]
Remove Obsolete LoopDepthCalculator. All users should use LoopInfo directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:48:00 +0000 (17:48 +0000)]
Switch register allocator over to using LoopInfo directly instead of indirectly through LoopDepthCalculator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1696
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:39:42 +0000 (17:39 +0000)]
Make LoopDeptCalculator be an internal artifact of how RegAlloc is implemented,
do not expose it. Additionally, have it be auto generated by the pass framework
for us.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1695
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:39:02 +0000 (17:39 +0000)]
REmove huge hack used by register allocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:38:48 +0000 (17:38 +0000)]
Make #include "llvm/Analysis/LoopDepth.h" be an internal artifact of how register allocation is implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1693
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:38:03 +0000 (17:38 +0000)]
Remvoe big hack that was used by the register allocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1692
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 17:37:25 +0000 (17:37 +0000)]
Trim down makefile, again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1691
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:37:09 +0000 (16:37 +0000)]
* ValueSet interface converted from add/remove to insert/erase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1690
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:36:59 +0000 (16:36 +0000)]
* Add #includes removed from headers
* ValueSet interface converted from add/remove to insert/erase
* Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1689
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:35:45 +0000 (16:35 +0000)]
Remove dependence on BBLiveVar from InstrScheduling
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1688
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:35:12 +0000 (16:35 +0000)]
* Add #includes that were yanked out of header files
* Convert over to valueset interface that uses insert & erase insead of add and remove
* the -> operator really isn't that hard to use!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1687
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:33:18 +0000 (16:33 +0000)]
eliminate the add and remove methods, clients must use insert and erase directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1686
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:32:40 +0000 (16:32 +0000)]
Remove tons of include pollution
Remove frivolous const's
Make use of the -> operator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1685
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:31:42 +0000 (16:31 +0000)]
Use generic pointer hashes instead of custom ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1684
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:31:03 +0000 (16:31 +0000)]
Cut down include pollution and number of frivolous consts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1683
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 16:29:55 +0000 (16:29 +0000)]
PostOrderIterator really does depend on Method and BasicBlock. Obviously this
is a huge fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1682
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 15:54:09 +0000 (15:54 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1681
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 15:53:23 +0000 (15:53 +0000)]
EmitAssembly doesn't need an UltraSparc, it can do with any TargetMachine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1680
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 06:47:17 +0000 (06:47 +0000)]
Eliminate ModuleAnalyzer. It's old code that is not going to be used in the near future
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1679
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 06:43:56 +0000 (06:43 +0000)]
Cut down number of times libraries are included to link a little bit faster
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1678
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:59:25 +0000 (05:59 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1677
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:56:30 +0000 (05:56 +0000)]
Add code that used to be inline in MachineSchedInfo.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1676
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:56:09 +0000 (05:56 +0000)]
Add #includes neccesary since they were removed from .h files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1675
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:55:42 +0000 (05:55 +0000)]
Move instrIsFeasible from InstrScheduling.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1674
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:55:10 +0000 (05:55 +0000)]
* 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/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:52:08 +0000 (05:52 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 05:48:24 +0000 (05:48 +0000)]
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 02:44:38 +0000 (02:44 +0000)]
SparcRegInfo does NOT need anything about instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1670
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 02:44:20 +0000 (02:44 +0000)]
* Move command line parsing debug stuff to InstrScheduling internal header file
SchedPriorities.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1669
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 00:39:14 +0000 (00:39 +0000)]
Pull all of the scheduling related stuff out of Sparc.cpp into it's own file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1668
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 00:33:08 +0000 (00:33 +0000)]
Split RegisterAllocation stuff OUT of Sparc.cpp into a well defined pass
that has a very minimal interface (like it should have).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1667
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Feb 2002 00:04:35 +0000 (00:04 +0000)]
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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1666
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 23:43:19 +0000 (23:43 +0000)]
* Remove -noasm option. If we're not compiling, what's the point?
* convert over to pass based target backend. Much cleaner now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1665
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 23:42:19 +0000 (23:42 +0000)]
Convert sparc backend over to use pass based compilation structure.
Try to decouple stuff as much as possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1664
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 23:41:51 +0000 (23:41 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1663
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 23:41:08 +0000 (23:41 +0000)]
Convert assembly emission over to a two pass approach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 23:40:22 +0000 (23:40 +0000)]
Revamp compilation to be pass based instead of being monolithic so that
backend's can customize compilation as much as they want
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1661
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:54:50 +0000 (07:54 +0000)]
Code pulled out of MAchineInstr.(h|cpp)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1660
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:54:10 +0000 (07:54 +0000)]
Switch over to a model where we compile each method, emit assembly, then free
machineinstr memory before starting on the next method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1659
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:52:58 +0000 (07:52 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1658
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:52:04 +0000 (07:52 +0000)]
Add a file level comment
Remove #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1657
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:51:17 +0000 (07:51 +0000)]
Implement new method by method assembly output & memory releasing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1656
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:50:56 +0000 (07:50 +0000)]
* Switch to new TmpInstruction model
* Switch to new MachineCodeForInstruction model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:49:49 +0000 (07:49 +0000)]
* Switch to new TmpInstruction model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:49:15 +0000 (07:49 +0000)]
* Swithc to new MachineCodeForInstruction model
* Implement memory freeing for instruction temporaries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1653
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:48:06 +0000 (07:48 +0000)]
* prune #includes
* Implement permethod output of machine code to assembly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1652
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:47:05 +0000 (07:47 +0000)]
Add #include that is no longer implicitly included
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1651
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:46:34 +0000 (07:46 +0000)]
Lots of code cleanups, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1650
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:46:01 +0000 (07:46 +0000)]
* Prune #includes
* Remove MachineCodeFor(Method|VMInstr) code to their own .cpp files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1649
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:39:06 +0000 (07:39 +0000)]
* Switch over to cleaner TmpInstruction model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1648
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:33:46 +0000 (07:33 +0000)]
* Straighten out #includes
* Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1647
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:31:41 +0000 (07:31 +0000)]
* Swich to annotation model for MachineCodeForInstruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1646
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:30:08 +0000 (07:30 +0000)]
Remove extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1645
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:29:45 +0000 (07:29 +0000)]
* Straighten out #includes
* Switch from MachineCodeForVMInstr to MachineCodeForInstruction model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1644
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:28:30 +0000 (07:28 +0000)]
* Get machine instrs from Instructin's by using MachineCodeForInstruction::get
* Convert a few (*X). to X->
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1643
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:25:25 +0000 (07:25 +0000)]
Lots of nonfunctional code cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1642
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:24:05 +0000 (07:24 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1641
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:20:47 +0000 (07:20 +0000)]
* Trim #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1640
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Feb 2002 07:17:37 +0000 (07:17 +0000)]
Remove #include
move typedefs here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1639
91177308-0d34-0410-b5e6-
96231b3b80d8