File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -325,7 +325,7 @@ class ArgI8<DXILConstant value_> : Arg {
325
325
let is_i8 = 1;
326
326
}
327
327
328
- class IntrinsicSelect<Intrinsic intrinsic_, list<Arg> args_=? > {
328
+ class IntrinsicSelect<Intrinsic intrinsic_, list<Arg> args_> {
329
329
Intrinsic intrinsic = intrinsic_;
330
330
list<Arg> args = args_;
331
331
}
Original file line number Diff line number Diff line change @@ -209,13 +209,23 @@ DXILOperationDesc::DXILOperationDesc(const Record *R) {
209
209
bool IsI8 = Arg->getValueAsBit (" is_i8" );
210
210
bool IsI32 = Arg->getValueAsBit (" is_i32" );
211
211
int Index = Arg->getValueAsInt (" index" );
212
- const Record *ValueRec = Arg->getValueAsDef (" value" );
212
+ const Record *ValueRec = Arg->getValueAsOptionalDef (" value" );
213
213
214
214
DXILArgSelect ArgSelect;
215
215
if (IsI8) {
216
+ if (!ValueRec) {
217
+ PrintFatalError (R, Twine (" 'value' must be defined for i8 "
218
+ " ArgSelect for DXIL operation - " ) +
219
+ OpName);
220
+ }
216
221
ArgSelect.Type = DXILArgSelect::Type::I8;
217
222
ArgSelect.Value = ValueRec->getValueAsInt (" value" );
218
223
} else if (IsI32) {
224
+ if (!ValueRec) {
225
+ PrintFatalError (R, Twine (" 'value' must be defined for i32 "
226
+ " ArgSelect for DXIL operation - " ) +
227
+ OpName);
228
+ }
219
229
ArgSelect.Type = DXILArgSelect::Type::I32;
220
230
ArgSelect.Value = ValueRec->getValueAsInt (" value" );
221
231
} else {
You can’t perform that action at this time.
0 commit comments