llvm-6502/include/llvm/Support
Chandler Carruth be06428ba3 Try to appease MSVC even more elaborately in the alignment hacking space.
MSVC doesn't support passing by-value parameters with alignment of
16-bytes or higher apparantly. What is deeply confusing is that it seems
to *sometimes* (but not always) apply this to any type whose alignment
is set using __declspec(align(...)). This caused lots of errors when we switch
SmallVector over to use the automatically aligned character array
utilities as they used __declspec(align(...)) heavily.

As a pretty horrible but effective work-around, we instead cherry pick
the smallest alignment sizes with specific types that happen to have the
correct alignment, and then fall back to the attribute solution past
them. This should resolve the MSVC build errors folks have been hitting.
Sorry for that. In good news, it will do this without introducing other
UB I hope. =]

Thanks to Timur Iskhodzhanov for helping me test this!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162549 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24 09:53:43 +00:00
..
AIXDataTypesFix.h
AlignOf.h Try to appease MSVC even more elaborately in the alignment hacking space. 2012-08-24 09:53:43 +00:00
Allocator.h Revert r159789. 2012-07-06 16:42:25 +00:00
Atomic.h
BlockFrequency.h
BranchProbability.h Make an obviously const interface actually be marked as const. 2011-11-20 11:22:03 +00:00
CallSite.h add CallSite/CallInst/InvokeInst::hasFnAttr() 2012-06-25 16:16:58 +00:00
Capacity.h
Casting.h
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 Move the TLSModel information into the TargetMachine rather than hiding 2012-04-08 17:20:55 +00:00
COFF.h [yaml2obj] Fix incorrect use of signed values. 2012-08-14 22:42:31 +00:00
CommandLine.h Initializers for some fields were missing in Option::Option 2012-07-13 12:55:23 +00:00
Compiler.h Provide a portability macro for __builtin_trap. 2012-08-21 18:54:21 +00:00
ConstantFolder.h
ConstantRange.h add ConstantRange::difference (to perform set difference/relative complement) 2012-06-28 16:10:13 +00:00
CrashRecoveryContext.h
DataExtractor.h Fix a bunch of -Wdocumentation warnings. 2012-08-23 16:54:08 +00:00
DataFlow.h
DataStream.h Fix comment-rulers. 2012-02-06 22:41:47 +00:00
DataTypes.h.cmake Remove OpenBSD defines: 2012-08-08 18:37:39 +00:00
DataTypes.h.in Remove OpenBSD defines: 2012-08-08 18:37:39 +00:00
Debug.h Typos. 2012-07-27 21:41:59 +00:00
DebugLoc.h Pull the simple parts of DenseMapInfo<DebugLoc> inline and prune includes. 2012-07-19 15:00:34 +00:00
Disassembler.h
DOTGraphTraits.h
Dwarf.h Lowercase the tag name to match the rest of dwarf. 2012-03-29 21:35:05 +00:00
DynamicLibrary.h
ELF.h Revert r162034, r162035 and r162037. 2012-08-16 19:07:59 +00:00
Endian.h Remove 'static' from inline functions defined in header files. 2012-06-20 08:39:33 +00:00
Errno.h
ErrorHandling.h
FEnv.h
FileOutputBuffer.h Initial commit of new FileOutputBuffer support class. 2012-08-01 02:29:50 +00:00
FileSystem.h Fix an assortment of doxygen comment mistakes found by -Wdocumentation. 2012-08-22 23:49:16 +00:00
FileUtilities.h
Format.h
FormattedStream.h
GCOV.h Remove tabs. 2012-07-19 00:01:00 +00:00
GetElementPtrTypeIterator.h
GraphWriter.h Fixed few warnings. 2012-07-19 04:50:12 +00:00
Host.h revert r147542 after comments from Joerg Sonnenberger 2012-01-05 18:28:46 +00:00
IncludeFile.h
InstIterator.h
InstVisitor.h Extend the InstVisitor to visit the specialized classes wrapping 2012-07-30 23:45:06 +00:00
IntegersSubset.h Revert "IntRange:" as it appears to be breaking self hosting. 2012-07-02 23:22:21 +00:00
IntegersSubsetMapping.h Reverted r159658: 2012-07-04 06:07:06 +00:00
IRReader.h
LeakDetector.h
LEB128.h Switch the fixed-length disassembler to be table-driven. 2012-08-14 19:06:05 +00:00
LICENSE.TXT
Locale.h platform support for counting column widths and checking isprint 2012-04-17 20:03:03 +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 Remove tabs. 2012-07-19 00:01:00 +00:00
ManagedStatic.h
MathExtras.h Remove 'static' from inline functions defined in header files. 2012-06-20 08:39:33 +00:00
Memory.h
MemoryBuffer.h
MemoryObject.h Make MemoryObject accessor members const again 2012-02-29 01:09:06 +00:00
Mutex.h
MutexGuard.h
NoFolder.h Insertion of NoFolder functions to avoid ambiguous overload warnings or errors about whether to convert Idx to ArrayRef<Constant *> or ArrayRef<Value *> like ConstantFolder and TargetFolder. 2012-08-17 08:54:57 +00:00
OutputBuffer.h
PassNameParser.h
Path.h
PathV1.h Fix a bunch of -Wdocumentation warnings. 2012-08-23 16:54:08 +00:00
PathV2.h Fix a bunch of -Wdocumentation warnings. 2012-08-23 16:54:08 +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
PredIteratorCache.h
PrettyStackTrace.h
Process.h Process: Add sys::Process::FileDescriptorHasColors(). 2012-07-20 18:29:38 +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 Fix an assortment of doxygen comment mistakes found by -Wdocumentation. 2012-08-22 23:49:16 +00:00
Recycler.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
RecyclingAllocator.h
Regex.h
Registry.h
RegistryParser.h
RWMutex.h
SaveAndRestore.h Move include/llvm/ADT/SaveAndRestore.h -> include/llvm/Support/SaveAndRestore.h 2012-03-01 19:45:47 +00:00
Signals.h
SMLoc.h Remove some trivial copy ctors so the classes become trivially copyable and get the optimized SmallVector implementation. 2012-07-08 19:47:51 +00:00
Solaris.h
SourceMgr.h Fix a bunch of -Wdocumentation warnings. 2012-08-23 16:54:08 +00:00
StreamableMemoryObject.h Make MemoryObject accessor members const again 2012-02-29 01:09:06 +00:00
StringPool.h
SwapByteOrder.h
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
TargetRegistry.h Allow MCCodeEmitter access to the target MCRegisterInfo. 2012-05-15 17:35:52 +00:00
TargetSelect.h Add InitializeNativeTargetDisassembler function. 2012-03-26 21:56:56 +00:00
Threading.h
ThreadLocal.h Remove use of GNU extension to resolve Clang warning. 2012-06-12 17:06:32 +00:00
Timer.h
TimeValue.h Fix a bunch of -Wdocumentation warnings. 2012-08-23 16:54:08 +00:00
ToolOutputFile.h
type_traits.h If the __is_trivially_copyable type trait is available use it as the baseline for isPodLike. 2012-04-28 16:22:31 +00:00
Valgrind.h use llvm-config.h in public header 2011-11-28 00:49:01 +00:00
ValueHandle.h LICM uses AliasSet information to hoist and sink instructions. However, other passes, such as LoopRotate 2012-08-13 23:06:54 +00:00
Win64EH.h
YAMLParser.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00