Commit Graph

161 Commits

Author SHA1 Message Date
Chris Lattner
ab5ac6bb38 Implementation of Store & GetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 23:22:50 +00:00
Chris Lattner
0bd654a049 Implement checking for new instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 21:18:49 +00:00
Chris Lattner
8b9f7c0a65 Add note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 21:18:41 +00:00
Chris Lattner
027dcc5b22 Implemented shl, shl, & load instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 21:10:27 +00:00
Chris Lattner
71496b3b50 Moved Cast from being a Unary instruction to being an "Other" instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 19:03:27 +00:00
Chris Lattner
72f1e9929a Use the CDG to mark branches alive on demand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 18:38:36 +00:00
Chris Lattner
cbab0f7edd Add a new "addOperand" method to User.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 18:38:18 +00:00
Chris Lattner
3590830cef Fixed post dominator frontiers! Yaay!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 05:54:09 +00:00
Chris Lattner
0908309e3c Neg instruction removed. Cast instruction implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 04:57:15 +00:00
Chris Lattner
f22696f209 Neg instruction removed. TODO item fulfilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 04:56:59 +00:00
Chris Lattner
6bcc03143b Removing unnecesary file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 20:54:19 +00:00
Chris Lattner
9f3d27654a Convert BinaryOperand and UnaryOperator to only take instruction types of
the appropriate enum


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 20:17:23 +00:00
Chris Lattner
a41f50dea8 Broad superficial changes:
* Renamed getOpcode to getOpcodeName
* Changed getOpcodeName to return a const char * instead of string
* Added a getOpcode method to replace getInstType
* Changed code to use getOpcode instead of getInstType


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 19:24:15 +00:00
Chris Lattner
30f24a402c Devirtualize User::dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 19:00:36 +00:00
Chris Lattner
f229ed5248 Remove dtor's that simply call dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 18:42:52 +00:00
Chris Lattner
c8b25d40cb Changed the fundemental architecture of Operands for Instructions. Now
Operands are maintained as a vector<Use> in the User class, and operator
iterators are provided as before.  Getting an operand no longer requires
a virtual function call.

WARNING: getOperand(x) where x >= getNumOperands() will now assert instead
of returning null!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:36:50 +00:00
Chris Lattner
f0d0e9c262 Changed memory reference instructions to store the result as the implicit
type of the instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:36:30 +00:00
Chris Lattner
3fa0bc4408 Fixed some error messages to be nicer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:36:05 +00:00
Chris Lattner
0aa1d5e02f Add note about nuking Instruction::neg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:33:39 +00:00
Chris Lattner
6475bdfc71 Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 22:00:42 +00:00
Chris Lattner
c13aff657e Add better support for post dominator information.
Print method name for each analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:59:10 +00:00
Chris Lattner
63a0b2a9b4 Add method to unify all exit nodes of a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:58:36 +00:00
Chris Lattner
94108ab8a3 Implement support for postdominators, except in dom frontiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:58:22 +00:00
Chris Lattner
87d0461d5b New file, includes method to merge exit nodes together
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:57:52 +00:00
Chris Lattner
c348d21bf6 * Add a DominatorBase base class to maintain root of Dominator info
* Implement post dominator support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:57:21 +00:00
Chris Lattner
18c9f915f2 * Added comments
* Made iterators inherit from appropriate iterator base class
* Abstracted out graphs from depth first iterator
* Add "Inverse" traversal of CFG


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:56:17 +00:00
Chris Lattner
d818312d09 Update to include right file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:32:07 +00:00
Chris Lattner
f3dc2c9a07 Initial checkin of analyze tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:30:38 +00:00
Chris Lattner
9aa97849a0 Build new analyze tool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:30:21 +00:00
Chris Lattner
acd257efee Added analyze to path for SetupOpt script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:30:10 +00:00
Chris Lattner
ad1bb04eec Add analyze tool to path for Setup script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:29:48 +00:00
Chris Lattner
e6850235f5 IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.

Writer includes code to print out IntervalPartition's now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:28:35 +00:00
Chris Lattner
a49e015180 IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:28:08 +00:00
Chris Lattner
3ea734986e *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:27:41 +00:00
Chris Lattner
1a46243e7f Checkin of new Analysis result printing header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 05:37:26 +00:00
Chris Lattner
3d98049e38 Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to
here.  Updates to correct description n stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 05:36:34 +00:00
Chris Lattner
d1ee90f1a5 Remove code for printing out Analysis data structures. It got moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 05:35:52 +00:00
Chris Lattner
953932d779 Update documentation a bit, correct #include guard
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 05:35:23 +00:00
Chris Lattner
100efcbce9 Add note about tool idea. Change command line of note to be more specific
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 05:35:04 +00:00
Chris Lattner
347bfdad7f Add printing code for dominator info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 05:46:47 +00:00
Chris Lattner
1715229db9 Checkin of new dominator calculation routines. These will be improved in
the future to do post dominators and stuff


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 05:46:38 +00:00
Chris Lattner
f50b952b93 Enable printing of dominator related information.
Theis will eventually be moved!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 05:45:30 +00:00
Chris Lattner
70b6337d68 Add new anaysis routines for building dominator related information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 05:45:17 +00:00
Chris Lattner
577b15f70e Addition of 'deleter' function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 01:09:41 +00:00
Chris Lattner
bd4996ad68 Moved deleter to include/llvm/Tools/STLExtras.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 01:08:08 +00:00
Chris Lattner
02e90d59c8 Initial checkin. Should print dead instructions, except it doesn't do
control dependencies.  :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:39:11 +00:00
Chris Lattner
95781b6ca9 Include ADCE pass, rename include/Opt directory to llvm/Optimizations
Optimizations now in opt namespace.
Rename SCCP pass to DoSCCP


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:38:31 +00:00
Chris Lattner
49c8f64747 Rename DoSparseConditionalConstantProp -> DoSCCP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:37:43 +00:00
Chris Lattner
05b9a7f7b8 Add note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:37:33 +00:00
Chris Lattner
8ea0755f98 Add prototypes for ADCE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:37:16 +00:00