aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/TargetData.cpp
AgeCommit message (Collapse)Author
2004-11-02Fix this function to not say that longs have 8-byte alignment on X86/PPC.Chris Lattner
This method is really a gross hack, but at least we can make it work on the targets we support right now. This bug fix stops a crash in a testcase reduced from 176.gcc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01Changes For Bug 352Reid Spencer
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17Add a new helper method to get log2(type alignment)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15887 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23* Add BoolAlignment to TargetData, default is 1 byte, size 1 byteMisha Brukman
* Convert tabs to spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15120 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-15Nuke a clearly bogus assertionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14854 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02Fix use-before-def thinkoBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14570 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01Handle targets where alignment can be bigger than the size of the data.Chris Lattner
Contributed by Vladimir Prus! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14534 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-17Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-14Fix typo.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12953 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05Support getelementptr instructions which use uint's to index into structureChris Lattner
types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26Use a map instead of annotationsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11875 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-09Adjust to the changed StructType interface. In particular, ↵Chris Lattner
getElementTypes() is gone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11228 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-22finegrainify namespacificationChris Lattner
add new getIntPtrType() method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10579 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM project notice to the top of every C++ source file.John Criswell
Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24Add support for 'any' pointer size and endiannessChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8120 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18Spell `necessary' correctly.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23Remove redundant const qualifiers from cast<> expressionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04No really, you _cannot use_ getelementptr on an unsized type: that makesChris Lattner
no sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6595 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Undo one of those last fixes -- it was incorrect.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6593 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02Minor cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6535 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21* Fix divide by zero error with empty structsChris Lattner
* Empty structs should have ALIGNMENT 1, not SIZE 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26Remove two fields from TargetData which are target specific.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5937 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25Allow for easy detection of when a "default" TargetData is created by theChris Lattner
passmanager, which is never the right thing to do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5922 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24add a new targetdata ctor to create a target data appropriate to the moduleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25Remove wierd case that can never happenChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5623 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29* Privatize the TargetNameChris Lattner
* Move optSizeForSubWordData to TargetData * Remove unused fields git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4417 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 - Add an endianness field to the TargetData datastructureChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4174 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13Don't try to compute the size of an "array" element if the index is 0:Vikram S. Adve
the size may be unknown, and is not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25Convert TargetData to be an ImmutablePassChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3927 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-11- Change getelementptr instruction to use long indexes instead of uintChris Lattner
indexes for sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3682 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24Fix sign-extension: it needs to happen *after* multiplying by type size.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3497 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23Simplify previous hack slightly.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3490 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23Force sign-extension for uint array indexes from 32-bit to 64-bitsVikram S. Adve
since uint is not normally sign-extended when casting to uint64_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3489 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13Bug fix in TargetData::getIndexedOffset: We were using the pointerVikram S. Adve
type instead of the element type for the element size for arrays. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3302 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04Bug fix in TargetData::getIndexedOffset(): handle struct offsetVikram S. Adve
after array offset correctly. The type was not being updated for array offsets! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3246 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25*** empty log message ***Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3075 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19Add integer register size field.Vikram S. Adve
Make all sizes and offsets uint64_t instead of uint. Fixed GetIndexedOffset to handle mixed array and struct indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2641 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07Extend TargetData::getIndexedOffset to support arrays and pointers!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2535 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2486 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28Split ConstantVals.h into Constant.h and Constants.hChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21Remove dead variableChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1515 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20Changes to build successfully with GCC 3.02Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-15getIndexedOffset() shd take vector of Values, not of Constants!Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1484 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13Not just arrays are unsizedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1450 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-04Renamed inst_const_iterator -> const_inst_iteratorChris Lattner
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-03Rename ConstPoolVal -> ConstantChris Lattner
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-11-14Fix cute little bug that was causing the lastVikram S. Adve
structure offset to be ignored in computing an offset! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1310 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02Commit more code over to new cast styleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8