History log of /external/llvm/lib/Target/TargetData.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
030a3415b0ddd15c532e37892bd7ebdbef8a35b6 01-May-2012 Benjamin Kramer <benny.kra@googlemail.com> Value-initialize global to avoid global construction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c89c744b69cecac576317a98322fd295e36e9886 27-Mar-2012 Craig Topper <craig.topper@gmail.com> Remove unnecessary llvm:: qualifications

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
34674743f518e7241fa7bb79a805b571f24e98a0 26-Feb-2012 Hal Finkel <hfinkel@anl.gov> Default TargetData alignment information for 128-bit floating-point types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e3376ecd504300ae529c902135f51baffbdc2824 20-Dec-2011 Dan Gohman <gohman@apple.com> Add basic generic CodeGen support for half.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1dda3d511e19918c4487e9d5a45eb5856284494e 20-Oct-2011 Lang Hames <lhames@gmail.com> Haven't yet found a nice way to handle TargetData verification in the
AsmParser. This patch adds validation for target data layout strings upon
construction of TargetData objects. An attempt to construct a TargetData object
from a malformed string will trigger an assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d8ffe5bb162bf97a7b0a323d2edcf8b83ca5dada 18-Oct-2011 Lang Hames <lhames@gmail.com> Backing out patch. Will refactor to remove the AsmParser dependency on Target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
5fa792e65a2da4f24c70772cecccb1e04d9a38e7 18-Oct-2011 Lang Hames <lhames@gmail.com> Re-applying the target data layout verification patch from r142288, plus appropriate CMake dependencies.
Thanks to Raphael Espindola for tracking down the CMake issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
10820d9a9754987533fd7a8b50b03831781cbd65 18-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> 142288 broke the build:

Linking CXX executable ../../bin/llvm-as
../../lib/libLLVMAsmParser.a(LLParser.cpp.o):/home/espindola/llvm/llvm/lib/AsmParser/LLParser.cpp:function llvm::LLParser::ParseTargetDefinition(): error: undefined reference to 'llvm::TargetData::parseSpecifier(llvm::StringRef, llvm::TargetData*)'
clang-3: error: linker command failed with exit code 1 (use -v to see invocation)

Revert "Validate target data layout strings."

This reverts commit 599d2d4c25d3aee63a21d9c67a88cd43bd971b7e.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
599d2d4c25d3aee63a21d9c67a88cd43bd971b7e 18-Oct-2011 Lang Hames <lhames@gmail.com> Validate target data layout strings.
Invalid strings in asm files will result in parse errors. Invalid string literals passed to TargetData constructors will result in an assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
bb5b3f33594cfa40e9f53bf9a71af359b080a697 11-Oct-2011 Lang Hames <lhames@gmail.com> Add a natural stack alignment field to TargetData, and prevent InstCombine from
promoting allocas to preferred alignments that exceed the natural
alignment. This avoids some potentially expensive dynamic stack realignments.

The natural stack alignment is set in target data strings via the "S<size>"
option. Size is in bits and must be a multiple of 8. The natural stack alignment
defaults to "unspecified" (represented by a zero value), and the "unspecified"
value does not prevent any alignment promotions. Target maintainers that care
about avoiding promotions should explicitly add the "S<size>" option to their
target data strings.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ca12a2139e7ed8b5f30df9927494dd7aae929a7c 19-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert gep_type_begin and gep_type_end to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8fbbb3980755d74539a0aed02bc18842ed2bd18d 19-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert TargetData::getIndexedOffset to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ef58218b8dd9afc0251eeb673c10d448da45d281 15-Jul-2011 Chris Lattner <sabre@nondot.org> remove the InvalidateStructLayoutInfo API, which is dead and unnecessary now
that type refinement is toast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e3f5ae7b9e68953635f604a8b437d440678bb18e 12-Jul-2011 Tobias Grosser <grosser@fim.uni-passau.de> Remove IntegerType constness from TargetData

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
2280ebd61416b73d0b6137f275b25af82e268d1f 12-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r134893 and r134888 (and related patches in other trees). It was causing
an assert on Darwin llvm-gcc builds.

Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
ne 2067.
etc.

http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354

