Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

X86 make check has a bunch of machine verifier errors #27855

Closed
qcolombet opened this issue Apr 22, 2016 · 52 comments
Closed

X86 make check has a bunch of machine verifier errors #27855

qcolombet opened this issue Apr 22, 2016 · 52 comments
Labels
backend:X86 bugzilla Issues migrated from bugzilla

Comments

@qcolombet
Copy link
Collaborator

Bugzilla Link 27481
Resolution FIXED
Resolved on Sep 06, 2019 16:44
Version trunk
OS All
Depends On #38784 #38785 #38787 #38788 #38799 #38800 #22277 #32375 #37495 #37498 #37724 #37739 #38829
Blocks #31494
CC @topperc,@francisvm,@igor-breger,@ornata,@RKSimon,@MatzeB,@rnk,@spavloff,@rotateright

Extended Description

Switching the machine verifier ON by default (lib/CodeGen/Passes.cpp then change the default value of the cl::opt related to the machine verifier) leads to a bunch of machine verifier errors for make check:
LLVM :: CodeGen/X86/cleanuppad-inalloca.ll
LLVM :: CodeGen/X86/cmpxchg-clobber-flags.ll
LLVM :: CodeGen/X86/cxx_tlscc64.ll
LLVM :: CodeGen/X86/darwin-tls.ll
LLVM :: CodeGen/X86/fast-isel-nontemporal.ll
LLVM :: CodeGen/X86/i386-tlscall-fastregalloc.ll
LLVM :: CodeGen/X86/implicit-null-check.ll
LLVM :: CodeGen/X86/inalloca-ctor.ll
LLVM :: CodeGen/X86/inalloca-invoke.ll
LLVM :: CodeGen/X86/inalloca-regparm.ll
LLVM :: CodeGen/X86/inalloca-stdcall.ll
LLVM :: CodeGen/X86/inalloca.ll
LLVM :: CodeGen/X86/machine-sink-and-implicit-null-checks.ll
LLVM :: CodeGen/X86/musttail-indirect.ll
LLVM :: CodeGen/X86/musttail-thiscall.ll
LLVM :: CodeGen/X86/musttail-varargs.ll
LLVM :: CodeGen/X86/peephole-na-phys-copy-folding.ll
LLVM :: CodeGen/X86/pku.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/shrink-wrap-chkstk.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/stack-folding-fp-avx1.ll
LLVM :: CodeGen/X86/stack-folding-fp-sse42.ll
LLVM :: CodeGen/X86/tls-models.ll
LLVM :: CodeGen/X86/tlv-1.ll
LLVM :: CodeGen/X86/tlv-2.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/x32-function_pointer-1.ll
LLVM :: CodeGen/X86/x86-64-stack-and-frame-ptr.ll
LLVM :: CodeGen/X86/x86-interrupt_vzeroupper.ll
LLVM :: CodeGen/X86/x86-shrink-wrapping.ll

This may be latent bugs.

@qcolombet
Copy link
Collaborator Author

CodeGen/X86/cleanuppad-inalloca.ll is a fun one. The inalloca attribute says that the callee will make the alloca, but the caller will clean it.
We end up with the machine verifier complaining about a destroy frame before a setup frame and there is currently no way to tell the verifier that those bits are actually allocated by the callee. I think the proper fix is to add to the stackadjust down instruction an argument with the number of bytes that are push by the callee, similar to what we do with stackadjust up and the number of bytes pop by the callee.

That would take a bit of effort because currently the only requirement for the frame setup and frame destroy instructions is to haveone immediate operand. Thus, we need to update all the backends and lowering to make this two.

@qcolombet
Copy link
Collaborator Author

Fix test/CodeGen/X86/cmpxchg-clobber-flags.ll in r267623. (+ some preparatory patches in r267621 and r267622.)
We now generate better code, because we do not try to push/pop RAX if it is not live.

The problem was that we were saving a dead register and the verifier requires to have an undef flag to mark that we know we are reading an undef value.

@qcolombet
Copy link
Collaborator Author

