1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/lib/Transforms
Karthik Bhat b20d3957b6 Add support for cross block dse.
This patch enables dead stroe elimination across basicblocks.

Example:
define void @test_02(i32 %N) {
  %1 = alloca i32
  store i32 %N, i32* %1
  store i32 10, i32* @x
  %2 = load i32, i32* %1
  %3 = icmp ne i32 %2, 0
  br i1 %3, label %4, label %5

; <label>:4
  store i32 5, i32* @x
  br label %7

; <label>:5
  %6 = load i32, i32* @x
  store i32 %6, i32* @y
  br label %7

; <label>:7
  store i32 15, i32* @x
  ret void
}
In the above example dead store "store i32 5, i32* @x" is now eliminated.

Differential Revision: http://reviews.llvm.org/D11143

llvm-svn: 245025
2015-08-14 04:17:23 +00:00
..
Hello Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstCombine [InstCombinePHI] Partial simplification of identity operations. 2015-08-13 12:38:58 +00:00
Instrumentation [libFuzzer] don't crash if the condition in a switch has unusual type (e.g. i72) 2015-08-11 00:24:39 +00:00
IPO [PM/AA] Extract the interface for GlobalsModRef into a header along with 2015-08-14 03:48:20 +00:00
ObjCARC [PM/AA] Run clang-format over the ObjCARC Alias Analysis code to 2015-08-14 03:57:00 +00:00
Scalar Add support for cross block dse. 2015-08-14 04:17:23 +00:00
Utils [SimplifyLibCalls] Correctly set the is_zero_undef flag for llvm.cttz 2015-08-13 20:34:26 +00:00
Vectorize [PM/AA] Explicitly depend on TLI rather than getting it out of the 2015-08-12 18:06:08 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile