LLVM backend for 6502
Go to file
Nick Lewycky 614fef6d5a Make SCEV's brute force analysis stronger in two ways. Firstly, we should be
able to constant fold load instructions where the argument is a constant.
Second, we should be able to watch multiple PHI nodes through the loop; this
patch only supports PHIs in loop headers, more can be done here.

With this patch, we now constant evaluate:
  static const int arr[] = {1, 2, 3, 4, 5};
  int test() {
    int sum = 0;
    for (int i = 0; i < 5; ++i) sum += arr[i];
    return sum;
  }


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142731 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-22 19:58:20 +00:00
autoconf autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile. 2011-10-16 02:54:26 +00:00
bindings OCaml bindings: add some missing functions and testcases. 2011-10-14 20:38:33 +00:00
cmake Add -D__STDC_FORMAT_MACROS to use PRIx64. 2011-10-11 12:51:44 +00:00
docs Revert r141657 for now. This has broken css and changed links on llvm.org. I'd like to understand exactly why the links have changed and if a newer doxygen is required. This may be reapplied once we upgrade on llvm.org and it is fully tested. 2011-10-21 20:51:54 +00:00
examples Changed comments on foreign C++ exceptions (generated with type info 7), 2011-09-28 10:53:56 +00:00
include Use LLVMBool for a function that logically returns a boolean value. 2011-10-21 20:35:58 +00:00
lib Make SCEV's brute force analysis stronger in two ways. Firstly, we should be 2011-10-22 19:58:20 +00:00
projects Regenerate projects/sample/configure. 2011-10-18 23:10:58 +00:00
runtime Include direct.h for _mkdir on mingw32 too. 2011-10-08 15:49:19 +00:00
test Make SCEV's brute force analysis stronger in two ways. Firstly, we should be 2011-10-22 19:58:20 +00:00
tools llvm-objdump: Add static symbol table dumping. 2011-10-18 19:32:17 +00:00
unittests Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance 2011-10-16 04:47:35 +00:00
utils Move various generated tables into read-only memory, fixing up const correctness along the way. 2011-10-22 16:50:00 +00:00
.gitignore Revert change made in .gitignore. 2011-09-24 01:37:58 +00:00
build-for-llvm-top.sh
CMakeLists.txt Build system infrastructure for multiple tblgens. 2011-10-06 01:51:51 +00:00
configure autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile. 2011-10-16 02:54:26 +00:00
CREDITS.TXT Fix a typo.w 2011-10-22 18:44:51 +00:00
LICENSE.TXT
llvm.spec.in
Makefile Updating 'update' target to handle svn 1.7 'info' output. Patch by Jean-Danial Dupas! 2011-10-19 18:35:30 +00:00
Makefile.common
Makefile.config.in build: Remove some unused code. 2011-10-18 19:27:04 +00:00
Makefile.rules Makefile.rules: Let OPTIONAL_PARALLEL_DIRS accept out-of-tree absolute path. 2011-10-16 02:54:19 +00:00
ModuleInfo.txt
README.txt

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.