dotnet/llilc

Pass machine verifier checks

JosephTremoulet opened this issue · 0 comments

We should have some testing configurations that run the machine verifier, particularly for anywhere that we have custom lowerings. It can be enabled by setting -verify-machineinstrs in COMPlus_AltJitOptions. Looks like we currently have errors around GC_TRANSITION_RA, not sure if it stops at first error or if there are others (this was from a run of a hello world app with zap disabled):

*** Bad machine code: Missing mayStore flag ***
- function:    DomainNeutralILStubClass.IL_STUB_PInvoke
- basic block: BB#2  (0x7e60101700)
- instruction: GC_TRANSITION_RA
LLVM ERROR: Found 1 machine code errors.