LLVM backend for 6502
Go to file
Bill Wendling 2ad4aca8b2 If we mark clean-ups as clean-ups, then it could break when inlining through an
'invoke' instruction. You will get a situation like this:

bb:
  %ehptr = eh.exception()
  %sel = eh.selector(%ehptr, @per, 0);

...

bb2:
  invoke _Unwind_Resume_or_Rethrow(%ehptr) %normal unwind to %lpad

lpad:
  ...

The unwinder will see the %sel call as a clean-up and, if it doesn't have a
catch further up the call stack, it will skip running it. But there *is* another
catch up the stack -- the catch for the %lpad. However, we can't see that. This
is fixed in code-gen, where we detect this situation, and convert the "clean-up"
selector call into a "catch-all" selector call. This gives us the correct
semantics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99671 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 23:41:30 +00:00
autoconf Fixed spurious warning problem noticed by Daniel Dunbar. The configure script 2010-03-25 13:59:09 +00:00
bindings Add OCaml tutorial to the examples. 2010-03-08 19:32:27 +00:00
cmake Tell Valgrind when we modify already-executed machine code so it knows 2010-03-15 04:57:55 +00:00
docs fix iterator name 2010-03-26 19:59:25 +00:00
examples Fix the ocaml kaleidoscope tutorial to fix linking external libraries. 2010-03-21 23:15:13 +00:00
include Add few missed libcalls and correct names for others. 2010-03-26 21:32:14 +00:00
lib If we mark clean-ups as clean-ups, then it could break when inlining through an 2010-03-26 23:41:30 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime disable this for mingw as well, we really need a 'has no dynamic linking' predicate. 2010-03-06 18:54:37 +00:00
test Do not sibcall if stack needs to be dynamically aligned. 2010-03-26 16:26:03 +00:00
tools llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need 2010-03-25 22:49:09 +00:00
unittests Fix SmallVector's insert to handle non-random-access iterators. 2010-03-26 18:53:37 +00:00
utils Teach TableGen to understand X.Y notation in the TSFlagsFields strings. 2010-03-25 18:52:01 +00:00
website
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Add options for using static runtime on MSVC++ build. 2010-03-18 13:52:05 +00:00
configure Fixed spurious warning problem noticed by Daniel Dunbar. The configure script 2010-03-25 13:59:09 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile modernize the do-all-for-me target to run lit 2010-03-21 22:23:02 +00:00
Makefile.common
Makefile.config.in Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153. 2010-03-04 20:56:19 +00:00
Makefile.rules remove arm mode workaround for ARM host 2010-03-17 21:28:19 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +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.