llvm-6502/lib/Transforms
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
..
Hello Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet. 2010-10-07 00:31:16 +00:00
InstCombine InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow. 2011-03-10 18:40:14 +00:00
Instrumentation Implementation of path profiling. 2011-01-29 01:09:53 +00:00
IPO These llvm.dbg.* constants are not used anymore. 2011-03-09 19:41:33 +00:00
Scalar Preserve line number information while simplifying libcalls. 2011-03-09 21:27:52 +00:00
Utils PR9420; an instruction before an unreachable is guaranteed not to have any 2011-03-09 00:48:33 +00:00
CMakeLists.txt Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Makefile Revert r100896 and around - this breaks the only mingw32 buildbot we have. 2010-04-15 19:51:42 +00:00