Lines Matching refs:OpCode
148 dxil::OpCode OpCode; member
379 static FunctionType *getDXILOpFunctionType(dxil::OpCode OpCode, in getDXILOpFunctionType() argument
383 switch (OpCode) { in getDXILOpFunctionType()
384 #define DXIL_OP_FUNCTION_TYPE(OpCode, RetType, ...) \ in getDXILOpFunctionType() argument
385 case OpCode: \ in getDXILOpFunctionType()
415 constexpr static uint64_t computeSwitchEnum(dxil::OpCode OpCode, in computeSwitchEnum() argument
418 uint64_t OpCodePack = (uint64_t)OpCode; in computeSwitchEnum()
424 static dxil::Attributes getDXILAttributes(dxil::OpCode OpCode, in getDXILAttributes() argument
439 switch (computeSwitchEnum(OpCode, Version.Major, Version.Minor)) { in getDXILAttributes()
440 #define DXIL_OP_ATTRIBUTES(OpCode, VersionMajor, VersionMinor, ...) \ in getDXILAttributes() argument
441 case computeSwitchEnum(OpCode, VersionMajor, VersionMinor): { \ in getDXILAttributes()
454 static void setDXILAttributes(CallInst *CI, dxil::OpCode OpCode, in setDXILAttributes() argument
456 dxil::Attributes Attributes = getDXILAttributes(OpCode, DXILVersion); in setDXILAttributes()
487 static Error makeOpError(dxil::OpCode OpCode, Twine Msg) { in makeOpError() argument
489 Twine("Cannot create ") + getOpCodeName(OpCode) + " operation: " + Msg, in makeOpError()
493 Expected<CallInst *> DXILOpBuilder::tryCreateOp(dxil::OpCode OpCode, in tryCreateOp() argument
497 const OpCodeProperty *Prop = getOpCodeProperty(OpCode); in tryCreateOp()
502 return makeOpError(OpCode, "Op overloaded on unknown return type"); in tryCreateOp()
508 return makeOpError(OpCode, "Wrong number of arguments"); in tryCreateOp()
513 getDXILOpFunctionType(OpCode, M.getContext(), OverloadTy); in tryCreateOp()
518 return makeOpError(OpCode, Twine("No valid overloads for DXIL version ") + in tryCreateOp()
529 return makeOpError(OpCode, "Invalid overload type"); in tryCreateOp()
536 return makeOpError(OpCode, Twine("No valid stage for DXIL version ") + in tryCreateOp()
543 return makeOpError(OpCode, "Operation has been removed"); in tryCreateOp()
551 return makeOpError(OpCode, "Invalid stage"); in tryCreateOp()
558 OpArgs.push_back(IRB.getInt32(llvm::to_underlying(OpCode))); in tryCreateOp()
565 setDXILAttributes(CI, OpCode, DXILVersion); in tryCreateOp()
570 CallInst *DXILOpBuilder::createOp(dxil::OpCode OpCode, ArrayRef<Value *> Args, in createOp() argument
572 Expected<CallInst *> Result = tryCreateOp(OpCode, Args, Name, RetTy); in createOp()
609 const char *DXILOpBuilder::getOpCodeName(dxil::OpCode DXILOp) { in getOpCodeName()