Chris Lattner
6c83ee57c1
- Do not expose ::ID from any of the analyses anymore.
...
llvm-svn: 3417
2002-08-21 17:09:49 +00:00
Vikram S. Adve
227bd369e5
Change opLabel numbers for Not and BNot.
...
Also, these tree nodes are now binary, not unary.
llvm-svn: 3344
2002-08-15 14:20:45 +00:00
Vikram S. Adve
afb9cae44d
Add method MachineInstr::substituteValue() which substitutes
...
one Value with another one in all operands and implicit references
of the machine instruction.
Also add method MachineOperand::getVRegValueOrNull().
llvm-svn: 3307
2002-08-14 16:54:11 +00:00
Chris Lattner
9bcfec701d
Do not add an extra vtable to EVERY machineinstr created.
...
llvm-svn: 3280
2002-08-09 21:49:21 +00:00
Chris Lattner
4d9fadc44a
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3277
2002-08-09 20:08:03 +00:00
Chris Lattner
eeb7564269
Change machinecode for instruction to not inherit from vector.
...
llvm-svn: 3274
2002-08-09 20:04:28 +00:00
Vikram S. Adve
34c7fef2d6
Add function GetConstantValueAsUnsignedInt.
...
llvm-svn: 3249
2002-08-04 20:55:59 +00:00
Chris Lattner
4b68cd0c61
Expose instruction selection as a pass instead of a global function
...
llvm-svn: 3145
2002-07-30 03:55:29 +00:00
Chris Lattner
b202b77aab
* Eliminate the Provided set. All Passes now finally just automatically
...
provide themselves.
llvm-svn: 3124
2002-07-29 21:03:33 +00:00
Chris Lattner
ea9fb2a20a
*** empty log message ***
...
llvm-svn: 3111
2002-07-26 21:11:42 +00:00
Chris Lattner
e056a17a88
*** empty log message ***
...
llvm-svn: 3107
2002-07-26 19:19:31 +00:00
Chris Lattner
0ccf5689e3
*** empty log message ***
...
llvm-svn: 3077
2002-07-25 15:00:45 +00:00
Chris Lattner
743688359d
*** empty log message ***
...
llvm-svn: 3067
2002-07-24 22:20:06 +00:00
Chris Lattner
ad8fc4ba3e
Non-standard hash classes are not in the std:: namespace
...
llvm-svn: 3057
2002-07-24 21:21:33 +00:00
Chris Lattner
9860e64083
*** empty log message ***
...
llvm-svn: 3056
2002-07-24 21:21:32 +00:00
Mehwish Nagda
48d84fb234
Moved to Reoptimizer/Mapping directory
...
llvm-svn: 2991
2002-07-22 22:06:56 +00:00
Mehwish Nagda
c2f7ac0eec
*** empty log message ***
...
llvm-svn: 2912
2002-07-15 23:56:27 +00:00
Vikram S. Adve
8967349e85
Bug fix: cast (bool) has higher precedence than %... who knew!
...
llvm-svn: 2864
2002-07-10 21:51:46 +00:00
Vikram S. Adve
36b62ee33a
Add support for marking each operand as a %hh, %hm, %lm or %lo.
...
Represent previous bools and these ones with flags in a single byte
per operand.
llvm-svn: 2863
2002-07-10 21:50:57 +00:00
Vikram S. Adve
cd651d5577
Added a few more methods for creating instructions.
...
llvm-svn: 2862
2002-07-10 21:49:38 +00:00
Anand Shukla
b9a34f17ff
added std:: to hash_set
...
llvm-svn: 2846
2002-07-09 19:18:16 +00:00
Chris Lattner
bc68100d59
Include header in the compiler-neutral location
...
llvm-svn: 2843
2002-07-09 16:50:24 +00:00
Vikram S. Adve
bacbe6b240
Interface to class MachineCodeForBasicBlock.
...
Moved here from MachineInstr.h to make it an annotation on BasicBlock.
llvm-svn: 2823
2002-07-08 22:40:34 +00:00
Vikram S. Adve
a110ccca19
Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.
...
An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.
llvm-svn: 2821
2002-07-08 22:38:45 +00:00
Vikram S. Adve
4d696efa99
Added two more helper functions for instruction creation.
...
llvm-svn: 2819
2002-07-08 22:33:45 +00:00
Anand Shukla
bddcd163a1
changes to make it compatible with 64bit gcc
...
llvm-svn: 2786
2002-06-25 20:22:25 +00:00
Chris Lattner
cee706572b
*** empty log message ***
...
llvm-svn: 2777
2002-06-25 16:12:52 +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
07732a38b7
Avoid #including CommandLine.h
...
llvm-svn: 2710
2002-05-22 17:06:56 +00:00
Vikram S. Adve
2552231a8c
Better interface to generating machine instr for common cases
...
(many places still need to be updated to use this interface).
llvm-svn: 2648
2002-05-19 15:40:41 +00:00
Vikram S. Adve
0cc9f53701
MachineInstr now inherits from Annotable.
...
llvm-svn: 2647
2002-05-19 15:39:59 +00:00
Vikram S. Adve
1f8badf623
Annotation class for MachineInstr.
...
llvm-svn: 2643
2002-05-19 15:30:21 +00:00
Chris Lattner
ca6c5955f4
remove deprecated getInstType() method
...
llvm-svn: 2595
2002-05-10 13:28:47 +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
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
ae709134c9
Optional args are no longer allocated as they are discovered.
...
(This can be improved to avoid making the initial pass over the method.)
Also, ensure automatic vars and reg. spills areas are not extended
if their sizes are used for computing some other offset.
llvm-svn: 2319
2002-04-25 04:47:26 +00:00
Chris Lattner
15d1c69edd
Rewrite MachineCodeForBasicBlock in terms of containment rather than
...
inheritance.
llvm-svn: 2200
2002-04-09 18:00:49 +00:00
Chris Lattner
259b748661
Move the InsertPrologEpilogCode class out of the Sparc.cpp file into the
...
new PrologEpilogCodeInserter.cpp file, and include the bodies of the
GetInstructionsFor(Prolog|Epilog) functions from SparcInstrSelection.cpp
into the class. This eliminates the need for a static global vector of
instructions and a class of errors that is really unneccesary.
llvm-svn: 2194
2002-04-09 05:20:15 +00:00
Chris Lattner
e7a2ce6e4e
Don't leak memory like a seive
...
llvm-svn: 2185
2002-04-08 23:09:07 +00:00
Chris Lattner
c8166cec07
s/Method/Function
...
llvm-svn: 2180
2002-04-08 22:03:57 +00:00
Vikram S. Adve
c2c33ba3fd
Include temp. values when computing max. size of stack frame!
...
llvm-svn: 2070
2002-03-31 18:57:49 +00:00
Vikram S. Adve
9722a4b6e9
Refix bug: Add back method MachineCodeForInstruction::dropAllReferences.
...
llvm-svn: 1980
2002-03-24 03:58:02 +00:00
Vikram S. Adve
0a68a60e95
Fix padding when allocating local variables on stack.
...
llvm-svn: 1979
2002-03-24 03:57:38 +00:00
Vikram S. Adve
aaad217cc1
Add methods to support type inquiry. Rename TmpInstruction values.
...
llvm-svn: 1978
2002-03-24 03:56:55 +00:00
Vikram S. Adve
463af87e8c
Change treeRoots data structure to make enumeration deterministic.
...
Also, add a flag to marked nodes that do not need code because they
have been folded into the user (parent in the BURG tree).
llvm-svn: 1963
2002-03-24 03:25:17 +00:00
Chris Lattner
c481e92886
Rename Method to Function
...
llvm-svn: 1957
2002-03-23 22:51:58 +00:00
Vikram S. Adve
aae5fcc0ca
Big bug fix: killed uses were being inserted instead of erased!
...
Also added a set of debug options.
llvm-svn: 1917
2002-03-19 00:59:08 +00:00
Vikram S. Adve
6ea96e596c
Added function computeOffsetforLocalVar to check how big the
...
offset-from-FP will be before allocating space for a local variable.
llvm-svn: 1900
2002-03-18 03:23:29 +00:00
Vikram S. Adve
abd6592e16
Use vector for machine instructions in GetInstructionsByRule.
...
llvm-svn: 1899
2002-03-18 03:20:46 +00:00
Vikram S. Adve
778410c47a
Bug fix in setting CC register.
...
Also use distinct names for the three types of SetMachineOperand
to avoid painful overloading problems and errors.
llvm-svn: 1894
2002-03-18 03:10:17 +00:00
Chris Lattner
b10862d793
Make it compile with GCC 3.0.4
...
llvm-svn: 1786
2002-02-24 23:01:21 +00:00
Chris Lattner
3b3ee75819
Convert BBLiveVar to be a BasicBlock annotation, this removes the BB2BBLVMap from MethodLiveVarInfo.
...
llvm-svn: 1721
2002-02-05 06:52: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
c77877fb46
Remove generic routines to Support/SetOperations.h
...
llvm-svn: 1715
2002-02-05 03:35:31 +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
1181768743
* Big cleanups.
...
* Make BBLiveVar.h effectively an internal header file
* Prepare LiveVarMap.h for deletion
llvm-svn: 1705
2002-02-05 00:33:19 +00:00
Chris Lattner
62860d4c3d
Clean up MethodLiveVarInfo
...
llvm-svn: 1703
2002-02-04 20:49:04 +00:00
Chris Lattner
b4e0d0424c
Turn live variable analysis into a real MethodPass.
...
llvm-svn: 1699
2002-02-04 20:00:08 +00:00
Chris Lattner
5726b834cd
Instruction scheduling is a real pass now.
...
llvm-svn: 1698
2002-02-04 19:59:22 +00:00
Chris Lattner
0c04c60975
eliminate the add and remove methods, clients must use insert and erase directly.
...
llvm-svn: 1686
2002-02-04 16:33:18 +00:00
Chris Lattner
140f09f8cc
Remove tons of include pollution
...
Remove frivolous const's
Make use of the -> operator
llvm-svn: 1685
2002-02-04 16:32:40 +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
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
45cdd0fb0c
* 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
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
e1289c8b71
Code pulled out of MAchineInstr.(h|cpp)
...
llvm-svn: 1660
2002-02-03 07:54:50 +00:00
Chris Lattner
4ea2b76dee
* Prune many #includes
...
* Remove MachineCodeForVMInstr -> MachineCodeForInstruction.h
* Remove MachineCodeForMethod -> MachineCodeForMethod.h
llvm-svn: 1636
2002-02-03 07:11:59 +00:00
Chris Lattner
e2680a01fd
* 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
Chris Lattner
3dc9a2a61f
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Ruchira Sasanka
3d5efa3be1
Added comments, destructors where necessary.
...
llvm-svn: 1491
2002-01-07 19:16:26 +00:00
Vikram S. Adve
0607fbbf01
Eliminate all uses of memInst->getIndicesBROKEN().
...
llvm-svn: 1485
2001-12-15 00:36:32 +00:00
Ruchira Sasanka
9d26f00cfb
Added comments are more documentation info
...
llvm-svn: 1434
2001-12-08 21:04:22 +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
f6b7da2bb5
Rename ConstPoolVal -> Constant
...
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
2001-12-03 22:26: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
Chris Lattner
cead7793a7
Move DataTypes.h from llvm/Support to just Support
...
llvm-svn: 1399
2001-11-26 23:04:08 +00:00
Chris Lattner
87bffac69b
Fix field initialization order problem
...
llvm-svn: 1366
2001-11-26 18:49:54 +00:00
Vikram S. Adve
ec7d69586c
Modify method AllocateLocalVar to take size argument.
...
llvm-svn: 1320
2001-11-15 15:23:02 +00:00
Vikram S. Adve
f87d137720
Use different op labels for bitwise logical operations and boolean logical
...
operations in BURG input trees.
llvm-svn: 1189
2001-11-08 04:51:39 +00:00
Vikram S. Adve
ef306158e5
Added a second constructor for and improved class TmpInstruction.
...
llvm-svn: 1188
2001-11-08 04:50:33 +00:00
Vikram S. Adve
2cdcbfb6e0
Major overhaul of stack frame management.
...
llvm-svn: 1185
2001-11-08 04:47:06 +00:00
Vikram S. Adve
8b33c2304f
Old file which was moved to include/llvm/Target some time back.
...
llvm-svn: 1184
2001-11-08 04:46:08 +00:00
Vikram S. Adve
24fbd417a0
Make reg. numbers signed ints.
...
llvm-svn: 1137
2001-11-05 03:56:02 +00:00
Chris Lattner
b89ee439ae
Systems headers use <> not ""
...
llvm-svn: 1023
2001-10-29 13:29:50 +00:00
Vikram S. Adve
6c92ae29b9
Added a constant pool to record values that need to be emitted
...
in the assembly code.
llvm-svn: 999
2001-10-28 21:24:50 +00:00
Ruchira Sasanka
3c4d2dea7c
Added support for spilling
...
llvm-svn: 992
2001-10-28 18:15:12 +00:00
Vikram S. Adve
4955d04e5a
Added class MachineCodeForMethod to provide method-level information
...
about the generated native code (e.g., frame layout information).
llvm-svn: 952
2001-10-22 13:57:39 +00:00
Vikram S. Adve
203d3a37d6
Added function interfaces for generating prolog and epilog code.
...
The functions must be implemented by the target-specific code generator.
llvm-svn: 951
2001-10-22 13:56:33 +00:00
Ruchira Sasanka
5362db6250
Added code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira
...
llvm-svn: 919
2001-10-19 18:17:49 +00:00
Vikram S. Adve
c83118d53f
1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
...
Needs to be bottom up because constant values may be forward-substituted
to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
InstrSelectionSupport.cpp.
llvm-svn: 860
2001-10-17 23:59:09 +00:00
Ruchira Sasanka
6be2863ed7
added initializing regNum to -1 in both constructors of MachineOperand
...
llvm-svn: 851
2001-10-16 16:36:34 +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
Ruchira Sasanka
54051b75a7
fixed a coalscing bug
...
llvm-svn: 828
2001-10-15 16:22:44 +00:00
Chris Lattner
d4a327ff93
Dang, I screwed up the merge. This should be better
...
llvm-svn: 785
2001-10-13 07:18:40 +00:00
Chris Lattner
a4d1133109
Clean up initializers for GCC 2.96
...
llvm-svn: 747
2001-10-13 06:30:10 +00:00
Ruchira Sasanka
44e467ec90
--added support for implicit operands in machine instructions
...
llvm-svn: 727
2001-10-12 17:46:27 +00:00
Vikram S. Adve
cc2f052087
Record implicitRefs for each machine instruction instead of
...
each VM instruction.
llvm-svn: 725
2001-10-11 04:23:19 +00:00
Vikram S. Adve
2c19cf9a69
Machine-independent code generation routines used in instruction
...
selection. These used to live in several different places before.
llvm-svn: 719
2001-10-10 20:50:43 +00:00
Vikram S. Adve
392ad31850
Moved code generation support routines to InstrSelectionSupport.{h,cpp}.
...
llvm-svn: 718
2001-10-10 20:50:20 +00:00
Chris Lattner
08b1dde37e
Commit more code over to new cast style
...
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
43781f1f96
Add support for new style casts
...
llvm-svn: 694
2001-10-01 16:18:37 +00:00
Chris Lattner
345daca305
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
...
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
llvm-svn: 691
2001-10-01 13:19:53 +00:00
Vikram S. Adve
a491a05515
Add vector `implicitUses' to class MachineCodeForVMInstr to hold values
...
that are used by the VM instruction but not explicit operands of the
m/c instruction.
llvm-svn: 684
2001-10-01 00:18:12 +00:00
Ruchira Sasanka
9d68af20a7
no major change.
...
llvm-svn: 674
2001-09-30 23:22:45 +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
Ruchira Sasanka
70506bf77c
--added methods to operand class to set/get registers after register allocation
...
llvm-svn: 633
2001-09-18 22:54:47 +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
f8c425fc43
added a method to get reg num after register allocation
...
llvm-svn: 596
2001-09-15 21:11:48 +00:00
Ruchira Sasanka
c6fb737c19
-modified machine operand class - took regNum out of union to set regNum after
...
retister allocation.
llvm-svn: 594
2001-09-15 20:16:41 +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
Chris Lattner
d6a98c11bc
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
llvm-svn: 572
2001-09-14 16:56:32 +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
161b4af2f6
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.
3. Sparc.h is now just a factory method. Eventually this file will dissapear,
but probably not until we have more than one backend. :)
llvm-svn: 564
2001-09-14 04:32:38 +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
Chris Lattner
b6e1cc3118
More cleanups, preparing to revamp InstrForest to, among other things,
...
not leak all its allocated memory.
llvm-svn: 553
2001-09-12 16:34:03 +00:00
Chris Lattner
6ff8e8edce
* Clean up InstrForest
...
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)
begin
seteq int *%x, %y
ret void
end
llvm-svn: 552
2001-09-12 01:28:49 +00:00
Chris Lattner
8cbda4e314
Eliminate 'BasicNode' from InstrForest.
...
llvm-svn: 551
2001-09-11 23:52:11 +00:00
Chris Lattner
70439801a6
Eliminate MainTreeNode function
...
llvm-svn: 550
2001-09-11 23:22:43 +00:00
Chris Lattner
fc53415334
Update assertion to allow extra case
...
llvm-svn: 532
2001-09-10 20:02:12 +00:00
Chris Lattner
2e74f6ba1f
Fix build breakage. :(
...
llvm-svn: 511
2001-09-09 19:52:23 +00:00
Chris Lattner
982bbcfb36
Remove extra #include
...
llvm-svn: 508
2001-09-09 19:34:25 +00:00
Ruchira Sasanka
3d7313423c
*** empty log message ***
...
llvm-svn: 507
2001-09-08 17:23:06 +00:00
Ruchira Sasanka
5f9e5b6bc7
*** empty log message ***
...
llvm-svn: 506
2001-09-08 14:32:00 +00:00
Ruchira Sasanka
4f3751ecdd
Committed for compliation. Not yet final.
...
--Ruchira
llvm-svn: 505
2001-09-08 14:22:50 +00:00
Chris Lattner
0b0dae7bdb
* Remove lots of unnecesary #includes
...
* Remove extra flyers
* Remove dependence on stringExtras by eliminating printIndent calls
llvm-svn: 486
2001-09-07 21:18:16 +00:00
Chris Lattner
3f36c6fe59
* Remove lots of annoying extra #includes
...
* Elminate dependecy on stringextras.h by moving dump's into .cpp files
* Kill InOutIterator class because it breaks iterator semantics to work like that
- Copy ctor on iterator doesn't work.
llvm-svn: 485
2001-09-07 21:07:10 +00:00
Chris Lattner
31e4c8874f
* Add tag so emacs knows it's a c++ file
...
* Remove frivolous flyers
llvm-svn: 484
2001-09-07 21:04:59 +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
Chris Lattner
9464de6a0f
Annotations are now passed around as const objects
...
llvm-svn: 435
2001-09-07 16:28:25 +00:00
Ruchira Sasanka
dceb09f3d8
*** empty log message ***
...
llvm-svn: 411
2001-08-31 20:30:42 +00:00
Vikram S. Adve
62a903416c
Added function MachineInstr::operandIsDefined(i) and decl for
...
function PrintMachineInstructions.
llvm-svn: 399
2001-08-28 23:11:46 +00:00
Vikram S. Adve
5947c43319
Extensive additions for supporting instruction scheduling.
...
llvm-svn: 398
2001-08-28 23:10:41 +00:00
Vikram S. Adve
f9fa4cc579
Added class MachineSchedInfo and several supporting classes
...
as a machine description for instruction scheduling.
llvm-svn: 397
2001-08-28 23:09:36 +00:00
Vikram S. Adve
ad002e37d5
Implementation of instruction scheduling for LLVM.
...
Currently schedules one basic block at a time.
llvm-svn: 396
2001-08-28 23:07:19 +00:00
Vikram S. Adve
91d73a52d5
Class that encapsulates priority heuristics for instruction scheduling.
...
llvm-svn: 395
2001-08-28 23:06:49 +00:00
Vikram S. Adve
23be1e0839
Scheduling DAG for instruction scheduling. Currently for a single basic block.
...
llvm-svn: 394
2001-08-28 23:06:02 +00:00
Vikram S. Adve
23d0560303
Use const int instead of #define.
...
llvm-svn: 388
2001-08-28 21:35:26 +00:00
Chris Lattner
6336546710
Initial checkin of TargetData code
...
llvm-svn: 384
2001-08-27 16:00:15 +00:00
Chris Lattner
511d1ca915
Use the new TargetData class to factor out some of the shared code
...
between the static compilers and the interpreter.
llvm-svn: 379
2001-08-27 15:50:12 +00:00
Ruchira Sasanka
74f3230149
LV info on machine instructions
...
llvm-svn: 359
2001-08-20 21:11:01 +00:00
Ruchira Sasanka
8078a494fc
Corrected the compilation error by making the ValOperator class a friend of
...
MachineOperand class - Ruchira
llvm-svn: 358
2001-08-13 16:54:48 +00:00
Vikram S. Adve
bd05af6e92
Can't use ref to stack value!
...
llvm-svn: 354
2001-08-09 20:14:22 +00:00
Vikram S. Adve
5f9e728807
Needed old conditions as well as new in skipToNextVal()!
...
llvm-svn: 353
2001-08-09 19:18:33 +00:00
Vikram S. Adve
36a0da1ec3
Bug fix in ValOpIterator: not moving past operand with NULL Value.
...
llvm-svn: 352
2001-08-08 00:15:42 +00:00
Ruchira Sasanka
a6cea3a426
*** empty log message ***
...
llvm-svn: 351
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
66e8472995
Added isDef field to MachineOperand class - Ruchira
...
llvm-svn: 349
2001-08-07 20:14:30 +00:00
Vikram S. Adve
5a4b37da6b
Use extra operand for instructions that set a CC register that
...
was not explicit before.
llvm-svn: 347
2001-08-06 21:05:39 +00:00
Vikram S. Adve
f3b4b570aa
Allow numOperands of -1 for variable #operands.
...
llvm-svn: 341
2001-07-31 21:55:51 +00:00
Vikram S. Adve
46dd49a011
Allow machine instructions with variable numbers of arguments.
...
This is used only by Phi for now.
llvm-svn: 336
2001-07-31 21:49:28 +00:00
Vikram S. Adve
fc9759c295
Added dummy Phi instruction.
...
llvm-svn: 335
2001-07-31 21:48:23 +00:00
Vikram S. Adve
5e19e64a94
Added class MachineCodeForBasicBlock.
...
llvm-svn: 332
2001-07-30 18:49:07 +00:00
Vikram S. Adve
8572e7c133
Added several SPARC instructions including conditional move and SETHI.
...
Added MachineInstrInfo class and subclass UltraSparcInstrInfo.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo). Latency fields are to support scheduling.
llvm-svn: 313
2001-07-28 04:26:42 +00:00
Vikram S. Adve
b67a683e25
Remove redundant and unused functions.
...
llvm-svn: 312
2001-07-28 04:20:33 +00:00
Vikram S. Adve
ce164753ad
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.
llvm-svn: 308
2001-07-28 04:09:37 +00:00
Vikram S. Adve
a6bcc3a47e
Eliminate separate enum for operand register type.
...
Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.
llvm-svn: 307
2001-07-28 04:06:37 +00:00
Ruchira Sasanka
12710ee1b2
*** empty log message ***
...
llvm-svn: 291
2001-07-24 17:14:13 +00:00
Chris Lattner
a601339af2
Eliminated the Unique class in favor of NonCopyable and NonCopyableV
...
llvm-svn: 280
2001-07-23 18:26:21 +00:00
Chris Lattner
ff6c44f04f
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
cbe9215a10
Nonpolymorphic class, doesn't need a virtual dtor!
...
llvm-svn: 276
2001-07-23 03:57:05 +00:00
Chris Lattner
e847a66947
Clean up hash table usage
...
Remove opaque pointer used for C compatibility which isn't an issue
llvm-svn: 275
2001-07-23 03:50:57 +00:00
Chris Lattner
d73669f4c6
Removal of the redundant CompileContext wrapper
...
llvm-svn: 274
2001-07-23 03:09:03 +00:00
Chris Lattner
f42a7804c8
Large scale changes to implement new command line argument facility
...
llvm-svn: 272
2001-07-23 02:35:57 +00:00
Chris Lattner
c5758cb574
Privatize LLCOptions. It had no business being visible to the entire
...
program.
llvm-svn: 267
2001-07-22 04:40:02 +00:00
Chris Lattner
9329758c8c
Eliminate lots of unnecessary #includes and forward decls
...
there are probably more to kill
llvm-svn: 261
2001-07-21 23:24:48 +00:00
Chris Lattner
846fdcd762
Exterminate nasty Cisms
...
llvm-svn: 257
2001-07-21 22:42:09 +00:00
Chris Lattner
f1a2e3b6bb
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
llvm-svn: 253
2001-07-21 20:58:30 +00:00
Vikram S. Adve
8d5ecffc9a
Header files for the target architecture description and for instruction
...
selection, and instances of these for the SPARC.
llvm-svn: 226
2001-07-21 12:39:03 +00:00