LLVM backend for 6502
Go to file
Dan Gohman 5bbee4b40a Work around an interaction between fast-isel and regalloc=local. The
local register allocator's physreg liveness doesn't recognize subregs,
so it doesn't know that defs of %ecx that are immediately followed by
uses of %cl aren't dead. This comes up due to the way fast-isel emits
shift instructions.

This is a temporary workaround. Arguably, local regalloc should
handle subreg references correctly. On the other hand, perhaps
fast-isel should use INSERT_SUBREG instead of just assigning to the
most convenient super-register of %cl when lowering shifts.

This fixes MultiSource/Benchmarks/MallocBench/espresso,
MultiSource/Applications/hexxagon, and others, under -fast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56947 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 14:56:12 +00:00
autoconf When looking for executable extensions, ignore .dSYM, as that's the debug info directory on Darwin. 2008-09-26 17:27:58 +00:00
bindings PR2731: C and Ocaml bindings for setTailCall and isTailCall. 2008-08-30 16:34:54 +00:00
cmake CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
docs Stacker is dead. 2008-09-30 15:18:29 +00:00
examples CMake: Builds all examples. Corrected name of CBackend target. 2008-09-26 19:48:03 +00:00
include "The original bug was a complaint that _mm_srli_si128 mis-compiled when passed 2008-10-02 05:56:52 +00:00
lib Work around an interaction between fast-isel and regalloc=local. The 2008-10-02 14:56:12 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Disable fast-isel for this test, as it doesn't emit the same 2008-10-01 23:48:35 +00:00
tools CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
utils Move the primary fast-isel top-level comments to FastISel.cpp, where 2008-09-30 20:48:29 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Add Attributes.cpp to the vcproj. 2008-09-24 17:23:28 +00:00
Xcode Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
CMakeLists.txt CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
configure When looking for executable extensions, ignore .dSYM, as that's the debug info directory on Darwin. 2008-09-26 17:27:58 +00:00
CREDITS.TXT Add another description to my entry. 2008-08-28 23:16:37 +00:00
LICENSE.TXT llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file. 2008-06-20 20:05:57 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
Makefile.rules Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt Remove extra lines 2008-07-28 20:50:25 +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.