1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
Commit Graph

235 Commits

Author SHA1 Message Date
Vikram S. Adve
0b32273208 Significant changes to correctly spill CC registers and to correctly
handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
-- Scratch registers must be explicitly provided to cpMem<->Reg when
   needed, since CC regs need one to be copied to/from memory.
-- CC regs are saved to a scratch register instead of stack.
-- All regs used by a instruction are now recorded in MachineInstr::regsUsed,
   since regs used to save values *across* an instruction are not obvious
   either from the operands or from the LiveVar sets.
-- An (explicit or implicit) operand may now be both a def and a use.
   This is needed for conditional move operations.
   So an operand may need spill code both before and after the instruction.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.

llvm-svn: 2833
2002-07-08 23:15:32 +00:00
Vikram S. Adve
a8c7633d5b MachineInstr* in vector are not const (and never really were)
because operands may be modified directly to set register.
Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock.

llvm-svn: 2832
2002-07-08 23:07:26 +00:00
Vikram S. Adve
58b597078f getUsableUniRegAtMI interface simplified slightly.
llvm-svn: 2822
2002-07-08 22:39:36 +00:00
Vikram S. Adve
d82933c6c8 MachineInstr* in vector are not const (and never really were)
because operands may be modified directly to set register.

llvm-svn: 2820
2002-07-08 22:34:40 +00:00
Chris Lattner
5339840831 Remove tag that just clutters diffs
llvm-svn: 2807
2002-06-30 16:08:25 +00:00
Anand Shukla
ee7ed50bb4 changes to make it compatible with 64bit gcc
llvm-svn: 2791
2002-06-25 20:55:50 +00:00
Chris Lattner
dfd421a7df MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt

llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner
e61bc07952 Convert RegClass::IsColorUsedArr from a dynamically allocated array to
a vector.  This makes asserting on array bounds easier.

llvm-svn: 2731
2002-05-23 15:50:03 +00:00
Chris Lattner
7d0544f0cc Move debug options out of header files so that the header does not have
to #include CommandLine.h.

llvm-svn: 2712
2002-05-22 17:08:27 +00:00
Chris Lattner
07732a38b7 Avoid #including CommandLine.h
llvm-svn: 2710
2002-05-22 17:06:56 +00:00
Chris Lattner
1752fa9899 Hide debugging options
llvm-svn: 2676
2002-05-20 21:39:10 +00:00
Chris Lattner
0cfea31aee Don't lose namespace qualifications on previous patch.
llvm-svn: 2664
2002-05-20 17:38:26 +00:00
Vikram S. Adve
21ed1be093 InstrnsBefore and InstrnsAfter are now vectors instead of deques.
May be slightly less efficient but significantly reduces special
cases interfaces in code generation.

llvm-svn: 2649
2002-05-19 15:41:33 +00:00
Vikram S. Adve
6133689517 Numerous bug fixes:
-- passing FP arguments to functions with more than 6 arguments
-- passing FP arguments to varargs functions
-- passing FP arguments to functions with no prototypes
-- incorrect coloring for CC registers (both int and FP): interferences
   were being completely ignored for int CC and were considered but no
   spills were marked for fp CC!

Also some code improvements:
-- better interface to generating machine instr for common cases
   (many places still need to be updated to use this interface)
-- annotations on MachineInstr to communicate information from
   one codegen phase to another (now used to pass information about
   CALL/JMPLCALL operands from selection to register allocation)
-- all sizes and offests in class TargetData are uint64_t instead of uint

llvm-svn: 2642
2002-05-19 15:29:31 +00:00
Chris Lattner
96e0c48175 Eliminate duplicate or unneccesary #include's
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
589debc4ba Add new optional getPassName() virtual function that a Pass can override
to make debugging output a lot nicer.

llvm-svn: 2395
2002-04-29 14:57:45 +00:00
Chris Lattner
e7143ad386 Include appropriate file
llvm-svn: 2379
2002-04-28 20:40:16 +00:00
Chris Lattner
07fe96ca98 Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes
to the global namespace

llvm-svn: 2370
2002-04-28 16:21:30 +00:00
Chris Lattner
f043c4baac Remove all contents of the cfg namespace to the global namespace
llvm-svn: 2369
2002-04-28 16:19:42 +00:00
Chris Lattner
2f0ee1833d s/Method/Function
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
536cf1b13f * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well

llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Vikram S. Adve
95b080aca1 Don't record instructions for copying method arguments in the
AddedInstrns sets for the first machine instruction.  It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken.  Instead, use a separate set for the function entry.

