Chris Lattner
b63ba57411
Rename MachineInstrInfo -> TargetInstrInfo
...
llvm-svn: 5214
2003-01-13 00:21:32 +00:00
Chris Lattner
deca2b5272
* Start renaming MachineInstrInfo -> TargetInstrInfo
...
* Add new M_TERMINATOR_FLAG
llvm-svn: 5213
2003-01-13 00:21:19 +00:00
Chris Lattner
936402bbb2
Add new getName method
...
llvm-svn: 5212
2003-01-13 00:19:44 +00:00
Chris Lattner
5d72e6cb69
Simplify interface to creating a register
...
llvm-svn: 5211
2003-01-13 00:19:18 +00:00
Chris Lattner
6cd144e676
* Add support for new types of operands
...
llvm-svn: 5210
2003-01-13 00:18:44 +00:00
Chris Lattner
c32a3ba53d
* Add 3 new types of MachineOperand: ConstantPoolIndex ExternalSymbol and GlobalAddress's
...
* Add new isPCRelative modifier flag which should be used in place of MO_PCRelativeDisp type.
* Fix a bug in isPhysicalRegister
* Add new setOpcode and RemoveOperand methods
llvm-svn: 5209
2003-01-13 00:18:17 +00:00
Chris Lattner
ea1f103e5c
* Add a constant pool to hold per-function constants which must be spilled to memory
...
llvm-svn: 5208
2003-01-13 00:16:10 +00:00
Chris Lattner
55f00fa00f
* Add utility methods which make common cases easier
...
llvm-svn: 5207
2003-01-13 00:15:24 +00:00
Chris Lattner
5d4b55f69f
* Add support for values in the constant pool
...
* Add support for functions referenced by name
llvm-svn: 5206
2003-01-13 00:14:55 +00:00
Chris Lattner
f9781b59ab
More renamings of Target/Machine*Info to Target/Target*Info
...
llvm-svn: 5204
2002-12-29 03:13:05 +00:00
Chris Lattner
42d59219c7
Rename MachineOptInfo to TargetoptInfo
...
Rename MachineCacheInfo to TargetCacheInfo
llvm-svn: 5203
2002-12-29 02:50:35 +00:00
Chris Lattner
26c23467c5
Rename FunctionFrameInfo to MachineFrameInfo
...
llvm-svn: 5201
2002-12-28 21:08:28 +00:00
Chris Lattner
69f10f32cc
* doxygenize comment
...
* rename MachineFrameInfo to TargetFrameInfo
llvm-svn: 5170
2002-12-28 20:13:29 +00:00
Chris Lattner
8da6184be0
Sparc specific methods default to abort rather than being pure virtual
...
llvm-svn: 5169
2002-12-28 20:12:54 +00:00
Chris Lattner
6ed67d7ac5
Expose some very simple information about the frame, rather than in-depth
...
target specific information. Rename MachineFrameInfo to TargetFrameInfo
llvm-svn: 5168
2002-12-28 20:12:10 +00:00
Chris Lattner
a4f3329bc9
* Keep track of register alignment as well as register size
...
* Add comments
* Add a new allocation_order iterator for register classes which targets may
use to control the register order and available registers based on properties
of the function being compiled.
* Remove access to FP and SP registers
* Add new callframe setup opcode support
* Eliminate moveImm2Reg method
* Revamp frame offset handling and prolog/epilog code generation
llvm-svn: 5167
2002-12-28 20:10:23 +00:00
Chris Lattner
840af613be
Descriptor object used to manage abstract frame references
...
llvm-svn: 5166
2002-12-28 20:07:47 +00:00
Chris Lattner
00436009f6
State for frame and constant pool information pulled out of MachineFunction
...
llvm-svn: 5165
2002-12-28 20:07:33 +00:00
Chris Lattner
30cd247441
* Frame indices are signed
...
* Cluster modification methods together
llvm-svn: 5164
2002-12-28 20:05:44 +00:00
Chris Lattner
f1230afc0e
* Pull a bunch of frame and constant pool state out into a new
...
MachineFunctionInfo class
* Add a new FunctionFrameInfo object
llvm-svn: 5163
2002-12-28 20:04:31 +00:00
Chris Lattner
343ad0d65c
Initial check in of MachineFunctionPass.h
...
llvm-svn: 5162
2002-12-28 20:03:01 +00:00
Chris Lattner
f2dc9d9cea
Simplify spill interface methods
...
llvm-svn: 5142
2002-12-25 05:02:00 +00:00
Chris Lattner
52d325b494
Add comment
...
llvm-svn: 5141
2002-12-25 05:01:46 +00:00
Chris Lattner
05ec1f9369
Add abstract frame index capability
...
llvm-svn: 5140
2002-12-25 05:01:18 +00:00
Chris Lattner
9d8350939a
Remove default ctor
...
llvm-svn: 5139
2002-12-25 05:01:05 +00:00
Chris Lattner
21d48e8f2c
*** empty log message ***
...
llvm-svn: 5138
2002-12-25 05:00:49 +00:00
Chris Lattner
6e6c6eda24
Remove dependency on SSARegMap.h
...
llvm-svn: 5137
2002-12-25 05:00:16 +00:00
Chris Lattner
a4d7e4f203
Allow the target machines to specify endianness and pointer size
...
llvm-svn: 5128
2002-12-24 00:02:17 +00:00
Chris Lattner
996fe01028
Initial checkin of new LLI with JIT compiler
...
llvm-svn: 5126
2002-12-24 00:01:05 +00:00
Chris Lattner
de4aa4cf8c
New files for miscompilation detection
...
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner
5629397d28
Simplify interface to remove virtual function references
...
llvm-svn: 5100
2002-12-17 04:20:39 +00:00
Chris Lattner
b74c150efc
Add support for register alias set description
...
llvm-svn: 5080
2002-12-16 16:39:14 +00:00
Chris Lattner
050d0ce094
Export well known instruction opcodes usable by target independant passes
...
llvm-svn: 5063
2002-12-15 22:16:08 +00:00
Chris Lattner
432447fed1
Add new opIsUse method
...
llvm-svn: 5062
2002-12-15 22:05:02 +00:00
Chris Lattner
e2533336f5
Simplify interfaces used by regalloc to insert code
...
llvm-svn: 5052
2002-12-15 20:06:35 +00:00
Chris Lattner
df1f77207a
Simplify TargetRegisterClass a bit, also eliminating virtual function call
...
overhead
llvm-svn: 5049
2002-12-15 19:29:14 +00:00
Chris Lattner
663cd4fc2e
* Rename const_regclass_begin/end to just regclass_begin/end
...
* Regclass iterators need an extra level of pointerness to work right
* Pull inverse mapping code out of target description files
llvm-svn: 5046
2002-12-15 18:40:01 +00:00
Chris Lattner
0345ea6908
Add capability to have a MachineBasicBlock as an operand to a MachineInstr
...
Add a bunch of methods to MachineOperand is* to reduce usage of MO_foo
llvm-svn: 5032
2002-12-15 08:01:02 +00:00
Misha Brukman
78401cbb3c
Added moveReg2Reg() and moveImm2Reg() to accomodate moving data around due to
...
PHI nodes.
llvm-svn: 5001
2002-12-13 09:54:12 +00:00
Chris Lattner
34cd32d42a
Final version of BuildMI for symmetry and because I want to use it
...
llvm-svn: 5000
2002-12-13 09:33:06 +00:00
Chris Lattner
a8d8e0d9dd
Get rid of deprecated function
...
llvm-svn: 4997
2002-12-13 07:30:45 +00:00
Misha Brukman
eedcef4f92
Define the 2-address flag used by X86 instructions (add,sub,and,or,xor) that
...
need to be declared as such.
llvm-svn: 4975
2002-12-12 23:19:51 +00:00
Chris Lattner
c1ba0cddd6
Make a release build compile. This field is not really an enum, it's really a bitfield
...
llvm-svn: 4971
2002-12-12 05:31:26 +00:00
Misha Brukman
0d19db3c34
No need to specify the class if the method is within the class declaration.
...
llvm-svn: 4969
2002-12-12 05:28:39 +00:00
Chris Lattner
5bd7897ac2
Fix header
...
llvm-svn: 4966
2002-12-12 03:43:30 +00:00
Vikram S. Adve
5fb974b74a
This file provides the function DemoteRegToStack(), which takes a
...
virtual register computed by an Instruction& X and replaces it with
a slot in the stack frame, allocated via alloca.
llvm-svn: 4963
2002-12-10 13:07:12 +00:00
Vikram S. Adve
41aab86c40
The pass Parallelize automatically parallelizes a program using the
...
Cilk multi-threaded runtime system to execute parallel code. This file
exposes some routines needed for code generation for that pass.
llvm-svn: 4961
2002-12-10 00:42:22 +00:00
Vikram S. Adve
775e51d87a
Iterator that enumerates the ProgramDependenceGraph (PDG) for a function,
...
i.e., enumerates all data and control dependences for the function.
llvm-svn: 4958
2002-12-08 14:13:19 +00:00
Vikram S. Adve
8975afdfc4
An explicit representation of dependence graphs, and a pass that
...
computes a dependence graph for data dependences on memory locations
using interprocedural Mod/Ref information.
llvm-svn: 4957
2002-12-08 13:26:29 +00:00
Chris Lattner
906eea0e43
Give better error message if two passes of the same argument are registered
...
llvm-svn: 4950
2002-12-07 04:41:22 +00:00