LLVM 20.0.0git
Macros | Functions | Variables
DXILOpLowering.cpp File Reference
#include "DXILConstants.h"
#include "DXILIntrinsicExpansion.h"
#include "DXILOpBuilder.h"
#include "DirectX.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsDirectX.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.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(OpCode, Intrin)
 

Functions

static bool isVectorArgExpansion (Function &F)
 
static SmallVector< Value * > populateOperands (Value *Arg, IRBuilder<> &Builder)
 
static SmallVector< Value * > argVectorFlatten (CallInst *Orig, IRBuilder<> &Builder)
 
static void lowerIntrinsic (dxil::OpCode DXILOp, Function &F, Module &M)
 
static bool lowerIntrinsics (Module &M)
 
 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 29 of file DXILOpLowering.cpp.

◆ DXIL_OP_INTRINSIC

#define DXIL_OP_INTRINSIC (   OpCode,
  Intrin 
)
Value:
case Intrin: \
lowerIntrinsic(OpCode, F, M); \
break;
#define F(x, y, z)
Definition: MD5.cpp:55

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 34 of file DXILOpLowering.cpp.

References F.

Referenced by lowerIntrinsic().

◆ lowerIntrinsic()

static void lowerIntrinsic ( dxil::OpCode  DXILOp,
Function F,
Module M 
)
static

◆ lowerIntrinsics()

bool PreISelIntrinsicLowering::lowerIntrinsics ( Module M)
static

Definition at line 110 of file DXILOpLowering.cpp.

References F, and llvm::make_early_inc_range().

◆ populateOperands()

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

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 161 of file DXILOpLowering.cpp.

◆ false

DXIL Op false

Definition at line 161 of file DXILOpLowering.cpp.

◆ Lowering

DXIL Op Lowering

Definition at line 161 of file DXILOpLowering.cpp.