llvm-svn: 2318
2002-04-25 04:46:28 +00:00
Vikram S. Adve
f69db4f795 Don't record instructions for copying method arguments in the
AddedInstrns sets for the first machine instruction.  It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken.  Instead, use a separate set for the function entry.

llvm-svn: 2312
2002-04-25 04:34:15 +00:00
Chris Lattner
572d298aa6 Only emit message if DEBUG_RA is on
llvm-svn: 2252
2002-04-15 20:36:15 +00:00
Chris Lattner
ee0fa0eb15 Convert AddedInstrMapType to contain AddedInstrns by value instead of by
pointer so that they do not all get leaked!

llvm-svn: 2188
2002-04-09 05:13:04 +00:00
Chris Lattner
c8166cec07 s/Method/Function
llvm-svn: 2180
2002-04-08 22:03:57 +00:00
Chris Lattner
cd3575a5cf s/method/function
llvm-svn: 2177
2002-04-08 22:01:15 +00:00
Chris Lattner
bc15ae64dd Change references to the Method class to be references to the Function
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.

llvm-svn: 2144
2002-04-07 20:49:59 +00:00
Vikram S. Adve
44ee4184e4 Add method clearCallInterference().
llvm-svn: 2071
2002-03-31 18:58:14 +00:00
Vikram S. Adve
fbdd533059 Bug fix: address used by indirect call instruction should also
be marked as having a Call Interference, even though it may not
be live after the call.

llvm-svn: 2068
2002-03-31 18:54:37 +00:00
Vikram S. Adve
3dfd5b888b Destroy MethodLiveVarInfo after register allocation.
llvm-svn: 1976
2002-03-24 03:54:03 +00:00
Chris Lattner
c481e92886 Rename Method to Function
llvm-svn: 1957
2002-03-23 22:51:58 +00:00
Vikram S. Adve
8553fc5d21 Big bug fix: getUsableUniRegAtMI needed to return values in arguments
but did not pass the arguments by reference!

llvm-svn: 1906
2002-03-18 03:37:19 +00:00
Vikram S. Adve
125cd33f99 Big bug fix: getUsableUniRegAtMI needed to return values in arguments
but did not pass the arguments by reference!
Also added a function to get a register class by ID.

llvm-svn: 1901
2002-03-18 03:26:48 +00:00
Chris Lattner
b0a2c5546b Method.h no longer includes BasicBlock.h
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h

llvm-svn: 1746
2002-02-12 21:07:25 +00:00
Chris Lattner
e282c0b592 Convert operand iterator over to work like an STL iterator
llvm-svn: 1720
2002-02-05 06:02:59 +00:00
Chris Lattner
5337fbec40 Minor change: Methods that return ValueSet's that are guaranteed to be valid
return references instead of pointers.

llvm-svn: 1719
2002-02-05 04:20:12 +00:00
Chris Lattner
862fab4da7 * Code Cleanups
* Removal dependencies on Type.h & remove uses of getTypeID()

llvm-svn: 1718
2002-02-05 03:52:29 +00:00
Chris Lattner
73812e2833 * Code Cleanups of IGNode.h
* Removal of getTypeID() methods, and dependence on llvm/Type.h, from IGNode & LiveRange

llvm-svn: 1717
2002-02-05 03:51:37 +00:00
Chris Lattner
164a9ea118 Must include SetOperations to do set_*
llvm-svn: 1716
2002-02-05 03:35:53 +00:00
Chris Lattner
f3d0ae9fdb * 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

llvm-svn: 1712
2002-02-05 02:52:05 +00:00
Chris Lattner
dc3aec7a90 * 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.

llvm-svn: 1711
2002-02-05 02:51:01 +00:00
Chris Lattner
a8170f0944 * Code Cleanups
* Introduce RAV to allow stream I/O instead of using printValue

llvm-svn: 1710
2002-02-05 01:43:49 +00:00
Chris Lattner
467da46166 * Add a #include not indirectly included any more
llvm-svn: 1707
2002-02-05 00:35:14 +00:00
Chris Lattner
817f1768d4 * RegisterAllocation _uses_ LiveVar analysis, instead of creating it's own copy
llvm-svn: 1701
2002-02-04 20:02:38 +00:00
Chris Lattner
e264071f46 Switch register allocator over to using LoopInfo directly instead of indirectly through LoopDepthCalculator
llvm-svn: 1696
2002-02-04 17:48:00 +00:00
Chris Lattner
bb19367753 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.