--- Reverse-merging r134893 into '.':
U include/llvm/Target/TargetData.h
U include/llvm/DerivedTypes.h
U tools/bugpoint/ExtractFunction.cpp
U unittests/Support/TypeBuilderTest.cpp
U lib/Target/ARM/ARMGlobalMerge.cpp
U lib/Target/TargetData.cpp
U lib/VMCore/Constants.cpp
U lib/VMCore/Type.cpp
U lib/VMCore/Core.cpp
U lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Instrumentation/ProfilingUtils.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/CodeGen/SjLjEHPrepare.cpp
--- Reverse-merging r134888 into '.':
G include/llvm/DerivedTypes.h
U include/llvm/Support/TypeBuilder.h
U include/llvm/Intrinsics.h
U unittests/Analysis/ScalarEvolutionTest.cpp
U unittests/ExecutionEngine/JIT/JITTest.cpp
U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
U unittests/VMCore/PassManagerTest.cpp
G unittests/Support/TypeBuilderTest.cpp
U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
U lib/VMCore/IRBuilder.cpp
G lib/VMCore/Type.cpp
U lib/VMCore/Function.cpp
G lib/VMCore/Core.cpp
U lib/VMCore/Module.cpp
U lib/AsmParser/LLParser.cpp
U lib/Transforms/Utils/CloneFunction.cpp
G lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Utils/InlineFunction.cpp
U lib/Transforms/Instrumentation/GCOVProfiling.cpp
U lib/Transforms/Scalar/ObjCARC.cpp
U lib/Transforms/Scalar/SimplifyLibCalls.cpp
U lib/Transforms/Scalar/MemCpyOptimizer.cpp
G lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/Transforms/IPO/ArgumentPromotion.cpp
U lib/Transforms/InstCombine/InstCombineCompares.cpp
U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
U lib/Transforms/InstCombine/InstCombineCalls.cpp
U lib/CodeGen/DwarfEHPrepare.cpp
U lib/CodeGen/IntrinsicLowering.cpp
U lib/Bitcode/Reader/BitcodeReader.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
eeb64ae6e52ac2a7980884fe89c01508014af6a9 11-Jul-2011 Jay Foad <jay.foad@gmail.com> De-constify Types in StructType::get() and TargetData::getIntPtrType().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing. Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1335022e1983d81bd680a082046544af22496054 13-Apr-2011 Cameron Zwarich <zwarich@apple.com> Fix a regression caused by r102515 where explicit alignment on globals is
ignored. There was a test to catch this, but it was just blindly updated in
a large change. This fixes another part of <rdar://problem/9275290>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
eb04a33dc778c6520489dff19d394c542d87c6ac 13-Apr-2011 Cameron Zwarich <zwarich@apple.com> Fix an obvious problem with an alignment computation. AsmPrinter actually does
the max itself, so it is not easy to write a test case for this, but I added a
test case that would fail if the code in AsmPrinter were removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d8b88d8558e00ed1ca1a97d6b7a86ead757412fc 13-Apr-2011 Cameron Zwarich <zwarich@apple.com> If a global variable has a specified alignment that is less than the preferred
alignment for its type, use the minimum of the specified alignment and the ABI
alignment. This fixes <rdar://problem/9275290>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
081c34b725980f995be9080eaec24cd3dfaaf065 19-Oct-2010 Owen Anderson <resistor@mac.com> Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
87b86658780b8ce2db1b4f3c675c4b9f51bf0d44 19-Oct-2010 Michael J. Spencer <bigcheesegs@gmail.com> Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ce665bd2e2b581ab0858d1afe359192bac96b868 08-Oct-2010 Owen Anderson <resistor@mac.com> Now with fewer extraneous semicolons!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
29fc6f35a5a284e0c304b1877e9acf040bfca339 15-Sep-2010 Dale Johannesen <dalej@apple.com> Add x86MMX a few more places.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
bb811a244567aa8a1522203f15588f4d001b7353 10-Sep-2010 Dale Johannesen <dalej@apple.com> Add X86 MMX type to bitcode and Type.
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
61c70e98ac3c7504d31dd9bc81c4e9cb998e9984 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b68f274b6d63ffcf4391304e7e133b7913f17d96 11-Aug-2010 Dan Gohman <gohman@apple.com> Don't use unsigned char for alignments in TargetData. There aren't
that many of these things, so the memory savings isn't significant,
and there are now situations where there can be alignments greater
than 128.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
90c579de5a383cee278acc3f7e7b9d0a656e6a35 06-Aug-2010 Owen Anderson <resistor@mac.com> Reapply r110396, with fixes to appease the Linux buildbot gods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1f74590e9d1b9cf0f1f81a156efea73f76546e05 06-Aug-2010 Owen Anderson <resistor@mac.com> Revert r110396 to fix buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9ccaf53ada99c63737547c0235baeb8454b04e80 06-Aug-2010 Owen Anderson <resistor@mac.com> Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
67d0498d533eedab90e5b6399669c420abbde7c6 28-Jul-2010 Dan Gohman <gohman@apple.com> Do GEP offset calculations with unsigned math rather than signed math
to avoid undefined behavior on overflow, noticed by John Regehr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d13db2c59cc94162d6cf0a04187d408bfef6d4a7 22-Jul-2010 Owen Anderson <resistor@mac.com> Fix batch of converting RegisterPass<> to INTIALIZE_PASS().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
6e8fd9060253a29483ce628f6831786053516260 23-Apr-2010 Dan Gohman <gohman@apple.com> Change TargetData's algorithm for computing defualt vector type
alignment to match what's used in clang and GCC for __alignof, rather
than trying to guess what Legalize is going to be doing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
34e9d17d1b5fdba2b6fe75979c941209a442560e 17-Apr-2010 Chris Lattner <sabre@nondot.org> fix PR6332, allowing an index of zero into a zero sized array
even if the element of the array has no size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
75361b69f3f327842b9dad69fa7f28ae3b688412 08-Apr-2010 Chris Lattner <sabre@nondot.org> rename llvm::llvm_report_error -> llvm::report_fatal_error



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f860db2398b39ed4602b595b9b352fd3f9556107 02-Apr-2010 Dan Gohman <gohman@apple.com> Revert the recent alignment changes. They're broken for -Os because,
in particular, they end up aligning strings at 16-byte boundaries, and
there's no way for GlobalOpt to check OptForSize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
04d52f8435e264a83ec42fa81d6211adbc964422 02-Apr-2010 Dan Gohman <gohman@apple.com> Change variables which are exactly 16 bytes to be 16-byte-aligned too.
This fixes test/Transforms/GlobalOpt/gv-align.ll.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
93b122d3c484a8451024d6947be0f4037f86def0 16-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98656 unmodified, which exposed the asmprinter not
handling constant unions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b85c7100c5f1ef34bace56c6978eca429df798f6 16-Mar-2010 Daniel Dunbar <daniel@zuster.org> Revert r98656, its breaking all over the place.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8b3b34f410f2bd05943e1c6f9b0514209731421d 16-Mar-2010 Chris Lattner <sabre@nondot.org> improve support for uniontype and ConstantUnion, patch by Tim Northover!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
aa9d854b334cab2f29ca6d95413a0946b8a38429 25-Feb-2010 Dan Gohman <gohman@apple.com> Revert r97064. Duncan pointed out that bitcasts are defined in
terms of store and load, which means bitcasting between scalar
integer and vector has endian-specific results, which undermines
this whole approach.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c382bc3c0f476bf94303d9892af4e2cee173bfe5 24-Feb-2010 Dan Gohman <gohman@apple.com> Make getTypeSizeInBits work correctly for array types; it should return
the number of value bits, not the number of bits of allocation for in-memory
storage.

Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and
vectors.

Fix several places in CodeGen which compute offsets into in-memory vectors
to use TargetData information.

This fixes PR1784.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1df9859c40492511b8aa4321eb76496005d3b75b 16-Feb-2010 Duncan Sands <baldrick@free.fr> There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
da63b3ad6307cb4094383fad9695e4bb32ccac01 26-Jan-2010 Chris Lattner <sabre@nondot.org> add a method to get the alignment of an integer type even
when we don't have one laying around. Useful if you don't
have an llvmcontext handy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
551dec592f602258e3ff64cb613f23312e0f7610 17-Dec-2009 Chris Lattner <sabre@nondot.org> finish cleaning up StructLayoutMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
740266269b2df0b44a5a11cb5204d97d2dd3d0a3 05-Dec-2009 Bill Wendling <isanbard@gmail.com> Calling InvalidateEntry during the refinement was breaking the bootstrap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
32bc2362a156d2c3a9c8224b6a238f1a41a3c496 05-Dec-2009 Bill Wendling <isanbard@gmail.com> Final cleanups:

