LLVM backend for 6502
Go to file
Eli Friedman ff03048c13 LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible.  I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28 21:48:00 +00:00
autoconf Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo, 2011-07-22 21:58:54 +00:00
bindings Update OCaml bindings. Opaque types are gone, type holders are gone and the 2011-07-09 18:29:33 +00:00
cmake Updated cmake library dependencies. 2011-07-28 02:33:33 +00:00
docs LangRef and basic memory-representation/reading/writing for 'cmpxchg' and 2011-07-28 21:48:00 +00:00
examples Convert ConstantExpr::getGetElementPtr and 2011-07-21 14:31:17 +00:00
include LangRef and basic memory-representation/reading/writing for 'cmpxchg' and 2011-07-28 21:48:00 +00:00
lib LangRef and basic memory-representation/reading/writing for 'cmpxchg' and 2011-07-28 21:48:00 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Use version 402 for the GCDA files when compiling for Apple. 2011-07-28 18:12:20 +00:00
test Handle REG_SEQUENCE with implicitly defined operands. 2011-07-28 21:38:51 +00:00
tools Fix llvm-mc target detection code to match llc. 2011-07-26 19:02:16 +00:00
unittests Use unsigned rather than uint16_t in case anyone feels like testing 2011-07-28 14:37:53 +00:00
utils Fix Clang attribute reader tblgen output for a corresponding fix on the Clang side 2011-07-28 20:55:16 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +00:00
build-for-llvm-top.sh
CMakeLists.txt Added the infrastructute necessary for MIPS JIT support. Patch by Vladimir 2011-07-21 16:28:51 +00:00
configure Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo, 2011-07-22 21:58:54 +00:00
CREDITS.TXT For my ego. 2011-07-15 11:26:11 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common
Makefile.config.in build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
Makefile.rules TableGen'erated MC lowering for simple pseudo-instructions. 2011-07-08 17:36:35 +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 reverting test commit 2011-05-12 17:38:08 +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.