LLVM backend for 6502
Go to file
Duncan Sands ff10341183 Fix a layering violation: hasConstantValue, which is part of the PHINode
class, uses DominatorTree which is an analysis.  This change moves all of
the tricky hasConstantValue logic to SimplifyInstruction, and replaces it
with a very simple literal implementation.  I already taught users of
hasConstantValue that need tricky stuff to use SimplifyInstruction instead.
I didn't update InlineFunction because the IR looks like it might be in a
funky state at the point it calls hasConstantValue, which makes calling
SimplifyInstruction dangerous since it can in theory do a lot of tricky
reasoning.  This may be a pessimization, for example in the case where
all phi node operands are either undef or a fixed constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119459 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 04:30:22 +00:00
autoconf fix the autoconf script to detect "has asmprinter"ness of a target by 2010-11-14 19:10:47 +00:00
bindings Try to fix ocaml bindings. 2010-10-08 00:36:21 +00:00
cmake Revert inadvertant checkin of CMake libdeps. 2010-11-16 18:14:41 +00:00
docs update coding standards. Partial specialization is now ok, 2010-11-16 22:19:06 +00:00
examples Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. Thanks 2010-11-16 17:28:22 +00:00
include Fix a layering violation: hasConstantValue, which is part of the PHINode 2010-11-17 04:30:22 +00:00
lib Fix a layering violation: hasConstantValue, which is part of the PHINode 2010-11-17 04:30:22 +00:00
projects projects: Don't try to build libcxx if one happens to have it checked out into 2010-09-09 15:49:32 +00:00
runtime Rename 'libprofile/exported_symbols.lst' to 'libprofile/libprofile.exports'. 2010-09-03 15:42:45 +00:00
test Test for llvm-gcc patch 119392. 2010-11-16 21:57:15 +00:00
tools fix the autoconf script to detect "has asmprinter"ness of a target by 2010-11-14 19:10:47 +00:00
unittests unittests/CMakeLists.txt: Add missing VMCore/ValueMapTest.cpp to VMCoreTests. 2010-11-14 12:37:51 +00:00
utils Use new neon_vector_type and neon_polyvector_type attributes for Neon vectors. 2010-11-16 23:57:06 +00:00
website
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt Add LLVMObject Library. 2010-11-15 03:21:41 +00:00
configure fix the autoconf script to detect "has asmprinter"ness of a target by 2010-11-14 19:10:47 +00:00
CREDITS.TXT Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile Add --enable-docs. Patch by NAKAMURA Takumi. 2010-11-12 19:24:06 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Add --enable-docs. Patch by NAKAMURA Takumi. 2010-11-12 19:24:06 +00:00
Makefile.rules remove JIT support from the Alpha backend. The JIT will be moving to MC, 2010-11-14 18:24:41 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt Undoing test commit blank space. 2010-09-29 17:39:29 +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.