- Privatize a typedef.
- Call the InvalidateEntry when refining a type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
688da28687788f6ae372c5a3176815e7a69d2cda 05-Dec-2009 Bill Wendling <isanbard@gmail.com> Inline methods which are called only once.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
5681689795c36beb83a4be02c13fb0df78a216bc 05-Dec-2009 Bill Wendling <isanbard@gmail.com> Refactor some code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1500c4f49a975fd6a800c70d3245f8d6e145c677 04-Dec-2009 Bill Wendling <isanbard@gmail.com> Some code cleanup. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
cb06403145eb7f18457f98077ee64c629a9ad82a 03-Dec-2009 Bill Wendling <isanbard@gmail.com> Revert r90371. It was causing build failures.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b8e675c3c1022b93b0b998afdbbeb81b1a004ecd 03-Dec-2009 Bill Wendling <isanbard@gmail.com> Further improvements: refactoring code that does the same thing into one
function, converting "dyn_cast" to "cast", asserting the correct things, and
other general cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
35e86af8e5cc76b94690d8e06517b7daa254d314 03-Dec-2009 Chris Lattner <sabre@nondot.org> remove some dead std::ostream using code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
7896c9f436a4eda5ec15e882a7505ba482a2fcd0 03-Dec-2009 Chris Lattner <sabre@nondot.org> improve portability to avoid conflicting with std::next in c++'0x.
Patch by Howard Hinnant!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
dd5eb023048d0ac69721eb919d3ef1bbaee2e1ce 03-Dec-2009 Bill Wendling <isanbard@gmail.com> This initial code is meant to convert TargetData to use an AbstractTypesUser so
that it doesn't have dangling pointers when abstract types are resolved. This
modifies it somewhat to address comments: making the "StructLayoutMap" an
anonymous structure, calling "removeAbstractTypeUser" when appropriate, and
adding asserts where helpful.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
5eea34267376e76aceb53b6c3dfead816021258f 18-Nov-2009 Bill Wendling <isanbard@gmail.com> The llvm-gcc front-end and the pass manager use two separate TargetData objects.
This is probably not confined to *just* these two things.

Anyway, the llvm-gcc front-end may look up the structure layout information for
an abstract type. That information will be stored into a table with the FE's
TD. Instruction combine can come along and also ask for information on that
abstract type, but for a separate TD (the one associated with the pass manager).

After the type is refined, the old structure layout information in the pass
manager's TD file is out of date. If a new type is allocated in the same space
as the old-unrefined type, then the structure type information in the pass
manager's TD file will be wrong, but won't know it.

Fix this by making the TD's structure type information an abstract type user.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
7e89738f98c1dbe455a1b6c5c55c04cc891fe503 08-Nov-2009 Chris Lattner <sabre@nondot.org> Make TargetData::getStringRepresentation spit out native integer types,
this gives llvm-gcc generated modules the right data.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e82bdc4809240ab59977b9950288174b2f2dd852 07-Nov-2009 Chris Lattner <sabre@nondot.org> add the ability for TargetData to return information about legal integer
datatypes on a given CPU. This is intended to allow instcombine and other
transformations to avoid converting big sequences of operations to an
inconvenient width, and will help clean up after SRoA. See also "Adding
legal integer sizes to TargetData" on Feb 1, 2009 on llvmdev, and PR3451.

Comments welcome.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
2e07494170d5f56805b7a6c1b70808fc2a157052 07-Nov-2009 Chris Lattner <sabre@nondot.org> more cleanup.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b7aadfac5e1b31f68be6c9afbdc2578a6415b00d 07-Nov-2009 Chris Lattner <sabre@nondot.org> rewrite TargetData to use StringRef/raw_ostream instead of thrashing std::strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9085750d3126618ab1b3a4104c34bc504f8b09f4 21-Aug-2009 Owen Anderson <resistor@mac.com> Try again at privatizing the layout info map, with a rewritten patch.
This preserves the existing behavior much more closely than my previous attempt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
2ea20154cef8ecfb8803bcfe5223e1c199d61858 21-Aug-2009 Owen Anderson <resistor@mac.com> Re-revert r79555. Apparently it's not just buildbot weirdness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
28998d1806f5717c841c614f5c6c08fd6de4cdbb 21-Aug-2009 Owen Anderson <resistor@mac.com> Reapply r79555 for testing. Daniel's trying to work out some buildbot weirdnesss.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
607abd262edfa23f7b342f377b444881f4429377 21-Aug-2009 Bill Wendling <isanbard@gmail.com> --- Reverse-merging r79555 into '.':
U include/llvm/Target/TargetData.h
U lib/Target/TargetData.cpp

