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

Orlando Cazalet-Hyams via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 15 07:23:17 PST 2022


Orlando added inline comments.


================
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())
+
----------------
jmorse wrote:
> 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).
This is a good point. I think the importance of the changes to a loclist probably depend on the instructions linenos / relationship to stepping. I had similar thoughts and questions when working on SROA, which are explained in the large comment in D133296 that starts "We could use more precision".


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133320



More information about the llvm-commits mailing list