Commit Graph

78 Commits

Author SHA1 Message Date
Chris Lattner
1dd250de63 Support abstract types
Remove constant pool support

llvm-svn: 466
2001-09-07 16:57:07 +00:00
Chris Lattner
873e0fdbf9 Support a abstract, opaque, and recursive types
Remove lockty, remove fillerty
Make type lookup more efficient
Support shared generic factory code

llvm-svn: 465
2001-09-07 16:56:42 +00:00
Chris Lattner
daf98ba299 Types and constnats are wierd objects in the symtabs
Support abstract types in symtab

llvm-svn: 464
2001-09-07 16:48:17 +00:00
Chris Lattner
e3a3aa89f3 Modules must have a valid, nonnull type. Make them void
llvm-svn: 463
2001-09-07 16:47:42 +00:00
Chris Lattner
aeaeab832b Support new setName interface
llvm-svn: 462
2001-09-07 16:47:18 +00:00
Chris Lattner
0e510b8267 * Support new setname interface
* Add assertion for sanity checking

llvm-svn: 461
2001-09-07 16:47:03 +00:00
Chris Lattner
9c4eb70eae * Cnstants are now global objects
* ConstantPools no longer exist
* Constants are global objects in the LLVM system
* Constants are structurally equilivant if they are pointer equilivant
* Support abstract & opaque types
* Support setName on constants even though they don't track names
* Constnats don't get copy ctors anymore
* ConstPoolVal::equals is no longer useful [use ptr equivalency]
* Support generic factory classes to create and maintain constants

llvm-svn: 460
2001-09-07 16:46:31 +00:00
Chris Lattner
d2c013e34c Support new setName itf
llvm-svn: 459
2001-09-07 16:44:17 +00:00
Chris Lattner
652b08d465 * Support global constants
* Eliminate need for constant pool

llvm-svn: 451
2001-09-07 16:40:34 +00:00
Chris Lattner
c189163d03 * 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
fddd7fbc2c Remove #include of nonexistant header file
llvm-svn: 443
2001-09-07 16:32:10 +00:00
Chris Lattner
35ea5501a8 * 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
4c03772b2a *** empty log message ***
llvm-svn: 390
2001-08-28 22:35:21 +00:00
Chris Lattner
eaebbaf5bc Remove target specific stuff from Type classes
llvm-svn: 383
2001-08-27 15:52:13 +00:00
Chris Lattner
3b527dd79e Remove target specific method from MemAccessInst class
llvm-svn: 382
2001-08-27 15:51:43 +00:00
Chris Lattner
a6357a1101 Make sure noone branches to the entry node of the method
llvm-svn: 369
2001-08-24 14:56:34 +00:00
Chris Lattner
b2c70da37a Handle case where there is no exit node from a flowgraph
llvm-svn: 365
2001-08-23 17:07:19 +00:00
Chris Lattner
5882b500cf Changed an assertion message
llvm-svn: 364
2001-08-23 17:06:38 +00:00
Vikram S. Adve
a91d7cb350 Added vector of machine instructions for the basic block.
llvm-svn: 330
2001-07-30 18:47:24 +00:00
Chris Lattner
75298e1fd2 Remove some gross stuff
llvm-svn: 328
2001-07-28 17:52:53 +00:00
Chris Lattner
d22d55b65a Allow vararg method types with 0 fixed types
llvm-svn: 327
2001-07-28 17:52:35 +00:00
Chris Lattner
b3d06b4ec9 Make error msg nicer
llvm-svn: 326
2001-07-28 17:52:14 +00:00
Chris Lattner
92c31e1634 * Fix bugs
llvm-svn: 322
2001-07-28 17:49:02 +00:00
Chris Lattner
55c9388cc7 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
5a8abf8a9a 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
fc1d7dd221 Add support for extern varargs methods & varargs method calls
llvm-svn: 297
2001-07-25 22:47:55 +00:00
Chris Lattner
ff6c44f04f Moved inline/llvm/Tools/* to include/llvm/Support/*
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
f1a2e3b6bb Renamed include/llvm/Codegen to include/llvm/CodeGen
llvm-svn: 253
2001-07-21 20:58:30 +00:00
Chris Lattner
1104f35aaf Fix code to be in a consistent style
llvm-svn: 252
2001-07-21 20:09:07 +00:00
Chris Lattner
7482575151 Remove getTempValuesForMachineCode from the Instruction interface
to remove dependency on <vector>

llvm-svn: 250
2001-07-21 20:04:10 +00:00
Chris Lattner
bf2c12c224 Add new ctor for ConstPoolBool
llvm-svn: 246
2001-07-21 19:16:08 +00:00
Chris Lattner
76e199ffd2 Add new constructor for const pool bool
llvm-svn: 245
2001-07-21 19:15:26 +00:00
Chris Lattner
45cddb6e02 Add support for casts
llvm-svn: 244
2001-07-21 19:10:49 +00:00
Vikram S. Adve
a72bdbe37a 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
0025c5f58a Add isIntegral() method to SignedIntType and UnsignedIntType.
llvm-svn: 224
2001-07-21 12:32:48 +00:00
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