Vikram S. Adve
be376cf6d4
Allow transformation DecomposeArrayRef(GetElementPtrInst* GEP) to
...
be invoked on a single instruction at a time, for use in other passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3751 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:07:19 +00:00
Vikram S. Adve
e8f1df6446
Add routines to update or erase operands (and to do so without external
...
assumptions about which operand number stores what operand).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3750 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:06:12 +00:00
Vikram S. Adve
46fece70c2
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3749 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:01:41 +00:00
Vikram S. Adve
a081baac77
Add support for passes that use a TargetMachine object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3748 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:01:39 +00:00
Vikram S. Adve
504fc5b7b5
Add method MachineOperand::hasAllocatedReg().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3747 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:58:54 +00:00
Vikram S. Adve
d5af164f01
Add a version of ChooseRegOrImmed to handle numerical constants
...
introduced by InstrSelection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3746 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:58:34 +00:00
Vikram S. Adve
aa500f3f43
Add method adjustAlignment so that stack slot alignments can be computed
...
in a target-dependent manner (because of the dang OFFSET in Sparc v9).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3745 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:57:43 +00:00
Vikram S. Adve
4900116ab0
Add methods to query about the representation of LLVM quantities (e.g.,
...
constants). Useful for target-dependent LLVM transformations like
Preselection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3743 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:56:01 +00:00
Vikram S. Adve
ebc7511e86
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3741 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:39:35 +00:00
Vikram S. Adve
521758fb79
Remove unnecessary include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3723 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 23:04:52 +00:00
Vikram S. Adve
7e914a967d
Break RA_DEBUG option into several levels to get better output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3722 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 22:18:37 +00:00
Vikram S. Adve
7c26898401
Moving to lib/CodeGen/RegAlloc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3718 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 11:57:17 +00:00
Chris Lattner
e87e1c9aa9
Change the MallocInst & AllocaInst ctors to take the allocated type, not the
...
pointer type returned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3711 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 22:28:50 +00:00
Chris Lattner
4042332d4a
Checkin patch written by Casey Carter, enabling support for the redhat GCC 2.96
...
compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 14:33:39 +00:00
Chris Lattner
d0713f94af
Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair of
...
methods that may be useful for BasicBlockPasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3689 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-12 17:06:43 +00:00
Chris Lattner
dbd35c22e4
Convert index type for getelementptr instruction from uint to long
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3678 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-11 01:16:19 +00:00
Chris Lattner
9531c50c75
Add convenience ctor to BranchInst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3675 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 23:54:56 +00:00
Chris Lattner
3a8b0f00e6
Implement support for inserting an instruction into a basic block right when it
...
is created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3651 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:36:11 +00:00
Chris Lattner
a690c590dc
Eliminate the GenericBinaryInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3649 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:35:23 +00:00
Chris Lattner
2e9fe0ad09
* Eliminate GenericBinaryInst class
...
* Allow specifying where to insert a newly created SetCondInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3648 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:34:41 +00:00
Chris Lattner
226719e3ea
Eliminate the GenericBinaryInst class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3647 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:27:31 +00:00
Chris Lattner
b163f1c3e5
Eliminate setType method
...
Now the only way to set the type of a value is in the ctor for an object
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3646 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:26:27 +00:00
Chris Lattner
71184414d6
Move TmpInstruction ctor to InstrSelection.cpp file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3622 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:07:51 +00:00
Chris Lattner
96c2ce8614
Checkin initial support for automatic memory leak detection routines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3617 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:51:12 +00:00
Chris Lattner
fab8c796f6
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3604 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 21:31:57 +00:00
Chris Lattner
a42414bcf6
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3601 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 20:47:31 +00:00
Chris Lattner
513d3e8fc5
Include stub for correlated expression elimination pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3597 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 18:39:29 +00:00
Chris Lattner
ca8474e7f2
- Rename BreakCriticalEdge to the slightly more standard SplitCriticalEdge
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3587 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:35:11 +00:00
Chris Lattner
3e57cb98bd
* Doxygenize API
...
* Add new functions for identifying and breaking critical edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3586 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:19:25 +00:00
Chris Lattner
0c5d27e4a1
- 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3585 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:16:27 +00:00
Chris Lattner
f9bbe214fd
Make getAnalysisToUpdate<AnalysisType>() public so that transformation APIs
...
can update analysis information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3584 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:14:47 +00:00
Vikram S. Adve
68f716190b
Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3582 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-05 18:36:41 +00:00
Chris Lattner
ce8a14915d
- Renamed Type::isIntegral() to Type::isInteger()
...
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
SCVS: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3572 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-03 01:05:48 +00:00
Chris Lattner
625ea21205
Implement operator== and != for ranges
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3571 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-03 01:05:31 +00:00
Chris Lattner
b041eb5dd4
Remove duplicate #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3567 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-02 04:04:11 +00:00
Chris Lattner
7382e73f86
Add printing support to ConstantRange class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3566 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-02 00:18:26 +00:00
Chris Lattner
f6814d1dc7
Initial implementation of ConstantRange support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3564 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-01 23:53:39 +00:00
Chris Lattner
3d92ac255e
- Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
...
- Doxygenized iOperators.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3561 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-01 19:46:36 +00:00
Chris Lattner
8ac883939b
Convert cwriter to be a pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3557 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-31 00:28:25 +00:00
Chris Lattner
c74cb8698f
- Eliminate the last traces of the 'analysis' namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:53:53 +00:00
Chris Lattner
917914885d
Update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3547 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:51:21 +00:00
Chris Lattner
70433de019
Fix comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3546 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:51:08 +00:00
Chris Lattner
c447b4b791
Merged into ValueNumbering.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3545 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:30:51 +00:00
Chris Lattner
26d933a849
Initial implementation of basic value numbering
...
This file will probably go away at some point
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3542 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:30:03 +00:00
Chris Lattner
d7f672538a
Initial version of LoadValueNumbering interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:27:48 +00:00
Chris Lattner
dcee11cd0a
Initial version of ValueNumbering interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:27:15 +00:00
Chris Lattner
ada23c05f5
- PassInfo class keeps track of AnalysisGroups implemented by the Pass.
...
- Doxygenize comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:20:39 +00:00
Chris Lattner
76a8f7fb5a
- Pass now has AnalysisImpls class to implement getAnalysis() so that it is
...
correct even when called back by another passes run method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3531 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:19:49 +00:00
Chris Lattner
c46c04c2ac
Fix comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3523 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:08:39 +00:00
Chris Lattner
3f917b6f99
Make the getAnalyss<> members const. Using them does NOT modify the Pass object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:07:59 +00:00