LLVM 20.0.0git
Macros | Functions | Variables
DXILOpLowering.cpp File Reference
#include "DXILOpLowering.h"
#include "DXILConstants.h"
#include "DXILIntrinsicExpansion.h"
#include "DXILOpBuilder.h"
#include "DXILResourceAnalysis.h"
#include "DXILShaderFlags.h"
#include "DirectX.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/DXILMetadataAnalysis.h"
#include "llvm/Analysis/DXILResource.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsDirectX.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/ErrorHandling.h"
#include "DXILOperation.inc"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "dxil-op-lower"
 
#define DXIL_OP_INTRINSIC_ARG_SELECT_TYPE(name)   name,
 
#define DXIL_OP_INTRINSIC(OpCode, Intrin, ...)
 

Functions

static bool isVectorArgExpansion (Function &F)
 
static SmallVector< Value * > populateOperands (Value *Arg, IRBuilder<> &Builder)
 
static SmallVector< Value * > argVectorFlatten (CallInst *Orig, IRBuilder<> &Builder)
 
 INITIALIZE_PASS_BEGIN (DXILOpLoweringLegacy, DEBUG_TYPE, "DXIL Op Lowering", false, false) INITIALIZE_PASS_END(DXILOpLoweringLegacy
 

Variables

 DEBUG_TYPE
 
DXIL Op Lowering
 
DXIL Op false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dxil-op-lower"

Definition at line 32 of file DXILOpLowering.cpp.

◆ DXIL_OP_INTRINSIC

#define DXIL_OP_INTRINSIC (   OpCode,
  Intrin,
  ... 
)
Value:
case Intrin: \
HasErrors |= replaceFunctionWithOp( \
F, OpCode, ArrayRef<IntrinArgSelect>{__VA_ARGS__}); \
break;
#define F(x, y, z)
Definition: MD5.cpp:55
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition: ArrayRef.h:41

◆ DXIL_OP_INTRINSIC_ARG_SELECT_TYPE

#define DXIL_OP_INTRINSIC_ARG_SELECT_TYPE (   name)    name,

Definition at line 116 of file DXILOpLowering.cpp.

Function Documentation

◆ argVectorFlatten()

static SmallVector< Value * > argVectorFlatten ( CallInst Orig,
IRBuilder<> &  Builder 
)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILOpLoweringLegacy  ,
DEBUG_TYPE  ,
"DXIL Op Lowering"  ,
false  ,
false   
)

◆ isVectorArgExpansion()

static bool isVectorArgExpansion ( Function F)
static

Definition at line 37 of file DXILOpLowering.cpp.

References F.

◆ populateOperands()

static SmallVector< Value * > populateOperands ( Value Arg,
IRBuilder<> &  Builder 
)
static

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 806 of file DXILOpLowering.cpp.

◆ false

DXIL Op false

Definition at line 806 of file DXILOpLowering.cpp.

◆ Lowering

DXIL Op Lowering

Definition at line 806 of file DXILOpLowering.cpp.