LLVM backend for 6502
Go to file
Evan Cheng 875913439c InstrEmitter::EmitSubregNode() optimize extract_subreg in this case:
r1025 = s/zext r1024, 4
r1026 = extract_subreg r1025, 4

to a copy:
r1026 = copy r1024

This is correct. However it uses TII->isCoalescableExtInstr() which can return
true for instructions which essentially does a sext_in_reg so this can end up
with an illegal copy where the source and destination register classes do not
match. Add a check to avoid it. Sorry, no test case possible at this time.

rdar://11849816


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160059 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-11 18:55:07 +00:00
autoconf Remove autoconf support for runtest and tclsh, some of the last vestigal 2012-06-27 23:53:41 +00:00
bindings
cmake LLVMConfig.cmake.in: Quote around @LLVM_INSTALL_PREFIX@, or it would not accept whitespace paths. 2012-07-07 03:12:28 +00:00
docs Since SmallMap was removed in r158644, remove documentation in ProgrammersManual.html. 2012-07-06 23:06:47 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include Teach the LiveInterval::join function to use the fast merge algorithm, 2012-07-10 22:25:21 +00:00
lib InstrEmitter::EmitSubregNode() optimize extract_subreg in this case: 2012-07-11 18:55:07 +00:00
projects Remove 'check-dg', a wrapper around 'check-local-dg' which was just 2012-06-28 00:03:13 +00:00
runtime
test PR13326: Fix a subtle edge case in the udiv -> magic multiply generator. 2012-07-11 18:31:59 +00:00
tools Target option DisableJumpTables is a gross hack. Move it to TargetLowering instead. 2012-07-02 22:39:56 +00:00
unittests Revert "IntRange:" as it appears to be breaking self hosting. 2012-07-02 23:22:21 +00:00
utils Machine model: allow itineraries to be shared by different processor models. 2012-07-09 20:43:03 +00:00
.gitignore
CMakeLists.txt Hoist LLVM's lit testsuite infrastructure into module so that it can be 2012-06-30 10:14:14 +00:00
configure Regenerate. 2012-06-28 20:35:00 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Remove autoconf support for runtest and tclsh, some of the last vestigal 2012-06-27 23:53:41 +00:00
Makefile.rules Remove 'check-dg', a wrapper around 'check-local-dg' which was just 2012-06-28 00:03:13 +00:00
README.txt test commit 2012-07-11 17:34:12 +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.