[PATCH] D97054: [MachineVerifier] Confirm that both ends of a tied def/use are live together
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 19 08:13:18 PST 2021
reames added a comment.
Realized I'd only run the X86 tests. Went and ran all targets, and hit some failures on AMDGPU and SystemZ.
Failed Tests (8):
LLVM :: CodeGen/AMDGPU/GlobalISel/insertelement.ll
LLVM :: CodeGen/AMDGPU/indirect-addressing-si.ll
LLVM :: CodeGen/AMDGPU/insert_vector_dynelt.ll
LLVM :: CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
LLVM :: CodeGen/AMDGPU/r600.global_atomics.ll
LLVM :: CodeGen/SystemZ/asm-18.ll
LLVM :: CodeGen/SystemZ/fold-memory-op-impl.ll
LLVM :: CodeGen/SystemZ/int-cmp-44.ll
I think I'm going to need some input from someone knowledgeable of these backends. As an example, the SystemZ/int-cmp-44.ll failure looks like this:
- Bad machine code: tied def w/o use in same live range ***
- function: f19
- basic block: %bb.0 entry (0x560f21608b18) [0B;112B)
- instruction: 48B %0:gr64bit = RISBG $noreg(tied-def 0), %2:gr64bit, 0, 190, 0, implicit-def dead $cc
- liverange: [48r,160r:0) 0 at 48r
- v. register: %0
- ValNo: 0 (def 48r)
That looks like an invalid use of tied defs to me, but is there something I'm missing here?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97054/new/
https://reviews.llvm.org/D97054
More information about the llvm-commits
mailing list