[all-commits] [llvm/llvm-project] 0e96d9: [DebugInfo][InstrRef] Accept register-reads after ...
    Jeremy Morse via All-commits 
    all-commits at lists.llvm.org
       
    Fri Mar  4 09:01:36 PST 2022
    
    
  
  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3
      https://github.com/llvm/llvm-project/commit/0e96d95d13d9f7b2a96bcaa569ce0a0181a6c7f3
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2022-03-04 (Fri, 04 Mar 2022)
  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp
    A llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll
  Log Message:
  -----------
  [DebugInfo][InstrRef] Accept register-reads after isel in any block
When lowering LLVM-IR to instruction referencing stuff, if a value is
defined by a COPY, we try and follow the register definitions back to where
the value was defined, and build an instruction reference to that
instruction. In a few scenarios (such as arguments), this isn't possible.
I added some assertions to catch cases that weren't explicitly whitelisted.
Over the course of a few months, several more scenarios have cropped up,
the lastest is the llvm.read_register intrinsic, which lets LLVM-IR read an
arbitary register at any point. In the face of this, there's little point
in validating whether debug-info reads a register in an expected scenario.
Thus: this patch just deletes those assertions, and adds a regression test
to check that something is done with the llvm.read_register intrinsic.
Fixes #54190
Differential Revision: https://reviews.llvm.org/D121001
    
    
More information about the All-commits
mailing list