Commit Graph

42530 Commits

Author SHA1 Message Date
Chris Lattner
3b7bfdb201 Add knowledge about the struct form of the GetElementPtr instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:11:51 +00:00
Chris Lattner
20a155f5ab Remove dependency on the structure of ValueHolder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:11:26 +00:00
Chris Lattner
e545981a6a * The parent of a constant pool is a symtabvalue, not a value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:10:49 +00:00
Chris Lattner
54d56e3a99 The parent of a constant pool is a symtabvalue, not a value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:10:33 +00:00
Chris Lattner
e98dda6d42 Added some comments, preparing to add global variables and method prototypes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:10:16 +00:00
Chris Lattner
644dc172f5 * The parent of a constant pool is a SymTabValue, not a value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:08:51 +00:00
Chris Lattner
dc4c3f2f5f Made the following changes:
* ValueHolder became a 3 argument template.  This allows for BasicBlock to
  use the value holder arg as a typesafe parent pointer.
* SymTabValue no longer inherits from Value
* Method does not inherit from only SymTabValue.  Now it inherits from both
  STV & Value.
* Module does not inherit from only SymTabValue.  Now it inherits from both
  STV & Value.
* Updated the SymTabValue.h file to reference SymTabValue instead of STDef
  in several places
* Added isArraySelector & isStructSelector to GetElementPtr instruction


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:07:58 +00:00
Chris Lattner
49fec9638b Added more todo's. Don't I ever accomplish anything?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:04:27 +00:00
Chris Lattner
d8c2e42aef Add DebugValue member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-12 23:35:26 +00:00
Chris Lattner
ec0c497877 Made it not inline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-12 23:35:11 +00:00
Chris Lattner
b144fb872c Add DebugValue global function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-12 23:33:53 +00:00
Chris Lattner
c262f7298f Don't clean out the type plane of the constant pool... this is a hack. FIXME
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:52 +00:00
Chris Lattner
8896eda9a9 Make sure that types go in the constant pool if they are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:36 +00:00
Chris Lattner
282072869e hasSideEffects should be marked virtual
stores and free's have sideeffects


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:26 +00:00
Chris Lattner
1fedd5ae6c Modify notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:08 +00:00
Chris Lattner
fb3f24fd57 Fix stupid typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 16:54:29 +00:00
Chris Lattner
d80c43c747 Initial checkin of coding standards
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 03:27:08 +00:00
Chris Lattner
33ba0d91ab Updated documentation for load, store & getelementptr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 00:26:23 +00:00
Chris Lattner
91e1596c16 add coverage of newly implemented instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 23:23:30 +00:00
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