GlobalISel: Assert on invalid bitcast in MIRBuilder

The other casts validate, so this should too.
This commit is contained in:
Matt Arsenault 2020-01-28 16:09:12 -05:00
parent 752e2e245a
commit f717483acd
1 changed files with 7 additions and 0 deletions

View File

@ -1013,6 +1013,13 @@ MachineInstrBuilder MachineIRBuilder::buildInstr(unsigned Opc,
SrcOps[0].getLLTTy(*getMRI()), false);
break;
}
case TargetOpcode::G_BITCAST: {
assert(DstOps.size() == 1 && "Invalid Dst");
assert(SrcOps.size() == 1 && "Invalid Srcs");
assert(DstOps[0].getLLTTy(*getMRI()).getSizeInBits() ==
SrcOps[0].getLLTTy(*getMRI()).getSizeInBits() && "invalid bitcast");
break;
}
case TargetOpcode::COPY:
assert(DstOps.size() == 1 && "Invalid Dst");
// If the caller wants to add a subreg source it has to be done separately