llvm-6502/include/llvm/Support
Chandler Carruth 1c1448984d Simplify the pair optimization. Rather than using complex type traits,
just ensure that the number of bytes in the pair is the sum of the bytes
in each side of the pair. As long as thats true, there are no extra
bytes that might be padding.

Also add a few tests that previously would have slipped through the
checking. The more accurate checking mechanism catches these and ensures
they are handled conservatively correctly.

Thanks to Duncan for prodding me to do this right and more simply.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151891 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02 10:56:40 +00:00
..
AIXDataTypesFix.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
AlignOf.h Fix spelling. 2010-12-07 18:11:54 +00:00
Allocator.h Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much memory a BumpPtrAllocator allocated. 2011-04-18 22:44:46 +00:00
Atomic.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
BlockFrequency.h Add missing includes/class declaration. 2011-11-04 18:30:30 +00:00
BranchProbability.h Make an obviously const interface actually be marked as const. 2011-11-20 11:22:03 +00:00
CallSite.h Refactor code to use new attribute getters on CallSite for NoCapture and ByVal. 2011-11-20 19:09:04 +00:00
Capacity.h Add missing includes/class declaration. 2011-11-04 18:30:30 +00:00
Casting.h PR7952: Make isa<> use the same logic as cast<>, so that they both work 2011-05-21 19:13:10 +00:00
CFG.h Calls and invokes with the new clang.arc.no_objc_arc_exceptions 2012-02-17 18:59:53 +00:00
circular_raw_ostream.h
CodeGen.h Sink codegen optimization level into MCCodeGenInfo along side relocation model 2011-11-16 08:38:26 +00:00
COFF.h Remove extra ,. 2011-11-16 01:36:50 +00:00
CommandLine.h Correct use of const in ParseCommandLineOptions 2012-02-07 19:36:01 +00:00
Compiler.h include/llvm/Support/Compiler.h: Invalidate LLVM_ATTRIBUTE_WEAK on cygming for now. 2011-11-15 05:24:26 +00:00
ConstantFolder.h Convert ConstantExpr::getGetElementPtr and 2011-07-21 14:31:17 +00:00
ConstantRange.h improve switch formation to handle small range 2010-12-17 06:20:15 +00:00
CrashRecoveryContext.h Add explicit 'unregister' method to CrashRecoveryConextCleanupRegistrar. 2011-05-04 23:26:59 +00:00
DataExtractor.h Add the DataExtractor utility class. 2011-09-13 19:42:16 +00:00
DataFlow.h
DataStream.h Fix comment-rulers. 2012-02-06 22:41:47 +00:00
DataTypes.h.cmake Fix pasto. 2011-11-05 09:45:17 +00:00
DataTypes.h.in Fix pasto. 2011-11-05 09:45:17 +00:00
Debug.h
DebugLoc.h Add dump() 2011-07-14 21:50:04 +00:00
Disassembler.h Merge System into Support. 2010-11-29 18:16:10 +00:00
DOTGraphTraits.h Delete names for unused parameters in inline function definitions in headers, so LLVM users can compile with -Wunused-parameter. PR11257; based on patch by Kevin Harris. 2011-11-04 18:11:56 +00:00
Dwarf.h Update llvm debug version to support new structure and tag for Objective-C property's debug info. 2012-02-04 01:30:01 +00:00
DynamicLibrary.h Add missing includes/class declaration. 2011-11-04 18:30:30 +00:00
ELF.h Add support for gnu_indirect_function. 2011-12-12 17:34:04 +00:00
Endian.h Basic runtime dynamic loading capabilities added to ELFObjectFile, implemented 2012-01-22 09:01:03 +00:00
Errno.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
ErrorHandling.h Version N of the llvm_unreachable patch: VC++ doesn't recognize that abort() 2011-03-14 22:41:50 +00:00
FEnv.h Add missing file. 2011-06-23 14:02:13 +00:00
FileSystem.h Zap unnecessary semicolons. 2011-12-15 21:11:38 +00:00
FileUtilities.h Fix whitespace. 2011-03-31 13:06:39 +00:00
Format.h Add support for dumping section headers to llvm-objdump. This uses the same 2011-10-10 21:21:34 +00:00
FormattedStream.h
GCOV.h Put GCOVFile and other related interface in a common header so that llvm-cov tool can share it with GCOV writer. 2011-10-04 17:24:48 +00:00
GetElementPtrTypeIterator.h Convert gep_type_begin and gep_type_end to use ArrayRef. 2011-07-19 14:42:50 +00:00
GraphWriter.h Twinify GraphWriter a little bit. 2011-11-15 16:26:38 +00:00
Host.h revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
IncludeFile.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
InstIterator.h
InstVisitor.h [unwind removal] Remove all of the code for the dead 'unwind' instruction. There 2012-02-06 21:44:22 +00:00
IRBuilder.h Initial commit of the 'landingpad' instruction. 2011-08-12 20:24:12 +00:00
IRReader.h Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a 2011-10-16 05:43:57 +00:00
JSONParser.h Remove extraneous ';'s. 2012-01-23 22:55:02 +00:00
LeakDetector.h
LICENSE.TXT Merge System into Support. 2010-11-29 18:16:10 +00:00
LockFileManager.h Move Clang's file-level locking facility over to LLVM's support 2012-01-29 20:15:10 +00:00
MachO.h Object: Add isSymbolWeak. 2011-10-17 23:54:22 +00:00
ManagedStatic.h Add support for tsan annotations (thread sanitizer, a valgrind-based tool). 2011-11-14 20:50:16 +00:00
MathExtras.h Hexagon backend support 2011-12-12 21:14:40 +00:00
Memory.h Tidy up. 2011-03-18 16:39:36 +00:00
MemoryBuffer.h use 64-bit types instead of off_t/size_t to avoid the issue when 2011-09-15 23:13:00 +00:00
MemoryObject.h Make MemoryObject accessor members const again 2012-02-29 01:09:06 +00:00
Mutex.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
MutexGuard.h Merge System into Support. 2010-11-29 18:16:10 +00:00
NoFolder.h Convert GetElementPtrInst to use ArrayRef. 2011-07-25 09:48:08 +00:00
OutputBuffer.h
PassNameParser.h
Path.h Support: Rename Path.h to PathV1.h and add a new Path.h that includes both V1 and V2. 2010-12-17 17:22:36 +00:00
PathV1.h Remove a couple unused methods. PR11201. 2011-11-01 05:11:01 +00:00
PathV2.h Update the comment for system_temp_directory() to indicate when it 2011-09-14 23:21:47 +00:00
PatternMatch.h Revert commit 149912 (lattner) and add a testcase that shows the problem (which 2012-02-10 14:26:42 +00:00
PluginLoader.h
PointerLikeTypeTraits.h Merge System into Support. 2010-11-29 18:16:10 +00:00
PredIteratorCache.h
PrettyStackTrace.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Process.h Remove SetWorkingDirectory from the Process interface. Nothing in LLVM 2012-01-15 08:41:35 +00:00
Program.h Support/Program: Make Change<stream>ToBinary return error_code. 2011-12-13 23:16:49 +00:00
raw_os_ostream.h
raw_ostream.h raw_fd_ostream: Add a SetUseAtomicWrites() method (uses writev). 2011-02-03 03:32:32 +00:00
Recycler.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
RecyclingAllocator.h
Regex.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Registry.h
RegistryParser.h
RWMutex.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SaveAndRestore.h Move include/llvm/ADT/SaveAndRestore.h -> include/llvm/Support/SaveAndRestore.h 2012-03-01 19:45:47 +00:00
Signals.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
SMLoc.h Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance 2011-10-16 04:47:35 +00:00
Solaris.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
SourceMgr.h PR11143: Save the old diagnostic handler and call it when munging diagnostics for #line directives. 2011-10-16 10:48:29 +00:00
StreamableMemoryObject.h Make MemoryObject accessor members const again 2012-02-29 01:09:06 +00:00
StringPool.h
SwapByteOrder.h Merge System into Support. 2010-11-29 18:16:10 +00:00
system_error.h Rewrite LLVM's generalized support library for hashing to follow the API 2012-03-01 18:55:25 +00:00
SystemUtils.h
TargetFolder.h Convert ConstantExpr::getGetElementPtr and 2011-07-21 14:31:17 +00:00
TargetRegistry.h Switch the llvm::Triple class to immediately parse the triple string on 2012-02-21 03:39:36 +00:00
TargetSelect.h Move TargetRegistry and TargetSelect from Target to Support where they belong. 2011-08-24 18:08:43 +00:00
Threading.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
ThreadLocal.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
Timer.h Merge System into Support. 2010-11-29 18:16:10 +00:00
TimeValue.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
ToolOutputFile.h
type_traits.h Simplify the pair optimization. Rather than using complex type traits, 2012-03-02 10:56:40 +00:00
TypeBuilder.h Remove uses of std::vector from TypeBuilder. 2011-07-25 10:32:27 +00:00
Valgrind.h use llvm-config.h in public header 2011-11-28 00:49:01 +00:00
ValueHandle.h Revert r122114 (CallbackVH observing use-list changes) because it caused severe slowdowns on the Linux self-host configuration. 2010-12-20 22:28:03 +00:00
Win64EH.h Fix definitions of UOP_SaveXMM128, UOP_SaveXMM128Big, and UOP_PushMachFrame 2011-05-26 05:24:15 +00:00