[PATCH] D18890: [AArch64] add SSA Load Store optimization pass
Jun Bum Lim via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 8 07:51:05 PDT 2016
junbuml added a comment.
The change specifically handle two consecutive loads / stores widening in SSA form. I'm not sure if this is a good motivating use case to add a new pass. Did you see any performance gain with this change?
================
Comment at: test/CodeGen/AArch64/ssa-ldst-opt.ll:9-13
@@ +8,7 @@
+ %ld.ptr1 = getelementptr i32, i32* %p1, i64 -19
+ %1 = load i32, i32* %ld.ptr1, align 4
+ %st.ptr1 = getelementptr i32, i32* %p2, i64 -11
+ store i32 %1, i32* %st.ptr1, align 4
+ %ld.ptr2 = getelementptr i32, i32* %p1, i64 -18
+ %2 = load i32, i32* %ld.ptr2, align 4
+ %st.ptr2 = getelementptr i32, i32* %p2, i64 -10
----------------
Merging the second load to the first load seems to be wrong without alias check between the second load and the first store.
http://reviews.llvm.org/D18890
More information about the llvm-commits
mailing list