Vikram S. Adve
|
106604ea6d
|
Simplified code that handles call args and rets, so it no longer
needs the RegClass list to be passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3964 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-28 16:56:59 +00:00 |
|
Chris Lattner
|
009cc3d2e8
|
First try at implementing the AliasSetTracker class. I'm sure it will need
revision as I start to use it though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3954 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 21:49:07 +00:00 |
|
Chris Lattner
|
f6b684c505
|
Checkin new loop-preheader insertion pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3943 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 16:17:33 +00:00 |
|
Chris Lattner
|
de39b71455
|
- Fix bug in LoopInfo causing ParentLoop to be garbage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3940 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 16:15:19 +00:00 |
|
Chris Lattner
|
3a294d6085
|
- Add methods to ImmediateDominators & DominatorTree to allow updates
- Make DominatorTree::Node not inherit from std::vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3938 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 16:14:37 +00:00 |
|
Chris Lattner
|
b51bf39b93
|
Add a new "DominatorSet::addDominator" method to allow updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3937 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 05:42:47 +00:00 |
|
Chris Lattner
|
2b7bb7a986
|
- Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop.
These allow extra information to be easily gathered, and loopinfo to be
updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3935 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 05:32:43 +00:00 |
|
Chris Lattner
|
5cf816b09e
|
- Add new ctor to BasicBlock to allow insertion before any BB, not just at
the end of the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3933 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 05:03:17 +00:00 |
|
Chris Lattner
|
7afd98d144
|
Converted SimpleStructMutation to take TargetData as a required pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3931 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-26 00:17:18 +00:00 |
|
Chris Lattner
|
1751b7ed27
|
Change LowerAllocations pass to 'require' TargetData instead of it being
passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3930 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-25 23:47:49 +00:00 |
|
Chris Lattner
|
2da7afb963
|
Convert TargetData to be an ImmutablePass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3928 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-25 23:46:56 +00:00 |
|
Chris Lattner
|
9be827a875
|
ImmutablePass's don't need a runOnFunction, nor do they need to explicitly say
that they preserve all xforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3925 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-25 22:27:54 +00:00 |
|
Chris Lattner
|
700975bc9b
|
Convert BasicAA to be an immutable pass instead of a FunctionPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3922 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-25 22:00:18 +00:00 |
|
Chris Lattner
|
70b4f3e051
|
Add support for ImmutablePasses, which are not run, and cannot be
invalidated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-25 21:59:11 +00:00 |
|
Chris Lattner
|
9474dd68e8
|
Checkin stub for Misha to implement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3919 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-25 19:10:06 +00:00 |
|
Chris Lattner
|
04d8dc31f6
|
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3909 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-24 15:51:54 +00:00 |
|
Chris Lattner
|
87944916a4
|
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3906 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-24 15:42:27 +00:00 |
|
Chris Lattner
|
119e9ea33b
|
Add new BreakCriticalEdges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-24 00:08:37 +00:00 |
|
Chris Lattner
|
2d23785852
|
There are no implicit gep forms of load and store anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3901 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-24 00:08:01 +00:00 |
|
Chris Lattner
|
47b6f84736
|
Make users of FindUsedTypes not have problems with linkage. This fixes
cwriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3899 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-24 00:07:17 +00:00 |
|
Chris Lattner
|
fb8c89fbd3
|
Group #includes better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3887 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-23 17:45:52 +00:00 |
|
Anand Shukla
|
33db9bae15
|
Initial version: it adds 2 empty slots at the top of stack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3872 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-21 04:58:26 +00:00 |
|
Vikram S. Adve
|
65ce103d8d
|
Peephole optimization pass on final machine code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3863 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-20 16:33:03 +00:00 |
|
Vikram S. Adve
|
46d6a1aeb5
|
Add erase() method for a single element.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3849 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-20 00:55:57 +00:00 |
|
Vikram S. Adve
|
d55697cf13
|
Added class MachineOptInfo as interface to target-specific
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3845 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-20 00:52:09 +00:00 |
|
Vikram S. Adve
|
2542d9a183
|
Interface to target-specific routines that support machine code optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3844 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-20 00:49:21 +00:00 |
|
Vikram S. Adve
|
e8b57ef260
|
Add method MachineInstr::replace to rewrite a machine instruction in place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3843 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-20 00:47:49 +00:00 |
|
Chris Lattner
|
fd479b6fd4
|
Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently
isn't flushing an ostream when it is deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3834 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-19 20:49:25 +00:00 |
|
Chris Lattner
|
16ca2b991b
|
Fix ambiguity problem due to builtin log2(double) function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3800 91177308-0d34-0410-b5e6-96231b3b80d8
|
2002-09-17 23:56:50 +00:00 |
|
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
|
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 |
|
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 |
|