LLVM backend for 6502
Go to file
Hal Finkel b6f6eee8fd [DAGCombine] Be more pedantic about use iteration in CombineToPreIndexedLoadStore
In CombineToPreIndexedLoadStore, when the offset is a constant, we have code
that looks for other uses of the pointer which are constant offset computations
so that they can be rewritten in terms of the updated pointer so that we don't
need to keep a copy of the base pointer to compute these constant offsets.

Unfortunately, when it iterated over the uses, it did so by SDNodes, and so we
could confuse ourselves if the base pointer was produced by a node that had
multiple results (because we would not immediately exclude uses of the other
node results). This was reported as PR22755. Unfortunately, we don't have a
test case (and I've also been unable to produce one thus far), but at least the
mistake is clear. The right way to fix this problem is to make use of the information
contained in the use iterators to filter out any uses of other results of the
node producing the base pointer.

This should be mostly NFC, but should also fix PR22755 (for which,
unfortunately, we have no in-tree test case).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237576 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-18 15:46:02 +00:00
autoconf Deprecate in-source autotools builds 2015-05-04 02:04:54 +00:00
bindings IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
cmake cmake: Use -fno-sanitize-recover=all - the old spelling is deprecated 2015-05-14 04:52:57 +00:00
docs Doxygen: Enable autobrief feature and update coding standards. 2015-05-15 03:34:01 +00:00
examples [Orc] Reapply r236465 with fixes for the MSVC bots. 2015-05-05 17:37:18 +00:00
include [LoopAccesses] If shouldRetryWithRuntimeCheck, reset InterestingDependences 2015-05-18 15:37:03 +00:00
lib [DAGCombine] Be more pedantic about use iteration in CombineToPreIndexedLoadStore 2015-05-18 15:46:02 +00:00
projects build: make libunwind a proper project 2015-04-25 01:47:39 +00:00
test [LoopAccesses] If shouldRetryWithRuntimeCheck, reset InterestingDependences 2015-05-18 15:37:03 +00:00
tools Remove MCAssembler.h include from MCStreamer.h and fix users of MCStreamer.h 2015-05-15 22:19:42 +00:00
unittests While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
utils Improve check on git-svnrevert, better error message 2015-05-16 10:23:48 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore Ignore compile_commands.json only at the root of the tree. 2015-03-26 18:55:42 +00:00
CMakeLists.txt Enable solid lzma compression for cpack, decreases setup size by ~30% 2015-05-14 17:07:41 +00:00
CODE_OWNERS.TXT Added Andrey Churbanov as the owner of the OpenMP runtime library code 2015-05-05 20:17:53 +00:00
configure Deprecate in-source autotools builds 2015-05-04 02:04:54 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile [configure/make] Propagate names of build host tools when making BuildTools 2014-03-25 21:45:41 +00:00
Makefile.common Makefile.common: Update a description, s/Source/SOURCES/ , according to MakefileGuide.html#control-variables . 2012-12-07 01:43:23 +00:00
Makefile.config.in Deprecate in-source autotools builds 2015-05-04 02:04:54 +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 at revision 233535. 2015-03-30 12:39:03 +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.