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
|