LLVM backend for 6502
Go to file
Sanjoy Das cd5029d001 [SCEV] Unify getUnsignedRange and getSignedRange
Summary:
This removes some duplicated code, and also helps optimization: e.g. in
the test case added, `%idx ULT 128` in `@x` is not currently optimized
to `true` by `-indvars` but will be, after this change.

The only functional change in ths commit is that for add recurrences,
ScalarEvolution::getRange will be more aggressive -- computing the
unsigned (resp. signed) range for a SCEVAddRecExpr will now look at the
NSW (resp. NUW) bits and check for signed (resp. unsigned) overflow.
This can be a strict improvement in some cases (such as the attached
test case), and should be no worse in other cases.

Reviewers: atrick, nlewycky

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8142

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231709 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-09 21:43:43 +00:00
autoconf Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
bindings Go bindings: use MDNode::replaceAllUsesWith instead of MDTuple::replaceAllUsesWith. 2015-03-05 22:55:38 +00:00
cmake Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
docs Introduce runtime unrolling disable matadata and use it to mark the scalar loop from vectorization. 2015-03-09 06:14:18 +00:00
examples Fix the build of the gold-plugin and examples. 2015-03-04 19:15:29 +00:00
include [SCEV] Unify getUnsignedRange and getSignedRange 2015-03-09 21:43:43 +00:00
lib [SCEV] Unify getUnsignedRange and getSignedRange 2015-03-09 21:43:43 +00:00
projects Reverse the order libc++ and libc++abi are added in CMake. 2015-03-04 01:16:43 +00:00
test [SCEV] Unify getUnsignedRange and getSignedRange 2015-03-09 21:43:43 +00:00
tools Add support for Nuxi CloudABI. 2015-03-09 18:40:45 +00:00
unittests Add support for Nuxi CloudABI. 2015-03-09 18:40:45 +00:00
utils TableGen: Use 'enum : uint64_t' for feature flags to fix -Wmicrosoft 2015-03-09 20:23:14 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Add one more vim swap file pattern 2015-01-30 21:59:28 +00:00
CMakeLists.txt Teach the LLVM CMake build how to explicitly use libc++abi when using 2015-03-07 10:30:34 +00:00
CODE_OWNERS.TXT [CODE_OWNERS] Change the ownership of register allocators. 2015-03-05 22:15:17 +00:00
configure Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
Makefile.rules Add support for SunOS function/data sections and associated 2015-03-03 20:54:29 +00:00
README.txt Revert test commit 2015-02-04 18:46:00 +00:00

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

This directory and its subdirectories contain source code for LLVM,
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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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