[PATCH] D133320: [Assignment Tracking][23/*] Account for assignment tracking in SLP Vectorizer

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 13 03:16:43 PDT 2022


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

LGTM with one question.

> The test currently requires x86 - if anyone knows any command line options to tell opt to enable the vectorization in the test without the triple please let me know.

I suspect there are numerous target hooks that have to be called to determine whether or not the vectorization is profitable, chances of getting a fully generic test that works is low.



================
Comment at: llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll:28-29
+; CHECK: call void @llvm.dbg.assign(metadata float undef, metadata ![[VAR]], metadata !DIExpression(DW_OP_LLVM_fragment, 64, 32), metadata ![[ID]], metadata float* %arrayidx7, metadata !DIExpression())
+; CHECK: store <4 x float> {{.*}} !DIAssignID ![[ID]]
+; CHECK: call void @llvm.dbg.assign(metadata float undef, metadata ![[VAR]], metadata !DIExpression(DW_OP_LLVM_fragment, 96, 32), metadata ![[ID]], metadata float* %arrayidx10, metadata !DIExpression())
+
----------------
This raises the tantalising question of why the store goes in the middle of the dbg.assigns, and whether that's going to mean we generate a different location list.

(Not a big deal IMO).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133320/new/

https://reviews.llvm.org/D133320



More information about the llvm-commits mailing list