Chris Lattner
|
668457ea05
|
Move GlobalDSGraph class defn to the end of the file
llvm-svn: 4027
|
2002-10-02 21:55:52 +00:00 |
|
Chris Lattner
|
801fcdd060
|
This file doesn't need Pass.h
llvm-svn: 4026
|
2002-10-02 21:55:24 +00:00 |
|
Chris Lattner
|
858642be4c
|
* Implement fully general merging of array subscripts on demand! This
does not handle the initial pointer index case yet though.
llvm-svn: 4011
|
2002-10-02 06:24:29 +00:00 |
|
Chris Lattner
|
0851fb32b7
|
Checkin the "meat" of the Data structure graph itself. I forgot to check
this in before. :(
llvm-svn: 4009
|
2002-10-02 04:58:12 +00:00 |
|
Chris Lattner
|
5ee67379d9
|
- Remove the User::eraseOperand method which is never used, really
dangerous, and not something we want to expose.
llvm-svn: 4007
|
2002-10-01 23:41:17 +00:00 |
|
Chris Lattner
|
7f0db9917a
|
Check in DataStructure rewrite so far.
llvm-svn: 3998
|
2002-10-01 22:34:45 +00:00 |
|
Vikram S. Adve
|
dddfcdc478
|
Added several more helper functions for construction MachineInstrs.
llvm-svn: 3983
|
2002-09-29 22:55:45 +00:00 |
|
Vikram S. Adve
|
0ab2587056
|
Minor change to interface for Create{Zero,Sign}ExtensionsInstructions.
llvm-svn: 3979
|
2002-09-29 21:53:31 +00:00 |
|
Chris Lattner
|
5c3fdd02af
|
Simplify code a bit, add an assertion
llvm-svn: 3974
|
2002-09-29 21:37:08 +00:00 |
|
Vikram S. Adve
|
7e39b876eb
|
Fixed method getReturnValue(): it should return NULL if the
callee does not return a value.
llvm-svn: 3968
|
2002-09-28 17:03:54 +00:00 |
|
Vikram S. Adve
|
1aed35b2e5
|
Simplified code that handles call args and rets, so it no longer
needs the RegClass list to be passed in.
llvm-svn: 3964
|
2002-09-28 16:56:59 +00:00 |
|
Chris Lattner
|
a9bc408104
|
First try at implementing the AliasSetTracker class. I'm sure it will need
revision as I start to use it though.
llvm-svn: 3954
|
2002-09-26 21:49:07 +00:00 |
|
Chris Lattner
|
9a954d1bc1
|
Checkin new loop-preheader insertion pass.
llvm-svn: 3943
|
2002-09-26 16:17:33 +00:00 |
|
Chris Lattner
|
51dd965704
|
- Fix bug in LoopInfo causing ParentLoop to be garbage
llvm-svn: 3940
|
2002-09-26 16:15:19 +00:00 |
|
Chris Lattner
|
dee21da2c0
|
- Add methods to ImmediateDominators & DominatorTree to allow updates
- Make DominatorTree::Node not inherit from std::vector
llvm-svn: 3938
|
2002-09-26 16:14:37 +00:00 |
|
Chris Lattner
|
aebc47d30a
|
Add a new "DominatorSet::addDominator" method to allow updates
llvm-svn: 3937
|
2002-09-26 05:42:47 +00:00 |
|
Chris Lattner
|
4dddc16c8c
|
- Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop.
These allow extra information to be easily gathered, and loopinfo to be
updated.
llvm-svn: 3935
|
2002-09-26 05:32:43 +00:00 |
|
Chris Lattner
|
06076d8d3e
|
- Add new ctor to BasicBlock to allow insertion before any BB, not just at
the end of the function.
llvm-svn: 3933
|
2002-09-26 05:03:17 +00:00 |
|
Chris Lattner
|
cbdfa73706
|
Converted SimpleStructMutation to take TargetData as a required pass.
llvm-svn: 3931
|
2002-09-26 00:17:18 +00:00 |
|
Chris Lattner
|
4b838cd6b5
|
Change LowerAllocations pass to 'require' TargetData instead of it being
passed in.
llvm-svn: 3930
|
2002-09-25 23:47:49 +00:00 |
|
Chris Lattner
|
8cbeb6c60a
|
Convert TargetData to be an ImmutablePass
llvm-svn: 3928
|
2002-09-25 23:46:56 +00:00 |
|
Chris Lattner
|
941c5c9a70
|
ImmutablePass's don't need a runOnFunction, nor do they need to explicitly say
that they preserve all xforms
llvm-svn: 3925
|
2002-09-25 22:27:54 +00:00 |
|
Chris Lattner
|
8c104c3afa
|
Convert BasicAA to be an immutable pass instead of a FunctionPass
llvm-svn: 3922
|
2002-09-25 22:00:18 +00:00 |
|
Chris Lattner
|
e7d8ee84e7
|
Add support for ImmutablePasses, which are not run, and cannot be
invalidated.
llvm-svn: 3921
|
2002-09-25 21:59:11 +00:00 |
|
Chris Lattner
|
59bfff25cb
|
Checkin stub for Misha to implement
llvm-svn: 3919
|
2002-09-25 19:10:06 +00:00 |
|
Chris Lattner
|
442d220996
|
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*
llvm-svn: 3909
|
2002-09-24 15:51:54 +00:00 |
|
Chris Lattner
|
63940ae296
|
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes
llvm-svn: 3906
|
2002-09-24 15:42:27 +00:00 |
|
Chris Lattner
|
cd247490cd
|
Add new BreakCriticalEdges pass
llvm-svn: 3902
|
2002-09-24 00:08:37 +00:00 |
|
Chris Lattner
|
c424fd7af2
|
There are no implicit gep forms of load and store anymore
llvm-svn: 3901
|
2002-09-24 00:08:01 +00:00 |
|
Chris Lattner
|
fba5394cf3
|
Make users of FindUsedTypes not have problems with linkage. This fixes
cwriter.
llvm-svn: 3899
|
2002-09-24 00:07:17 +00:00 |
|
Chris Lattner
|
8e66cea1a7
|
Group #includes better
llvm-svn: 3887
|
2002-09-23 17:45:52 +00:00 |
|
Anand Shukla
|
508121e5d9
|
Initial version: it adds 2 empty slots at the top of stack
llvm-svn: 3872
|
2002-09-21 04:58:26 +00:00 |
|
Vikram S. Adve
|
43881f46b0
|
Peephole optimization pass on final machine code.
llvm-svn: 3863
|
2002-09-20 16:33:03 +00:00 |
|
Vikram S. Adve
|
248e623726
|
Add erase() method for a single element.
llvm-svn: 3849
|
2002-09-20 00:55:57 +00:00 |
|
Vikram S. Adve
|
ed466a713a
|
Added class MachineOptInfo as interface to target-specific
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().
llvm-svn: 3845
|
2002-09-20 00:52:09 +00:00 |
|
Vikram S. Adve
|
8d0bcb9568
|
Interface to target-specific routines that support machine code optimization.
llvm-svn: 3844
|
2002-09-20 00:49:21 +00:00 |
|
Vikram S. Adve
|
47303cde2d
|
Add method MachineInstr::replace to rewrite a machine instruction in place.
llvm-svn: 3843
|
2002-09-20 00:47:49 +00:00 |
|
Chris Lattner
|
31516613bd
|
Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently
isn't flushing an ostream when it is deleted.
llvm-svn: 3834
|
2002-09-19 20:49:25 +00:00 |
|
Chris Lattner
|
2cef6041d2
|
Fix namespace correctness bug
llvm-svn: 3798
|
2002-09-17 23:48:02 +00:00 |
|
Chris Lattner
|
ccf0fe57bc
|
Remove extra #include
llvm-svn: 3776
|
2002-09-17 17:18:12 +00:00 |
|
Vikram S. Adve
|
da78de96b2
|
Fix typo in comment.
llvm-svn: 3773
|
2002-09-17 11:09:59 +00:00 |
|
Chris Lattner
|
45298a4ef3
|
Fix compile problem on linux. Noone should ever #include <inttypes.h>
directly. Instead, include Support/DataTypes.h
llvm-svn: 3766
|
2002-09-16 20:44:19 +00:00 |
|
Vikram S. Adve
|
feebe5999b
|
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.
llvm-svn: 3759
|
2002-09-16 18:08:17 +00:00 |
|
Vikram S. Adve
|
5a92d517b0
|
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
|
9226baa6bc
|
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
|
4045ba355d
|
*** empty log message ***
llvm-svn: 3749
|
2002-09-16 16:01:41 +00:00 |
|
Vikram S. Adve
|
359bfe3943
|
Add support for passes that use a TargetMachine object.
llvm-svn: 3748
|
2002-09-16 16:01:39 +00:00 |
|
Vikram S. Adve
|
37d1a733b1
|
Add method MachineOperand::hasAllocatedReg().
llvm-svn: 3747
|
2002-09-16 15:58:54 +00:00 |
|
Vikram S. Adve
|
ef1f7d3e42
|
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
|
4aad6090ae
|
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 |
|