Temporarily revert 79555. It was causing hangs and test failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d9b207122eeb740a3878f8389cb38b81d9388734 20-Aug-2009 Owen Anderson <resistor@mac.com> Make the StructType->StructLayout table private to TargetData, allowing us to avoid locking on it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d35626e8bbd42dee37dbaae3621338b02b3788ad 20-Aug-2009 Dan Gohman <gohman@apple.com> Update and fix some comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
a9d1f2c559ef4b2549e29288fe6944e68913ba0f 07-Jul-2009 Owen Anderson <resistor@mac.com> Have scoped mutexes take referenes instead of pointers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
606e9eb6e6bd14764a0c6f562787a2531a270416 23-Jun-2009 Owen Anderson <resistor@mac.com> Guard the layout info object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
7524b5906267e8ea8322c2ef4334f6e3bf0e6d24 11-May-2009 Jay Foad <jay.foad@gmail.com> Change TargetData::getIntPtrType() to return an IntegerType instead of
just a Type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
777d2306b36816a53bc1ae1244c0dc7d998ae691 09-May-2009 Duncan Sands <baldrick@free.fr> Rename PaddedSize to AllocSize, in the hope that this
will make it more obvious what it represents, and stop
it being confused with the StoreSize.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
77c5b0d7dc4b516982b2a9c17b241e773b58586d 01-Apr-2009 Dan Gohman <gohman@apple.com> Use LLVM type names instead of C type names in comments, to be
less ambiguous and less C-specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9fbb52db9831772a5f16a9eef69237e30bc90625 17-Feb-2009 Dan Gohman <gohman@apple.com> Delete trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ceb4d1aecb9deffe59b3dcdc9a783ffde8477be9 12-Jan-2009 Duncan Sands <baldrick@free.fr> Rename getABITypeSize to getTypePaddedSize, as
suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
677a7ec489ce75283d386fd8460834b924009a82 09-Dec-2008 Duncan Sands <baldrick@free.fr> Handle a compiler warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
59779c56053d150cf93b80bf90f7ae7839f8d219 08-Dec-2008 Chris Lattner <sabre@nondot.org> consistency


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
bedb8c1d35e420165fca7455d4025bf82913a38f 08-Dec-2008 Chris Lattner <sabre@nondot.org> introduce a new RoundUpAlignment helper function, use it to
remove some more 64-bit divs and rems from the StructLayout
ctor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ae73dc1448d25b02cabc7c64c86c64371453dda8 04-Sep-2008 Dan Gohman <gohman@apple.com> Tidy up several unbeseeming casts from pointer to intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
a0fcc08e6542a0376917b5c76a0af3eb2650c535 04-Jun-2008 Duncan Sands <baldrick@free.fr> Change packed struct layout so that field sizes
are the same as in unpacked structs, only field
positions differ. This only matters for structs
containing x86 long double or an apint; it may
cause backwards compatibility problems if someone
has bitcode containing a packed struct with a
field of one of those types.
The issue is that only 10 bytes are needed to
hold an x86 long double: the store size is 10
bytes, but the ABI size is 12 or 16 bytes (linux/
darwin) which comes from rounding the store size
up by the alignment. Because it seemed silly not
to pack an x86 long double into 10 bytes in a
packed struct, this is what was done. I now
think this was a mistake. Reserving the ABI size
for an x86 long double field even in a packed
struct makes things more uniform: the ABI size is
now always used when reserving space for a type.
This means that developers are less likely to
make mistakes. It also makes life easier for the
CBE which otherwise could not represent all LLVM
packed structs (PR2402).
Front-end people might need to adjust the way
they create LLVM structs - see following change
to llvm-gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
844731a7f1909f55935e3514c9e713a62d67662e 13-May-2008 Dan Gohman <gohman@apple.com> Clean up the use of static and anonymous namespaces. This turned up
several things that were neither in an anonymous namespace nor static
but not intended to be global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
0a9371de6d4ea2daec64a8be7be4b3bda869f6ab 14-Apr-2008 Dan Gohman <gohman@apple.com> Remove unnecessary <sstream> includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c758209153ca0f6da6737f25ada269c573fba456 19-Mar-2008 Devang Patel <dpatel@apple.com> PassInfo keep tracks whether a pass is an analysis pass or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d102593b425da27fa96359300ff0e3d547d0ac8d 29-Jan-2008 Duncan Sands <baldrick@free.fr> Use getPreferredAlignmentLog or getPreferredAlignment
to get the alignment of global variables, rather than
using hand-made versions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9c4428b217eca38e06c7bc01c8a6e1b248df326f 10-Jan-2008 Chris Lattner <sabre@nondot.org> Fix PR1845 and rdar://5676945. Generic vectors smaller
than hardware supported type will be scalarized, so we
can infer their alignment from that info.

We now codegen pr1845 into:

_boolVectorSelect:
lbz r2, 0(r3)
stb r2, -16(r1)
blr



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
5819799fa746cc021471b22d4e90b3e34c2076fd 21-Dec-2007 Duncan Sands <baldrick@free.fr> Fix a brain fart by our beloved leader (the content
of this patch is the last line).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
67f1c493d105fdfb8ffa980ff82ff7d9e3fafefc 13-Dec-2007 Duncan Sands <baldrick@free.fr> Remove host endianness info from TargetData and
put it in a new header System/Host.h instead.
Instead of getting the endianness from configure,
calculate it directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
57d7d3f2d76d8d042faa95d82374b0c24cfce35f 11-Dec-2007 Chris Lattner <sabre@nondot.org> Move TargetData::hostIsLittleEndian out of line, which means we
don't have to #include config.h in it. #including config.h breaks
other projects that have their own autoconf stuff and try to #include
the llvm headers. One obscure example is llvm-gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b623ce9128312e279b12cefeea5e76f327a17609 09-Nov-2007 Anton Korobeynikov <asl@math.spbu.ru> Silence a warning


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
514ab348fddcdffa8367685dc608b2f8d5de986d 01-Nov-2007 Duncan Sands <baldrick@free.fr> Executive summary: getTypeSize -> getTypeStoreSize / getABITypeSize.
The meaning of getTypeSize was not clear - clarifying it is important
now that we have x86 long double and arbitrary precision integers.
The issue with long double is that it requires 80 bits, and this is
not a multiple of its alignment. This gives a primitive type for
which getTypeSize differed from getABITypeSize. For arbitrary precision
integers it is even worse: there is the minimum number of bits needed to
hold the type (eg: 36 for an i36), the maximum number of bits that will
be overwriten when storing the type (40 bits for i36) and the ABI size
(i.e. the storage size rounded up to a multiple of the alignment; 64 bits
for i36).

This patch removes getTypeSize (not really - it is still there but
deprecated to allow for a gradual transition). Instead there is:

(1) getTypeSizeInBits - a number of bits that suffices to hold all
values of the type. For a primitive type, this is the minimum number
of bits. For an i36 this is 36 bits. For x86 long double it is 80.
This corresponds to gcc's TYPE_PRECISION.

(2) getTypeStoreSizeInBits - the maximum number of bits that is
written when storing the type (or read when reading it). For an
i36 this is 40 bits, for an x86 long double it is 80 bits. This
is the size alias analysis is interested in (getTypeStoreSize
returns the number of bytes). There doesn't seem to be anything
corresponding to this in gcc.

(3) getABITypeSizeInBits - this is getTypeStoreSizeInBits rounded
up to a multiple of the alignment. For an i36 this is 64, for an
x86 long double this is 96 or 128 depending on the OS. This is the
spacing between consecutive elements when you form an array out of
this type (getABITypeSize returns the number of bytes). This is
TYPE_SIZE in gcc.

