[PATCH] D139565: [IR] add new callbrpad instruction

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 7 15:20:25 PST 2022


nickdesaulniers added a comment.

In D139565#3979659 <https://reviews.llvm.org/D139565#3979659>, @nickdesaulniers wrote:

> we'd need either ... or multiple defs of the same virt reg, which I _think_ MIR might actually support.

I tried this quickly (via `llc -stop-after=finalize-isel; <hand modify mir>; llc -start-after=finalize-isel;`. Looks like this triggers an assertion immediately:
-mtriple=aarch64:

> AArch64StackTaggingPreRA::runOnMachineFunction(llvm::MachineFunction &): Assertion `MRI->isSSA()' failed.

-mtriple=x86_64:

> MachineFunctionProperties required by Machine Common Subexpression Elimination pass are not met by function test5.

So it's not legal for selectiondag to produce multiple definitions of the same virt reg on different paths. (I guess I'm not really sure why `MachineInstr::defs()` returns an iterator then, implying there's possibly more than one def of a virtreg).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139565



More information about the llvm-commits mailing list