Fixed CodeGen/X86/cxx_tlscc64.ll in r267797. We need to glue the callseq_end to the tlscall, otherwise the target independent code sets a dead flag on the result register whereas it is not dead. Indeed, the target independent code walks the chain of glue to find the users of physical registers.

@qcolombet
Copy link
Collaborator Author

Fixed CodeGen/X86/fast-isel-nontemporal.ll in r267806.

We were using the wrong register class for source of the non-temporal store: FR32 instead of FR128. This did not cause any problem because contain the same registers behind the scene.

@qcolombet
Copy link
Collaborator Author

Partially fixed test/CodeGen/X86/implicit-null-check.ll in r267817 and r268327.

The problems were respectively that we were missing to update the liveness properply and that we failed to mark FAULTING_LOAD_OP as potential branch instructions.

We still have machine verifier failures on that tests though.

@qcolombet
Copy link
Collaborator Author

Fixed the final problem with implicit-null-cheks.ll in r268412. When I fixed the liveness update, I did not take into account that load instructions might have implicit-defs as well.

@qcolombet
Copy link
Collaborator Author

Fixed x86-interrupt_vzeroupper.ll in r268983. This one was pretty bad because we basically ended up having the AVX512 registers as callee saved registers whereas the target was not using AVX512!!

@RKSimon
Copy link
Collaborator

RKSimon commented May 10, 2016

Fixed x86-interrupt_vzeroupper.ll in r268983. This one was pretty bad
because we basically ended up having the AVX512 registers as callee saved
registers whereas the target was not using AVX512!!

I think this fixes llvm/llvm-bugzilla-archive#26409 as well?

@qcolombet
Copy link
Collaborator Author

Fixed x86-interrupt_vzeroupper.ll in r268983. This one was pretty bad
because we basically ended up having the AVX512 registers as callee saved
registers whereas the target was not using AVX512!!

I think this fixes llvm/llvm-bugzilla-archive#26409 as well?

That may indeed be the case.
Could you double check, please?

@qcolombet
Copy link
Collaborator Author

Here is where we are now:
Failing Tests (10):
LLVM :: CodeGen/X86/inalloca-ctor.ll
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/pku.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/stack-folding-fp-avx1.ll
LLVM :: CodeGen/X86/stack-folding-fp-sse42.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll

(Plus the inalloca tests that I analyzed previously but did not fix.)

@RKSimon
Copy link
Collaborator

RKSimon commented Aug 8, 2016

LLVM :: CodeGen/X86/stack-folding-fp-avx1.ll
LLVM :: CodeGen/X86/stack-folding-fp-sse42.ll

A candidate fix for these is at: https://reviews.llvm.org/D23276

@RKSimon
Copy link
Collaborator

RKSimon commented Aug 9, 2016

The stack folding tests are now fixed. The remaining issues are:

Failing Tests (16):
LLVM :: CodeGen/X86/cleanuppad-inalloca.ll
LLVM :: CodeGen/X86/inalloca-ctor.ll
LLVM :: CodeGen/X86/inalloca-invoke.ll
LLVM :: CodeGen/X86/inalloca-regparm.ll
LLVM :: CodeGen/X86/inalloca-stdcall.ll
LLVM :: CodeGen/X86/inalloca.ll
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/musttail-indirect.ll
LLVM :: CodeGen/X86/musttail-thiscall.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/shrink-wrap-chkstk.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll

@RKSimon
Copy link
Collaborator

RKSimon commented Nov 12, 2016

Current failing tests:

LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/cleanuppad-inalloca.ll
LLVM :: CodeGen/X86/inalloca-ctor.ll
LLVM :: CodeGen/X86/inalloca-invoke.ll
LLVM :: CodeGen/X86/inalloca-regparm.ll
LLVM :: CodeGen/X86/inalloca-stdcall.ll
LLVM :: CodeGen/X86/inalloca.ll
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/musttail-indirect.ll
LLVM :: CodeGen/X86/musttail-thiscall.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/shrink-wrap-chkstk.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/sse-regcall.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir

@RKSimon
Copy link
Collaborator

RKSimon commented Mar 21, 2017

