LLVM backend for 6502
Go to file
Dan Gohman 81b28ceab6 Improve instcombine's handling of integer min and max in two ways:
- Recognize expressions like "x > -1 ? x : 0" as min/max and turn them
   into expressions like "x < 0 ? 0 : x", which is easily recognizable
   as a min/max operation.
 - Refrain from folding expression like "y/2 < 1" to "y < 2" when the
   comparison is being used as part of a min or max idiom, like
   "y/2 < 1 ? 1 : y/2". In that case, the division has another use, so
   folding doesn't eliminate it, and obfuscates the min/max, making it
   harder to recognize as a min/max operation.

These benefit ScalarEvolution, CodeGen, and anything else that wants to
recognize integer min and max.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56246 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16 18:46:06 +00:00
autoconf Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
bindings PR2731: C and Ocaml bindings for setTailCall and isTailCall. 2008-08-30 16:34:54 +00:00
docs Fix documentation for these functions; they do not only modify users within the 2008-09-15 06:31:52 +00:00
examples Switch the asmprinter (.ll) and all the stuff it requires over to 2008-08-23 22:23:09 +00:00
include FCmpInst predicates UNO, ORD, FALSE, and TRUE are commutative. 2008-09-16 16:44:00 +00:00
lib Improve instcombine's handling of integer min and max in two ways: 2008-09-16 18:46:06 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime
test Improve instcombine's handling of integer min and max in two ways: 2008-09-16 18:46:06 +00:00
tools End of the GlobalsModRef experiment. 2008-09-15 18:42:38 +00:00
utils Extract optimization pass selection code from llvm-gcc into a separate routine. 2008-09-15 21:13:42 +00:00
website
win32 Update VC++ project files. 2008-09-09 11:38:37 +00:00
Xcode
build-for-llvm-top.sh
configure Enable -fvisibility-inlines-hidden by default for compilers which 2008-08-30 01:16:19 +00:00
CREDITS.TXT Add another description to my entry. 2008-08-28 23:16:37 +00:00
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
Makefile.rules Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
ModuleInfo.txt
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.