LLVM backend for 6502
Go to file
Chandler Carruth b6fdca612d [LCG] Fix a bad bug in the new fancy iterator scheme I added to support
removal. We can't just blindly increment (or decrement) the adapted
iterator when the value is null because doing so can walk past the end
(or beginning) and keep inspecting the value. The fix I've implemented
is to restrict this further to a forward iterator and add an end
iterator to the members (replacing a member that had become dead when
I switched to the adaptor base!) and using that to stop the iteration.

I'm not entirely pleased with this solution. I feel like forward
iteration is too restrictive. I wasn't even happy about bidirectional
iteration. It also makes the iterator objects larger and the iteration
loops more complex. However, I also don't really like the other
alternative that seems obvious: a sentinel node. I'm still hoping to
come up with a more elegant solution here, but this at least fixes the
MSan and Valgrind errors on this code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207743 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-01 10:41:51 +00:00
autoconf
bindings
cmake
docs ARM: support stack probe emission for Windows on ARM 2014-04-30 07:05:07 +00:00
examples
include [LCG] Fix a bad bug in the new fancy iterator scheme I added to support 2014-05-01 10:41:51 +00:00
lib [ARM64] Conditionalize CPU specific system registers on subtarget features 2014-05-01 10:25:36 +00:00
projects
test [ARM64] Conditionalize CPU specific system registers on subtarget features 2014-05-01 10:25:36 +00:00
tools Record the DWARF version in MCContext 2014-05-01 08:46:02 +00:00
unittests ELFObjectWriter: deduplicate suffices in strtab 2014-04-30 16:25:02 +00:00
utils [C++11] Use 'nullptr' in tablegen output files. 2014-04-30 05:53:35 +00:00
.arcconfig
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.gitignore Remove projects/sample. 2014-03-12 22:40:22 +00:00
CMakeLists.txt Added Sphinx documentation generation to CMake build system. 2014-04-18 21:45:25 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Trivial test commit. 2014-04-26 19:05:45 +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 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.