[PATCH] D108691: [PowerPC] Propagate undef from MMA assemble
Qiu Chaofan via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 29 05:44:02 PDT 2021
qiucf added inline comments.
================
Comment at: llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll:4
; RUN: -mcpu=pwr10 -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names < %s \
-; RUN: | FileCheck %s
+; RUN: -ppc-track-subreg-liveness | FileCheck %s
----------------
lkail wrote:
> I don't quite understand you both add a new option and change the IR. The IR is legal and if adding this new option leads to a crash, I think we should seek the reason behind it. Changing IR might be a workaround, but not addressing the root cause.
I manually skipped removing `xxmtacc-xxmfacc` in pre-emit peephole, which satisfies machine verifier.
```
bb.0.dmblvi_entry:
renamable $vsl3 = XXLXORz
renamable $vsl0 = XXLXORz
renamable $acc0 = XXMTACC killed renamable $acc0(tied-def 0)
renamable $acc0 = XXMFACC killed renamable $acc0(tied-def 0)
STXV killed renamable $vsl1, 0, $zero8 :: (store (s128) into `<16 x i8>* null`, align 1)
```
Here `stxv` is not error because `acc0` is partially defined. Is that an expected state?
Anyway, here `vsl1` is undefined, so it should be removed as if it's `stxv undef, ...` if we can track its state.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108691/new/
https://reviews.llvm.org/D108691
More information about the llvm-commits
mailing list