Chris Lattner
ccec07a040
Fix namespace correctness bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3798 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:48:02 +00:00
Chris Lattner
b430e0b33d
Add support for gcc 3.2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3795 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:38:38 +00:00
Chris Lattner
c2b327768b
Remove extra #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3776 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 17:18:12 +00:00
Vikram S. Adve
0e9843db54
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3773 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 11:09:59 +00:00
Chris Lattner
214bf54175
Fix compile problem on linux. Noone should ever #include <inttypes.h>
...
directly. Instead, include Support/DataTypes.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3766 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 20:44:19 +00:00
Vikram S. Adve
2796860297
New preselection pass that specializes LLVM code for a target machine,
...
while remaining in legal portable LLVM form and preserving type
information and type safety.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3759 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 18:08:17 +00:00
Vikram S. Adve
33adbcc87d
Add ilist_iterator constructor from a node reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3756 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:46:17 +00:00
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
Chris Lattner
86bdc54d02
Fix to work correctly under linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3720 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 19:52:49 +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
Vikram S. Adve
0d0d3ee9a7
Add support for MacOS and (hopefully) other BSD derivatives.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3717 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 10:42:59 +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
dbc436cb07
Tighten up sanity checking
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3706 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 22:18:26 +00:00
Chris Lattner
9ada838909
Try to work well on multiple platforms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3704 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 21:51:25 +00:00
Chris Lattner
ff7f701a95
Add better linux support by using the right macro. This still should be
...
autoconfiscated, but for now this is sufficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3701 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 15:37:58 +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
Chris Lattner
93aeea3748
Add support for turning an array of characters into a string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3509 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 17:53:56 +00:00
Anand Shukla
e0b6b78e09
Changed so it gets linked properly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3508 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 16:45:19 +00:00
Chris Lattner
2619905926
Convert comments to Doxygen style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-25 22:54:55 +00:00
Vikram S. Adve
df3fe55e57
Added function GetMemInstArgs and made FoldGetElemChain private.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:03:10 +00:00
Vikram S. Adve
2730a38485
Added support for type inquiry in subclasses of InstTreeNode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3502 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:02:42 +00:00
Chris Lattner
615cdb92ee
Implement classof for SetCondInst so that instcombine doesn't break on dyn_cast<SetCondInst>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3493 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 18:30:58 +00:00
Chris Lattner
3bb8ad27a8
Eliminated the MemAccessInst class, folding contents into GEP class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3488 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:24 +00:00
Chris Lattner
cc63f1c674
Eliminated the MemAccessInst class, folding contents into GEP class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3487 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:20 +00:00
Chris Lattner
d145c2172f
Load & Store Inst now no longer derive from MemAccessInst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3486 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:54:10 +00:00
Chris Lattner
f150b9d984
Load and Store now no longer derive from MemAccessInst. Indexing a load or
...
store is not possible anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3482 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:47:47 +00:00
Chris Lattner
ce325e491c
doxygenize comments in header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3480 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:46:20 +00:00
Chris Lattner
f12c2c28bd
Add doxygen comments to AliasAnalysis class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3475 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 21:22:25 +00:00
Chris Lattner
e6d2fdff26
Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3473 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 20:39:27 +00:00
Chris Lattner
4df22c0100
Checkin new alias analysis infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3464 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 18:25:20 +00:00
Chris Lattner
dc58535b37
Remove unneccesary method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3452 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 15:57:37 +00:00
Vikram S. Adve
4afd6c37c7
Just some extra comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3446 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 03:03:10 +00:00
Vikram S. Adve
cab1a52aa2
Add method copyOperands().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3445 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 03:01:44 +00:00
Chris Lattner
c37fca1492
Add a class that is useful for hacking around linking problem due to
...
pass implementations not being linked in when they are used if the
implementation is in a .a file.
- Fighting with linking problem due to removing the ::ID elements. Now the
implementation .cpp files for analyses are not being included into gccas
and friends because it is linking to the .a file and there is no explicit
symbol reference to bring in the .o file. The new IncludeFile hack is the
result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3434 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:48:55 +00:00
Chris Lattner
a69fd90358
- Split Dominators.h into Dominators.h & PostDominators.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3432 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:43:50 +00:00
Chris Lattner
0756c11dea
- Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3425 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:16:59 +00:00
Chris Lattner
03e26ba35b
Add assertion checks to nail bugs early.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3424 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:14:28 +00:00
Chris Lattner
1d63a167ec
- Make Pass::lookupPassInfo a public member
...
- Fix Pass::getAnalysis<AnalysisType>() to use dynamic_cast instead of a
static cast to handle the case where the cast from & two classes are not
related via inheritance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3423 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:13:33 +00:00
Chris Lattner
546b027b3e
- Do not expose ::ID from any of the analyses anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3417 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:49 +00:00
Chris Lattner
044f908791
- Do not expose ::ID from any of the analyses anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3416 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:45 +00:00
Chris Lattner
fb30fda1de
- Eliminate the need for analyses to expose an ::ID member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3414 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:08:37 +00:00
Chris Lattner
7742799a80
Add missing forward decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3413 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 15:38:45 +00:00
Chris Lattner
bacb8b9a00
Add new SetCondInst::getInverseCondition() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3404 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 18:17:09 +00:00
Chris Lattner
e0fbb497ee
- ConstantPointerRefs are now automatically removed from the module table
...
when they are destroyed, which makes Constant::destroyConstant an actually
useful external interface. Expose these methods publicly.
- Implement destroyConstant on ConstPointerNull so that destroyConstant can
be used on any derived type constant safely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3378 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 00:39:59 +00:00
Chris Lattner
9bb451e721
Module's do not subclass from Value, so this code caused a segfault.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3376 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 00:37:14 +00:00
Chris Lattner
58dda9a8f2
Add Module::dump() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3374 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 23:32:42 +00:00
Chris Lattner
c5b74477c0
Remove the last traces of the NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3346 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-15 16:14:49 +00:00
Vikram S. Adve
917d551969
Change opLabel numbers for Not and BNot.
...
Also, these tree nodes are now binary, not unary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3344 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-15 14:20:45 +00:00
Vikram S. Adve
1718337cf7
Added more helper functions for binary instructions emulating
...
unary Neg and Not: isNeg, isNot, getNegArgument, and getNotArgument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3341 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-15 14:15:48 +00:00
Chris Lattner
ad333484ea
Remove support for Not ConstantExpr. This simplifies the unary case to only
...
have to support the cast instruction, so the function is renamed to getCast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3328 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:24:09 +00:00
Chris Lattner
9c16dba29f
Remove support for unary operators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3326 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:19:46 +00:00
Chris Lattner
935bb0d071
Remove reference to GenericUnaryInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3325 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:18:50 +00:00
Chris Lattner
30551d02f5
Remove support for unary instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3324 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:18:28 +00:00
Chris Lattner
f4e3c006ac
Remove constant propogation support for NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3321 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:17:07 +00:00
Chris Lattner
75309f844a
Expose two new static methods from BinaryOperator: createNeg, createNot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3314 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:51:29 +00:00
Vikram S. Adve
a7710518da
Add method MachineInstr::substituteValue() which substitutes
...
one Value with another one in all operands and implicit references
of the machine instruction.
Also add method MachineOperand::getVRegValueOrNull().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3307 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 16:54:11 +00:00
Chris Lattner
c75071c3bf
- Rename ConstantGenericIntegral -> ConstantIntegral
...
- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
getAllOnesValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3298 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 17:50:18 +00:00
Chris Lattner
6ef3369321
Return const char * const instead of std::string from get register name method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:24:55 +00:00
Chris Lattner
994b9f337b
- Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral
...
- Moved InstCombine: isMaxValue, isMinValue, isAllOnesValue to Constants.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:21:21 +00:00
Chris Lattner
89f2aa5fd8
* IntervalPartition no longer derives from vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 22:52:06 +00:00
Chris Lattner
cc367a3ea0
Do not add an extra vtable to EVERY machineinstr created.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3280 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:49:21 +00:00
Chris Lattner
dc1e020444
UnaryOperator::create should take a name just like BinaryOperator::create
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3279 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:39:38 +00:00
Chris Lattner
035dfbe7f2
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:06 +00:00
Chris Lattner
179cdfb5c8
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3277 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:03 +00:00
Chris Lattner
919c4f8a44
Change machinecode for instruction to not inherit from vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3274 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:04:28 +00:00
Chris Lattner
5b2f502968
The second parameter of hash_set is the default, remove it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3273 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 19:40:42 +00:00
Chris Lattner
5f0eb8da62
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3265 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:01:30 +00:00
Chris Lattner
5791bb70b1
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3263 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:01:11 +00:00
Chris Lattner
d23a35bc2b
Simplify interface to parsers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3255 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 18:36:27 +00:00
Vikram S. Adve
b8a45c9fe9
Add function GetConstantValueAsUnsignedInt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3249 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:55:59 +00:00
Vikram S. Adve
607bfadd8c
Add MemAccessInst::getNumIndices().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3234 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-03 13:22:36 +00:00
Chris Lattner
49af5e4131
Changes to be GCC 3.1 friendly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3184 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-31 19:31:59 +00:00
Chris Lattner
01c7f6d1c7
Remove obsolete, confusing, method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3175 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-31 01:45:02 +00:00
Vikram S. Adve
3b43b772e6
Add GlobalDSGraph -- a common graph that holds externally visible nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3169 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 22:02:04 +00:00
Chris Lattner
55b45bfae3
Add hooks to get information out of concrete pass manager implementations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3164 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 19:49:39 +00:00
Chris Lattner
e8e4605021
Cleanup ConstantExpr handling:
...
* Correctly delete TypeHandles in AsmParser. In addition to not leaking
memory, this prevents a bug that could have occurred when a type got
resolved that the constexpr was using
* Check for errors in the AsmParser instead of hitting assertion failures
deep in the code
* Simplify the interface to the ConstantExpr class, removing unneccesary
parameters to the ::get* methods.
* Rename the 'getelementptr' version of ConstantExpr::get to
ConstantExpr::getGetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3160 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 18:54:22 +00:00
Chris Lattner
6b5fe1962b
* Implement stuff so that code can declare that they only depend on the CFG of
...
a function, not on anything else. This speeds up GCCAS a lot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3156 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 16:27:32 +00:00
Chris Lattner
e56096aa41
Implement constant propogation of logical (and, or, xor) expressions.
...
Fixes testcase: test/Regression/Transforms/ConstProp/logicaltest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 16:24:25 +00:00
Chris Lattner
b5eb866882
Expose instruction selection as a pass instead of a global function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3145 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 03:55:29 +00:00
Chris Lattner
5d1cf5b4eb
Add rough support for LLC passes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 03:55:01 +00:00
Chris Lattner
229a3770f6
Implement a new RemoveSuccessor function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3130 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 22:32:06 +00:00
Chris Lattner
d472e47b6c
* Eliminate the Provided set. All Passes now finally just automatically
...
provide themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 21:03:38 +00:00
Chris Lattner
eb702350f7
* Eliminate the Provided set. All Passes now finally just automatically
...
provide themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3124 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 21:03:33 +00:00
Chris Lattner
f9b2297380
* Fix comment descriptions
...
* Remove defaulted argument to ctor that is never used anyway
* Prevent copying and assignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3122 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 21:01:19 +00:00
Chris Lattner
a59cbb2043
* Standardize how analysis results/passes as printed with the print() virtual
...
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-27 01:12:17 +00:00
Chris Lattner
97f51a3024
* Standardize how analysis results/passes as printed with the print() virtual
...
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3115 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-27 01:12:15 +00:00
Chris Lattner
1e43516dcf
* Add support for different "PassType's"
...
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:12:44 +00:00
Chris Lattner
5d549083e2
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3111 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:11:42 +00:00
Chris Lattner
631149287e
* Add support for different "PassType's"
...
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3110 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:11:38 +00:00
Chris Lattner
7b499f7303
Factor PassNameParser out of opt.cpp so that analyze and eventually llc can use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 21:09:10 +00:00
Chris Lattner
00444d0630
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3107 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 19:19:31 +00:00
Chris Lattner
aabff77165
Analysis contructors now no longer take AnalysisID's as their argument,
...
because there is a one-one mapping between classes and analyses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3106 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 19:19:16 +00:00
Chris Lattner
0cbc6c2fd8
Simplify analyses so that there is only one analysis per class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3104 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 18:40:06 +00:00
Chris Lattner
4b757f83ab
Remove dead options
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3096 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 19:59:38 +00:00
Chris Lattner
30bc0547d9
Fix previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3093 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 17:58:58 +00:00
Chris Lattner
f8820c353b
Add typenames
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3092 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 17:55:37 +00:00
Chris Lattner
47d3e26139
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3082 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:39:09 +00:00
Chris Lattner
b2e80a6951
Avoid warning: control reaches end of non-void function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3081 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:39:05 +00:00
Chris Lattner
2440db2cb4
Add support for GCC 3.0.4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3080 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:23:20 +00:00
Chris Lattner
c6a4bf1251
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3077 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:00:45 +00:00
Chris Lattner
de32fedb8c
GCC 3.1 changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3076 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 15:00:43 +00:00
Chris Lattner
3f5569152c
GCC 3.1 changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3070 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:34:01 +00:00
Chris Lattner
39d69009d0
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3067 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:20:06 +00:00
Chris Lattner
8dc67168cc
GCC 3.1 fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:20:00 +00:00
Chris Lattner
fe8041ae39
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:53 +00:00
Chris Lattner
7f4dd472e3
Changes to build with GCC 3.1
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3064 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:36 +00:00
Chris Lattner
24e9872732
Use the Support/iterator file to abstract out compiler differences
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3063 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:07:57 +00:00
Chris Lattner
0d219edad2
Use the new include/Support/iterator file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:07:42 +00:00
Chris Lattner
dd39be6c96
Add forward_iterator wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3061 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:07:13 +00:00
Chris Lattner
98f1bfb4a0
Add another GCC2.95->3.1 compatibility header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3060 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:38:41 +00:00
Chris Lattner
88e1079bc4
Spiff up the header files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3059 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:25:34 +00:00
Chris Lattner
cb6289a73d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3058 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:21:33 +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
Chris Lattner
417d31c202
Move hash_* extension headers from ext/ to Support/ so that we can support
...
GCC 2.95, GCC 3.0.4 and GCC 3.1 all concurrently, without having to delete
headers after a chackou.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:16:42 +00:00
Chris Lattner
2b5304a625
Move compatibility headers to Support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3054 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 21:09:54 +00:00
Chris Lattner
7f5e6cd751
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3053 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:44:02 +00:00
Chris Lattner
a1cb4737b0
Changes to make it GCC 3.1 compatible
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3052 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:44:01 +00:00
Chris Lattner
5a6d63ae29
Add missing typename's that GCC3.1 is whining about.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3051 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:22:09 +00:00
Chris Lattner
e2c677fd9c
Disable the operator= in Value
...
Disable the copy ctor and operator= in Annotation.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3048 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 20:01:57 +00:00
Chris Lattner
f6a1328e4c
Remove assert hack now that I'm using the right GDB. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3045 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:21:36 +00:00
Chris Lattner
ab955c3359
Move many files into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:58 +00:00
Chris Lattner
ac20beb546
Move contents of these files into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3041 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:24 +00:00
Chris Lattner
5c5db0eeb4
* Rename to IPO.h
...
* Add ConstantMerge.h contents
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3032 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:56:27 +00:00
Chris Lattner
28fe8ce18f
Add a version of the bytecode writer pass that has a default ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3031 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:56:03 +00:00
Chris Lattner
3c19b92389
Incorporate into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3030 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:51:10 +00:00
Chris Lattner
03917ccb0c
Prepare the file to become IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3029 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:48:52 +00:00
Chris Lattner
378fb1df55
Merge the contents of ChangeAllocations.h into Scalar.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:37:38 +00:00
Chris Lattner
4c76fc048b
Break part of Pass.h out into PassAnalysisSupport.h
...
Add PassSupport.h which contains code for Pass registration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3010 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:59:55 +00:00
Chris Lattner
f1ac9f6a7f
Allow comparison against null
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3009 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:59:02 +00:00
Chris Lattner
dedcc76fda
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3008 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:44 +00:00
Chris Lattner
f113b854d0
Pass creator requires a TargetData member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3007 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:42 +00:00
Chris Lattner
8bf58bbc69
Regularize the Print*Passes so they have default ctors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3006 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:58:09 +00:00
Chris Lattner
c1b5d092a0
Initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3005 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:56:53 +00:00
Chris Lattner
af7e82184d
Add support for removing an option from a genericparser
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2998 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:15:09 +00:00
Chris Lattner
ae1257a77b
Change to avoid bug in GCC 3.0.4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2997 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 00:44:37 +00:00
Chris Lattner
5eb6b70b06
initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2996 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 00:17:55 +00:00
Chris Lattner
973fe1fb28
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2995 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 00:17:22 +00:00
Chris Lattner
e08728bda5
Initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2994 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 00:17:14 +00:00
Mehwish Nagda
c4e9a14847
Moved to Reoptimizer/Mapping directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2991 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 22:06:56 +00:00
Chris Lattner
331de23705
Checkin CommandLine 2.0
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2982 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:07:59 +00:00
Anand Shukla
9bdf841ef1
changed first arg of parseBytecodeBuffer to unsigned char
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2978 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-21 09:31:59 +00:00
Anand Shukla
9cd186c4c1
changed first arg og parseBytecodeBuffer to uchar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2977 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-21 09:26:32 +00:00
Chris Lattner
b8a9d9030d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2976 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-20 08:20:00 +00:00
Chris Lattner
cb86317967
Check in the boost type_traits library, because it is now used by the CommandLine library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2975 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-20 08:19:52 +00:00
Chris Lattner
2dfbe3a751
Rename removeDeadNodes to removeTriviallyDeadNodes
...
Add new removeDeadNodes method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2968 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 18:18:40 +00:00
Chris Lattner
a990291462
Simplify saveOrigFunctionCalls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2967 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 16:23:02 +00:00
Vikram S. Adve
6aa0d62cb9
Add support for a top-down propagation pass.
...
Each DSGraph now keeps a list of pending callers that have not
been inlined into the function represented by that graph.
It also keeps a copy of the original call nodes before the BU pass
eliminates some of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2965 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 16:12:08 +00:00
Chris Lattner
b195911eab
* s/method/function
...
* BIG CHANGE: The root of the call "graph" is considered to be the external
node, not the "Root". This means that users using graph iterators like
df_begin() will start from the external node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 04:42:35 +00:00
Chris Lattner
84428e1892
First cut at implementing bottom up analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2944 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 00:11:28 +00:00
Chris Lattner
1aa7132700
Make getelementptr ConstExpr take a vector of constants not values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2943 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 00:11:08 +00:00
Chris Lattner
1416089f44
Fix prototype to make function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2939 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-17 21:34:20 +00:00
Mehwish Nagda
0226fdb6e7
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2912 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-15 23:56:27 +00:00
Vikram S. Adve
ab6317a1e5
Ensure ConstExpr constants are unique.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2910 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-15 18:20:50 +00:00
Vikram S. Adve
5814008f4b
Create a static version of Instruction::getOpcodeName(opCode) that
...
can be invoked with only an opcode (i.e., without an instruction).
Move all opCode->opCodeName translations there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2892 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-14 22:48:20 +00:00
Vikram S. Adve
29ab9f8348
Added subclass ConstantExpr to represent expressions consructed from
...
constants using operators such as cast, getelementptr, add, shl, etc.
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr. This is why isConstantExpr() is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2891 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-14 22:47:54 +00:00
Vikram S. Adve
4a717d4a47
Add a couple of virtual functions to support subclass ConstantExpr.
...
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr. This is why isConstantExpr() is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2890 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-14 22:46:32 +00:00
Anand Shukla
0135729303
initial version: for emitfuncs pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2886 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-12 20:28:22 +00:00
Chris Lattner
1dc15b7997
* Nodes now keep track of any global variables contained within them
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2877 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-11 20:30:18 +00:00
Anand Shukla
24787fa2ed
added std:: to vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2874 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-11 00:16:28 +00:00
Chris Lattner
cd0b36fb07
New implementation of data structure analysis
...
This diff is completely meaningless because this is a replacement
implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2872 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 22:42:17 +00:00
Vikram S. Adve
975f6d4f44
Bug fix: cast (bool) has higher precedence than %... who knew!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2864 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:51:46 +00:00
Vikram S. Adve
69cacd4710
Add support for marking each operand as a %hh, %hm, %lm or %lo.
...
Represent previous bools and these ones with flags in a single byte
per operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2863 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:50:57 +00:00
Vikram S. Adve
e694366259
Added a few more methods for creating instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2862 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:49:38 +00:00
Vikram S. Adve
9d22cd4535
Put caller-saving code *before* argument copying code!
...
(This file has a minor change required for this fix.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2854 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:30:17 +00:00
Vikram S. Adve
bba2485c70
Minor change in comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2853 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 21:29:22 +00:00
Chris Lattner
46f824f21d
Allow specifying a module for context instead of a slot calculator directly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2851 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 16:48:14 +00:00
Anand Shukla
e086f4e897
added std:: to hash_set
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2846 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-09 19:18:16 +00:00
Chris Lattner
53e9983790
Include header in the compiler-neutral location
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2843 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-09 16:50:24 +00:00
Vikram S. Adve
5023bd4a64
cpMem<->Reg functions now support CC registers (int and FP) correctly.
...
A scratch register has to be provided when needed to do the copy.
Also, cpMem<->Reg functions now return a vector of machine instructions.
Added several get{Class,Type} functions.
Suggest/Color methods may modify the MachineInstr (and always did),
so don't make that argument const!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2824 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:44:14 +00:00
Vikram S. Adve
deb9654056
Interface to class MachineCodeForBasicBlock.
...
Moved here from MachineInstr.h to make it an annotation on BasicBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2823 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:40:34 +00:00
Vikram S. Adve
7a4be9580e
Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.
...
An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2821 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:38:45 +00:00
Vikram S. Adve
c920dc714d
Added two more helper functions for instruction creation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2819 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:33:45 +00:00
Vikram S. Adve
08272fbdb2
Moved MachineCodeForBB to be an annotation on BasicBlock.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2818 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-08 22:31:11 +00:00
Anand Shukla
4b244ac1b4
Add new << to allow printing modules by reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2814 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-03 16:52:15 +00:00
Chris Lattner
8137a203f3
Fix comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2803 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-30 15:50:09 +00:00
Anand Shukla
60a786e9e9
added include<iostream> for cerr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 22:04:00 +00:00
Chris Lattner
0d1fa55200
We must with with GCC 2.95 :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2787 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:33:28 +00:00
Anand Shukla
4a9f933751
changes to make it compatible with 64bit gcc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2786 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:22:25 +00:00
Anand Shukla
0bdbfe0b15
Added setSuccessor() method to terminator instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2784 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 20:17:40 +00:00
Chris Lattner
7e70829632
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
18961504fc
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:12:52 +00:00
Chris Lattner
a51b767df4
Allow const bb's to be checked for containment in a loop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2754 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-03 22:10:48 +00:00
Chris Lattner
a338016c7c
Simplify the interface to local dce and constprop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2750 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-26 20:18:35 +00:00
Chris Lattner
85c5465e07
Convert RegClass::IsColorUsedArr from a dynamically allocated array to
...
a vector. This makes asserting on array bounds easier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2731 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23 15:50:03 +00:00
Chris Lattner
195755ced7
Add a new setSuccessor method to terminator instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2730 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23 15:48:41 +00:00
Chris Lattner
b3eac89323
Implement DataTypes.h in terms of inttypes.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2729 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23 15:48:12 +00:00
Chris Lattner
e87adaac31
Avoid #including CommandLine.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2710 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:06:56 +00:00
Chris Lattner
4435ac0097
Implement a new command line option, -debug, which is meant to unify all of
...
the random debugging macros scattered throughout llvm.
The new DEBUG(x) macro should be used instead of special purpose debug macros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2709 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:06:20 +00:00
Chris Lattner
71fb71628a
Add ability to update existing variables with values read from the command line
...
to certain classes. This is nice because it means that in header files we can
just declare a value, and still have that value be set based on a command-line
argument. The difference is now that the #include of CommandLine.h does not
need to go into the header file as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2708 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22 17:03:05 +00:00
Chris Lattner
76ae3445f8
Simplify interface to ConstantFoldTerminator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:04:50 +00:00
Chris Lattner
b8bcb086f7
Expose CFG simplification pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2696 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-21 20:04:15 +00:00
Chris Lattner
54ea60c69e
Cleanups, rename IsPowerOf2 to isPowerOf2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2662 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 21:19:55 +00:00
Vikram S. Adve
bcfa423e3d
Added log2 for log-base-2 and also modified IsPower2 to use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2653 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:46:52 +00:00
Vikram S. Adve
14e3c44486
Added parameter IntRegSize for standard general-purpose register size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2652 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:44:07 +00:00
Vikram S. Adve
c864fde15c
New function CreateSignExtensionInstructions.
...
Methods now take MachineCodeForInstruction& as an argument and record
temporary values in it directly, instead of return the temps.
Really simplifies callers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2651 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:43:31 +00:00
Vikram S. Adve
febfae46a7
Many functions that returned a single MachineInstr now take a
...
vector of MachineInstr* to return multiple ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2650 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:42:21 +00:00
Vikram S. Adve
67d6208d05
Better interface to generating machine instr for common cases
...
(many places still need to be updated to use this interface).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2648 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:40:41 +00:00
Vikram S. Adve
8eb04905e8
MachineInstr now inherits from Annotable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2647 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:39:59 +00:00
Vikram S. Adve
7e684a956a
Annotation class for MachineInstr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2643 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:30:21 +00:00
Vikram S. Adve
f66723fc4b
Add integer register size field.
...
Make all sizes and offsets uint64_t instead of uint.
Fixed GetIndexedOffset to handle mixed array and struct indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2641 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 15:28:02 +00:00
Chris Lattner
017489cfa2
Invoke inst has side effects!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2619 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-14 04:20:25 +00:00
Chris Lattner
ef704a23b4
Add method to check to see if two _Instructions_ dominate each other
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2616 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-13 22:03:16 +00:00
Chris Lattner
0fe2153507
Add prototype for LICM pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2612 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:44:16 +00:00