Commit Graph

61983 Commits

Author SHA1 Message Date
Chris Lattner
1d2d13fbd5 Add a function to convert a double to a string
llvm-svn: 187
2001-07-15 00:16:38 +00:00
Chris Lattner
82e8e54a80 Add support to write and read a fixed amount of raw data
llvm-svn: 186
2001-07-15 00:16:22 +00:00
Chris Lattner
0ee911dbbc Add a note
llvm-svn: 185
2001-07-15 00:16:02 +00:00
Chris Lattner
d3e41d4d2f * ValueHolder now takes 3 arguments
* Added a few methods to ConstantPool
* ConstPoolVal no longer derives from Value
* Method & Module multiply inherit from SymTabValue & Value now
* Added a GetElementPtrInst::isStructSelector() method

llvm-svn: 184
2001-07-14 06:13:19 +00:00
Chris Lattner
a969eb234b Add knowledge about the struct form of the GetElementPtr instruction
llvm-svn: 183
2001-07-14 06:11:51 +00:00
Chris Lattner
10ff90d678 Remove dependency on the structure of ValueHolder.
llvm-svn: 182
2001-07-14 06:11:26 +00:00
Chris Lattner
f3410f8701 * The parent of a constant pool is a symtabvalue, not a value.
llvm-svn: 181
2001-07-14 06:10:49 +00:00
Chris Lattner
f7499bce49 The parent of a constant pool is a symtabvalue, not a value.
llvm-svn: 180
2001-07-14 06:10:33 +00:00
Chris Lattner
29a84291e0 Added some comments, preparing to add global variables and method prototypes
llvm-svn: 179
2001-07-14 06:10:16 +00:00
Chris Lattner
34244ab669 * The parent of a constant pool is a SymTabValue, not a value.
llvm-svn: 178
2001-07-14 06:08:51 +00:00
Chris Lattner
8131335c27 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

llvm-svn: 177
2001-07-14 06:07:58 +00:00
Chris Lattner
13745ed705 Added more todo's. Don't I ever accomplish anything?
llvm-svn: 176
2001-07-14 06:04:27 +00:00
Chris Lattner
fcdbcb6ac1 Add DebugValue member.
llvm-svn: 175
2001-07-12 23:35:26 +00:00
Chris Lattner
5df9510721 Made it not inline
llvm-svn: 174
2001-07-12 23:35:11 +00:00
Chris Lattner
de099121e9 Add DebugValue global function
llvm-svn: 173
2001-07-12 23:33:53 +00:00
Chris Lattner
80c9d7c165 Don't clean out the type plane of the constant pool... this is a hack. FIXME
llvm-svn: 172
2001-07-09 19:38:52 +00:00
Chris Lattner
b3b40bc8b9 Make sure that types go in the constant pool if they are used.
llvm-svn: 171
2001-07-09 19:38:36 +00:00
Chris Lattner
a36e2a7fbe hasSideEffects should be marked virtual
stores and free's have sideeffects

