Lines Matching full:dxil

1 //===- DXILEmitter.cpp - DXIL operation Emitter ---------------------------===//
9 // DXILEmitter uses the descriptions of DXIL operation to construct enum and
10 // helper functions for DXIL operation.
31 using namespace llvm::dxil;
50 std::string OpName; // name of DXIL operation
51 int OpCode; // ID of DXIL operation
103 /// Construct an object using the DXIL Operation records specified
104 /// in DXIL.td. This serves as the single source of reference of
107 // \param R Object representing TableGen record of a DXIL Operation
149 // Sort records in ascending order of DXIL version
164 // Sort records in ascending order of DXIL version
174 // Sort records in ascending order of DXIL version
191 PrintFatalError(R, Twine("Unspecified DXIL OpClass for DXIL operation - ") +
239 /// predicated by DXIL Version. E.g.,
246 // a) to be supported in DXIL Version 1.0 and later
285 /// predicated by DXIL Version. E.g.,
323 /// Emit a list valid DXIL Version records
337 /// Emit a mapping of DXIL opcode to opname
347 /// Emit a list of DXIL op classes
356 /// Emit a list of DXIL op parameter types
366 /// Emit a list of DXIL op function attributes
385 /// Emit a table of bools denoting a DXIL op's function attributes
389 // A DXIL op can have multiple function attributes that are specific to a
390 // specific DXIL version and higher. AttrRecs models this by grouping the
403 OS << "DXIL_OP_ATTRIBUTES(dxil::OpCode::" << Op.OpName << ", ";
405 // These Attrs are the ones set for above DXIL version
424 /// Emit a list of DXIL op properties
433 /// Emit a list of DXIL op function types
440 OS << "DXIL_OP_FUNCTION_TYPE(dxil::OpCode::" << Op.OpName;
442 OS << ", dxil::OpParamType::" << Rec->getName();
451 /// Emit map of DXIL operation to LLVM or DirectX intrinsic
452 /// \param A vector of DXIL Ops
464 OS << "DXIL_OP_INTRINSIC(dxil::OpCode::" << Op.OpName
482 /// Emit the IntrinArgSelect type for DirectX intrinsic to DXIL Op lowering
495 /// Emit DXIL operation table
496 /// \param A vector of DXIL Ops
516 // Emit access function getOpcodeProperty() that embeds DXIL Operation table
518 OS << "static const OpCodeProperty *getOpCodeProperty(dxil::OpCode Op) "
524 OS << Prefix << " { dxil::OpCode::" << Op.OpName << ", "
535 OS << " // Op once all DXIL operations are added.\n";
549 OS << "static const char *getOpCodeName(dxil::OpCode Op) {\n\n";
582 // This gives the flexibility to just add add new stage records in DXIL.td, if
608 /// \param Records TableGen records of DXIL Operations defined in DXIL.td
613 // Get all DXIL Ops property records
647 static TableGen::Emitter::Opt X("gen-dxil-operation", emitDxilOperation,
648 "Generate DXIL operation information");