[PATCH] D17098: [AArch64] analyse dependences of ldp/stp

Chad Rosier via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 7 10:26:26 PST 2016


mcrosier accepted this revision.
mcrosier added a comment.
This revision is now accepted and ready to land.

LGTM, assuming there are no correctness issues.

Please only commit the st2 test as the other tests are either not related to the patch our are redundant with st2.  Also, the test can be included in arm64-stp-aa.ll, rather than creating a new file.


================
Comment at: llvm/test/CodeGen/AArch64/ldst-pairing.ll:8
@@ +7,3 @@
+; CHECK: stp
+define void @st1(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, <4 x float> * %base, i64 %index) {
+entry:
----------------
This tests the most basic pairing capabilities and is not relevant to the patch at hand (i.e., this passes without this patch).

================
Comment at: llvm/test/CodeGen/AArch64/ldst-pairing.ll:30
@@ +29,3 @@
+; CHECK: stp
+define void @st2(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, float* %base, i64 %index) {
+entry:
----------------
This is the most relevant test to the commit.  To properly test the patch the pre-RA MI scheduler must be disabled (-enable-misched=false) and D17097 must also be applied.

================
Comment at: llvm/test/CodeGen/AArch64/ldst-pairing.ll:62
@@ +61,3 @@
+; CHECK: stp
+define void @st3(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, <4 x float> * %base, i64 %index) {
+entry:
----------------
Same story at st1.  This tests the most basic pairing capabilities and is not relevant to the patch at hand (i.e., this passes without this patch).	

================
Comment at: llvm/test/CodeGen/AArch64/ldst-pairing.ll:81
@@ +80,3 @@
+; CHECK: stp
+define void @st4(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, <4 x float> * %base, i64 %index) {
+entry:
----------------
This is redundant and not needed.

================
Comment at: llvm/test/CodeGen/AArch64/ldst-pairing.ll:103
@@ +102,3 @@
+; CHECK: stp
+define void @st5(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, <4 x float> * %base, i64 %index) {
+entry:
----------------
This test is not relevant to this patch.  It can be committed separately with a FIXME comment in AArch64LoadStoreOptimizer.cpp.


http://reviews.llvm.org/D17098





More information about the llvm-commits mailing list