Since successive elements in a SequentialType (arrays, pointers
and vectors) need to be aligned, the spacing between them will be
given by getABITypeSize. This means that the size of an array
is the length times the getABITypeSize. It also means that GEP
computations need to use getABITypeSize when computing offsets.
Furthermore, if an alloca allocates several elements at once then
these too need to be aligned, so the size of the alloca has to be
the number of elements multiplied by getABITypeSize. Logically
speaking this doesn't have to be the case when allocating just
one element, but it is simpler to also use getABITypeSize in this
case. So alloca's and mallocs should use getABITypeSize. Finally,
since gcc's only notion of size is that given by getABITypeSize, if
you want to output assembler etc the same as gcc then getABITypeSize
is the size you want.

Since a store will overwrite no more than getTypeStoreSize bytes,
and a read will read no more than that many bytes, this is the
notion of size appropriate for alias analysis calculations.

In this patch I have corrected all type size uses except some of
those in ScalarReplAggregates, lib/Codegen, lib/Target (the hard
cases). I will get around to auditing these too at some point,
but I could do with some help.

Finally, I made one change which I think wise but others might
consider pointless and suboptimal: in an unpacked struct the
amount of space allocated for a field is now given by the ABI
size rather than getTypeStoreSize. I did this because every
other place that reserves memory for a type (eg: alloca) now
uses getABITypeSize, and I didn't want to make an exception
for unpacked structs, i.e. I did it to make things more uniform.
This only effects structs containing long doubles and arbitrary
precision integers. If someone wants to pack these types more
tightly they can always use a packed struct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b361ec31979b2ac40af00d5258b9571239954103 29-Oct-2007 Chris Lattner <sabre@nondot.org> Fix PR1749 and InstCombine/2007-10-28-EmptyField.ll by handling
zero-length fields better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8e41ed7c4e8513487b8727554dbb3e4ad7400dd5 08-Oct-2007 Dan Gohman <gohman@apple.com> Simplify getIntPtrType, allowing it to work for arbitrary pointer sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
3b5b4cd1a50e3fe8748a8626cca3c643f5681f5a 01-Oct-2007 Dale Johannesen <dalej@apple.com> Add getABITypeSize, getABITypeSizeInBits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
a37ac9ff53ebfe4975141f0d233e8ff6e5879472 21-Sep-2007 Rafael Espindola <rafael.espindola@gmail.com> Don't add a default STACK_ALIGN (use the generic ABI alignment)
Implement calls to functions with byval arguments on X86


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
76c1b97e4020faace8c95a127f1eab66c278fb58 17-Sep-2007 Chris Lattner <sabre@nondot.org> Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfo

