Commit Graph

931 Commits

Author SHA1 Message Date
Vikram S. Adve e3a75d6b33 Allow transformation DecomposeArrayRef(GetElementPtrInst* GEP) to
be invoked on a single instruction at a time, for use in other passes.

llvm-svn: 3751
2002-09-16 16:07:19 +00:00
Vikram S. Adve 5c363ba209 Add routines to update or erase operands (and to do so without external
assumptions about which operand number stores what operand).

llvm-svn: 3750
2002-09-16 16:06:12 +00:00
Vikram S. Adve 4b775b2763 *** empty log message ***
llvm-svn: 3749
2002-09-16 16:01:41 +00:00
Vikram S. Adve df7d0b5a9e Add support for passes that use a TargetMachine object.
llvm-svn: 3748
2002-09-16 16:01:39 +00:00
Vikram S. Adve 794cbb1e11 Add method MachineOperand::hasAllocatedReg().
llvm-svn: 3747
2002-09-16 15:58:54 +00:00
Vikram S. Adve 656e77d102 Add a version of ChooseRegOrImmed to handle numerical constants
introduced by InstrSelection.

llvm-svn: 3746
2002-09-16 15:58:34 +00:00
Vikram S. Adve 2d2fb24342 Add method adjustAlignment so that stack slot alignments can be computed
in a target-dependent manner (because of the dang OFFSET in Sparc v9).

llvm-svn: 3745
2002-09-16 15:57:43 +00:00
Vikram S. Adve fff5ffde27 Add methods to query about the representation of LLVM quantities (e.g.,
constants).  Useful for target-dependent LLVM transformations like
Preselection.

llvm-svn: 3743
2002-09-16 15:56:01 +00:00
Vikram S. Adve 4f5bad8d2e *** empty log message ***
llvm-svn: 3741
2002-09-16 15:39:35 +00:00
Vikram S. Adve d171a8c7c5 Remove unnecessary include.
llvm-svn: 3723
2002-09-14 23:04:52 +00:00
Vikram S. Adve c9f1e71360 Break RA_DEBUG option into several levels to get better output.
llvm-svn: 3722
2002-09-14 22:18:37 +00:00
Chris Lattner a4583fdafc Fix to work correctly under linux
llvm-svn: 3720
2002-09-14 19:52:49 +00:00
Vikram S. Adve a8f926c0c1 Moving to lib/CodeGen/RegAlloc.
llvm-svn: 3718
2002-09-14 11:57:17 +00:00
Vikram S. Adve 40a24e841e Add support for MacOS and (hopefully) other BSD derivatives.
llvm-svn: 3717
2002-09-14 10:42:59 +00:00
Chris Lattner fc91ee91e8 Change the MallocInst & AllocaInst ctors to take the allocated type, not the
pointer type returned.

llvm-svn: 3711
2002-09-13 22:28:50 +00:00
Chris Lattner 240f026d9a Tighten up sanity checking
llvm-svn: 3706
2002-09-13 22:18:26 +00:00
Chris Lattner 8c63fee2d9 Try to work well on multiple platforms.
llvm-svn: 3704
2002-09-13 21:51:25 +00:00
Chris Lattner e614665c1c Add better linux support by using the right macro. This still should be
autoconfiscated, but for now this is sufficient.

llvm-svn: 3701
2002-09-13 15:37:58 +00:00
Chris Lattner 5d40b83adf Checkin patch written by Casey Carter, enabling support for the redhat GCC 2.96
compiler.

llvm-svn: 3697
2002-09-13 14:33:39 +00:00
Chris Lattner 5e08e70f6c Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair of
methods that may be useful for BasicBlockPasses.

llvm-svn: 3689
2002-09-12 17:06:43 +00:00
Chris Lattner 813d4aa6c0 Convert index type for getelementptr instruction from uint to long
llvm-svn: 3678
2002-09-11 01:16:19 +00:00
Chris Lattner 4ecbe74c27 Add convenience ctor to BranchInst
llvm-svn: 3675
2002-09-10 23:54:56 +00:00
Chris Lattner 5bf620748f Implement support for inserting an instruction into a basic block right when it
is created.

llvm-svn: 3651
2002-09-10 15:36:11 +00:00
Chris Lattner 9ae0fd2d6c Eliminate the GenericBinaryInst class
llvm-svn: 3649
2002-09-10 15:35:23 +00:00
Chris Lattner 7d02d3102a * Eliminate GenericBinaryInst class
* Allow specifying where to insert a newly created SetCondInst

