[llvm] [MachineLICM] Rematerialize instructions that may be hoisted before LICM (PR #158479)
    Philip Reames via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Sep 23 08:20:58 PDT 2025
    
    
  
preames wrote:
Just to follow up on a point of confusion upthread.  Rematerialization during register allocation (i.e. splitting and spilling) may duplicate instructions to their uses.  This was said above, but there seemed to be a misunderstanding that the original instruction would survive.  If *all* uses of the original instruction are rematerialized (not guaranteed if e.g. we split a live interval), then the original instruction would become dead, and should be deleted.  
I'll note that the rematerialization heuristics are very delicate, and have lots of subtle interactions w/ flags such as CheapAsAMove.  
https://github.com/llvm/llvm-project/pull/158479
    
    
More information about the llvm-commits
mailing list