Chris Lattner
739a56d26d
Implement forward/external declarations for methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 06:35:59 +00:00
Chris Lattner
e181564419
Implement forward/external declarations for methods. Also, emit an error if a method
...
is defined more than once, instead of crashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 06:35:53 +00:00
Chris Lattner
52f2750ddb
Rename 'isMethodExternal' to 'isExternal'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 06:35:24 +00:00
Chris Lattner
f5a0892324
Add notes on instruction selection pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:23:59 +00:00
Chris Lattner
9674104416
New testcase from GCC doing array operations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:18:50 +00:00
Chris Lattner
a59c266d84
Add support for assembly printing fp constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:18:39 +00:00
Chris Lattner
ff5eccef96
Add support to the bytecode writer to recognize floating point constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:17:23 +00:00
Chris Lattner
a137530341
Add support to the bytecode reader to recognize floating point constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:17:18 +00:00
Chris Lattner
3d52b2fdcc
Add support to the parser to recognize floating point constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:17:01 +00:00
Chris Lattner
2e35bedc82
Add a function to convert a double to a string
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:16:38 +00:00
Chris Lattner
d2fdd91c66
Add support to write and read a fixed amount of raw data
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:16:22 +00:00
Chris Lattner
bb1604c931
Add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:16:02 +00:00
Chris Lattner
a3d3c2b645
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:13:19 +00:00
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