llvm-svn: 3648
2002-09-10 15:34:41 +00:00
Chris Lattner 9c11ca3b17 Eliminate the GenericBinaryInst class.
llvm-svn: 3647
2002-09-10 15:27:31 +00:00
Chris Lattner 45719ee85d Eliminate setType method
Now the only way to set the type of a value is in the ctor for an object

llvm-svn: 3646
2002-09-10 15:26:27 +00:00
Chris Lattner d85566e59a Move TmpInstruction ctor to InstrSelection.cpp file
llvm-svn: 3622
2002-09-08 21:07:51 +00:00
Chris Lattner 57c6a2123d Checkin initial support for automatic memory leak detection routines
llvm-svn: 3617
2002-09-08 18:51:12 +00:00
Chris Lattner 809375647d * Clean up some comments
* Move code out of header file to .cpp files, to make future changes easier
* Add arguments to classes so that they can be automatically inserted into their
  parent structure upon creation.

llvm-svn: 3604
2002-09-06 21:31:57 +00:00
Chris Lattner 43a240e346 * Clean up indentation a bit
* Fix broken comments (copy and pasto)
* Remove irrelevant comment
* Add extra argument to function that causes it to get inserted into a module
  automatically.

llvm-svn: 3601
2002-09-06 20:47:31 +00:00
Chris Lattner 1ff9162127 Include stub for correlated expression elimination pass
llvm-svn: 3597
2002-09-06 18:39:29 +00:00
Chris Lattner 00b95cc534 - Rename BreakCriticalEdge to the slightly more standard SplitCriticalEdge
llvm-svn: 3587
2002-09-06 02:35:11 +00:00
Chris Lattner 579bb9b527 * Doxygenize API
* Add new functions for identifying and breaking critical edges

llvm-svn: 3586
2002-09-06 02:19:25 +00:00
Chris Lattner 3684289913 - Doxygenize comments
- Add new method to dominatorset: properlyDominates
- Add synonmys for operator[] to classes so that pointers to dominator
  information can be used more easily.
- Add API's to update dominator information

llvm-svn: 3585
2002-09-06 02:16:27 +00:00
Chris Lattner c0396b8b9e Make getAnalysisToUpdate<AnalysisType>() public so that transformation APIs
can update analysis information.

llvm-svn: 3584
2002-09-06 02:14:47 +00:00
Vikram S. Adve e6834a1ce5 Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
llvm-svn: 3582
2002-09-05 18:36:41 +00:00
Chris Lattner 2d42bbf5d0 - Renamed Type::isIntegral() to Type::isInteger()
- Added new method Type::isIntegral() that is the same as isInteger, but
    also accepts bool.
SCVS: ----------------------------------------------------------------------

llvm-svn: 3572
2002-09-03 01:05:48 +00:00
Chris Lattner 7a558ad672 Implement operator== and != for ranges
llvm-svn: 3571
2002-09-03 01:05:31 +00:00
Chris Lattner b986628323 Remove duplicate #include
llvm-svn: 3567
2002-09-02 04:04:11 +00:00
Chris Lattner 4293908573 Add printing support to ConstantRange class
llvm-svn: 3566
2002-09-02 00:18:26 +00:00
Chris Lattner a17c18ce28 Initial implementation of ConstantRange support
llvm-svn: 3564
2002-09-01 23:53:39 +00:00
Chris Lattner a48992faaa - Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
- Doxygenized iOperators.h

llvm-svn: 3561
2002-09-01 19:46:36 +00:00
Chris Lattner bc56c86ca4 Convert cwriter to be a pass.
llvm-svn: 3557
2002-08-31 00:28:25 +00:00
Chris Lattner ed39ccae8d - Eliminate the last traces of the 'analysis' namespace
llvm-svn: 3550
2002-08-30 22:53:53 +00:00
Chris Lattner 91f9b9de9e Update comments
llvm-svn: 3547
2002-08-30 22:51:21 +00:00
Chris Lattner f7e2daf5a4 Fix comments.
llvm-svn: 3546
2002-08-30 22:51:08 +00:00
Chris Lattner ba6fda3e69 Merged into ValueNumbering.cpp
llvm-svn: 3545
2002-08-30 22:30:51 +00:00
Chris Lattner a70e697e29 Initial implementation of basic value numbering
This file will probably go away at some point

llvm-svn: 3542
2002-08-30 20:30:03 +00:00
Chris Lattner 3e4e6974f2 Initial version of LoadValueNumbering interface
llvm-svn: 3539
2002-08-30 20:27:48 +00:00