Chris Lattner
8bdf87d1d8
All targets are now allowed to have their own MachineFunctionInfo objects,
...
also, make getInfo do some checking and cast to the appropriate concrete type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 18:13:16 +00:00
Misha Brukman
274ba03f49
Ultra-doxygenify some function header comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15884 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 17:52:36 +00:00
Chris Lattner
2fcd451a5e
Fit into 80 lines, add a gross hack for MachineFunctionInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15832 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:35:26 +00:00
Alkis Evlogimenos
71bf404e9b
Add viewCFG() and viewCFGOnly() APIs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14679 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-08 00:47:58 +00:00
Chris Lattner
25d8039bd6
Change the implementation of the autonumbering for MBB's a bit to provide
...
the reverse mapping as well as the mapping from MBB->unsigned
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14519 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 06:01:36 +00:00
Misha Brukman
a7afa37f3c
Clarify documentation and use correct doxygen comment form /// vs. // .
...
Thanks to Vladimir Prus for corrections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14009 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 14:51:25 +00:00
Tanya Lattner
17fb34bf8c
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 07:14:35 +00:00
Tanya Lattner
792699c46e
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:11:51 +00:00
Brian Gaeke
f460f1679e
Add a NextMBBNumber field w/ incrementing accessor method, for
...
function-level unique numbering of MBBs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13513 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:21 +00:00
Alkis Evlogimenos
c0b9dc5be7
Change MachineBasicBlock's vector of MachineInstr pointers into an
...
ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 02:27:10 +00:00
Chris Lattner
3e200e6c3b
Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass
...
to passes.h, and add the machien destruction pass to Passes.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10557 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20 10:18:58 +00:00
Chris Lattner
73c1366ee2
Remove sparc specific passes from public headers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20 09:15:21 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
6fbcc26f14
Added LLVM copyright header (for lack of a better term).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
Brian Gaeke
19df3876e6
Factory methods for FunctionPasses now return type FunctionPass *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 18:18:15 +00:00
Chris Lattner
cb09cc268b
Move annotation to support library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
40a75577ea
* Add a constant pool to hold per-function constants which must be spilled to memory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:16:10 +00:00
Chris Lattner
aa09b75d22
Rename FunctionFrameInfo to MachineFrameInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5201 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 21:08:28 +00:00
Chris Lattner
cd0d1d1f0f
* Pull a bunch of frame and constant pool state out into a new
...
MachineFunctionInfo class
* Add a new FunctionFrameInfo object
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5163 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:04:31 +00:00
Chris Lattner
03ab7af4de
Remove dependency on SSARegMap.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5137 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-25 05:00:16 +00:00
Misha Brukman
7b8ba17761
Set SSARegMap to NULL after deleting it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4822 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-22 22:32:15 +00:00
Misha Brukman
1617e6c997
SSARegMap -- the mapping between SSARegisters and their RegisterClasses, which
...
imply types of SSA Registers. This is on a per-function basis, so the
MachineFunction contains the SSARegMap, and has accessor functions to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4774 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 00:53:10 +00:00
Chris Lattner
dea73839f6
Improve comments, add methods for structured printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4431 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 00:46:31 +00:00
Chris Lattner
8815c79ea4
Add method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4428 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 23:40:30 +00:00
Chris Lattner
898c72b4d8
Remove unneeded #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4384 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 17:14:10 +00:00
Misha Brukman
d5806ffb40
Iterator functions now line up together.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4350 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 19:58:38 +00:00
Chris Lattner
335d5c399b
s/method/function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4338 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 05:58:46 +00:00
Chris Lattner
d0aa0cdbc6
Change MachineBasicBlock's to not be Annotations, instead they are kept as
...
part of a linked list tracked by MachineFunction. MachineBasicBlock::get
is now linear time instead of constant time, and thus is deprecated!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4337 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 05:30:46 +00:00
Chris Lattner
8e7ae9860b
Add BasicBlock list to MchineFunction that will eventually be the only
...
way to access MachineBasicBlocks. For now, it is never filled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4324 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 02:08:43 +00:00
Chris Lattner
0551f542ab
MachineFunction.h now includes MachineBasicBlock.h in preparation for
...
list changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4321 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 02:01:06 +00:00
Chris Lattner
9c6342d0cc
Add note about state that should be removed when time permits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4315 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 01:27:51 +00:00
Chris Lattner
e42a84f64f
Add prototypes for creation/destruction passes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4309 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 01:11:58 +00:00
Misha Brukman
fce1143bcf
Changed MachineCodeForMethod' to
MachineFunction'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4301 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:28:31 +00:00
Chris Lattner
1089790546
Non-standard hash classes are not in the std:: namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3057 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:21:33 +00:00
Chris Lattner
09ff1126da
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3056 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:21:32 +00:00
Vikram S. Adve
7b3640bd12
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2319 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-25 04:47:26 +00:00
Vikram S. Adve
fa79e6e869
Include temp. values when computing max. size of stack frame!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2070 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31 18:57:49 +00:00
Vikram S. Adve
4cbd55062d
Fix padding when allocating local variables on stack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1979 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:57:38 +00:00
Chris Lattner
e7506a366e
Rename Method to Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:51:58 +00:00
Vikram S. Adve
ce0845aeba
Added function computeOffsetforLocalVar to check how big the
...
offset-from-FP will be before allocating space for a local variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1900 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-18 03:23:29 +00:00
Chris Lattner
f2868ce228
Code pulled out of MAchineInstr.(h|cpp)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1660 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:54:50 +00:00