[PATCH] D78137: [RegBankSelect] Hide assertion failure from LLT::getScalarSizeInBits
Daniel Sanders via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 14 15:45:55 PDT 2020
dsanders accepted this revision.
dsanders added a comment.
This revision is now accepted and ready to land.
Thanks for fixing this. LGTM
> This eventually leads to an assert
> in AArch64RegisterBankInfo::getInstrMapping because there is some info
> missing from the DBG_VALUE MachineOperand (I see: `Assertion failed:
> (RawData != 0 && "Invalid Type"), function getScalarSizeInBits`).
Yes, most instructions get their constraints from the tablegen definitions. COPY is special as it gets it from whichever operand has already had a bank chosen. DBG_VALUE is also special as it genuinely doesn't have a constraint. It's happy to just go along with whatever the rest of the def/use chain decides.
I'm not sure why we haven't run into this before. Maybe the processing order just works out such that for real debug info we've already chosen a reg bank before we look at the DBG_VALUE's
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78137/new/
https://reviews.llvm.org/D78137
More information about the llvm-commits
mailing list