LLVM backend for 6502
Go to file
Duncan Sands 00edf4c1d8 Change the way the lint sanity checking pass detects misaligned memory accesses.
Previously it was only be able to detect problems if the pointer was a numerical
value (eg inttoptr i32 1 to i32*), but not if it was an alloca or globa.  The
reason was the use of ComputeMaskedBits: imagine you have "alloca i8, align 2",
and ask ComputeMaskedBits what it knows about the bits of the alloca pointer.
It can tell you that the bottom bit is known zero (due to align 2) but it can't
tell you that bit 1 is known one.  That's because the address could be an even
multiple of 2 rather than an odd multiple, eg it might be a multiple of 4.  Thus
trying to use KnownOne is ineffective in the case of an alloca as it will never
have any bits set.  Instead look explicitly for constant offsets from allocas
and globals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164595 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25 10:00:49 +00:00
autoconf Add an --enable-backtraces option to configure to determine 2012-09-21 23:03:29 +00:00
bindings add support for ocaml 3.12 2012-09-02 14:42:56 +00:00
cmake CMake toolchain file for Android NDK. 2012-09-11 11:54:27 +00:00
docs docs: Fix long-standing typo in yaml2obj.rst. 2012-09-21 19:48:16 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include Typo. 2012-09-24 23:04:25 +00:00
lib Change the way the lint sanity checking pass detects misaligned memory accesses. 2012-09-25 10:00:49 +00:00
projects [CMake] Respect LLVM_BUILD_RUNTIME. 2012-09-21 22:49:06 +00:00
runtime libprofile: [CMake] Let libprofile_rt be not loadable_module but shared library. Autoconf's one does so. 2012-08-29 00:37:51 +00:00
test Change the way the lint sanity checking pass detects misaligned memory accesses. 2012-09-25 10:00:49 +00:00
tools Make sure lli compiles all code before invalidating instruction caches. 2012-09-20 08:46:30 +00:00
unittests Unit tests for IntegerDivision. Currently, just a basic sanity check to ensure that the code was generated properly. Future work would be finding some way to test the actual result that would be computed. 2012-09-25 01:33:33 +00:00
utils Rather then have a wrapper function, have tblgen instantiate the implementation. 2012-09-24 22:57:55 +00:00
.gitignore Ignore the documentation-suggested location for compile_commands.json 2012-08-21 19:23:30 +00:00
CMakeLists.txt enable cross compilation with cmake 2012-08-20 19:56:52 +00:00
CODE_OWNERS.TXT Add the list of code owners to the top level of the LLVM source tree to 2012-07-26 08:04:09 +00:00
configure Add an --enable-backtraces option to configure to determine 2012-09-21 23:03:29 +00:00
CREDITS.TXT Add IRC handle. 2012-09-11 07:50:40 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile Clear UNIVERSAL_SDK_PATH setting when building host tools. <rdar://12360497> 2012-09-24 22:51:19 +00:00
Makefile.common
Makefile.config.in Temporarily revert this to bring back the bots. 2012-08-28 01:17:46 +00:00
Makefile.rules Temporarily revert this to bring back the bots. 2012-08-28 01:17:46 +00:00
README.txt test commit 2012-07-11 17:34:12 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.