LLVM backend for 6502
Go to file
Sean Silva 8b8fa7b2f4 Casting.h: Automatically handle isa<Base>(Derived).
Additionally, all such cases are handled with no dynamic check.

All `classof()` of the form

    class Foo {
      [...]
      static bool classof(const Bar *) { return true; }
      [...]
    }

where Foo is an ancestor of Bar are no longer necessary.
Don't write them!

Note: The exact test is `is_base_of<Foo, Bar>`, which is non-strict, so
that Foo is considered an ancestor of itself.

This leads to the following rule of thumb for LLVM-style RTTI:

    The argument type of `classof()` should be a strict ancestor.

For more information about implementing LLVM-style RTTI, see
docs/HowToSetUpLLVMStyleRTTI.rst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165765 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-11 23:30:40 +00:00
autoconf Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
bindings Fix the ocaml binding breakage from TargetData -> DataLayout changes. 2012-10-08 17:06:25 +00:00
cmake [CMake] add_lit_testsuite: EXCLUDE_FROM_ALL excludes the test ${target} out of check-all. 2012-10-10 13:32:55 +00:00
docs Adds Phabricator documentation. This is a first step that answers many questions we have seen. 2012-10-11 19:40:46 +00:00
examples Move TargetData to DataLayout. 2012-10-08 16:37:04 +00:00
include Casting.h: Automatically handle isa<Base>(Derived). 2012-10-11 23:30:40 +00:00
lib Remove buggy classof(). 2012-10-11 23:30:38 +00:00
projects Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
runtime Place temporary LTO files into their own subdirectory. 2012-10-10 05:29:15 +00:00
test Change encoding of instruction operands in bitcode binaries to be relative 2012-10-11 20:20:40 +00:00
tools Add a new interface to allow IR-level passes to access codegen-specific information. 2012-10-10 22:04:55 +00:00
unittests Casting.h: Automatically handle isa<Base>(Derived). 2012-10-11 23:30:40 +00:00
utils Remove extra semicolons. 2012-10-11 22:25:56 +00:00
.gitignore Add extra vim swap file pattern 2012-10-09 23:48:34 +00:00
CMakeLists.txt Removing dependency on third party library for Intel JIT event support. 2012-09-28 17:35:20 +00:00
CODE_OWNERS.TXT Add the list of code owners to the top level of the LLVM source tree to 2012-07-26 08:04:09 +00:00
configure Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
CREDITS.TXT Move TargetData to DataLayout. 2012-10-08 16:40:38 +00:00
LICENSE.TXT Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
llvm.spec.in Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove dead variable. 2012-10-10 18:20:49 +00:00
Makefile.common [docs] Remove unsupported references to ExtraSource variable. 2012-05-15 21:32:27 +00:00
Makefile.config.in Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
Makefile.rules Place temporary LTO files into their own subdirectory. 2012-10-10 05:29:15 +00:00
README.txt test commit 2012-07-11 17:34:12 +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.