Failing Tests (19):
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/cleanuppad-inalloca.ll
LLVM :: CodeGen/X86/fast-isel-select-sse.ll
LLVM :: CodeGen/X86/inalloca-ctor.ll
LLVM :: CodeGen/X86/inalloca-invoke.ll
LLVM :: CodeGen/X86/inalloca-regparm.ll
LLVM :: CodeGen/X86/inalloca-stdcall.ll
LLVM :: CodeGen/X86/inalloca.ll
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/musttail-indirect.ll
LLVM :: CodeGen/X86/musttail-thiscall.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/shrink-wrap-chkstk.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir

@RKSimon
Copy link
Collaborator

RKSimon commented Mar 21, 2017

LLVM :: CodeGen/X86/fast-isel-select-sse.ll

Candidate Fix: https://reviews.llvm.org/D31200

@RKSimon
Copy link
Collaborator

RKSimon commented Mar 26, 2017

Fixed fast-isel-select-sse.ll by rL298805.

Failing Tests (18):
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/cleanuppad-inalloca.ll
LLVM :: CodeGen/X86/inalloca-ctor.ll
LLVM :: CodeGen/X86/inalloca-invoke.ll
LLVM :: CodeGen/X86/inalloca-regparm.ll
LLVM :: CodeGen/X86/inalloca-stdcall.ll
LLVM :: CodeGen/X86/inalloca.ll
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/musttail-indirect.ll
LLVM :: CodeGen/X86/musttail-thiscall.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/shrink-wrap-chkstk.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir

@qcolombet
Copy link
Collaborator Author

For the inalloca tests, we have a candidate fix by Serge Pavlov:
https://reviews.llvm.org/D32394

Reviewers needed!

@RKSimon
Copy link
Collaborator

RKSimon commented May 9, 2017

Serge's alloca fix landed at rL302527.

Failing Tests (9):
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/rtm.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir

@RKSimon
Copy link
Collaborator

RKSimon commented May 20, 2017

CC'ing Igor as he added the GlobalISel tests recently

Current failing tests:
LLVM :: CodeGen/X86/GlobalISel/ext.ll
LLVM :: CodeGen/X86/GlobalISel/select-trunc.mir
LLVM :: CodeGen/X86/GlobalISel/trunc.ll
LLVM :: CodeGen/X86/O0-pipeline.ll
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir
LLVM :: DebugInfo/MIR/X86/bit-piece-dh.mir

@igor-breger
Copy link
Collaborator

GlobalISel tests fixed in r303502.
Thanks for pointing it out to me!

@RKSimon
Copy link
Collaborator

RKSimon commented May 21, 2017

Thanks Igor.

Failing tests:

LLVM :: CodeGen/X86/O0-pipeline.ll
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir
LLVM :: DebugInfo/MIR/X86/bit-piece-dh.mir

@MatzeB
Copy link
Contributor

MatzeB commented May 31, 2017

r304320 enabled the machine verifier by default with EXPENSIVE_CHECKS. X86 is one of the targets excluded from this by overriding TargetMachine::isMachineVerifierClean() to return false.

Please remove the override when the target at least passes all lit tests without machine verifier failure.

@RKSimon
Copy link
Collaborator

RKSimon commented Sep 6, 2017

Updated list, as it's been a while:

Failing Tests (14):
LLVM :: CodeGen/Generic/zero-probability.mir
LLVM :: CodeGen/MIR/X86/diexpr-win32.mir
LLVM :: CodeGen/X86/O0-pipeline.ll
LLVM :: CodeGen/X86/avx512-regcall-NoMask.ll
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: CodeGen/X86/xray-multiplerets-in-blocks.mir
LLVM :: DebugInfo/MIR/X86/bit-piece-dh.mir
LLVM :: DebugInfo/MIR/X86/empty-inline.mir

@RKSimon
Copy link
Collaborator

RKSimon commented Jul 13, 2018

