LLVM backend for 6502
Go to file
David Majnemer 92d1637e2f X86, Win64: Allow 'mov' to restore the stack pointer if we have a FP
The Win64 epilogue structure is very restrictive, it permits a very
small number of opcodes and none of them are 'mov'.

This means that given:
  mov %rbp, %rsp
  pop %rbp

The mov isn't the epilogue, only the pop is.  This is problematic unless
a frame pointer is present in which case we are free to do whatever we'd
like in the "body" of the function.  If a frame pointer is present,
unwinding will undo the prologue operations in reverse order regardless
of the fact that we are at an instruction which is reseting the stack
pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230543 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 21:13:37 +00:00
autoconf
bindings
cmake [CMake] Fix the clang-cl self host build. 2015-02-25 20:42:19 +00:00
docs fix a typo 2015-02-25 17:28:41 +00:00
examples [Orc][Kaleidoscope] Clean up the Orc/Kaleidoscope tutorials to minimize the diffs 2015-02-25 20:58:28 +00:00
include LowerBitSets: Align referenced globals. 2015-02-25 20:42:41 +00:00
lib X86, Win64: Allow 'mov' to restore the stack pointer if we have a FP 2015-02-25 21:13:37 +00:00
projects
test X86, Win64: Allow 'mov' to restore the stack pointer if we have a FP 2015-02-25 21:13:37 +00:00
tools
unittests LowerBitSets: Align referenced globals. 2015-02-25 20:42:41 +00:00
utils
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Set policy CMP0051 to OLD globally. 2015-02-24 23:32:47 +00:00
CODE_OWNERS.TXT Assume code ownership for the PS4 to ensure patches get reviewed, per the Developer Policy. 2015-01-28 18:33:39 +00:00
configure
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +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

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.