LLVM backend for 6502
Go to file
Benjamin Kramer 6b96fe7e14 InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow.
This happens a lot in clang-compiled C++ code because it adds overflow checks to operator new[]:
  unsigned *foo(unsigned n) { return new unsigned[n]; }
We can optimize away the overflow check on 64 bit targets because (uint64_t)n*4 cannot overflow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127418 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-10 18:40:14 +00:00
autoconf Missing file from previous commmit (127341) for InitializeTargetAsmParser function. 2011-03-09 18:36:40 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake Process some link components that map to other expandable components 2011-03-09 14:44:46 +00:00
docs rip out llvm 2.8 release notes to make room for llvm 2.9 notes. 2011-03-10 07:43:44 +00:00
examples Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
include Add r127409 back now that the windows file was updated. 2011-03-10 18:33:29 +00:00
lib InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow. 2011-03-10 18:40:14 +00:00
projects Regen configure 2010-12-12 21:42:01 +00:00
runtime Implementation of path profiling. 2011-01-29 01:09:53 +00:00
test InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow. 2011-03-10 18:40:14 +00:00
tools Add a special streamer to libLTO that just records symbols definitions and 2011-03-02 04:14:42 +00:00
unittests Fixes warnings emitted by Visual Studio 2010 compiler. 2011-03-01 23:11:57 +00:00
utils Stop building PPC parts on OSX. Radar 8637926. 2011-03-08 19:28:28 +00:00
website
.gitignore Cleanup and document .gitignore. 2010-12-17 17:22:50 +00:00
build-for-llvm-top.sh
CMakeLists.txt Change the next release number to 3.0svn. 2011-03-08 03:00:02 +00:00
configure Add InitializeNativeAsmParser function. 2011-03-09 17:25:46 +00:00
CREDITS.TXT Another git svn dcommit test. This time let's hope it doesn't kill my repo. 2010-12-10 14:45:10 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
Makefile.common
Makefile.config.in autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
Makefile.rules Makefile.rules: [PR2928] "make install" may install include files along explicit pattern, not to install CMake's building stuff. 2011-03-09 09:11:27 +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 Test commit. 2011-02-11 19:11:57 +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.