LLVM backend for 6502
Go to file
Chandler Carruth 1e3557de0d [PM/AA] Hoist the AliasResult enum out of the AliasAnalysis class.
This will allow classes to implement the AA interface without deriving
from the class or referencing an internal enum of some other class as
their return types.

Also, to a pretty fundamental extent, concepts such as 'NoAlias',
'MayAlias', and 'MustAlias' are first class concepts in LLVM and we
aren't saving anything by scoping them heavily.

My mild preference would have been to use a scoped enum, but that
feature is essentially completely broken AFAICT. I'm extremely
disappointed. For example, we cannot through any reasonable[1] means
construct an enum class (or analog) which has scoped names but converts
to a boolean in order to test for the possibility of aliasing.

[1]: Richard Smith came up with a "solution", but it requires class
templates, and lots of boilerplate setting up the enumeration multiple
times. Something like Boost.PP could potentially bundle this up, but
even that would be quite painful and it doesn't seem realistically worth
it. The enum class solution would probably work without the need for
a bool conversion.

Differential Revision: http://reviews.llvm.org/D10495

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240255 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-22 02:16:51 +00:00
autoconf [autoconf] Detect OLE32 for mingw. 2015-06-18 04:16:05 +00:00
bindings Update LLVM bindings after r239940. Apparently these aren't included in 2015-06-18 11:51:16 +00:00
cmake CMake: Stop using LLVM's custom parse_arguments (delete implementation). NFC 2015-06-19 03:45:42 +00:00
docs [PM/AA] Hoist the AliasResult enum out of the AliasAnalysis class. 2015-06-22 02:16:51 +00:00
examples
include [PM/AA] Hoist the AliasResult enum out of the AliasAnalysis class. 2015-06-22 02:16:51 +00:00
lib [PM/AA] Hoist the AliasResult enum out of the AliasAnalysis class. 2015-06-22 02:16:51 +00:00
projects
resources
test Add the testcase from pr23900. 2015-06-22 01:29:24 +00:00
tools ArrayRef-ify libDriverMain 2015-06-21 06:31:56 +00:00
unittests ArrayRef-ify ParseArgs 2015-06-21 06:31:53 +00:00
utils [CodeGen] Introduce a FAULTING_LOAD_OP pseudo-op. 2015-06-15 18:44:08 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
CODE_OWNERS.TXT Added Andrey Churbanov as the owner of the OpenMP runtime library code 2015-05-05 20:17:53 +00:00
configure [autoconf] Detect OLE32 for mingw. 2015-06-18 04:16:05 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Revert test commit at revision 233535. 2015-03-30 12:39:03 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
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.