Add a new DenseMapInfo::isEqual method to allow clients to redefine
the equality predicate used when probing the hash table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
588af2fb99bf255c350fcfc582e475cf4840c606 07-Sep-2007 Rafael Espindola <rafael.espindola@gmail.com> Add support for having different alignment for objects on call frames.
The x86-64 ABI states that objects passed on the stack have
8 byte alignment. Implement that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
181b6c9cb5def44658d15848e34c5c45d973f065 05-Aug-2007 Reid Spencer <rspencer@reidspencer.com> Fix minor doxygen nits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8c1e6a119a68b258365677a9ee5176af3525a26f 03-Aug-2007 Dale Johannesen <dalej@apple.com> long double patch 2 of N. Handle it in TargetData.
(I've tried to get the info right for all targets,
but I'm not expert on all of them - check yours.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1997473cf72957d0e70322e2fe6fe2ab141c58a6 03-May-2007 Devang Patel <dpatel@apple.com> Drop 'const'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
3e15bf33e024b9df9e89351a165acfdb1dde51ed 02-May-2007 Devang Patel <dpatel@apple.com> Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c718288f4939258a51ec5ae0c5be7b1a05eb6898 02-May-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix build error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
794fd75c67a2cdc128d67342c6d88a504d186896 01-May-2007 Devang Patel <dpatel@apple.com> Do not use typeinfo to identify pass in pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
a7f0d3ce228296d4b1b344162451f05c633e26f4 22-Apr-2007 Christopher Lamb <christopher.lamb@gmail.com> Support alignment queries for degenerate (length 1) vectors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
44f5fb46b0dfed4b949422eee5d38abecd51dab6 09-Apr-2007 Jeff Cohen <jeffc@jolt-lang.org> When the number of elements is zero, don't malloc 32GB on 64-bit systems.

Fixes unexpected failures on FreeBSD/amd64 of:
CFrontend/2005-09-24-BitFieldCrash.c:
CFrontend/2007-02-04-EmptyStruct.c:
CFrontend/2007-03-26-ZeroWidthBitfield.c:
CodeGen/Generic/2005-10-18-ZeroSizeStackObject.ll:


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ca5183d445954a9b2a570d6bbba1bc2b00ad6442 05-Mar-2007 Jeff Cohen <jeffc@jolt-lang.org> Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1ede29c9511a50c7a9a77178e2cfff538daa0347 01-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Wrap a long line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4ecd9ee061cc23c523236c30c9b6102ead59ec4f 20-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Simplify some code by moving variable declarations into the only block that
uses them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f734ea21a37e27862ccf7570c2c64ad904568234 19-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Implement support for non-standard integer bit widths of any size. The
rules alignment is to pick the alignment that corresponds to the smallest
specified alignment that is larger than the bit width of the type or the
largest specified integer alignment if none are larger than the bitwidth
of the type. For the byte size, the size returned is the next larger
multiple of the alignment for that type (using the above rule). This patch
also changes bit widths from "short" to "uint32_t" to ensure there are
enough bits to specify any bit width that LLVM can handle (currently 2^23);
16-bits isn't enough.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
affeb56480ab7cb2e2eed871fbf6701875934c04 17-Feb-2007 Chris Lattner <sabre@nondot.org> Do not dereference invalid ranges. Generalize targetdata alignment model.
This fixes the UnitTests/Vector/sumarray-dbl regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
3ebb2e00345df0065a7f5c624427e107139444ca 17-Feb-2007 Chris Lattner <sabre@nondot.org> Fix CodeGen/PowerPC/2007-02-16-AlignPacked.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
52dc96842efa6f722f5b55540e235828699e0326 16-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Remove an unnecessary predicate.
Patch by Scott Michel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ae6f1fa36b020c89b0f44c4b4222d0f5fd9b6326 16-Feb-2007 Chris Lattner <sabre@nondot.org> simplify some code, ensure that packed structures get abi alignment of 1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1f43787bf056c0dda873ac2178f54009ad896fb6 15-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1195:
PACKED_ALIGN -> VECTOR_ALIGN


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
16db3caba8b2ee105e8e792b2b0466fd60936cd2 15-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1202:
Make sure we found an existing Alignment before overwriting it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9d6565a5b1fbc4286d6ee638d8f47a3171a9ed7e 15-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1195:
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b7d61101b1a9e28541470e05af1321fea76f08e5 15-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Fixed packed structure breakage from earlier TargetData patch; applied
Chris Lattner's code style suggestions.

Patch by Scott Michel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d2b7cec527a0efa552628378ebca7a8ca63bb45d 14-Feb-2007 Chris Lattner <sabre@nondot.org> Generalize TargetData strings, to support more interesting forms of data.
Patch by Scott Michel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f6ca09a22b737ca6d11f2ffa02f89074ca4ecf3f 10-Feb-2007 Chris Lattner <sabre@nondot.org> Switch LayoutInfo to be a DenseMap instead of an std::map. This speeds up
-load-vn -gcse by 2.3%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
a12bd03f0719f396e8f6e235ee80eb23e49a938c 10-Feb-2007 Chris Lattner <sabre@nondot.org> add a typedef


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9182e3f2054a98084f2d263bacbddd98d12258bd 10-Feb-2007 Chris Lattner <sabre@nondot.org> eliminate the std::vector from StructLayout, allocating the elements immediately
after the StructLayout object in memory. This marginally improves locality,
speeding up -load-vn -gcse by ~0.8%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b0c39a3b4d1daa93d339493751976944b6422fd5 10-Feb-2007 Chris Lattner <sabre@nondot.org> encapsulate the rest of the StructLayout members.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b1919e2f08ecb37140af676fd2916f8d5ed7df3d 10-Feb-2007 Chris Lattner <sabre@nondot.org> Privatize StructLayout::MemberOffsets, adding an accessor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ec6478b8f39779685d17849656015fc22fa7ac1b 10-Feb-2007 Chris Lattner <sabre@nondot.org> Use ManagedStatic to manage LayoutInfo, instead of rolling our own.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
ddce8d21ea7088b9e6dd0f26e658a150614ca42a 10-Feb-2007 Chris Lattner <sabre@nondot.org> Change TargetData::getIndexedOffset interface to not require indices
in a vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d2a988caad393ce88adfbadae8af6c87dabd2bf6 06-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Although targets are not required to support integers > 64bits, TargetData
must in order for backends that do want to support large integer types to be
able to function. Consequently, don't assert if the bitwidth > 64 bits
when computing the size and alignment. Instead, compute the size by rounding
up to the next even number of bytes for the size. Compute the alignment
as the same as the LongABIAlignment. These provide reasonable defaults
that the target can override.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
dff1ab2001ef3f2a8d057d6fee0ab217c38b6e58 31-Jan-2007 Evan Cheng <evan.cheng@apple.com> Dead comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
26f238589f9bb372d24b6fb2bc32edbf046fd9ee 26-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR761:
The Module::setEndianness and Module::setPointerSize methods have been
removed. Instead you can get/set the DataLayout. Adjust thise accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
de268f7dcf8a650afde162b84608ed434fb10613 24-Jan-2007 Evan Cheng <evan.cheng@apple.com> Renamed getTypeAlignmentShift() to getPreferredTypeAlignmentShift().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
778900a5d141c56bc47c923a8e3273b1231ac9a5 23-Jan-2007 Evan Cheng <evan.cheng@apple.com> - getTypeAlignmentShift() should be returning preferred alignment, not ABI
alignment.
- getPreferredAlignmentLog(): remove Double special case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
7c2924367087caa738d1c6349d04a4645c6c26fa 21-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Implement a getTypeSizeInBits method. This helps in transforms that want
to ensure the bit size of a type is identical before proceeding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1027a533d4f1806ff7d2f721504028201cffa7b5 21-Jan-2007 Owen Anderson <resistor@mac.com> TargetData assumes (and some regression tests depend on it) that the size of
an unspecified datatype in the datalayout is capped by the size of a pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4a8c32debf092d8883b18c90a33e99bdc9cbb509 20-Jan-2007 Chris Lattner <sabre@nondot.org> trivial cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
58092e35a3368e130438cbc793c8f9dce2e4fe0f 20-Jan-2007 Chris Lattner <sabre@nondot.org> Teach TargetData to handle 'preferred' alignment for each target, and use
these alignment amounts to align scalars when we can. Patch by Scott Michel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
a54b7cbd452b3adb2f51346140d996b29c2cdb30 12-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1064:
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.

This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.

Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4fe16d607d11e29d742208894909733f5ad01f8f 11-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Rename BoolTy as Int1Ty. Patch by Sheng Zhou.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
47857812e29324a9d1560796a05b53d3a9217fd9 31-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
type of an function parameter was used to determine whether it should
be sign extended or zero extended before the call. This information is
now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
the parameter attribute information. Although it would have been
convenient to pass in the FunctionType itself, there isn't always one
present in the caller. Consequently, a signedness indication for the
result type and for each parameter was provided for in the interface
to this method. All implementations were changed to make the adjustment
necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
38ecbf18eb9c8ca7ae08dfed4dc6fb4e3e5deb1e 08-Dec-2006 Andrew Lenharth <andrewl@lenharth.org> Packed Structures


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f9c197e022521a83f8876890b4241fc23e63572c 24-Oct-2006 Devang Patel <dpatel@apple.com> Move getPreferredAlignmentLog from AsmPrinter to TargetData


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b83eb6447ba155342598f0fabe1f08f5baa9164a 20-Oct-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
1790d44d0dbe3412e012be5e43b89e67064bdb86 16-Jun-2006 Chris Lattner <sabre@nondot.org> Don't pass target name into TargetData anymore, it is never used or needed.
Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
acbc07aa2216f84967a1bcccaca1a425b141f77a 16-Jun-2006 Chris Lattner <sabre@nondot.org> Remove ctor with each piece specifyable (which causes overload ambiguities),
add a new init method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
bcd8a8264e35e147e23c219f0435c9277e24ec66 21-May-2006 Owen Anderson <resistor@mac.com> Make TargetData strings less redundant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f489fb24f2bd3efb70e0bb2a4c0440a9c25e0e67 20-May-2006 Chris Lattner <sabre@nondot.org> Fix a parsing bug that caused 7 llvm-test regressions on PPC last night.
I'm suprised it didn't cause more!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d988b32abad0634df07c18629e899f256935fde7 20-May-2006 Owen Anderson <resistor@mac.com> Make all of the TargetMachine subclasses use the new string TargetData methods.

This is part of the on-going work on PR 761.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
84cc6dbd250c9422bb429c42f29442e2c516b666 17-May-2006 Owen Anderson <resistor@mac.com> Fix a stupid bug when parsing TargetData strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
2577c22131fbcf58cefdad63114c3e14a9d00c26 12-May-2006 Owen Anderson <resistor@mac.com> Add a method to generate a string representation from a TargetData.

This continues the work on PR 761.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
571a13f3e70e4ca16515cfb2f3878260e5e9e2e7 12-May-2006 Owen Anderson <resistor@mac.com> Fix some tabbing issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8f60c56a06c4bc2027c5d1a7ee7ad626ae274604 12-May-2006 Owen Anderson <resistor@mac.com> Add a new constructor to TargetData that builds a TargetData from its
string representation.

This is part of PR 761.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
0aab36f5b26a8d81a2348a79a2e34e64e5c257a8 04-Apr-2006 Chris Lattner <sabre@nondot.org> revert previous patch


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
630ebaf1f22ddd9e2e1e84b456529e8961bf129c 03-Apr-2006 Chris Lattner <sabre@nondot.org> Align vectors to the size in bytes, not bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e668bdaa52c0e172afd6b4f0b06abf27119005c5 01-Apr-2006 Evan Cheng <evan.cheng@apple.com> TargetData.cpp::getTypeInfo() was returning alignment of element type as the
alignment of a packed type. This is obviously wrong. Added a workaround that
returns the size of the packed type as its alignment. The correct fix would
be to return a target dependent alignment value provided via TargetLowering
(or some other interface).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8dff24f378045058444c18fa7bd03a138e3f883d 14-Jan-2006 Chris Lattner <sabre@nondot.org> Implement a new InvalidateStructLayoutInfo method and add some comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
0561b3ff9fd08f9cda48551f2f91590ca5f60656 02-Aug-2005 Chris Lattner <sabre@nondot.org> Update to use the new MathExtras.h support for log2 computation.
Patch contributed by Jim Laskey!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f976c856fcc5055f3fc7d9f070d72c2d027c1d9d 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e7ea48cb612bc2fba1cc674fd6bff2bf3e6d5247 13-Mar-2005 Chris Lattner <sabre@nondot.org> add a StructLayout::getElementContainingOffset method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
527efc6742a92d88c9052494e5f0da7a4234c41e 01-Dec-2004 Chris Lattner <sabre@nondot.org> Initial support for packed types, contributed by Morten Ofstad


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
da6122f61d4f1c3f1ea16e20cccf22f42b9ee26d 02-Nov-2004 Chris Lattner <sabre@nondot.org> Fix this function to not say that longs have 8-byte alignment on X86/PPC.
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
/external/llvm/lib/Target/TargetData.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
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
/external/llvm/lib/Target/TargetData.cpp
d2b0bb41f45c1d2381904221c780da8f750d2823 17-Aug-2004 Chris Lattner <sabre@nondot.org> Add a new helper method to get log2(type alignment)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c8e876470572817295362737d8fbcf460e4cbfa8 23-Jul-2004 Misha Brukman <brukman+llvm@gmail.com> * Add BoolAlignment to TargetData, default is 1 byte, size 1 byte
* Convert tabs to spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
69e5845a81c792c00e0a3f3017c3d464c40f3ba7 15-Jul-2004 Chris Lattner <sabre@nondot.org> Nuke a clearly bogus assertion


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e0e3589949eced97e6ffed9ff76ce0cae87ab52e 02-Jul-2004 Brian Gaeke <gaeke@uiuc.edu> Fix use-before-def thinko


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
59b006733491dec071d894ad8dc139c292000fd6 01-Jul-2004 Chris Lattner <sabre@nondot.org> Handle targets where alignment can be bigger than the size of the data.
Contributed by Vladimir Prus!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f70c22b019494723d0e706f93d6542dfaa6e73a5 17-Jun-2004 Chris Lattner <sabre@nondot.org> Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8121fcd260ef4eac7825b29c200137af37f499b2 14-Apr-2004 Brian Gaeke <gaeke@uiuc.edu> Fix typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
28977af72a11fcad5d1b54d7a96b3df02828f6fc 05-Apr-2004 Chris Lattner <sabre@nondot.org> Support getelementptr instructions which use uint's to index into structure
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
/external/llvm/lib/Target/TargetData.cpp
0e7ac1692675279764a81358f9477e105d2657e3 26-Feb-2004 Chris Lattner <sabre@nondot.org> Use a map instead of annotations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d21cd809b656d3011ec089536857e048e037159c 09-Feb-2004 Chris Lattner <sabre@nondot.org> Adjust to the changed StructType interface. In particular, getElementTypes() is gone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f045328dd11ffcba04f437ed244e4cd2d352fe3d 22-Dec-2003 Chris Lattner <sabre@nondot.org> finegrainify namespacification
add new getIntPtrType() method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b576c94c15af9a440f69d9d03c2afead7971118c 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
030574fd357b23ceb8def7e7622749b17bd61b16 24-Aug-2003 Chris Lattner <sabre@nondot.org> Add support for 'any' pointer size and endianness


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
5560c9d49ccae132cabf1155f18aa0480dce3eda 18-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Spell `necessary' correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
949a3628024248db01d5b13e03c415e0c88e90e4 23-Jul-2003 Chris Lattner <sabre@nondot.org> Remove redundant const qualifiers from cast<> expressions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
94a511867214e9f72f96ab3cce277b8a175f3f1d 04-Jun-2003 Chris Lattner <sabre@nondot.org> No really, you _cannot use_ getelementptr on an unsized type: that makes
no sense.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
55a85a47d4cb7bed22cd03f9f8003441a33cf1a7 04-Jun-2003 Vikram S. Adve <vadve@cs.uiuc.edu> Undo one of those last fixes -- it was incorrect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4954f049147c88a1a6bb294fa7e6accee3006e68 02-Jun-2003 Chris Lattner <sabre@nondot.org> Minor cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
4e840d4db71faebb52f5e94ca2a8d1c00ecef09b 21-May-2003 Chris Lattner <sabre@nondot.org> * Fix divide by zero error with empty structs
* 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
/external/llvm/lib/Target/TargetData.cpp
10daaa141661d96843f3d8ece0e5a4c2da4b6e87 26-Apr-2003 Chris Lattner <sabre@nondot.org> Remove two fields from TargetData which are target specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
dd7253cc9ff640ad193dcbc97683494e559a5b15 25-Apr-2003 Chris Lattner <sabre@nondot.org> Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
46326d9cdfa70c9ccbc58ca4ec67cc1d083530bc 25-Apr-2003 Chris Lattner <sabre@nondot.org> Allow for easy detection of when a "default" TargetData is created by the
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
/external/llvm/lib/Target/TargetData.cpp
53a0c38b5fdb45974b74373ab17bf4d2fa27e292 24-Apr-2003 Chris Lattner <sabre@nondot.org> add a new targetdata ctor to create a target data appropriate to the module


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
e45e32d924e8098ff8b67dfb2cd20b37bc81a778 25-Feb-2003 Chris Lattner <sabre@nondot.org> Remove wierd case that can never happen


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
c56406c236478f718a2257c2b660561ebc855f16 29-Oct-2002 Chris Lattner <sabre@nondot.org> * Privatize the TargetName
* Move optSizeForSubWordData to TargetData
* Remove unused fields


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
85131c8277891c91f24fd6411449298ce4b1b648 15-Oct-2002 Chris Lattner <sabre@nondot.org> - Add an endianness field to the TargetData datastructure


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
8e22ead3b48ca344347ceda58f80b7d98b0f0364 13-Oct-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Don't try to compute the size of an "array" element if the index is 0:
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
/external/llvm/lib/Target/TargetData.cpp
aa31ad016a5f0cb63bae2361770dfe303f45f729 26-Sep-2002 Chris Lattner <sabre@nondot.org> Convert TargetData to be an ImmutablePass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
3cac88ac9e32070d46de011b01e62e316276d527 11-Sep-2002 Chris Lattner <sabre@nondot.org> - Change getelementptr instruction to use long indexes instead of uint
indexes for sequential types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f519b999a62996b91923d5aa3d71fba86291b4f3 24-Aug-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Fix sign-extension: it needs to happen *after* multiplying by type size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
cfa4f4a10229b8a516e602e890a0487462959a54 23-Aug-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Simplify previous hack slightly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
69f3b7259408e066a33edf3f2904f4454b210367 23-Aug-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Force sign-extension for uint array indexes from 32-bit to 64-bits
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
/external/llvm/lib/Target/TargetData.cpp
ca710e9cc5991369ef1ed5dc9fa5063d8feb24a2 13-Aug-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Bug fix in TargetData::getIndexedOffset: We were using the pointer
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
/external/llvm/lib/Target/TargetData.cpp
ed0030e2bc45b9d355a3f80ed783ac9b2026fb1f 04-Aug-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Bug fix in TargetData::getIndexedOffset(): handle struct offset
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
/external/llvm/lib/Target/TargetData.cpp
0c0edf8afc35a42b15a24ebb5fa5f3fc674290ae 25-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f66723fc4b8bfebc17c8efa0753701d1c2840d5c 19-May-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Add integer register size field.
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
/external/llvm/lib/Target/TargetData.cpp
a163fdfc80e46ad93afe2fab5bd1d99a550c3868 07-May-2002 Chris Lattner <sabre@nondot.org> Extend TargetData::getIndexedOffset to support arrays and pointers!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
9b625030c8427a3bc56f5993c0b5b214c393042f 06-May-2002 Chris Lattner <sabre@nondot.org> Replace all usages of Type::isPointerType with isa<PointerType>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
31bcdb822fe9133b1973de51519d34e5813a6184 28-Apr-2002 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Target/TargetData.cpp
3d0fda2f56a83b45b3673fff430b297da3030d88 21-Jan-2002 Chris Lattner <sabre@nondot.org> Remove dead variable


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
697954c15da58bd8b186dbafdedd8b06db770201 20-Jan-2002 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Target/TargetData.cpp
dd08e32deb39311824248be56be3bf3fbe64f39d 15-Dec-2001 Vikram S. Adve <vadve@cs.uiuc.edu> getIndexedOffset() shd take vector of Values, not of Constants!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
f59ce9276349598ed46bbd1bdc0011b7e2b211b4 13-Dec-2001 Chris Lattner <sabre@nondot.org> Not just arrays are unsized


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
7a1767520611d9ff6face702068de858e1cadf2c 04-Dec-2001 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Target/TargetData.cpp
e9bb2df410f7a22decad9a883f7139d5857c1520 03-Dec-2001 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Target/TargetData.cpp
0e7c737f6e512d0fcb884d9abbb7dec6048a7ea9 14-Nov-2001 Vikram S. Adve <vadve@cs.uiuc.edu> Fix cute little bug that was causing the last
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
/external/llvm/lib/Target/TargetData.cpp
b00c582b6d40e6b9ff2d1ed4f5eaf7930e792ace 02-Oct-2001 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Target/TargetData.cpp
cfe26c930ae691ff3012736555846c45087e1a9e 01-Oct-2001 Chris Lattner <sabre@nondot.org> Add more support for new style casts
Convert more code to use them


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
0799fc479ab1eb7261f125e2312c5e192cacdb98 18-Sep-2001 Vikram S. Adve <vadve@cs.uiuc.edu> Renamed files to match the main classes they provide.
Some other minor changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp
b26bcc5087029ffe8037ed9036ff74430c6054cf 14-Sep-2001 Chris Lattner <sabre@nondot.org> Make a new llvm/Target #include directory.
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetData.cpp