[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