Chris Lattner
2d189a5981
Support new setName itf
...
llvm-svn: 459
2001-09-07 16:44:17 +00:00
Chris Lattner
bbb229655b
* Support global constants
...
* Eliminate need for constant pool
llvm-svn: 451
2001-09-07 16:40:34 +00:00
Chris Lattner
fee714f7e0
* Assembly writer is not a module analyzer anymore
...
* There is no constant pool anymore
llvm-svn: 447
2001-09-07 16:36:04 +00:00
Chris Lattner
dea211ea67
Remove #include of nonexistant header file
...
llvm-svn: 443
2001-09-07 16:32:10 +00:00
Chris Lattner
1e6912a13f
* Slot calc is now simpler and not based on module analyzer.
...
* Add new SC_DEBUG option to enable debugging of why stuff doesn't work
llvm-svn: 442
2001-09-07 16:31:52 +00:00
Vikram S. Adve
b6970c305f
*** empty log message ***
...
llvm-svn: 390
2001-08-28 22:35:21 +00:00
Chris Lattner
74a5857531
Remove target specific stuff from Type classes
...
llvm-svn: 383
2001-08-27 15:52:13 +00:00
Chris Lattner
21a6f5fe7f
Remove target specific method from MemAccessInst class
...
llvm-svn: 382
2001-08-27 15:51:43 +00:00
Chris Lattner
439465583a
Make sure noone branches to the entry node of the method
...
llvm-svn: 369
2001-08-24 14:56:34 +00:00
Chris Lattner
a0484c8eeb
Handle case where there is no exit node from a flowgraph
...
llvm-svn: 365
2001-08-23 17:07:19 +00:00
Chris Lattner
01a45c6c96
Changed an assertion message
...
llvm-svn: 364
2001-08-23 17:06:38 +00:00
Vikram S. Adve
32b5d841ba
Added vector of machine instructions for the basic block.
...
llvm-svn: 330
2001-07-30 18:47:24 +00:00
Chris Lattner
3f14c66890
Remove some gross stuff
...
llvm-svn: 328
2001-07-28 17:52:53 +00:00
Chris Lattner
e0c6a09883
Allow vararg method types with 0 fixed types
...
llvm-svn: 327
2001-07-28 17:52:35 +00:00
Chris Lattner
e76a335f5b
Make error msg nicer
...
llvm-svn: 326
2001-07-28 17:52:14 +00:00
Chris Lattner
2091efbc0a
* Fix bugs
...
llvm-svn: 322
2001-07-28 17:49:02 +00:00
Chris Lattner
ee998be490
Don't write out constants that do not have a name, they will be inlined.
...
llvm-svn: 305
2001-07-26 16:29:38 +00:00
Chris Lattner
89d4dfbfba
Add an arg to insertVal to allow us to prevent builtin types from being ignored
...
when they are inserted.
Ignore constant values without names. If they are used, they will be inlined.
llvm-svn: 303
2001-07-26 16:28:37 +00:00
Chris Lattner
90e0d464ba
Add support for extern varargs methods & varargs method calls
...
llvm-svn: 297
2001-07-25 22:47:55 +00:00
Chris Lattner
e2472bbf6c
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
dd511760d9
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
llvm-svn: 253
2001-07-21 20:58:30 +00:00
Chris Lattner
7f95c9e33a
Fix code to be in a consistent style
...
llvm-svn: 252
2001-07-21 20:09:07 +00:00
Chris Lattner
93547c3231
Remove getTempValuesForMachineCode from the Instruction interface
...
to remove dependency on <vector>
llvm-svn: 250
2001-07-21 20:04:10 +00:00
Chris Lattner
7309d66d73
Add new ctor for ConstPoolBool
...
llvm-svn: 246
2001-07-21 19:16:08 +00:00
Chris Lattner
77ba32f4cc
Add new constructor for const pool bool
...
llvm-svn: 245
2001-07-21 19:15:26 +00:00
Chris Lattner
55406840e2
Add support for casts
...
llvm-svn: 244
2001-07-21 19:10:49 +00:00
Vikram S. Adve
6ee77c851e
Utility routines for simpler access to the value of an integer constant.
...
llvm-svn: 236
2001-07-21 12:44:00 +00:00
Vikram S. Adve
aa4c7b56f8
Add isIntegral() method to SignedIntType and UnsignedIntType.
...
llvm-svn: 224
2001-07-21 12:32:48 +00:00
Vikram S. Adve
0452d48c50
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
75cc5a26a2
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
3e2394cdad
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
9655e54d21
Implement ensureTypeAvailable
...
Implement ConstPoolInt class
llvm-svn: 215
2001-07-20 19:16:02 +00:00
Chris Lattner
4f6031f3e7
Add support for constant propogation of multiplies
...
llvm-svn: 214
2001-07-20 19:15:36 +00:00
Chris Lattner
5e5abe3eaa
Factor out WriteAsOperand.
...
llvm-svn: 213
2001-07-20 19:15:21 +00:00
Chris Lattner
a7620d9656
Implement forward/external declarations for methods.
...
llvm-svn: 196
2001-07-15 06:35:59 +00:00
Chris Lattner
d06dd69e73
Add support for assembly printing fp constants
...
llvm-svn: 191
2001-07-15 00:18:39 +00:00
Chris Lattner
f2a738cfe2
* 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
32e96bcb54
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
5a2d2b1f0a
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
2e9fee4702
Add DebugValue member.
...
llvm-svn: 175
2001-07-12 23:35:26 +00:00
Chris Lattner
62ecb4a137
Implementation of Store & GetElementPtr
...
llvm-svn: 164
2001-07-08 23:22:50 +00:00
Chris Lattner
d8bebcd517
Implemented shl, shl, & load instructions
...
llvm-svn: 161
2001-07-08 21:10:27 +00:00
Chris Lattner
49c643262e
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
1547114cbf
Fixed post dominator frontiers! Yaay!
...
llvm-svn: 157
2001-07-08 05:54:09 +00:00
Chris Lattner
a682182f64
Neg instruction removed. Cast instruction implemented.
...
llvm-svn: 156
2001-07-08 04:57:15 +00:00
Chris Lattner
1fd1a3a7b4
Removing unnecesary file
...
llvm-svn: 154
2001-07-07 20:54:19 +00:00
Chris Lattner
87d478287b
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
b1ca9cbceb
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
a073acb22d
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
32503d5637
Fixed some error messages to be nicer
...
llvm-svn: 147
2001-07-07 08:36:05 +00:00
Chris Lattner
c385bebc89
Implement support for postdominators, except in dom frontiers
...
llvm-svn: 142
2001-07-06 16:58:22 +00:00
Chris Lattner
081aabc330
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
d42d492734
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
31cf984332
Implement reduceApply method
...
llvm-svn: 112
2001-06-30 04:35:40 +00:00
Chris Lattner
c10245352c
Add a new pop_back() method
...
llvm-svn: 111
2001-06-30 04:35:21 +00:00
Chris Lattner
2dd58aefa5
Add a check to avoid allowing V->replaceAllUsesWith(V)
...
llvm-svn: 104
2001-06-29 05:25:51 +00:00
Chris Lattner
615d3cf40d
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
d77f3c0cbd
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
4cee8d8ffb
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
0ee411c080
Change to use the new GenericBinaryInst class. Support lots more operators.
...
llvm-svn: 92
2001-06-27 23:36:49 +00:00
Chris Lattner
223796ccf2
Convert postincrements to more efficient preincrements
...
llvm-svn: 81
2001-06-27 23:28:02 +00:00
Chris Lattner
01683cca32
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
7221d33514
* 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
4b94e23bd0
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
874ddadf72
Updates to support
...
* Changes in PHI node structure
llvm-svn: 25
2001-06-11 15:04:40 +00:00
Chris Lattner
931ef3bf05
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
5f46e8c9da
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
e6c4ea9861
Add extra method to PHI node class
...
llvm-svn: 11
2001-06-07 16:59:37 +00:00
Chris Lattner
a2f01878b7
Fixed to print slightly differently. Added use counts for labels
...
llvm-svn: 9
2001-06-07 16:58:55 +00:00
Chris Lattner
e358b22776
Fixes for BB iterators, additional methods added for DCE pass
...
llvm-svn: 8
2001-06-07 16:58:36 +00:00
Chris Lattner
2f7c963559
Initial revision
...
llvm-svn: 2
2001-06-06 20:29:01 +00:00