LLVM backend for 6502
Go to file
Andrew Trick 2fabd464ae indvars -disable-iv-rewrite: Adds support for eliminating identity
ops.

This is a rewrite of the IV simplification algorithm used by
-disable-iv-rewrite. To avoid perturbing the default mode, I
temporarily split the driver and created SimplifyIVUsersNoRewrite. The
idea is to avoid doing opcode/pattern matching inside
IndVarSimplify. SCEV already does it. We want to optimize with the
full generality of SCEV, but optimize def-use chains top down on-demand rather
than rewriting the entire expression bottom-up. This was easy to do
for operations that SCEV can prove are identity function. So we're now
eliminating bitmasks and zero extends this way.

A result of this rewrite is that indvars -disable-iv-rewrite no longer
requires IVUsers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133502 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-21 03:22:38 +00:00
autoconf build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake Added LLVM_BUILD_MODE to cmake so that lit supports tests with REQUIRES: {buildmode}. 2011-06-16 22:19:20 +00:00
docs Document nonlazybind. 2011-06-16 16:03:13 +00:00
examples Modify comment. 2011-06-09 20:11:46 +00:00
include Revert r133435 and r133449 to appease buildbots. 2011-06-21 02:09:03 +00:00
lib indvars -disable-iv-rewrite: Adds support for eliminating identity 2011-06-21 03:22:38 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Remove the LTO stuff from the profile_rt library's Makefile. 2011-06-15 04:56:13 +00:00
test indvars -disable-iv-rewrite: Adds support for eliminating identity 2011-06-21 03:22:38 +00:00
tools Revamp the "ConstantStruct::get" methods. Previously, these were scattered 2011-06-20 04:01:31 +00:00
unittests Revamp the "ConstantStruct::get" methods. Previously, these were scattered 2011-06-20 04:01:31 +00:00
utils Skip fields that don't exist in the Register class. 2011-06-20 20:56:05 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +00:00
build-for-llvm-top.sh
CMakeLists.txt Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
configure Regenerate configure. 2011-06-16 22:30:41 +00:00
CREDITS.TXT Another git svn dcommit test. This time let's hope it doesn't kill my repo. 2010-12-10 14:45:10 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common
Makefile.config.in build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
Makefile.rules Don't force remove config.cache on reconfiguration. 2011-06-17 11:08:09 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt reverting test commit 2011-05-12 17:38:08 +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.