Failing Tests (24):
LLVM :: CodeGen/Generic/zero-probability.mir
LLVM :: CodeGen/X86/O0-pipeline.ll
LLVM :: CodeGen/X86/O3-pipeline.ll
LLVM :: CodeGen/X86/#37310 .mir
LLVM :: CodeGen/X86/avx512-regcall-NoMask.ll
LLVM :: CodeGen/X86/branch_instruction_and_target_split_perf_nops.mir
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/fentry-insertion.ll
LLVM :: CodeGen/X86/icall-branch-funnel.ll
LLVM :: CodeGen/X86/indirect-branch-tracking.ll
LLVM :: CodeGen/X86/local_stack_symbol_ordering.ll
LLVM :: CodeGen/X86/machine-outliner-disubprogram.ll
LLVM :: CodeGen/X86/machine-outliner-tailcalls.ll
LLVM :: CodeGen/X86/patchable-prologue.ll
LLVM :: CodeGen/X86/retpoline-regparm.ll
LLVM :: CodeGen/X86/retpoline.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/shadow-stack.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: DebugInfo/Generic/linear-dbg-value.ll
LLVM :: DebugInfo/X86/live-debug-vars-discard-invalid.mir

@RKSimon
Copy link
Collaborator

RKSimon commented Jul 13, 2018

@​jpaquette Any idea whats behind the machine outliner test failures?

e.g.
CodeGen\X86\machine-outliner-disubprogram.ll

After Machine Outliner

Machine code for function f1: NoPHIs, TracksLiveness, NoVRegs

Frame Objects:
fi#-1: size=8, align=16, fixed, at location [SP-8]
fi#0: size=4, align=4, at location [SP-12]
fi#1: size=4, align=4, at location [SP-20]
fi#2: size=4, align=4, at location [SP-16]

bb.0.entry:
frame-setup PUSH64r killed $rbp, implicit-def $rsp, implicit $rsp
CFI_INSTRUCTION def_cfa_offset 16
CFI_INSTRUCTION offset $rbp, -16
$rbp = frame-setup MOV64rr $rsp
CFI_INSTRUCTION def_cfa_register $rbp
$rsp = frame-setup SUB64ri8 $rsp, 12, implicit-def dead $eflags
CALL64pcrel32 @​OUTLINED_FUNCTION_1, implicit $rsp, implicit $ssp
$rsp = frame-destroy ADD64ri8 $rsp, 12, implicit-def dead $eflags, debug-location !​46; test.c:26:3
$rbp = frame-destroy POP64r implicit-def $rsp, implicit $rsp, debug-location !​46; test.c:26:3
RETQ implicit $eax, debug-location !​46; test.c:26:3

End machine code for function f1.

*** Bad machine code: Using an undefined physical register ***

  • function: f1
  • basic block: %bb.0 entry (0x1b5eec123b8)
  • instruction: RETQ implicit $eax, debug-location !​46; test.c:26:3
  • operand 0: implicit $eax
    LLVM ERROR: Found 1 machine code errors.

error: command failed with exit status: 1

@francisvm
Copy link
Collaborator

Possible fix: https://reviews.llvm.org/D49295

@francisvm
Copy link
Collaborator

Possible fix for the tail call outliner issue as well: https://reviews.llvm.org/D49299

@ornata
Copy link

ornata commented Jul 13, 2018

I think Francis' fixes should resolve the outliner failures once he lands them.

@RKSimon
Copy link
Collaborator

RKSimon commented Sep 27, 2018

Failing Tests (28):
LLVM :: CodeGen/Generic/zero-probability.mir
LLVM :: CodeGen/X86/O0-pipeline.ll
LLVM :: CodeGen/X86/O3-pipeline.ll
LLVM :: CodeGen/X86/#37310 .mir
LLVM :: CodeGen/X86/avx512-regcall-NoMask.ll
LLVM :: CodeGen/X86/branch_instruction_and_target_split_perf_nops.mir
LLVM :: CodeGen/X86/branchfolding-undef.mir
LLVM :: CodeGen/X86/code-model-elf-memset.ll
LLVM :: CodeGen/X86/code-model-elf.ll
LLVM :: CodeGen/X86/fentry-insertion.ll
LLVM :: CodeGen/X86/icall-branch-funnel.ll
LLVM :: CodeGen/X86/indirect-branch-tracking.ll
LLVM :: CodeGen/X86/large-pic-string.ll
LLVM :: CodeGen/X86/patchable-prologue.ll
LLVM :: CodeGen/X86/pr38795.ll
LLVM :: CodeGen/X86/retpoline-regparm.ll
LLVM :: CodeGen/X86/retpoline.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sibcall-2.ll
LLVM :: CodeGen/X86/sibcall.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/speculative-load-hardening-indirect.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll
LLVM :: DebugInfo/Generic/linear-dbg-value.ll
LLVM :: DebugInfo/X86/live-debug-vars-discard-invalid.mir
LLVM :: LTO/X86/codemodel-2.ll
LLVM :: ThinLTO/X86/cfi-devirt.ll
LLVM :: ThinLTO/X86/devirt-after-icp.ll

