[llvm] [PowerPC] Add phony subregisters to cover the high half of the VSX registers. (PR #94628)
Chen Zheng via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 15 19:08:05 PDT 2024
================
@@ -750,25 +750,21 @@ entry:
define <2 x double> @testDoubleImm1(<2 x double> %a, double %b) {
; CHECK-64-LABEL: testDoubleImm1:
; CHECK-64: # %bb.0: # %entry
-; CHECK-64-NEXT: # kill: def $f1 killed $f1 def $vsl1
----------------
chenzheng1030 wrote:
this looks like degradation.
```
> renamable $f1 = COPY $f1, implicit-def $vsl1
Identity copy: renamable $f1 = COPY $f1, implicit-def $vsl1
replace by: renamable $f1 = KILL $f1, implicit-def $vsl1
```
The `Kill` pseudo opcode is inserted from this register rewrite.
`Kill` can tell the later pass that the f1/vsl1 is killed before instruction `COPY`. See `VirtRegRewriter::handleIdentityCopy()`. I don't think adding phony registers for the high part of vsl1 should break this part.
https://github.com/llvm/llvm-project/pull/94628
More information about the llvm-commits
mailing list