LLVM backend for 6502
Go to file
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
autoconf Fixing a typo in configure.ac. 2007-10-03 12:06:41 +00:00
bindings Fix ocaml bindings for picky linkers. :) 2007-10-12 19:48:13 +00:00
docs More fleshing out of docs/Passes.html, plus some typo fixes and 2007-10-26 03:03:51 +00:00
examples add a new BF->LLVM translator, contributed by Sterling Stein. 2007-09-12 18:24:00 +00:00
include The guaranteed alignment of ptr+offset is only the minimum of 2007-10-28 12:59:45 +00:00
lib The guaranteed alignment of ptr+offset is only the minimum of 2007-10-28 12:59:45 +00:00
projects Convert .cvsignore files 2007-06-29 16:35:07 +00:00
runtime GarbageCollection.html is expanded to encompass the coming 2007-09-27 19:31:36 +00:00
test Test to make sure that if we have an unaligned memcpy, it will still compile. 2007-10-26 23:43:35 +00:00
tools Fix PR1739. 2007-10-24 04:35:54 +00:00
utils switch some calls to SelectionDAG::getTargetNode to use 2007-10-24 06:25:09 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Updated VC++ build system 2007-10-25 22:56:13 +00:00
Xcode Added SerializeAPInt.cpp and DeserializeAPInt.cpp to the XCode project. 2007-10-26 21:53:37 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Regenerate. 2007-10-03 12:07:14 +00:00
CREDITS.TXT Adding myself 2007-10-11 18:54:49 +00:00
LICENSE.TXT Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces number of licenses used in LLVM. 2007-08-21 22:40:44 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Adding ocaml language bindings for the vmcore and bitwriter libraries. These are 2007-09-18 12:49:39 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Providing --with-ocaml-libdir for ./configure. The default is the 2007-10-02 16:42:10 +00:00
Makefile.rules noone uses etags. Connected to PR1601 2007-09-26 06:10:47 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.