Chris Lattner
2dd269d8db
Checkin of new dominator calculation routines. These will be improved in
...
the future to do post dominators and stuff
llvm-svn: 124
2001-07-02 05:46:38 +00:00
Chris Lattner
75057fa064
Enable printing of dominator related information.
...
Theis will eventually be moved!
llvm-svn: 123
2001-07-02 05:45:30 +00:00
Chris Lattner
4a9f31a0a7
Add new anaysis routines for building dominator related information
...
llvm-svn: 122
2001-07-02 05:45:17 +00:00
Chris Lattner
be2224f993
Addition of 'deleter' function.
...
llvm-svn: 121
2001-07-02 01:09:41 +00:00
Chris Lattner
ec700533c1
Moved deleter to include/llvm/Tools/STLExtras.h
...
llvm-svn: 120
2001-07-02 01:08:08 +00:00
Chris Lattner
d4e8817fd9
Initial checkin. Should print dead instructions, except it doesn't do
...
control dependencies. :(
llvm-svn: 119
2001-06-30 06:39:11 +00:00
Chris Lattner
6b0779699c
Include ADCE pass, rename include/Opt directory to llvm/Optimizations
...
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP
llvm-svn: 118
2001-06-30 06:38:31 +00:00
Chris Lattner
c4e564a84c
Rename DoSparseConditionalConstantProp -> DoSCCP
...
llvm-svn: 117
2001-06-30 06:37:43 +00:00
Chris Lattner
33950625dd
Add note
...
llvm-svn: 116
2001-06-30 06:37:33 +00:00
Chris Lattner
b8dcf545b8
Add prototypes for ADCE pass
...
llvm-svn: 115
2001-06-30 06:37:16 +00:00
Chris Lattner
f214ef4014
Rename DoSparseConditionalConstantProp to DoSCCP
...
llvm-svn: 114
2001-06-30 06:37:01 +00:00
Chris Lattner
0815f96a2f
Optimizations got their own header files
...
Optimizations now live in the 'opt' namespace
include/llvm/Opt was renamed include/llvm/Optimizations
llvm-svn: 113
2001-06-30 04:36:40 +00:00
Chris Lattner
a0a97d7bbd
Implement reduceApply method
...
llvm-svn: 112
2001-06-30 04:35:40 +00:00
Chris Lattner
5ce7b422a1
Add a new pop_back() method
...
llvm-svn: 111
2001-06-30 04:35:21 +00:00
Chris Lattner
6ba8542caa
The ConstRules class got moved to the opt namespace
...
llvm-svn: 110
2001-06-30 04:35:01 +00:00
Chris Lattner
57248a3460
Add a reduceApply method
...
llvm-svn: 109
2001-06-30 04:34:42 +00:00
Chris Lattner
b94dddaef6
Split AllOpts.h into lots of little .h files.
...
llvm-svn: 108
2001-06-30 04:34:07 +00:00
Chris Lattner
fd733edaa7
Export ConstantFoldTerminator, allow it to fold conditional branches to
...
the same label.
llvm-svn: 107
2001-06-29 23:56:58 +00:00
Chris Lattner
81bbbcfe1f
Added documentation. Constant fold terminators.
...
llvm-svn: 106
2001-06-29 23:56:23 +00:00
Chris Lattner
44cd71222f
Added prototype for ConstantFoldTerminator
...
llvm-svn: 105
2001-06-29 23:56:00 +00:00
Chris Lattner
806b7ff4be
Add a check to avoid allowing V->replaceAllUsesWith(V)
...
llvm-svn: 104
2001-06-29 05:25:51 +00:00
Chris Lattner
09a1ba491b
Add implementation of BasicBlock::removePredecessor code that was factored
...
out of DCE.cpp
llvm-svn: 103
2001-06-29 05:25:23 +00:00
Chris Lattner
e005dc792d
* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor
...
* Avoid messing around with this case:
br label %A
%A: br label %A
* Enable optimizations that are correct now.
llvm-svn: 102
2001-06-29 05:24:28 +00:00
Chris Lattner
f5b28afa04
We need to make sure to remove PHI nodes in the successor that cannot be
...
executed when removing branch dest.
llvm-svn: 101
2001-06-29 05:23:10 +00:00
Chris Lattner
e445514d62
Added a note about a new verification the verifier should do
...
Removed a redundant check
llvm-svn: 100
2001-06-29 05:22:12 +00:00
Chris Lattner
86827f3d2d
Added new removePredecessor method prototype
...
llvm-svn: 99
2001-06-29 05:21:42 +00:00
Chris Lattner
a21a21c675
Added note, moved note
...
llvm-svn: 98
2001-06-29 05:21:05 +00:00
Chris Lattner
d8f5378cf7
Fixed the obnoxious problem that caused an entire directory to rebuild
...
even if you only change one .cpp file. Yaay
llvm-svn: 97
2001-06-29 05:20:16 +00:00
Chris Lattner
d616582a7a
Miscellaneous cleanups:
...
* Convert post to pre-increment for for loops
* Use generic programming more
* Use new Value::cast* instructions
* Use new Module, Method, & BasicBlock forwarding methods
* Use new facilities in STLExtras.h
* Use new Instruction::isPHINode() method
llvm-svn: 96
2001-06-27 23:41:11 +00:00
Chris Lattner
0a37aa1884
Add a new Sparse Conditional Constant Propogation pass
...
llvm-svn: 95
2001-06-27 23:38:11 +00:00
Chris Lattner
9e4c6fe810
Add command line arguments for Constant Pool Merging & Sparse Conditional Constant Prop
...
llvm-svn: 94
2001-06-27 23:37:58 +00:00
Chris Lattner
d4d1cb558c
Put in test of SCCP. Watch out though, because we need to sort the
...
constant pool for the final check to work. :(
llvm-svn: 93
2001-06-27 23:37:22 +00:00
Chris Lattner
747dcc99bc
Change to use the new GenericBinaryInst class. Support lots more operators.
...
llvm-svn: 92
2001-06-27 23:36:49 +00:00
Chris Lattner
87259414f9
Misc cleanup
...
llvm-svn: 91
2001-06-27 23:36:09 +00:00
Chris Lattner
c9c6ca507f
* Expose DoConstantPoolMerging
...
* Cleanups (post->pre increment, new cleaner API, etc)
* Moved stuff into ConstantHandling.h
llvm-svn: 90
2001-06-27 23:35:26 +00:00
Chris Lattner
07b100a643
Convert ugly postincrement to efficient preincrement
...
llvm-svn: 89
2001-06-27 23:34:01 +00:00
Chris Lattner
726582fa42
* Move stuff around a bit.
...
* Add reduce_apply_bool
llvm-svn: 88
2001-06-27 23:32:12 +00:00
Chris Lattner
8daf407266
Add instructions to fold unary and binary instructions.
...
llvm-svn: 87
2001-06-27 23:31:34 +00:00
Chris Lattner
5cfc551fa2
* Use the new reduce_apply_bool template
...
* Expose Constant Pool Merging from ConstantProp.cpp
* Include definitions for SCCP pass
* InstListType is not neccesary anymore
llvm-svn: 86
2001-06-27 23:31:14 +00:00
Chris Lattner
df93760653
getBasicBlocks() is not needed anymore for reading Method data
...
llvm-svn: 85
2001-06-27 23:30:11 +00:00
Chris Lattner
0bda227de5
Added methods to make dealing with switches and branch instructions
...
more tolerable.
llvm-svn: 84
2001-06-27 23:29:41 +00:00
Chris Lattner
a0b9025a9f
Minor formating changes
...
llvm-svn: 83
2001-06-27 23:29:21 +00:00
Chris Lattner
3bcd915b32
Make a new GenericBinaryInst class, instead of providing lots of silly
...
little classes.
llvm-svn: 82
2001-06-27 23:28:50 +00:00
Chris Lattner
3ecce840dc
Convert postincrements to more efficient preincrements
...
llvm-svn: 81
2001-06-27 23:28:02 +00:00
Chris Lattner
159093b8fe
Add a new slew of functions to allow dynamic_cast<> like operation for
...
upcasting Value's to their subclasses.
llvm-svn: 80
2001-06-27 23:27:42 +00:00
Chris Lattner
b2d6da7f1e
Add extra forwarding accessor methods so that getMethodList(), getBasicBlocks()
...
and getInstList() are obsolete... except for when modifying those lists. This
makes code much more succinct and to the point.
llvm-svn: 79
2001-06-27 23:26:41 +00:00
Chris Lattner
a58203d9fd
Add more notes
...
llvm-svn: 78
2001-06-27 23:24:50 +00:00
Chris Lattner
5fd4a1d77f
Filter out some more stuff
...
llvm-svn: 77
2001-06-27 23:24:22 +00:00
Chris Lattner
c129381d15
Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp
...
Moved BinaryOperator::create to iBinaryOperators.cpp
Add getUniqueName to SymbolTable
llvm-svn: 76
2001-06-25 07:33:13 +00:00
Chris Lattner
725a64614c
Implement induction variable injection!
...
llvm-svn: 75
2001-06-25 07:32:19 +00:00