[PATCH] D64650: Add a TargetMachineVerifier that runs along with the existing MachineVerifier

Daniel Sanders via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 12 16:53:44 PDT 2019


dsanders added a comment.

> In D64650#1583590 <https://reviews.llvm.org/D64650#1583590>, @arsenm wrote:
> 
>> Having it as an independent pass may be kind of annoying. Having verifier runs in -print-before-all/-print-after-all is annoying enough already, and this would double them
> 
> 
> The MachineVerifier itself is supposed to prevent it by calling PM->add() directly to add itself instead of going through addPass() but PM is private so I wasn't able to use the same method. Along the same lines the `false, false`
> in:
> 
>   addPass(createAArch64MachineVerifier(Banner), false, false);
> 
> 
> is supposed to prevent that. One of them prevents verifiers being added after the pass while the other prevents printers being added after the pass. Interestingly, TargetMachineVerifier successfully elides the printer on an older > branch but not on trunk, while MachineVerifier fails on both. I'll take a look.

It turns out the printing passes are added in two places and only one of them honours the printAfter argument to addPass(). https://reviews.llvm.org/D64681 is a quick hack that prevents the verifier triggering IR dumps


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64650/new/

https://reviews.llvm.org/D64650





More information about the llvm-commits mailing list