LLVM backend for 6502
Go to file
Toma Tabacu 71dc8ece4f [mips] Manually replace JAL pseudo-instructions with their JALR equivalent, instead of using InstAlias.
Summary:
This is needed by the .cprestore assembler directive.

This directive needs to be able to insert an LW instruction after every JALR replacement of a JAL pseudo-instruction
(and never after a JALR which has NOT been a result of a pseudo-instruction replacement).

The problem with using InstAlias for these is that after it replaces the pseudo-instruction, we can't find out if the resulting JALR instruction
was generated by an InstAlias or not, so we don't know whether or not to insert our LW instruction.

By replacing it manually, we know when the pseudo-instruction replacement happens and we can insert the LW instruction correctly.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: emaste, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227568 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-30 11:18:50 +00:00
autoconf
bindings
cmake Updating iOS.cmake to work with the latest Xcode and iOS 8 SDK. 2015-01-30 00:10:47 +00:00
docs Remove gc.root's performCustomLowering 2015-01-28 19:28:03 +00:00
examples
include [PM] Remove two very old and dead forward declarations for the prior 2015-01-30 00:41:44 +00:00
lib [mips] Manually replace JAL pseudo-instructions with their JALR equivalent, instead of using InstAlias. 2015-01-30 11:18:50 +00:00
projects
test [mips] Manually replace JAL pseudo-instructions with their JALR equivalent, instead of using InstAlias. 2015-01-30 11:18:50 +00:00
tools [llvm-lto] Add a line for setting LTOCodeGenerator's CPU string from command 2015-01-30 01:14:28 +00:00
unittests Refactoring llvm command line parsing and option registration. 2015-01-28 19:00:25 +00:00
utils Change a very hot piece of code in TableGen's register unit computations to use bit vectors rather than arrays. 2015-01-30 09:05:49 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
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
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
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.