LLVM backend for 6502
Go to file
Hal Finkel e8bc700a87 Fix invalid function pointers in bugpoint ExtractLoops
The ExtractLoops function tries to reduce the failing test case by extracting
one or more loops from the misoptimized piece of the program. In doing this,
ExtractLoops must keep the MiscompiledFunctions vector up-to-date by ensuring
that the pointers refer to functions in the current failing program.
Unfortunately, this is not trivial because:

 - ExtractLoops is iterative, and there are several early exits (and the
   MiscompiledFunctions vector must be consistent with the current program at
every non-fatal exit point).
 - Several of the utility functions used by ExtractLoops (such as
   TestOptimizer, some of which are called through the TestFn callback
parameter, and Linker::LinkModules) delete their inputs upon success.

This change adds several updates of the MiscompiledFunctions vector at
different points. The first is after the initial call to TestMergedProgram
which checks that the loop-extracted program still works. The second is after
the call to TestFn (TestOptimizer, for example). This function will delete its
inputs (which is why the existing ExtractLoops logic cloned the inputs first).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187674 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-02 21:13:42 +00:00
autoconf Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
bindings We're in 3.4 land now. 2013-05-07 20:31:28 +00:00
cmake Pass -G argument to cmake with the same generator's name as used for the 2013-08-01 18:04:07 +00:00
docs Revert "TableGen: Enumerate Schedule Model too." 2013-07-31 20:43:08 +00:00
examples ExceptionDemo.cpp: Tweak a @param. [-Wdocumentation] 2013-07-29 11:03:50 +00:00
include Teach EmitGEPOffset about address spaces 2013-08-02 18:33:34 +00:00
lib Add a missing 'return' statement. 2013-08-02 20:50:01 +00:00
projects [PowerPC] Support powerpc64le as a syntax-checking target. 2013-07-26 01:35:43 +00:00
runtime Use @rpath for libraries rather than @executable_path on OSX. 2013-08-02 01:51:52 +00:00
test [mips] Expand vector truncating stores and extending loads. 2013-08-02 19:23:33 +00:00
tools Fix invalid function pointers in bugpoint ExtractLoops 2013-08-02 21:13:42 +00:00
unittests Update incorrect file headers. 2013-08-01 18:42:28 +00:00
utils Fix handling of CHECK-DAG combined with CHECK-NOT 2013-08-02 11:32:50 +00:00
.arcconfig Add .arcconfig to the repository. Useful if someone wants to use phabricator's command line tool. 2012-12-01 12:07:58 +00:00
.gitignore
CMakeLists.txt Add capability for building with -gsplit-dwarf to the cmake build. 2013-07-30 21:44:10 +00:00
CODE_OWNERS.TXT Add more owners to CODE_OWNERS.TXT (Kostya Serebryany: AddressSanitizer and ThreadSanitizer; Evgeniy Stepanov: MemorySanitizer) 2013-06-27 08:47:12 +00:00
configure Regenerate. 2013-07-26 17:13:47 +00:00
CREDITS.TXT Identify me on IRC. 2013-06-18 22:09:36 +00:00
LICENSE.TXT Be more specific and capitalize filenames. 2013-05-21 21:22:34 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile Fix regular expression used by 'make update' to only look for 'I' and '?' at the start of svn info results and to check for spaces after 'I' instead of just after '?'. 2013-07-03 14:48:37 +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 Add an autoconf option for turning on -gsplit-dwarf by default 2013-06-25 01:12:25 +00:00
Makefile.rules Remove dead code from the makefile build system. 2013-07-25 20:25:31 +00:00
README.txt test 2013-04-17 05:34:03 +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.