aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/Type.cpp
Commit message (Collapse)AuthorAgeFilesLines
* - Renamed Type::isIntegral() to Type::isInteger()Chris Lattner2002-09-031-24/+16
| | | | | | | | - 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
* *** empty log message ***Chris Lattner2002-07-241-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement getPrimitiveSize()Chris Lattner2002-05-061-2/+14
| | | | | | | don't use isPointerType() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2485 91177308-0d34-0410-b5e6-96231b3b80d8
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
* Trivial simplification of codeChris Lattner2002-04-271-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2325 91177308-0d34-0410-b5e6-96231b3b80d8
* *blush* somehow this debugging code got checked in...Chris Lattner2002-04-091-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2187 91177308-0d34-0410-b5e6-96231b3b80d8
* * Make all of the refineAbstractType functions work identicallyChris Lattner2002-04-071-68/+68
| | | | | | | | | | | | | | | * 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
* * Reenable apparently neccesary code, that breaks testcases when enabled,Chris Lattner2002-04-061-1/+7
| | | | | | | | 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
* * FIX: test/Regression/Assembler/2002-02-19-TypeParsing.llChris Lattner2002-04-051-3/+4
| | | | | | | | | | | 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
* * Move DerivedType::addAbstractTypeUser from DerivedType.hChris Lattner2002-04-051-28/+48
| | | | | | | | | | | | | | | | * 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
* Clean up debugging codeChris Lattner2002-04-051-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2119 91177308-0d34-0410-b5e6-96231b3b80d8
* * Refactor loop in removeAbstractTypeUser to be more clearChris Lattner2002-04-051-18/+35
| | | | | | | | | * 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
* * Add debug support for PATypeHolderChris Lattner2002-04-041-6/+15
| | | | | | | * PATypeHolder is now not a template git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2108 91177308-0d34-0410-b5e6-96231b3b80d8
* s/Method/FunctionChris Lattner2002-03-291-30/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2034 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unsized array supportChris Lattner2001-12-141-19/+18
| | | | | | | Add new SequentialType class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1470 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not pessimize users of this function. Fix logic.Chris Lattner2001-12-061-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1428 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-1/+1
| | | | | | | | 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
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-4/+4
| | | | | | | | 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
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-2/+2
| | | | | | | | | 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
* Implement: isLosslesslyConvertableTo and new CompositeType base classChris Lattner2001-11-261-2/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1347 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove debugging infoChris Lattner2001-11-031-10/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1093 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix major bugs in type resolutionChris Lattner2001-11-031-12/+101
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1092 91177308-0d34-0410-b5e6-96231b3b80d8
* Dramatically simplify recursive type processing. Fixed a few bugs, a few ↵Chris Lattner2001-11-021-108/+47
| | | | | | | | | 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
* Initialize isRecursive. Found by PurifyChris Lattner2001-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1043 91177308-0d34-0410-b5e6-96231b3b80d8
* Two things:Chris Lattner2001-10-241-1/+3
| | | | | | | | | | 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
* * Fix a nefarious bugs: TypesEqual was wrong for varargs methodsChris Lattner2001-10-131-16/+29
| | | | | | | | * 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
* Commit more code over to new cast styleChris Lattner2001-10-021-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
* Use correct style castsChris Lattner2001-09-101-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@545 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename contype to subtypeChris Lattner2001-09-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@522 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up Type class by removing mutable ConstRules member and use ↵Chris Lattner2001-09-091-1/+0
| | | | | | annotations insead git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@516 91177308-0d34-0410-b5e6-96231b3b80d8
* Support a abstract, opaque, and recursive typesChris Lattner2001-09-071-187/+756
| | | | | | | | | 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
* *** empty log message ***Vikram S. Adve2001-08-281-0/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@390 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove target specific stuff from Type classesChris Lattner2001-08-271-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@383 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow vararg method types with 0 fixed typesChris Lattner2001-07-281-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for extern varargs methods & varargs method callsChris Lattner2001-07-251-10/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved inline/llvm/Tools/* to include/llvm/Support/*Chris Lattner2001-07-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new constructor for const pool boolChris Lattner2001-07-211-4/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245 91177308-0d34-0410-b5e6-96231b3b80d8
* Add isIntegral() method to SignedIntType and UnsignedIntType.Vikram S. Adve2001-07-211-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224 91177308-0d34-0410-b5e6-96231b3b80d8
* Compute and cache information about the storage size and layoutVikram S. Adve2001-07-201-1/+5
| | | | | | | of structures. This information is machine-dependent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementation of Store & GetElementPtrChris Lattner2001-07-081-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
* Miscellaneous cleanups:Chris Lattner2001-06-271-8/+8
| | | | | | | | | | | | * 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
* Initial revisionChris Lattner2001-06-061-0/+308
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8