llvm-project/llvm/test/DebugInfo/MIR/InstrRef
Jeremy Morse 8dda516b83 [DebugInfo][InstrRef] Avoid dropping fragment info during PHI elimination
InstrRefBasedLDV used to crash on the added test -- the exit block is not
in scope for the variable being propagated, but is still considered because
it contains an assignment. The failure-mode was vlocJoin ignoring
assign-only blocks and not updating DIExpressions, but pickVPHILoc would
still find a variable location for it. That led to DBG_VALUEs created with
the wrong fragment information.

Fix this by removing a filter inherited from VarLocBasedLDV: vlocJoin will
now consider assign-only blocks and will update their expressions.

Differential Revision: https://reviews.llvm.org/D114727
2021-11-30 11:32:31 +00:00
..
dbg-phi-subregister-location.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
dbg-phis-in-ldv.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
dbg-phis-merging-in-ldv.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
dbg-phis-with-loops.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
follow-spill-of-live-value.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
ignore-dbg-value-list.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
instr-ref-roundtrip.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
lit.local.cfg Limit debug instr-referencing tests to X86 2020-10-22 15:04:19 +01:00
livedebugvalues_instrref_tolocs.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
livedebugvalues_recover_clobbers.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
livedebugvalues_stackslot_subregs.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
livedebugvalues_subreg_substitutions.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
memory-operand-folding-tieddef.mir [DebugInfo] Follow up to ee3eee71e, x86 tests need an x86 triple 2021-10-25 16:43:50 +01:00
memory-operand-folding.mir [DebugInfo] Follow up to ee3eee71e, x86 tests need an x86 triple 2021-10-25 16:43:50 +01:00
memory-operand-load-folding.mir [DebugInfo] Follow up to ee3eee71e, x86 tests need an x86 triple 2021-10-25 16:43:50 +01:00
memory-operand-tracking.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
no-duplicates.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
no-metainstrs.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
out-of-scope-blocks.mir [DebugInfo][InstrRef] Avoid dropping fragment info during PHI elimination 2021-11-30 11:32:31 +00:00
phi-coalesce-subreg.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
phi-coalescing.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
phi-regallocd-to-stack.mir [DebugInfo][InstrRef][4/4] Support DBG_INSTR_REF through all backend passes 2021-07-08 16:42:24 +01:00
phi-through-regalloc.mir [DebugInfo][InstrRef][4/4] Support DBG_INSTR_REF through all backend passes 2021-07-08 16:42:24 +01:00
pick-vphi-in-shifting-loop.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
restore-clobber-with-indirectness.mir [DebugInfo][InstrRef] Preserve properties of restored variables 2021-11-29 21:57:24 +00:00
restore-to-rsp-crash.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
stack-coloring-dbg-phi.mir [DebugInfo][InstrRef] Avoid stack-slot-coloring changing codegen due to DI 2021-08-25 12:04:59 +01:00
substitusions-roundtrip.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
survives-livedebugvars.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
twoaddr-to-threeaddr-sub.mir [DebugInfo][InstrRef][1/4] Support transformations that widen values 2021-07-01 11:19:27 +01:00
win32-chkctk-modifies-esp.mir [DebugInfo][InstrRef] Cope with win32 calls changing SP in LiveDebugValues 2021-11-24 19:56:21 +00:00
x86-drop-compare-inst.mir [DebugInfo][InstrRef][4/4] Support DBG_INSTR_REF through all backend passes 2021-07-08 16:42:24 +01:00
x86-fixup-bw-inst-subreb.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
x86-fp-stackifier-drop-locations.mir [DebugInfo][InstrRef] Fix over-droppage of locations in X86FloatingPoint 2021-08-24 10:24:07 +01:00
x86-lea-fixup-2.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00
x86-lea-fixup.mir [X86] Update RET/LRET instruction to use the same naming convention as IRET (PR36876). NFC 2021-11-07 15:06:54 +00:00