@rnk
Copy link
Collaborator

rnk commented Oct 24, 2018

After r345197 I see only 20 failures:

Failing Tests (20):
LLVM :: CodeGen/X86/O0-pipeline.ll
LLVM :: CodeGen/X86/O3-pipeline.ll
LLVM :: CodeGen/X86/#37310 .mir
LLVM :: CodeGen/X86/avx512-regcall-NoMask.ll
LLVM :: CodeGen/X86/branch_instruction_and_target_split_perf_nops.mir
LLVM :: CodeGen/X86/code-model-elf-memset.ll
LLVM :: CodeGen/X86/code-model-elf.ll
LLVM :: CodeGen/X86/fentry-insertion.ll
LLVM :: CodeGen/X86/icall-branch-funnel.ll
LLVM :: CodeGen/X86/indirect-branch-tracking.ll
LLVM :: CodeGen/X86/large-pic-string.ll
LLVM :: CodeGen/X86/memcmp-mergeexpand.ll
LLVM :: CodeGen/X86/patchable-prologue.ll
LLVM :: CodeGen/X86/pr38795.ll
LLVM :: CodeGen/X86/retpoline-regparm.ll
LLVM :: CodeGen/X86/retpoline.ll
LLVM :: CodeGen/X86/scheduler-backtracking.ll
LLVM :: CodeGen/X86/sjlj-eh.ll
LLVM :: CodeGen/X86/speculative-load-hardening-indirect.ll
LLVM :: CodeGen/X86/win_coreclr_chkstk.ll

And I have a fix for retpoline in flight:
https://reviews.llvm.org/D53653

Now that we're down to such a small number, maybe we should explicitly annotate just the failing tests as -verify-machineinstrs=0, and mark the x86 target as machine verifier clean to prevent regressions?

@rnk
Copy link
Collaborator

rnk commented Sep 6, 2019

Thanks!

  • Clang fix: r345591
  • LLVM fix + re-enable: r345593

Marking fixed.

Separately, I was wondering if maybe the machine verifier should be enabled somehow in +asserts builds, or controlled by some llc flag that's always set when lit calls llc, so that we get earlier detection of issues.

@RKSimon
Copy link
Collaborator

RKSimon commented Nov 26, 2021

mentioned in issue llvm/llvm-bugzilla-archive#30998

@fhahn
Copy link
Contributor

fhahn commented Nov 26, 2021

mentioned in issue #31494

@RKSimon
Copy link
Collaborator

RKSimon commented Nov 26, 2021

mentioned in issue #32375

@RKSimon
Copy link
Collaborator

RKSimon commented Nov 27, 2021

mentioned in issue #37495

@francisvm
Copy link
Collaborator

mentioned in issue #37498

@francisvm
Copy link
Collaborator

mentioned in issue #37724

@francisvm
Copy link
Collaborator

mentioned in issue #37739

@francisvm
Copy link
Collaborator

mentioned in issue #38784

@francisvm
Copy link
Collaborator

mentioned in issue #38785

@francisvm
Copy link
Collaborator

mentioned in issue #38788

@francisvm
Copy link
Collaborator

mentioned in issue #38787

@francisvm
Copy link
Collaborator

mentioned in issue #38800

@francisvm
Copy link
Collaborator

mentioned in issue #38799

@francisvm
Copy link
Collaborator

mentioned in issue #38829

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:X86 bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

8 participants