llvm-svn: 1695
2002-02-04 17:39:42 +00:00
Chris Lattner
c457462f99 Make #include "llvm/Analysis/LoopDepth.h" be an internal artifact of how register allocation is implemented.
llvm-svn: 1693
2002-02-04 17:38:48 +00:00
Chris Lattner
f3f13580e9 * Add #includes removed from headers
* ValueSet interface converted from add/remove to insert/erase
* Minor cleanups

llvm-svn: 1689
2002-02-04 16:36:59 +00:00
Chris Lattner
8bfb48c8d3 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
0de4b16eef Add #includes neccesary since they were removed from .h files
llvm-svn: 1675
2002-02-04 05:56:09 +00:00
Chris Lattner
009faad8e4 * 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
9a8ff2595a 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
4315c295f5 Lots of code cleanups, no functional changes
llvm-svn: 1650
2002-02-03 07:46:34 +00:00
Chris Lattner
76ac6e30bd Add a class forward decl
llvm-svn: 1637
2002-02-03 07:13:04 +00:00
Chris Lattner
3d52646383 LoopDepth calculation is now in CFG namespace
llvm-svn: 1601
2002-01-31 00:41:13 +00:00
Chris Lattner
d0e1f35161 Oops lost a parenthesis somehow :(
llvm-svn: 1504
2002-01-21 01:33:12 +00:00
Chris Lattner
3dc9a2a61f Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Ruchira Sasanka
80acf30a7f Fixed a bug in spill cost estimation
llvm-svn: 1500
2002-01-08 16:29:23 +00:00
Ruchira Sasanka
b6d7a004fa PhyRegAlloc.cpp: Added temp area resetting before every call
llvm-svn: 1499
2002-01-07 21:09:06 +00:00
Ruchira Sasanka
222c51efe9 Added destructors and comments.
Added correct spill candidate selection logic.

llvm-svn: 1493
2002-01-07 19:19:18 +00:00
Ruchira Sasanka
3d5efa3be1 Added comments, destructors where necessary.
llvm-svn: 1491
2002-01-07 19:16:26 +00:00
Chris Lattner
c4a5815033 Renamed inst_const_iterator -> const_inst_iterator
Renamed op_const_iterator   -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()

llvm-svn: 1408
2001-12-04 00:03:30 +00:00
Chris Lattner
463cc31132 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes

llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Ruchira Sasanka
771ffc7640 Commented some popTempArg.. since it leads to a bug
llvm-svn: 1326
2001-11-15 22:02:06 +00:00
Ruchira Sasanka
63203e9c07 Fixed a bug in setReLRegsUsedByMI
llvm-svn: 1323
2001-11-15 20:23:19 +00:00
Ruchira Sasanka
bcd55f277e Changed some names of methods, added const etc.
llvm-svn: 1322
2001-11-15 20:22:37 +00:00
Ruchira Sasanka
897fbc8db8 fixed setUsedRegAtMI
llvm-svn: 1317
2001-11-15 15:00:53 +00:00
Ruchira Sasanka
6d6f616a06 Added support method for setting interference for pseudo instructions
llvm-svn: 1303
2001-11-14 15:37:13 +00:00
Ruchira Sasanka
f00a3e0aab Added interference for args in pseudo instructions
llvm-svn: 1300
2001-11-14 15:33:58 +00:00
Ruchira Sasanka
a39f918171 commented out lines printing code after scheduling
llvm-svn: 1295
2001-11-13 23:12:53 +00:00
Ruchira Sasanka
b1e6823bc1 Fixed a bug concering LR spilling. Earlier, added spilled code was not inserted
into the instruction stream correctly.

llvm-svn: 1294
2001-11-13 23:09:30 +00:00
Vikram S. Adve
3df85d6132 Do the same for allocating spills to get their alignment right too.
llvm-svn: 1285
2001-11-12 23:40:22 +00:00
Vikram S. Adve
af9c0a766a When allocating space on stack for writing a register,
use the size of the register, not the size of the Value type,
to get the right alignment.

llvm-svn: 1284
2001-11-12 23:26:35 +00:00
Ruchira Sasanka
bf9791fe90 Changed code to ignore Phi Nodes in PhyRegAlloc
llvm-svn: 1253
2001-11-10 21:21:36 +00:00
Ruchira Sasanka
699d104906 Coalesing bug fix - now checks for the same regType instead of the same
regClass since FP class has two reg Types.

llvm-svn: 1236
2001-11-10 00:20:24 +00:00
Ruchira Sasanka
c32ebd1a4e No major change
llvm-svn: 1235
2001-11-09 23:49:42 +00:00
Chris Lattner
d0f1f10bec Add method decl
llvm-svn: 1217
2001-11-08 20:55:05 +00:00
Ruchira Sasanka
5ebbfbdd2e corrected insertCode4Spilled ... bug.
llvm-svn: 1212
2001-11-08 19:11:30 +00:00
Ruchira Sasanka
1f95b36e06 Uncommented LR spill code insertion
llvm-svn: 1207
2001-11-08 16:43:25 +00:00
Vikram S. Adve
3cefc04c0a Added two minor methods.
llvm-svn: 1187
2001-11-08 04:49:52 +00:00
Vikram S. Adve
2c8710f0c4 Removed class RegStackOffsets and used class MachineCodeForMethod
directly to manage stack frame.

llvm-svn: 1186
2001-11-08 04:48:50 +00:00
Ruchira Sasanka
0b842b90ef Fixed bug - added code in pushUnconstrainedIGNodes() to check whether a node
is already pushed to stack by a previous call to the same method.

llvm-svn: 1154
2001-11-06 15:25:38 +00:00
Vikram S. Adve
f83b90af5c Bug fix: uninitialized variable.
llvm-svn: 1147
2001-11-06 05:11:05 +00:00
Ruchira Sasanka
b5a9b22fa7 Added an assertion since it seems like AdjList returns an errornous size in method
IGNode::pushOnStack().

llvm-svn: 1116
2001-11-03 22:01:09 +00:00
Ruchira Sasanka
77cc18917c Added support for correct spilling of %ccr
llvm-svn: 1112
2001-11-03 20:41:22 +00:00
Ruchira Sasanka
116fbe7fc7 Arranged stack frame - needs furhter organization
llvm-svn: 1108
2001-11-03 17:14:44 +00:00
Ruchira Sasanka
7673c5f6e0 Arranged stack frame - needs furhter organization
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp

llvm-svn: 1106
2001-11-03 17:13:27 +00:00
Ruchira Sasanka
3c4d2dea7c Added support for spilling
llvm-svn: 992
2001-10-28 18:15:12 +00:00
Ruchira Sasanka
e095b077cf Added spill code support; moved insertCallerSaving to SparRegInfo since
we need to handle %ccr reg in a special way.

llvm-svn: 990
2001-10-28 18:12:02 +00:00
Ruchira Sasanka
9aa7352c15 added support to move "added instructions" after the delay slot
llvm-svn: 968
2001-10-23 21:38:42 +00:00
Ruchira Sasanka
155cb5a9c4 Added support to move "added instructions" after the delay slot
llvm-svn: 967
2001-10-23 21:38:00 +00:00
Vikram S. Adve
21da1db37f Use class MachineCodeForMethod to print machine code.
llvm-svn: 948
2001-10-22 13:52:03 +00:00
Ruchira Sasanka
6df15c541f Added support for both call/jmpl instructions
llvm-svn: 930
2001-10-21 16:43:41 +00:00
Ruchira Sasanka
95e437ec1b Added code to support unusable Suggested Colors.
llvm-svn: 922
2001-10-19 21:42:06 +00:00
Ruchira Sasanka
b80714a64a Added code to PhyRegAlloc to mark unusable suggested regs
Added initialization to AdjList to IGNode constructor - major bug fix

llvm-svn: 920
2001-10-19 21:39:31 +00:00
Ruchira Sasanka
fe8055b8c1 Changed Call interference info
llvm-svn: 917
2001-10-19 17:21:59 +00:00
Ruchira Sasanka
1f65433b82 Corrected call interference bug
llvm-svn: 916
2001-10-19 17:21:03 +00:00
Ruchira Sasanka
67992edbfc no major change
llvm-svn: 914
2001-10-18 23:58:08 +00:00
Ruchira Sasanka
384b7b3479 removed some debug messages
llvm-svn: 910
2001-10-18 22:36:26 +00:00
Ruchira Sasanka
471cf92f0e changed debugg message printing - no change to useful code
llvm-svn: 850
2001-10-16 16:34:44 +00:00
Ruchira Sasanka
6dd033bd31 No major change - commented some debug code
llvm-svn: 849
2001-10-16 01:33:55 +00:00
Ruchira Sasanka
26ab9c8e61 Added support for caller saving
llvm-svn: 847
2001-10-16 01:23:19 +00:00
Chris Lattner
be66ee81bd Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output
llvm-svn: 841
2001-10-15 18:30:06 +00:00
Chris Lattner
683166c06e Output to cerr rather than cout so that debug info doesn't mess up assembly generation
llvm-svn: 840
2001-10-15 18:15:27 +00:00
Ruchira Sasanka
183e59e94a updated suggesting/coloring of call & return args & implicit operands.
Changed added instr to a deque (from a vector)

llvm-svn: 831
2001-10-15 16:26:38 +00:00
Ruchira Sasanka
54051b75a7 fixed a coalscing bug
llvm-svn: 828
2001-10-15 16:22:44 +00:00
Ruchira Sasanka
bba7b347fb --corrected coalescing test: coalsed only if two are of the same reg class
llvm-svn: 729
2001-10-12 17:48:18 +00:00
Ruchira Sasanka
294d643339 removing phy regaloc - incorrect file
llvm-svn: 682
2001-09-30 23:52:14 +00:00
Ruchira Sasanka
cfc7b10745 added suggesting color support
llvm-svn: 673
2001-09-30 23:19:57 +00:00
Ruchira Sasanka
e04709a704 --added suggesting colors; call/ret arg handling
llvm-svn: 670
2001-09-30 23:11:59 +00:00
Ruchira Sasanka
b9da0f9024 -- removed debugging messages
llvm-svn: 651
2001-09-19 22:39:58 +00:00
Ruchira Sasanka
cbabf19f3b -fixed return value bug.
llvm-svn: 650
2001-09-19 22:31:21 +00:00
Chris Lattner
c1073581ae Change debug info from #define to command line option
Clean up extra debug info that wasn't guarded

llvm-svn: 647
2001-09-19 16:26:23 +00:00
Chris Lattner
030d4ca8f4 Change debug info from #define to command line option
llvm-svn: 646
2001-09-19 16:26:10 +00:00
Chris Lattner
81a5329a90 * REMOVE extraneous debug info if DEBUG_RA is not set
* Spell PhyRegAlloc right.

llvm-svn: 645
2001-09-19 16:09:04 +00:00
Ruchira Sasanka
6d773d9580 *** empty log message ***
llvm-svn: 634
2001-09-18 22:57:47 +00:00
Ruchira Sasanka
2a084fbcac -- updated printing
llvm-svn: 631
2001-09-18 22:43:57 +00:00
Chris Lattner
757b686b27 Remove a copy of a bunch of code
llvm-svn: 630
2001-09-18 18:15:40 +00:00
Vikram S. Adve
64e9d6b584 Cast unsigned to int! It was causing a nice little bug.
llvm-svn: 614
2001-09-18 12:57:39 +00:00
Vikram S. Adve
24f80f0837 Minor fixes: renamed target machine files; fold sched info into TargetMachine.
llvm-svn: 603
2001-09-18 12:41:43 +00:00
Ruchira Sasanka
f51404a55a modified machine code printing
llvm-svn: 595
2001-09-15 21:11:11 +00:00
Ruchira Sasanka
ecc5b3b882 --added methods for printing
llvm-svn: 592
2001-09-15 19:08:41 +00:00
Ruchira Sasanka
c1514789f3 fixed printing messages
llvm-svn: 590
2001-09-15 19:06:58 +00:00
Ruchira Sasanka
6807a780c5 -- debug messages dissabled
llvm-svn: 589
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
e0cf66f325 --reg alloc code added
llvm-svn: 587
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
ad27c6876c -reg alloc code
llvm-svn: 586
2001-09-15 00:31:44 +00:00
Ruchira Sasanka
e30e83df47 *** empty log message ***
llvm-svn: 580
2001-09-14 21:18:34 +00:00
Chris Lattner
de29307caa Split Target/Machine.h into three files:
* Machine.h
* InstInfo.h
* SchedInfo.h

TODO: Split out reg info stuff
llvm-svn: 567
2001-09-14 06:08:03 +00:00
Chris Lattner
a0a3946882 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

llvm-svn: 566
2001-09-14 05:34:53 +00:00
Chris Lattner
3e2a85a0e3 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.

llvm-svn: 559
2001-09-14 03:37:52 +00:00
Ruchira Sasanka
4f3751ecdd Committed for compliation. Not yet final.
--Ruchira

llvm-svn: 505
2001-09-08 14:22:50 +00:00
Ruchira Sasanka
1c3c6a2fd2 --Ruchira
llvm-svn: 504
2001-09-08 14:10:34 +00:00
Chris Lattner
9aac44442d Add tags so emacs knows these are C++ files
llvm-svn: 483
2001-09-07 21:04:20 +00:00
Ruchira Sasanka
fb626ffffe *** empty log message ***
llvm-svn: 412
2001-08-31 20:59:58 +00:00