LLVM backend for 6502
Go to file
Chris Lattner 729c6d1da8 Fix a nasty dag combiner bug that caused nondeterminstic crashes (MY FAVORITE!):
SimplifySelectOps would eliminate a Select, delete it, then return true.

The clients would see that it did something and return null.

The top level would see a null return, and decide that nothing happened,
proceeding to process the node in other ways: boom.

The fix is simple: clients of SimplifySelectOps should return the select
node itself.

In order to catch really obnoxious boogs like this in the future, add an
assert that nodes are not deleted.  We do this by checking for a sentry node
type that the SDNode dtor sets when a node is destroyed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28514 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27 00:43:02 +00:00
autoconf For PR784: 2006-05-21 10:40:20 +00:00
docs Describe how to add a custom test. 2006-05-23 01:40:20 +00:00
examples Catch a potentially thrown exception. 2006-05-14 19:08:39 +00:00
include/llvm Add a new sentry node type, allowing assertions to catch trivial 2006-05-27 00:40:15 +00:00
lib Fix a nasty dag combiner bug that caused nondeterminstic crashes (MY FAVORITE!): 2006-05-27 00:43:02 +00:00
projects Avoid defining dead result 2006-05-12 17:29:40 +00:00
runtime For PR786: 2006-05-24 19:21:13 +00:00
test Trivial testcase that LCSSA can already handle. 2006-05-26 21:59:20 +00:00
tools For PR786: 2006-05-24 19:21:13 +00:00
utils Can't trust NodeDepth when checking for possibility of load folding creating 2006-05-25 20:16:55 +00:00
win32 Keep Visual Studio happy. 2006-05-03 00:28:50 +00:00
Xcode Misc. project changes. html + build config changes supplied by Devang. 2006-04-08 06:04:56 +00:00
.cvsignore Ignore stuff built by "make dist". 2006-04-07 15:55:18 +00:00
configure For PR784: 2006-05-21 10:40:20 +00:00
CREDITS.TXT Add my homepage, as a test that commit access works 2006-05-16 05:36:15 +00:00
LICENSE.TXT Changing domain name 2006-04-20 05:51:53 +00:00
llvm.spec For PR723: 2006-04-07 16:07:37 +00:00
llvm.spec.in For PR723: 2006-04-07 16:07:37 +00:00
Makefile Make some changes suggested by Chris: 2006-05-17 22:55:35 +00:00
Makefile.common
Makefile.config.in Fix a comment. 2006-04-09 23:39:43 +00:00
Makefile.rules Abstract out the current optimization level into a flag that can be overridden 2006-05-24 23:02:40 +00:00
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 HTML documentation provided in docs/index.html for further
assistance with LLVM.