[Openmp-commits] [mlir] [lldb] [openmp] [llvm] [clang] [libcxxabi] [compiler-rt] [clang-tools-extra] [flang] [libcxx] [MachineCopyPropagation] When the source of PreviousCopy is undef, we cannot replace sub register (PR #74682)
    David Green via Openmp-commits 
    openmp-commits at lists.llvm.org
       
    Mon Dec 11 07:08:39 PST 2023
    
    
  
davemgreen wrote:
I don't believe the undef is the issue - I think the issue is that AArch64InstrInfo::isCopyInstrImpl is saying that a W-reg orr is a copy, even if it is really a zextend because the entire X output register is depended upon.
Can you try and add something to isCopyInstImpl instead, that says: If the register is virtual then it should not be a subreg, and if the register is physical then there should not be an implicit def of the X reg. Would that solve your issue, and would it cause other problems in AArch64 codegen? Thanks
https://github.com/llvm/llvm-project/pull/74682
    
    
More information about the Openmp-commits
mailing list