LLVM backend for 6502
Go to file
Daniel Sanders b362d4b725 Merging r225529:
------------------------------------------------------------------------
r225529 | dsanders | 2015-01-09 17:21:30 +0000 (Fri, 09 Jan 2015) | 18 lines

[mips] Add support for accessing $gp as a named register.

Summary:
Mips Linux uses $gp to hold a pointer to thread info structure and accesses it
with a named register. This makes this work for LLVM.

The N32 ABI doesn't quite work yet since the frontend generates incorrect IR
for this case. It neglects to truncate the 64-bit GPR to a 32-bit value before
converting to a pointer. Given correct IR (as in the testcase in this patch),
it works correctly.

Reviewers: sstankovic, vmedic, atanasyan

Reviewed By: atanasyan

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D6893
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@231466 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-06 12:34:10 +00:00
autoconf Bump version to 3.5.2 2015-01-14 01:21:39 +00:00
bindings
cmake Merging r217490: 2014-09-11 23:00:09 +00:00
docs Add the big-endian O32 small structures bugfix to the Mips release notes. 2014-12-05 11:06:13 +00:00
examples Merging r213663: 2014-07-23 15:19:01 +00:00
include Revert r231463 and r231462. 2015-03-06 11:47:54 +00:00
lib Merging r225529: 2015-03-06 12:34:10 +00:00
projects
test Merging r225529: 2015-03-06 12:34:10 +00:00
tools Merging r214519: 2014-08-04 04:21:04 +00:00
unittests Merging r220360: 2014-12-06 10:34:24 +00:00
utils Merging r223163: 2014-12-03 18:17:15 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Bump version to 3.5.2 2015-01-14 01:21:39 +00:00
CODE_OWNERS.TXT
configure Bump version to 3.5.2 2015-01-14 01:21:39 +00:00
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 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 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.