llvm-6502/lib
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
..
Analysis Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information. 2011-03-10 00:21:25 +00:00
Archive
AsmParser
Bitcode
CodeGen Add an option to disable critical edge splitting in PHIElimination. 2011-03-10 05:59:17 +00:00
CompilerDriver
ExecutionEngine
Linker
MC Add constructors to MCElfStreamer and MCObjectStreamer to take an extra MCAssembler * argument. 2011-03-09 17:33:05 +00:00
Object
Support Add r127409 back now that the windows file was updated. 2011-03-10 18:33:29 +00:00
Target PTX: Add preliminary support for floating-point divide and multiply-and-add 2011-03-10 16:57:18 +00:00
Transforms InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow. 2011-03-10 18:40:14 +00:00
VMCore Unbreak the CMake build. 2011-03-10 00:51:01 +00:00
CMakeLists.txt
Makefile