[libcxx] [clang] [flang] [compiler-rt] [llvm] [clang-tools-extra] [libcxxabi] [lldb] [mlir] [openmp] [MachineCopyPropagation] When the source of PreviousCopy is undef, we cannot replace sub register (PR #74682)
David Green via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 7 12:15:33 PST 2023
davemgreen wrote:
Hello. I think that if you removed undef from the first instruction the result would still be incorrect. With:
```
$x8 = ORRXrs $xzr, $x0, 0, implicit $w0
$w8 = ORRWrs $wzr, $w0, 0, implicit-def $x8
```
The second instruction will zero-extend the w0 register to x8. It would be OK to remove the first instruction (it is dead), it is not OK to remove the second if something is relying on the top bits being zero. I assume that's what goes wrong in your case? The top bits are not zero into the function?
https://github.com/llvm/llvm-project/pull/74682
More information about the cfe-commits
mailing list