62 Commits

Author SHA1 Message Date
Misha Brukman
9708959677 Fixed spelling.
llvm-svn: 8588
2003-09-17 21:34:23 +00:00
Misha Brukman
cda7f97dbb The word dependent' has no a'.
llvm-svn: 8030
2003-08-21 22:14:26 +00:00
Brian Gaeke
af3bc2b895 Factory methods for function passes now return type FunctionPass *.
Get rid of RegisterLLC, which can't handle FunctionPasses anyway.

llvm-svn: 7836
2003-08-14 06:04:49 +00:00
Chris Lattner
92dfc1ed32 Making this code const-correct would be a pain, so I'll hack it.
llvm-svn: 7350
2003-07-26 23:29:51 +00:00
Vikram S. Adve
d43c10b583 Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.

llvm-svn: 6469
2003-05-31 07:41:24 +00:00
Chris Lattner
3e687b8b65 Remove unneccesary &*
llvm-svn: 5871
2003-04-23 16:36:11 +00:00
Chris Lattner
c934e3fa5f Minor changes
llvm-svn: 5302
2003-01-15 19:47:53 +00:00
Chris Lattner
dfa3c21f1c More renamings of Target/Machine*Info to Target/Target*Info
llvm-svn: 5204
2002-12-29 03:13:05 +00:00
Chris Lattner
0141841bc4 Fix warning
llvm-svn: 4649
2002-11-09 00:49:43 +00:00
Chris Lattner
fdca057f8d Remove usage of MachineBasicBlock::get
llvm-svn: 4342
2002-10-28 19:01:16 +00:00
Chris Lattner
7cdc2977f0 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!

llvm-svn: 4337
2002-10-28 05:30:46 +00:00
Chris Lattner
df1d87f5f3 *** empty log message ***
llvm-svn: 4323
2002-10-28 02:01:37 +00:00
Chris Lattner
b8c6acfbc0 Rename MachineCodeForBasicBlock to MachineBasicBlock
llvm-svn: 4318
2002-10-28 01:41:47 +00:00
Misha Brukman
142795fd17 Changed MachineCodeForMethod' to MachineFunction'.
llvm-svn: 4301
2002-10-28 00:28:31 +00:00
Chris Lattner
47508d5c0f Tell PassManager that this pass does not invalidate the CFG so that dominator
information and Loop info will not have to be recomputed after this runs.

llvm-svn: 4269
2002-10-23 03:30:47 +00:00
Chris Lattner
22bcab6bd5 Make sure the leakdetector is told about temporary Phi nodes also, so it doesn't
erroneously report them as leaks

llvm-svn: 3624
2002-09-08 21:19:29 +00:00
Chris Lattner
1c2e1ebb5c Inform the memory leak detector that TmpInstruction objects should not be
subject to memory leak checking.

llvm-svn: 3623
2002-09-08 21:08:43 +00:00
Chris Lattner
c95ce32146 We are using std::vector, so remove extraneous namespace prefixes
llvm-svn: 3275
2002-08-09 20:05:34 +00:00
Chris Lattner
44a988ebf2 * Move InstructionSelection Pass here instead of living in Sparc.cpp. It
is platform independant afterall.
* Object orientize the functions, cleanup code a bit.  Instead of static
  global functions, the helpers for instruction selection are now part of
  the InstructionSelection Pass class.

llvm-svn: 3147
2002-07-30 03:57:36 +00:00
Chris Lattner
99ad379582 *** empty log message ***
llvm-svn: 2985
2002-07-22 02:10:13 +00:00
Vikram S. Adve
f6d73e9711 Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h.
This class is now an annotation on BasicBlock.

llvm-svn: 2829
2002-07-08 23:03:10 +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
d7cbd7d5d2 MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt

llvm-svn: 2778
2002-06-25 16:13:21 +00:00
Chris Lattner
1752fa9899 Hide debugging options
llvm-svn: 2676
2002-05-20 21:39:10 +00:00
Vikram S. Adve
883c425f15 cpValue2Value now needs a vector of MachineInstr to store return values.
llvm-svn: 2644
2002-05-19 15:31:08 +00:00
Chris Lattner
96e0c48175 Eliminate duplicate or unneccesary #include's
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
56229b8690 Value cannot be directly instantiated. I think that this code was TRYING to
make a PHI node, although it was badly broken.  This keeps tests passing, so
we'll go with it.

llvm-svn: 2184
2002-04-08 22:05:54 +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
8493ae74b2 Use deterministic iterator for treeRoots.
llvm-svn: 1967
2002-03-24 03:36:52 +00:00
Vikram S. Adve
3fe5a9e913 Use vector for machine instructions returned by GetInstructionsByRule.
Fix constants in instructions generated for Phi elimination.

llvm-svn: 1902
2002-03-18 03:31:54 +00:00
Chris Lattner
8e9be000a7 * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into
llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
  InstrTypes.h anymore

llvm-svn: 1750
2002-02-12 22:39:50 +00:00
Chris Lattner
53b8194805 * Straighten out #includes
* Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr

llvm-svn: 1647
2002-02-03 07:33:46 +00:00
Chris Lattner
3dc9a2a61f Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +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
bcf2df7058 Split the PHINode class out from the iOther.h file into the iPHINode.h file
llvm-svn: 1405
2001-12-03 18:02:31 +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
647337ad60 Added naming to inserted phi copy values - for easy debugging
llvm-svn: 1325
2001-11-15 20:46:40 +00:00
Ruchira Sasanka
9892c23157 Changed phi elimination code
llvm-svn: 1311
2001-11-15 00:27:14 +00:00
Ruchira Sasanka
d6c5e0f535 For phi elimination, now we are generating only one instruction
using cpValue2Value instead of
passing vector to createCopyInstructionByType.

llvm-svn: 1272
2001-11-12 19:42:27 +00:00
Ruchira Sasanka
9b7638e108 Added phi elimination code - not final
llvm-svn: 1264
2001-11-12 14:44:50 +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
1beadb278b Cosmetic changes only.
llvm-svn: 946
2001-10-22 13:51:09 +00:00
Vikram S. Adve
34b17e8a37 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: 859
2001-10-17 23:57:50 +00:00
Vikram S. Adve
34c44524a7 Moved code generation support routines to InstrSelectionSupport.cpp.
llvm-svn: 717
2001-10-10 20:49:07 +00:00
Vikram S. Adve
296070fa2c Minor changes.
llvm-svn: 613
2001-09-18 12:56:28 +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
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
796e9f8118 A file should always include it's private header file *FIRST* see the
coding guidelines

llvm-svn: 474
2001-09-07 17:15:18 +00:00