Vikram S. Adve
10973f75ab
Compute and cache information about the storage size and layout
...
of structures. This information is machine-dependent.
llvm-svn: 222
2001-07-20 21:09:17 +00:00
Vikram S. Adve
0d8d2f87a3
Provide uniform access to the pointer operand and to the index
...
operands (if any) for different types of MemAccessInst's.
llvm-svn: 221
2001-07-20 21:07:06 +00:00
Vikram S. Adve
cec502cb48
Added a representation of the machine instructions generated
...
for a VM instruction.
llvm-svn: 220
2001-07-20 21:05:02 +00:00
Chris Lattner
b6d8fb9977
Implement ensureTypeAvailable
...
Implement ConstPoolInt class
llvm-svn: 215
2001-07-20 19:16:02 +00:00
Chris Lattner
510fc61456
Add support for constant propogation of multiplies
...
llvm-svn: 214
2001-07-20 19:15:36 +00:00
Chris Lattner
a2122c28d0
Factor out WriteAsOperand.
...
llvm-svn: 213
2001-07-20 19:15:21 +00:00
Chris Lattner
5c33905f73
Implement forward/external declarations for methods.
...
llvm-svn: 196
2001-07-15 06:35:59 +00:00
Chris Lattner
444b28658f
Add support for assembly printing fp constants
...
llvm-svn: 191
2001-07-15 00:18:39 +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
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
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
fcdbcb6ac1
Add DebugValue member.
...
llvm-svn: 175
2001-07-12 23:35:26 +00:00
Chris Lattner
6065e61656
Implementation of Store & GetElementPtr
...
llvm-svn: 164
2001-07-08 23:22:50 +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
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
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
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
2758aa5683
Fixed some error messages to be nicer
...
llvm-svn: 147
2001-07-07 08:36:05 +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
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
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
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
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
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
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
3ecce840dc
Convert postincrements to more efficient preincrements
...
llvm-svn: 81
2001-06-27 23:28:02 +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
b408df97c8
* Rename get.*Operator to create seeing that it would have to be qualified
...
with the classname anyways.
* Add an isPHINode() method to Instruction
* Add getUniqueName() to SymbolTable class
* Add an insert method to ValueHolder
llvm-svn: 73
2001-06-25 07:31:05 +00:00
Chris Lattner
86182934b5
Add a space to the PHI node output code to make it look nicer
...
llvm-svn: 53
2001-06-21 05:29:56 +00:00
Chris Lattner
a6d2f96bdb
Updates to support
...
* Changes in PHI node structure
llvm-svn: 25
2001-06-11 15:04:40 +00:00
Chris Lattner
88f6f66802
Updates to support
...
* Changes in PHI node structure
* Change to PHI syntax
llvm-svn: 24
2001-06-11 15:04:20 +00:00
Chris Lattner
11c3121788
Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator
...
to the UnaryOperator class (from the Instruction class).
llvm-svn: 21
2001-06-08 21:30:13 +00:00
Chris Lattner
f6941c0602
Add extra method to PHI node class
...
llvm-svn: 11
2001-06-07 16:59:37 +00:00
Chris Lattner
f2f80282cb
Fixed to print slightly differently. Added use counts for labels
...
llvm-svn: 9
2001-06-07 16:58:55 +00:00
Chris Lattner
0dcec884f6
Fixes for BB iterators, additional methods added for DCE pass
...
llvm-svn: 8
2001-06-07 16:58:36 +00:00
Chris Lattner
e6b9b382e2
Initial revision
...
llvm-svn: 2
2001-06-06 20:29:01 +00:00