Commit Graph

47 Commits

Author SHA1 Message Date
Chris Lattner
950273b3e7 Fix static constructor ordering problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6302 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 21:31:52 +00:00
Chris Lattner
47697a18d2 Remove using declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 21:21:43 +00:00
Misha Brukman
f117cc9ee6 s/convertable/convertible/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:45:36 +00:00
Chris Lattner
6a490cedb5 Make type resolution a bit more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5265 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 19:42:39 +00:00
Chris Lattner
0c4e886dbf - Renamed Type::isIntegral() to Type::isInteger()
- Added new method Type::isIntegral() that is the same as isInteger, but
    also accepts bool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3574 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-03 01:08:28 +00:00
Chris Lattner
fe8041ae39 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 22:08:53 +00:00
Chris Lattner
d44023ecb7 Implement getPrimitiveSize()
don't use isPointerType()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2485 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 16:14:39 +00:00
Chris Lattner
31bcdb822f Split ConstantVals.h into Constant.h and Constants.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 19:55:58 +00:00
Chris Lattner
c72114ca72 Trivial simplification of code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2325 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 02:26:03 +00:00
Chris Lattner
f60c3fe8c8 *blush* somehow this debugging code got checked in...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2187 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 05:10:39 +00:00
Chris Lattner
417081c6b3 * Make all of the refineAbstractType functions work identically
* Remove ambiguous code that caused problems with understanding how stuff
  worked.
* Implement DerivedType::typeIsRefined right.  Add a big comment talking
  about it.
* The removeUserFromConcrete method already checks to see if the type is
  not abstract, so no need to duplicate the test all over this code

This checkin makes all of the type parsing related failures work.  All
Assembler Regression tests now pass!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2127 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 06:14:56 +00:00
Chris Lattner
339ba45f10 * Reenable apparently neccesary code, that breaks testcases when enabled,
but causes MANY FUNDAMENTAL PROBLEMS when not enabled. :(
* Add debugging function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-06 00:21:11 +00:00
Chris Lattner
af93dbcc95 * FIX: test/Regression/Assembler/2002-02-19-TypeParsing.ll
That was due to the StructType object not getting called multiple times
   to remove itself from the ATU list for an object, because it stopped
   getting queried due to this wrong test

* Improve debug output when DEBUG_MERGE_TYPES is on


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2124 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-05 23:02:46 +00:00
Chris Lattner
3855f2f951 * Move DerivedType::addAbstractTypeUser from DerivedType.h
* Refactor a bunch of code.  Types now only remove one subelement at a time
  when they are told that they have changed
* Improve debugging output, add more assertions...
* FIX Bugs:
  * test/Regression/Assembler/2002-04-04-PureVirtMethCall.ll
  * test/Regression/Assembler/2002-04-04-PureVirtMethCall2.ll
  * The change to fix these bugs was the to ValTypeBase::refineAbstractType
    method.  Basically we #if 0'd out the chunk of code there and make the
    table get reorganized EVEN IF the type has the same pointer.  Merging
    opportunities were being missed!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2121 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-05 22:25:26 +00:00
Chris Lattner
cecb520d1c Clean up debugging code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2119 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-05 19:53:06 +00:00
Chris Lattner
3f59b7e933 * Refactor loop in removeAbstractTypeUser to be more clear
* Fix a bug in DerivedType::refineAbstractTypeTo that caused
  test/Regression/Assembler/2002-04-05-TypeParsing.ll to fail.
  The added comment describes the fix


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2118 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-05 19:44:07 +00:00
Chris Lattner
aa06d2c103 * Add debug support for PATypeHolder
* PATypeHolder is now not a template


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04 19:26:02 +00:00
Chris Lattner
6bfd6a578a s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2034 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29 03:44:36 +00:00
Chris Lattner
697954c15d Changes to build successfully with GCC 3.02
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
6c42c310c6 Remove unsized array support
Add new SequentialType class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1470 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:41:56 +00:00
Chris Lattner
7026107b70 Do not pessimize users of this function. Fix logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1428 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-06 18:06:37 +00:00
Chris Lattner
7a17675206 Renamed inst_const_iterator -> const_inst_iterator
Renamed op_const_iterator   -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-04 00:03:30 +00:00
Chris Lattner
e9bb2df410 Rename ConstPoolVal -> Constant
Rename ConstPool*   -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 22:26:30 +00:00
Chris Lattner
cee8f9ae67 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
58716b9791 Implement: isLosslesslyConvertableTo and new CompositeType base class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1347 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 17:01:47 +00:00
Chris Lattner
ebef5e5ba2 Remove debugging info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1093 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 03:31:39 +00:00
Chris Lattner
e244a25014 Fix major bugs in type resolution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1092 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 03:27:53 +00:00
Chris Lattner
3b1e3f45c0 Dramatically simplify recursive type processing. Fixed a few bugs, a few still remain :(
Why does this stuff have to come up NOW?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1089 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-02 07:51:31 +00:00
Chris Lattner
55fd998ce7 Initialize isRecursive. Found by Purify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1043 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 16:39:16 +00:00
Chris Lattner
008f906afd Two things:
1. Forward propogate a loaded constant to make debugging slightly less annoying
2. Fix an extremely nasty hard to find bug that really irritated me for the better
   part of 6 hours and was causing linking to die and bizarre and mysterious ways.
   Things should be much more stable now that this one liner has been fixed. GRR


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@971 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-24 05:12:04 +00:00
Chris Lattner
56c5acbe96 * Fix a nefarious bugs: TypesEqual was wrong for varargs methods
* MethodType::get now takes a literal isVarArg method argument
* Use new style casts


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@773 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:01:33 +00:00
Chris Lattner
b00c582b6d Commit more code over to new cast style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02 03:41:24 +00:00
Chris Lattner
ca24d381e7 Use correct style casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@545 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:44 +00:00
Chris Lattner
74c2b7633f Rename contype to subtype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@522 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:58 +00:00
Chris Lattner
82072d4743 Clean up Type class by removing mutable ConstRules member and use annotations insead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@516 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:02:38 +00:00
Chris Lattner
c038a2f953 Support a abstract, opaque, and recursive types
Remove lockty, remove fillerty
Make type lookup more efficient
Support shared generic factory code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@465 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:56:42 +00:00
Vikram S. Adve
402ace79fc *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@390 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:35:21 +00:00
Chris Lattner
e37dbf843d Remove target specific stuff from Type classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@383 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:52:13 +00:00
Chris Lattner
3868521e22 Allow vararg method types with 0 fixed types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:35 +00:00
Chris Lattner
e5a57ee363 Add support for extern varargs methods & varargs method calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 22:47:55 +00:00
Chris Lattner
57dbb3ad63 Moved inline/llvm/Tools/* to include/llvm/Support/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
1a2cefcb40 Add new constructor for const pool bool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:15:26 +00:00
Vikram S. Adve
a4e6f88fbb Add isIntegral() method to SignedIntType and UnsignedIntType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:32:48 +00:00
Vikram S. Adve
d01d99b2a0 Compute and cache information about the storage size and layout
of structures.  This information is machine-dependent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:09:17 +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
7fc9fe3439 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:41:11 +00:00
Chris Lattner
009505452b Initial revision
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-06 20:29:01 +00:00