llvm-6502/include/llvm/Support
Duncan Sands dc84650679 The guaranteed alignment of ptr+offset is only the minimum of
of offset and the alignment of ptr if these are both powers of
2.  While the ptr alignment is guaranteed to be a power of 2,
there is no reason to think that offset is.  For example, if
offset is 12 (the size of a long double on x86-32 linux) and
the alignment of ptr is 8, then the alignment of ptr+offset
will in general be 4, not 8.  Introduce a function MinAlign,
lifted from gcc, for computing the minimum guaranteed alignment.
I've tried to fix up everywhere under lib/CodeGen/SelectionDAG/.
I also changed some places that weren't wrong (because both values
were a power of 2), as a defensive change against people copying
and pasting the code.
Hopefully someone who cares about alignment will review the rest
of LLVM and fix up the remaining places.  Since I'm on x86 I'm
not very motivated to do this myself...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-28 12:59:45 +00:00
..
AIXDataTypesFix.h
Alignment.h The guaranteed alignment of ptr+offset is only the minimum of 2007-10-28 12:59:45 +00:00
AlignOf.h Removed inclusion of cassert, which is no longer needed. 2007-10-17 22:12:14 +00:00
Allocator.h Changed the return type of type-specific Allocate() methods to return 2007-10-18 00:30:14 +00:00
Annotation.h Eliminate tabs and trailing spaces. 2005-07-27 05:53:44 +00:00
CallSite.h Add empty() member functions to a few container-like classes. 2007-10-01 16:01:23 +00:00
Casting.h Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are 2006-12-07 01:30:32 +00:00
CFG.h Add a new use_iterator::atEnd() method, which allows us to shrink 2007-10-11 04:18:11 +00:00
CommandLine.h Remove an unnecessary friend declaration. 2007-10-09 18:39:48 +00:00
Compiler.h add directive to disable inlining 2006-08-27 13:16:05 +00:00
ConstantRange.h Clarify the language. Pointed out by Duncan Sands. 2007-07-14 17:41:03 +00:00
DataTypes.h.in Unbreak VC++ build. 2007-05-07 15:21:46 +00:00
Debug.h Allow DOUT to be used outside of the llvm namespace. 2007-06-27 14:09:38 +00:00
DOTGraphTraits.h Use templates for the GraphType for DefaultDOTGraphTraits' members instead 2007-05-14 14:23:27 +00:00
Dwarf.h Removed tabs everywhere except autogenerated & external files. Add make 2007-04-16 18:10:23 +00:00
DynamicLinker.h
ELF.h
FileUtilities.h Add explicit keywords and remove spurious trailing semicolons. 2007-08-27 14:50:10 +00:00
GetElementPtrTypeIterator.h
GraphWriter.h Previously GraphWriter assumed operator*() for node_iterator always 2007-09-19 21:26:49 +00:00
InstIterator.h
InstVisitor.h Changes to support making the shift instructions be true BinaryOperators. 2007-02-02 02:16:23 +00:00
LeakDetector.h
LLVMBuilder.h Fix indentation. 2007-10-09 21:41:00 +00:00
ManagedStatic.h add a way to register an arbitrary cleanup function. 2007-02-20 06:08:37 +00:00
Mangler.h Add support for appending a suffix to the end of a mangled name. 2007-09-17 22:39:32 +00:00
MathExtras.h remove extraneous type qualifiers 2007-05-03 18:14:56 +00:00
MemoryBuffer.h Add new MemoryBuffer::getMemBufferCopy method. 2007-10-09 21:46:38 +00:00
MutexGuard.h Eliminate tabs and trailing spaces. 2005-07-27 05:53:44 +00:00
OutputBuffer.h Fix a very strange assertion message, patch by Christopher Lamb 2007-04-20 03:27:36 +00:00
PassNameParser.h Doxygenize comments. 2007-08-21 14:57:58 +00:00
PatternMatch.h m_not should match vector not 2007-06-15 06:13:47 +00:00
PluginLoader.h Remember plugins should someone like bugpoint want to know them. 2006-01-26 18:36:50 +00:00
Registry.h Updated VC++ build system. 2007-10-17 14:56:40 +00:00
SlowOperationInformer.h Remove the use of "IncludeFile" from this support facility. The mechanism 2006-08-07 23:20:15 +00:00
StableBasicBlockNumbering.h StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector, 2007-02-05 23:19:24 +00:00
Streams.h Fix minor doxygen nits. 2007-08-05 20:06:04 +00:00
SystemUtils.h Here is the bulk of the sanitizing. 2007-07-05 17:07:56 +00:00
Timer.h
type_traits.h