LLVM backend for 6502
Go to file
Jakob Stoklund Olesen f792fa90f1 Distinguish early clobber output operands from clobbered registers.
Both become <earlyclobber> defs on the INLINEASM MachineInstr, but we
now use two different asm operand kinds.

The new Kind_Clobber is treated identically to the old
Kind_RegDefEarlyClobber for now, but x87 floating point stack inline
assembly does care about the difference.

This will pop a register off the stack:

  asm("fstp %st" : : "t"(x) : "st");

While this will pop the input and push an output:

  asm("fst %st" : "=&t"(r) : "t"(x));

We need to know if ST0 was a clobber or an output operand, and we can't
depend on <dead> flags for that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133902 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-27 04:08:33 +00:00
autoconf build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
bindings
cmake Update CMake library dependencies. 2011-06-25 02:10:19 +00:00
docs Document nonlazybind. 2011-06-16 16:03:13 +00:00
examples Modify comment. 2011-06-09 20:11:46 +00:00
include Distinguish early clobber output operands from clobbered registers. 2011-06-27 04:08:33 +00:00
lib Distinguish early clobber output operands from clobbered registers. 2011-06-27 04:08:33 +00:00
projects
runtime Fix build for (some versions of?) MinGW. Patch by Ruben Van Boxem. 2011-06-23 18:24:27 +00:00
test PTX: corrected tests that were failing 2011-06-25 19:41:17 +00:00
tools Object: Add proper error handling. 2011-06-25 17:55:23 +00:00
unittests Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang! 2011-06-22 21:13:46 +00:00
utils Remove dead typedefs. 2011-06-25 00:27:17 +00:00
website
.gitignore Ignore Vim swap files 2011-05-31 21:54:28 +00:00
build-for-llvm-top.sh
CMakeLists.txt Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
configure Regenerate configure. 2011-06-16 22:30:41 +00:00
CREDITS.TXT
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
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 Starting to refactor Target to separate out code that's needed to fully describe 2011-06-24 01:44:41 +00:00
ModuleInfo.txt
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.