[all-commits] [llvm/llvm-project] e7816f: [InlineSpiller] add assert about spills post termi...

Nick Desaulniers via All-commits all-commits at lists.llvm.org
Wed Jun 17 11:59:31 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e7816f263b14578e2d926d2ee2d32db21e6ae95b
      https://github.com/llvm/llvm-project/commit/e7816f263b14578e2d926d2ee2d32db21e6ae95b
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2020-06-17 (Wed, 17 Jun 2020)

  Changed paths:
    M llvm/lib/CodeGen/InlineSpiller.cpp

  Log Message:
  -----------
  [InlineSpiller] add assert about spills post terminators

Summary:
This invariant is being violated in the test case
https://reviews.llvm.org/D77849, related to the use of the relatively
new ability for callbr to have return values, and MachineBasicBlocks
with INLINEASM_BR terminators to emit live out register defs.

As noted in the comment, this triggers invariant violations in
MachineVerifier via `llc -verify-machineinstrs` or
`llc -verify-regalloc`, since only MachineInstrs that are terminators
are allowed to follow the first terminator.

https://reviews.llvm.org/D75098 may rework this very assertion if we're
spilling via a (proposed) TCOPY MachineInstr.

Reviewers: void, efriedma, arsenm

Reviewed By: efriedma

Subscribers: qcolombet, wdng, hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78166




More information about the All-commits mailing list