LLVM backend for 6502
Go to file
Bob Wilson f74a429816 Overhaul memory barriers in the ARM backend. Radar 8601999.
There were a number of issues to fix up here:
* The "device" argument of the llvm.memory.barrier intrinsic should be
used to distinguish the "Full System" domain from the "Inner Shareable"
domain.  It has nothing to do with using DMB vs. DSB instructions.
* The compiler should never need to emit DSB instructions.  Remove the
ARMISD::SYNCBARRIER node and also remove the instruction patterns for DSB.
* Merge the separate DMB/DSB instructions for options only used for the
disassembler with the default DMB/DSB instructions.  Add the default
"full system" option ARM_MB::SY to the ARM_MB::MemBOpt enum.
* Add a separate ARMISD::MEMBARRIER_MCR node for subtargets that implement
a data memory barrier using the MCR instruction.
* Fix up encodings for these instructions (except MCR).
I also updated the tests and added a few new ones to check for DMB options
that were not currently being exercised.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117756 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 00:54:37 +00:00
autoconf Add polly support to the build system. 2010-10-30 00:54:26 +00:00
bindings Try to fix ocaml bindings. 2010-10-08 00:36:21 +00:00
cmake Adding disassembler to the MicroBlaze backend. 2010-10-27 00:23:01 +00:00
docs Document LLVM_BUILD_TESTS, LLVM_INCLUDE_TESTS. New convenience target 2010-10-28 14:38:35 +00:00
examples Build with RTTI and exceptions disabled. Only in GCC for now. 2010-10-17 02:26:16 +00:00
include Mult-alt constraint incremental development step 3. 2010-10-29 23:37:38 +00:00
lib Overhaul memory barriers in the ARM backend. Radar 8601999. 2010-10-30 00:54:37 +00:00
projects projects: Don't try to build libcxx if one happens to have it checked out into 2010-09-09 15:49:32 +00:00
runtime Rename 'libprofile/exported_symbols.lst' to 'libprofile/libprofile.exports'. 2010-09-03 15:42:45 +00:00
test Overhaul memory barriers in the ARM backend. Radar 8601999. 2010-10-30 00:54:37 +00:00
tools Add polly support to the build system. 2010-10-30 00:54:26 +00:00
unittests unittests/CMakeLists.txt: Don't use RTTI, or linking failed. 2010-10-29 08:59:43 +00:00
utils Apply a patch from Frits van Bommel to fix the CMake build. 2010-10-29 22:36:50 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt CMake: Build utils/KillTheDoctor only on MSVC for now. 2010-10-26 05:08:27 +00:00
configure Add polly support to the build system. 2010-10-30 00:54:26 +00:00
CREDITS.TXT Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
LICENSE.TXT
llvm.spec.in
Makefile llvmc: remove dynamic plugins. 2010-08-15 07:07:12 +00:00
Makefile.common
Makefile.config.in Add polly support to the build system. 2010-10-30 00:54:26 +00:00
Makefile.rules Remove -llvmc-temp-hack from tblgen. 2010-10-23 07:32:53 +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 Undoing test commit blank space. 2010-09-29 17:39:29 +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.