llvm-svn: 170
2001-07-09 19:38:26 +00:00
Chris Lattner
9240fe6721 Modify notes
llvm-svn: 169
2001-07-09 19:38:08 +00:00
Chris Lattner
9373328e93 Fix stupid typo
llvm-svn: 168
2001-07-09 16:54:29 +00:00
Chris Lattner
a5f3fed2ac Initial checkin of coding standards
llvm-svn: 167
2001-07-09 03:27:08 +00:00
Chris Lattner
6812ccce5f Updated documentation for load, store & getelementptr
llvm-svn: 166
2001-07-09 00:26:23 +00:00
Chris Lattner
510ad81e40 add coverage of newly implemented instructions.
llvm-svn: 165
2001-07-08 23:23:30 +00:00
Chris Lattner
6065e61656 Implementation of Store & GetElementPtr
llvm-svn: 164
2001-07-08 23:22:50 +00:00
Chris Lattner
3b66715c67 Implement checking for new instructions
llvm-svn: 163
2001-07-08 21:18:49 +00:00
Chris Lattner
2433cbac88 Add note
llvm-svn: 162
2001-07-08 21:18:41 +00:00
Chris Lattner
dccda26cd8 Implemented shl, shl, & load instructions
llvm-svn: 161
2001-07-08 21:10:27 +00:00
Chris Lattner
3473967aeb Moved Cast from being a Unary instruction to being an "Other" instruction
llvm-svn: 160
2001-07-08 19:03:27 +00:00
Chris Lattner
acc906f1de Use the CDG to mark branches alive on demand.
llvm-svn: 159
2001-07-08 18:38:36 +00:00
Chris Lattner
246d869f71 Add a new "addOperand" method to User.
llvm-svn: 158
2001-07-08 18:38:18 +00:00
Chris Lattner
223ea549d1 Fixed post dominator frontiers! Yaay!
llvm-svn: 157
2001-07-08 05:54:09 +00:00
Chris Lattner
7a7ddef47e Neg instruction removed. Cast instruction implemented.
llvm-svn: 156
2001-07-08 04:57:15 +00:00
Chris Lattner
d0c1fcdf8b Neg instruction removed. TODO item fulfilled.
llvm-svn: 155
2001-07-08 04:56:59 +00:00
Chris Lattner
f4e2bb21f7 Removing unnecesary file
llvm-svn: 154
2001-07-07 20:54:19 +00:00
Chris Lattner
1619a709b4 Convert BinaryOperand and UnaryOperator to only take instruction types of
the appropriate enum

llvm-svn: 153
2001-07-07 20:17:23 +00:00
Chris Lattner
c00392210d 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

llvm-svn: 152
2001-07-07 19:24:15 +00:00
Chris Lattner
cd5bbb0001 Devirtualize User::dropAllReferences
llvm-svn: 151
2001-07-07 19:00:36 +00:00
Chris Lattner
9044bfe6a6 Remove dtor's that simply call dropAllReferences
llvm-svn: 150
2001-07-07 18:42:52 +00:00
Chris Lattner
6f7587e4d3 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!

llvm-svn: 149
2001-07-07 08:36:50 +00:00
Chris Lattner
bb2985b84d Changed memory reference instructions to store the result as the implicit
type of the instruction.

llvm-svn: 148
2001-07-07 08:36:30 +00:00
Chris Lattner
2758aa5683 Fixed some error messages to be nicer
llvm-svn: 147
2001-07-07 08:36:05 +00:00
Chris Lattner
fb41789296 Add note about nuking Instruction::neg
llvm-svn: 146
2001-07-07 08:33:39 +00:00
Chris Lattner
9b17172cdb Initial checkin
llvm-svn: 145
2001-07-06 22:00:42 +00:00
Chris Lattner
a1f8bdb501 Add better support for post dominator information.
Print method name for each analysis.

llvm-svn: 144
2001-07-06 16:59:10 +00:00
Chris Lattner
dab02ca9e0 Add method to unify all exit nodes of a method
llvm-svn: 143
2001-07-06 16:58:36 +00:00
Chris Lattner
a8e840fc9b Implement support for postdominators, except in dom frontiers
llvm-svn: 142
2001-07-06 16:58:22 +00:00
Chris Lattner
f084b21644 New file, includes method to merge exit nodes together
llvm-svn: 141
2001-07-06 16:57:52 +00:00
Chris Lattner
f1f61a28cc * Add a DominatorBase base class to maintain root of Dominator info
* Implement post dominator support

llvm-svn: 140
2001-07-06 16:57:21 +00:00
Chris Lattner
0cca9fc688 * Added comments
* Made iterators inherit from appropriate iterator base class
* Abstracted out graphs from depth first iterator
* Add "Inverse" traversal of CFG

llvm-svn: 139
2001-07-06 16:56:17 +00:00
Chris Lattner
e28135f621 Update to include right file
llvm-svn: 138
2001-07-06 16:32:07 +00:00