[PATCH] D106879: GlobalISel: Fix infinite loop in legalization artifact combiner
Petar Avramovic via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 28 08:17:43 PDT 2021
Petar.Avramovic added inline comments.
================
Comment at: llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir:115-116
+ ; GFX10: [[INSERT:%[0-9]+]]:_(<2 x s32>) = G_INSERT [[BUILD_VECTOR]], [[EXTRACT]](s32), 32
+ ; GFX10: %dbg_use:_(s32), %11:_(s32) = G_UNMERGE_VALUES [[INSERT]](<2 x s32>)
+ ; GFX10: DBG_VALUE [[EXTRACT1]](s32), $noreg, <0xb6ade0>, !DIExpression(), debug-location !DILocation(line: 1, column: 1, scope: <0xb6aa70>)
+ ; GFX10: G_STORE [[EXTRACT1]](s32), [[COPY]](p5) :: (store (s32), align 8, addrspace 5)
----------------
With use_nodbg_empty, this will look like DBG_VALUE %dbg_use(s32) because we skip combine (replace register with found value). It also seems wrong to mark register as dead in that case. Should we treat DBG instrs in special way in this combine?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106879/new/
https://reviews.llvm.org/D106879
More information about the llvm-commits
mailing list