In these test updates for instruction referencing, I've added specific instruction-referencing modes, and kept the DBG_VALUE-based variable location check lines. This is because argument handling is really fiddly, and I figured it's worth duplicating the testing to ensure it's definitely correct. There's also (dbg-value-superreg-copy2.mir) a test for where variable locations go when virtual registers are coalesced together. I don't think there's an instruction referencing specific test for this, so figured that's worth duplicating too.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Hi Snow Rider 3D
Your help is much appreciated.
;; In instruction referencing mode, we should refer to the instruction number ;; of the earlier DBG_PHIs. ; INSTRREF: ADJCALLSTACKUP ; INSTRREF-NOT: DBG_ ; INSTRREF-DAG: DBG_INSTR_REF 1, 0, ![[S1]], !DIExpression(DW_OP_LLVM_fragment, 0, 64) ; INSTRREF-DAG: DBG_INSTR_REF 2, 0, ![[S1]], !DIExpression(DW_OP_LLVM_fragment, 64, 64) ; And then no more DBG_ instructions before the add. ; COMMON-NOT: DBG_ ; COMMON: ADD32rr