diff options
author | Karthik Bhat <kv.bhat@samsung.com> | 2015-08-14 04:17:23 +0000 |
---|---|---|
committer | Karthik Bhat <kv.bhat@samsung.com> | 2015-08-14 04:17:23 +0000 |
commit | ddc2a86a000ca47edf80dd4dbeed119bd44ea606 (patch) | |
tree | 8bcf5f0d0b67bd02495c1fcfa30cdd4ab45823b7 /llvm/lib/Analysis/CodeMetrics.cpp | |
parent | d541e7304fcb23040403a7345e09069e2c424611 (diff) | |
download | bcm5719-llvm-ddc2a86a000ca47edf80dd4dbeed119bd44ea606.tar.gz bcm5719-llvm-ddc2a86a000ca47edf80dd4dbeed119bd44ea606.zip |
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
Diffstat (limited to 'llvm/lib/Analysis/CodeMetrics.cpp')
0 files changed, 0 insertions, 0 deletions