LLVM 20.0.0git
|
#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 |
#define DEBUG_TYPE "dxil-op-lower" |
Definition at line 29 of file DXILOpLowering.cpp.
#define DXIL_OP_INTRINSIC | ( | OpCode, | |
Intrin | |||
) |
|
static |
Definition at line 55 of file DXILOpLowering.cpp.
References llvm::SmallVectorImpl< T >::append(), assert(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::Value::getType(), I, and populateOperands().
Referenced by lowerIntrinsic().
INITIALIZE_PASS_BEGIN | ( | DXILOpLoweringLegacy | , |
DEBUG_TYPE | , | ||
"DXIL Op Lowering" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 76 of file DXILOpLowering.cpp.
References llvm::CallBase::arg_begin(), llvm::CallBase::arg_end(), argVectorFlatten(), B, llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::Instruction::eraseFromParent(), F, llvm::Instruction::getDebugLoc(), llvm::Instruction::getFunction(), isVectorArgExpansion(), llvm::make_early_inc_range(), llvm::Value::replaceAllUsesWith(), llvm::Expected< T >::takeError(), llvm::dwarf::toString(), and llvm::dxil::DXILOpBuilder::tryCreateOp().
Definition at line 110 of file DXILOpLowering.cpp.
References F, and llvm::make_early_inc_range().
|
static |
Definition at line 44 of file DXILOpLowering.cpp.
References llvm::IRBuilderBase::CreateExtractElement(), llvm::Value::getContext(), llvm::Type::getInt32Ty(), llvm::Value::getType(), I, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by argVectorFlatten().
DEBUG_TYPE |
Definition at line 161 of file DXILOpLowering.cpp.
DXIL Op false |
Definition at line 161 of file DXILOpLowering.cpp.
DXIL Op Lowering |
Definition at line 161 of file DXILOpLowering.cpp.