LLVM backend for 6502
Go to file
Evan Cheng 02c4285643 Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0.
It's not safe to use the two value CombineTo variant to combine away a dead load.
e.g. 
v1, chain2 = load chain1, loc
v2, chain3 = load chain2, loc
v3         = add v2, c 
Now we replace use of v1 with undef, use of chain2 with chain1.
ReplaceAllUsesWith() will iterate through uses of the first load and update operands:
v1, chain2 = load chain1, loc
v2, chain3 = load chain1, loc
v3         = add v2, c 
Now the second load is the same as the first load, SelectionDAG cse will ensure
the use of second load is replaced with the first load.
v1, chain2 = load chain1, loc
v3         = add v1, c
Then v1 is replaced with undef and bad things happen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46099 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-16 23:11:54 +00:00
autoconf remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
bindings Modify Makefile.rules to allow makefiles to prepend to C.Flags and 2008-01-06 21:54:35 +00:00
docs Add description of 'llvm.trap' intrinsic. Also, minor fixes in formatting. 2008-01-15 22:31:34 +00:00
examples remove attributions from examples. 2007-12-29 20:37:57 +00:00
include Do not mark EH tables no-dead-strip unless the 2008-01-16 19:59:28 +00:00
lib Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0. 2008-01-16 23:11:54 +00:00
projects remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
runtime With this patch, the LowerGC transformation becomes the 2008-01-07 01:30:53 +00:00
test Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0. 2008-01-16 23:11:54 +00:00
tools - Introduces versioning macro LLVM_LTO_VERSION 2008-01-15 23:52:34 +00:00
utils Add files to windows project files. Also include <algorithm> explicitly so that vstudio build works 2008-01-15 21:43:17 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Add files to windows project files. Also include <algorithm> explicitly so that vstudio build works 2008-01-15 21:43:17 +00:00
Xcode Removing obsolete files from the Xcode project. 2007-12-31 01:45:55 +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
configure Do not build CBackend and MSIL regardless of configured targets 2007-12-13 01:18:52 +00:00
CREDITS.TXT Update credits. 2007-12-11 09:32:07 +00:00
LICENSE.TXT Updated source file headers to llvm coding standard. 2007-12-05 01:40:25 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in improve compatibility with mingw, patch by Alain Frisch 2008-01-15 22:50:50 +00:00
Makefile.rules Commit a piece that I missed before, patch by Alain Frisch 2008-01-15 23:27:40 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49: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.