[Greedy RA] Add a check to MachineVerifier
authorSerguei Katkov <serguei.katkov@azul.com>
Tue, 13 Apr 2021 10:31:23 +0000 (17:31 +0700)
committerSerguei Katkov <serguei.katkov@azul.com>
Mon, 19 Apr 2021 05:31:18 +0000 (12:31 +0700)
commit61d22f2e4e916cdb01fd57d9145a25a5f30cc780
tree07f5913c80773e43ccb2bf291432e2ec79bd4473
parent35e95c68176d599780c3907afe6c0c4c5162672f
[Greedy RA] Add a check to MachineVerifier

If Virtual Register is alive in landing pad its def must be
before the call causing the exception or it should be statepoint instruction itself and
in this case def actually means the relocation of gc pointer and is alive in
landing pad.

The test shows the triggering this check for an option under development
use-registers-for-gc-values-in-landing-pad which is off by default until
it is functionally correct.

Reviewers: reames, void, jyknight, nickdesaulniers, efriedma, arsenm, rnk
Reviewed By: rnk
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D100525
llvm/lib/CodeGen/MachineVerifier.cpp
llvm/test/CodeGen/X86/statepoint-invoke-ra1.ll [new file with mode: 0644]