LLVM backend for 6502
Go to file
Dan Gohman 01ecca20bf Teach getZeroExtendExpr and getSignExtendExpr to use trip-count
information to simplify [sz]ext({a,+,b}) to {zext(a),+,[zs]ext(b)},
as appropriate.

These functions and the trip count code each call into the other, so
this requires careful handling to avoid infinite recursion. During
the initial trip count computation, conservative SCEVs are used,
which are subsequently discarded once the trip count is actually
known.

Among other benefits, this change lets LSR automatically eliminate
some unnecessary zext-inreg and sext-inreg operation where the
operand is an induction variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 20:16:15 +00:00
autoconf Support --with-llvmgccdir and friends in llvmc, take 2. 2009-04-21 19:46:10 +00:00
bindings Fix ocaml bindings; add "available_externally" linkage type. 2009-04-13 07:02:32 +00:00
cmake CMake: Added notes pointing to the LLVM CMake documentation. 2009-04-04 22:52:02 +00:00
docs Fix some confusion in the Ada f-e build instructions between 2009-04-27 11:21:35 +00:00
examples silence a warning. 2009-04-15 00:16:05 +00:00
include give bitstreamreader an API to ignore names for blocks/records, 2009-04-27 20:04:08 +00:00
lib Teach getZeroExtendExpr and getSignExtendExpr to use trip-count 2009-04-27 20:16:15 +00:00
projects Revert r67655 and r67656, as they are breaking the build. I'm 2009-03-25 00:52:11 +00:00
runtime Drop toy GC runtime. 2009-03-02 03:46:48 +00:00
test Teach getZeroExtendExpr and getSignExtendExpr to use trip-count 2009-04-27 20:16:15 +00:00
tools give bitstreamreader an API to ignore names for blocks/records, 2009-04-27 20:04:08 +00:00
unittests Add a new TypeBuilder helper class, which eases making LLVM IR types. 2009-04-25 22:14:04 +00:00
utils 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Update hand-crafted VC++ build. 2009-02-02 19:22:02 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Added notes pointing to the LLVM CMake documentation. 2009-04-04 22:52:02 +00:00
configure Support --with-llvmgccdir and friends in llvmc, take 2. 2009-04-21 19:46:10 +00:00
CREDITS.TXT Test commit access to LLVM with some minor narcissism. 2009-04-03 21:41:52 +00:00
LICENSE.TXT Another great year for LLVM! 2009-02-26 15:17:13 +00:00
llvm.spec.in
Makefile Use a bigger hammer to coerce subversion into english. 2009-04-24 17:00:03 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Add a --enable-profiling option to configure to build Debug+Profile and 2009-04-17 14:49:22 +00:00
Makefile.rules Support --with-llvmgccdir and friends in llvmc, take 2. 2009-04-21 19:46:10 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt README.txt: test commit w/blank line appended 2009-03-23 21:00:45 +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.