LLVM backend for 6502
Go to file
Dan Gohman 71997f303e Teach IVUsers to stop at non-affine expressions unless they are both
outside the loop and reducible.

This more completely hides them from LSR, which isn't usually able to
do anything meaningful with non-affine expressions anyway, and this
consequently hides them from SCEVExpander, which is acutely unprepared
for non-affine expressions.

Replace test/CodeGen/X86/lsr-nonaffine.ll with a new test that tests
the new behavior.

This works around the bug in PR10117 / rdar://problem/9633149, and is
generally an improvement besides.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-01 22:05:19 +00:00
autoconf
bindings
cmake Update CMake library dependencies. 2011-06-25 02:10:19 +00:00
docs Generalize @llvm.ctlz, @llvm.cttz, and @llvm.ctpop to work on vectors of integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly. 2011-07-01 21:52:38 +00:00
examples
include Rename TargetSubtarget to TargetSubtargetInfo for consistency. 2011-07-01 21:01:15 +00:00
lib Teach IVUsers to stop at non-affine expressions unless they are both 2011-07-01 22:05:19 +00:00
projects
runtime Fix build for (some versions of?) MinGW. Patch by Ruben Van Boxem. 2011-06-23 18:24:27 +00:00
test Teach IVUsers to stop at non-affine expressions unless they are both 2011-07-01 22:05:19 +00:00
tools Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to 2011-06-30 01:53:36 +00:00
unittests Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang! 2011-06-22 21:13:46 +00:00
utils Rename TargetSubtarget to TargetSubtargetInfo for consistency. 2011-07-01 21:01:15 +00:00
website
.gitignore
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
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
Makefile.common
Makefile.config.in
Makefile.rules build/Darwin: Fix epic typo fail. 2011-06-28 22:30:17 +00:00
ModuleInfo.txt
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.