LLVM backend for 6502
Go to file
Bill Wendling 0481d29d49 This is the start of the new SjLj EH preparation pass, which will replace the
current IR-level pass.

The old SjLj EH pass has some problems, especially with the new EH model. Most
significantly, it violates some of the new restrictions the new model has. For
instance, the 'dispatch' table wants to jump to the landing pad, but we cannot
allow that because only an invoke's unwind edge can jump to a landing pad. This
requires us to mangle the code something awful. In addition, we need to keep the
now dead landingpad instructions around instead of CSE'ing them because the
DWARF emitter uses that information (they are dead because no control flow edge
will execute them - the control flow edge from an invoke's unwind is superceded
by the edge coming from the dispatch).

Basically, this pass belongs not at the IR level where SSA is king, but at the
code-gen level, where we have more flexibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140646 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-27 22:14:12 +00:00
autoconf We're no longer going to bother supporting platforms that don't 2011-09-23 00:53:10 +00:00
bindings Remove the build_unwind function from the OCaml bindings. 2011-08-10 01:10:17 +00:00
cmake Rename LLVM_MULTITHREADED define and fix build without threads. 2011-09-19 20:43:23 +00:00
docs Remove incorrect passage. 2011-09-27 20:16:57 +00:00
examples Modified demo to use 3.0 resume instruction vs calling _Unwine_Resume. 2011-09-23 14:45:10 +00:00
include Rename AddSelectionDAGCSEId() to addSelectionDAGCSEId(). 2011-09-27 20:59:33 +00:00
lib This is the start of the new SjLj EH preparation pass, which will replace the 2011-09-27 22:14:12 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Fix for warnings: ignoring return value of ‘write’, declared with attribute warn_unused_result. 2011-09-22 17:33:24 +00:00
test test/CMakeLists.txt: Depend on llvm-objdump. "make check" is expected to resolve test-dependent targets on CMake build. 2011-09-27 21:54:50 +00:00
tools Add binary archive support to llvm-nm. 2011-09-27 19:37:18 +00:00
unittests Add APInt support for converting to/from hexatridecimal strings 2011-09-14 15:54:46 +00:00
utils Remove old hack for compiling with gcc-4.0. 2011-09-26 22:30:57 +00:00
website
.gitignore Revert change made in .gitignore. 2011-09-24 01:37:58 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt Added the infrastructute necessary for MIPS JIT support. Patch by Vladimir 2011-07-21 16:28:51 +00:00
configure We're no longer going to bother supporting platforms that don't 2011-09-23 00:53:10 +00:00
CREDITS.TXT Claimed. 2011-09-19 05:34:10 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Remove llvmc and assorted build machinery for it. 2011-09-19 23:22:41 +00:00
Makefile.common
Makefile.config.in Remove the rest of the compiler checking from the top level configure 2011-09-21 00:53:42 +00:00
Makefile.rules More llvmc bits. Spotted by Benjamin on IRC. 2011-09-20 00:42:28 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt Test commit 2011-09-21 03:34:31 +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.