LLVM backend for 6502
Go to file
Chris Lattner 47eb6567e2 This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night.
The problem occurred when trying to reload this instruction:

MOV32mr %reg2326, 8, %reg2297, 4, %reg2295

The value of reg2326 was available in EBX, so it was reused from there, instead
of reloading it into EDX.

The value of reg2297 was available in EDX, so it was reused from there, instead
of reloading it into EDI.

The value of reg2295 was not available, so we tried reloading it into EBX, its
assigned register.  However, we checked and saw that we already reloaded
something into EBX, so we chose what reg2326 was assigned to (EDX) and reloaded
into that register instead.

Unfortunately EDX had already been used by reg2297, so reloading into EDX
clobbered the value used by the reg2326 operand, breaking the program.

The fix for this is to check that the newly picked register is ok.  In this
case we now find that EDX is already used and try using EDI, which succeeds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17006 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-15 03:19:31 +00:00
autoconf Transfer Makefile.JIT into the build tree for JIT-enabling tools and examples 2004-10-14 18:59:09 +00:00
docs Fix grammaro 2004-10-09 19:37:02 +00:00
examples Use the shared Makefile.JIT for JIT-enablement, which also enables the examples 2004-10-14 19:02:13 +00:00
include/llvm Convert tabs to spaces 2004-10-14 18:47:56 +00:00
lib This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night. 2004-10-15 03:19:31 +00:00
projects Remove exhuberant-style comments which remained from copying file from `sample' 2004-10-11 00:56:41 +00:00
runtime Don't call memset if malloc returns a null pointer 2004-10-06 23:08:03 +00:00
test When converting phi nodes into select instructions, we shouldn't promote PHI 2004-10-14 05:12:50 +00:00
tools * We don't use the ENABLE_*_JIT flags in the source base anymore 2004-10-14 20:06:36 +00:00
utils * Factor out (into new fn) a loop emitting operand shifts into the instruction 2004-10-14 05:53:01 +00:00
.cvsignore Ok, try #2, this time I'll not be stupid 2003-08-03 18:33:24 +00:00
configure Add Makefile.JIT to the list of Makefiles transferred to the build dir to give 2004-10-14 18:59:42 +00:00
configure_am Changes for automake. 2004-10-13 11:56:07 +00:00
CREDITS.TXT Update email address 2004-09-23 04:39:30 +00:00
LICENSE.TXT Adjust the license files based on the actual content of llvm and llvm-test 2004-09-16 16:41:31 +00:00
llvm.spec Updated for 1.3. 2004-08-16 15:17:40 +00:00
llvm.spec.in Updated for 1.3. 2004-08-16 15:17:40 +00:00
Makefile Changed the distclean target to handle the new location of config.h. 2004-09-17 15:08:25 +00:00
Makefile_config Changes for automake. 2004-10-13 11:56:07 +00:00
Makefile_rules Get rid of the horrendous FIND_PATH macro, have libs and progs linked into 2004-10-13 11:39:51 +00:00
Makefile.am Top level makefile for building LLVM with automake. 2004-10-10 19:13:03 +00:00
Makefile.common Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.config.in Fix typo in makefile variable name that prevents zlib from being recognized 2004-10-04 17:49:19 +00:00
Makefile.rules Fix grammar 2004-10-11 02:06:40 +00:00
README.txt Make the text of this file a little more useful. 2004-09-02 22:49:27 +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.