[PATCH] D127516: RegisterCoalescer: Fix verifier error when merging copy of undef
    Matthias Braun via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Jun 27 11:31:09 PDT 2022
    
    
  
MatzeB added inline comments.
================
Comment at: llvm/lib/CodeGen/RegisterCoalescer.cpp:1648
+  // copy introduced a live value.
+  if ((V && V->isPHIDef()) || (!V && !DstLI.liveAt(Idx) && !SrcLI.liveAt(Idx))) {
+    CopyMI->setDesc(TII->get(TargetOpcode::IMPLICIT_DEF));
----------------
- This `DstLI.liveAt(Idx)` can only really be true if we assign to a subregister, can't it? (Otherwise the fact that we are about to (re-)assign the register means that it wouldn't be alive immediately before the copy (except for degenerate cases where the source and destination register of the COPY is the same)...
- Can `SrcLI.liveAt(Idx)` ever be true? Don't we filter for that above in lines 1624-1636?
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127516/new/
https://reviews.llvm.org/D127516
    
    
More information about the llvm-commits
mailing list