[PATCH] D62028: [DebugInfo][AArch64] Recognise target specific instruction as mov instr

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 16 13:27:34 PDT 2019


avl created this revision.
avl added reviewers: efriedma, SjoerdMeijer, aprantl, dblaikie.
Herald added subscribers: hiraditya, kristof.beyls, javed.absar.
Herald added a project: LLVM.

This fix is for the problem from https://bugs.llvm.org/show_bug.cgi?id=38714.
Specifically, Simple Register Coalescing creates following conversion :

      
  undef %0.sub_32:gpr64 = ORRWrs $wzr, %3:gpr32common, 0, debug-location !24;
      

It copies 32-bit value from gpr32 into gpr64. But Live DEBUG_VALUE analysis
is not able to create debug location record for that instruction. So the problem
is in that debug location for argc variable is incorrect. The fix is
to write custom isCopyInstrImpl() which would recognize the ORRWrs instr.


https://reviews.llvm.org/D62028

Files:
  llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
  llvm/lib/Target/AArch64/AArch64InstrInfo.h
  llvm/test/CodeGen/AArch64/aarch64-mov-debug-locs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62028.199887.patch
Type: text/x-patch
Size: 8492 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190516/be284dc7/attachment.bin>


More information about the llvm-commits mailing list