if (DefaultAction != DefaultActions.end() && DefaultAction->second == Legal)
return std::make_pair(Legal, Ty);
- assert(DefaultAction->second == NarrowScalar && "unexpected default");
+ if (DefaultAction == DefaultActions.end() ||
+ DefaultAction->second != NarrowScalar)
+ return std::make_pair(Unsupported, LLT());
return findLegalAction(Aspect, NarrowScalar);
}
define void @sequence_mapping([2 x i64] %in) {
ret void
}
+
+ ; Legalizer was asserting when it enountered an unexpected default action.
+; FALLBACK-WITH-REPORT-ERR: warning: Instruction selection used fallback path for legal_default
+; FALLBACK-WITH-REPORT-LABEL: legal_default:
+define void @legal_default(i64 %in) {
+ insertvalue [2 x i64] undef, i64 %in, 0
+ ret void
+}