[llvm-commits] [llvm] r46497 - /llvm/trunk/test/Transforms/DeadStoreElimination/memcpy.ll
Chris Lattner
clattner at apple.com
Mon Jan 28 22:57:40 PST 2008
On Jan 28, 2008, at 10:40 PM, Owen Anderson wrote:
> Author: resistor
> Date: Tue Jan 29 00:40:32 2008
> New Revision: 46497
>
> URL: http://llvm.org/viewvc/llvm-project?rev=46497&view=rev
> Log:
> Add a testcase for eliminating memcpy's at the end of functions.
> Forgot to commit this with my last commit.
Nice, this is definitely progress. However, 'opt -dse' reduces this
testcase down to:
define void @_ada_placeholder() nounwind {
entry:
%an_interval = alloca %struct.placeholder__an_interval___PAD ; <
%struct.placeholder__an_interval___PAD*> [#uses=3]
%tmp34 = bitcast %struct.placeholder__an_interval___PAD* %an_interval
to %struct.placeholder__T5b* ; <%struct.placeholder__T5b*> [#uses=1]
%tmp5 = getelementptr %struct.placeholder__an_interval___PAD*
%an_interval, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
store i32 1, i32* %tmp5, align 8
%tmp10 = getelementptr %struct.placeholder__T5b* %tmp34, i32 0, i32
1, i32 0 ; <i32*> [#uses=1]
store i32 1, i32* %tmp10, align 4
%tmp183185 = bitcast %struct.placeholder__an_interval___PAD*
%an_interval to i8* ; <i8*> [#uses=0]
ret void
}
Why is DSE leaving around dead stores to the stack? :) Also, it seems
that DSE would eliminate the trivially dead bitcast at the end as well.
-Chris
More information about the llvm-commits
mailing list