|
LLVM 22.0.0git
|
#include "DXILMemIntrinsics.h"#include "DirectX.h"#include "llvm/Analysis/DXILResource.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/IntrinsicsDirectX.h"#include "llvm/IR/Module.h"Go to the source code of this file.
Classes | |
| class | DXILMemIntrinsicsLegacy |
Macros | |
| #define | DEBUG_TYPE "dxil-mem-intrinsics" |
Functions | |
| void | expandMemSet (MemSetInst *MemSet) |
| static Type * | getPointeeType (Value *Ptr, const DataLayout &DL) |
| static size_t | flattenTypes (Type *ContainerTy, const DataLayout &DL, SmallVectorImpl< std::pair< Type *, size_t > > &FlatTys, size_t NextOffset=0) |
| void | expandMemCpy (MemCpyInst *MemCpy) |
| void | expandMemMove (MemMoveInst *MemMove) |
| static bool | eliminateMemIntrinsics (Module &M) |
| INITIALIZE_PASS_BEGIN (DXILMemIntrinsicsLegacy, DEBUG_TYPE, "DXIL Memory Intrinsic Elimination", false, false) INITIALIZE_PASS_END(DXILMemIntrinsicsLegacy | |
Variables | |
| DEBUG_TYPE | |
| DXIL Memory Intrinsic | Elimination |
| DXIL Memory Intrinsic | false |
| #define DEBUG_TYPE "dxil-mem-intrinsics" |
Definition at line 17 of file DXILMemIntrinsics.cpp.
Definition at line 185 of file DXILMemIntrinsics.cpp.
References assert(), llvm::dyn_cast(), expandMemCpy(), expandMemMove(), expandMemSet(), F, llvm_unreachable, and llvm::make_early_inc_range().
Referenced by llvm::DXILMemIntrinsics::run(), and DXILMemIntrinsicsLegacy::runOnModule().
| void expandMemCpy | ( | MemCpyInst * | MemCpy | ) |
Definition at line 130 of file DXILMemIntrinsics.cpp.
References assert(), DL, llvm::dyn_cast(), llvm::Instruction::eraseFromParent(), flattenTypes(), llvm::MemIntrinsicBase< Derived >::getDest(), llvm::Type::getInt8Ty(), llvm::MemIntrinsicBase< Derived >::getLength(), getPointeeType(), llvm::MemTransferBase< BaseCL >::getSource(), llvm::ConstantInt::getZExtValue(), llvm::MemIntrinsic::isVolatile(), LHS, LLVM_DEBUG, llvm::Offset, RHS, and llvm::zip().
Referenced by eliminateMemIntrinsics().
| void expandMemMove | ( | MemMoveInst * | MemMove | ) |
Definition at line 181 of file DXILMemIntrinsics.cpp.
References llvm::report_fatal_error().
Referenced by eliminateMemIntrinsics().
| void expandMemSet | ( | MemSetInst * | MemSet | ) |
Definition at line 21 of file DXILMemIntrinsics.cpp.
References assert(), DL, llvm::dyn_cast(), llvm::Instruction::eraseFromParent(), llvm::AllocaInst::getAllocatedType(), llvm::AllocaInst::getAllocationSize(), llvm::MemIntrinsicBase< Derived >::getDest(), llvm::MemIntrinsicBase< Derived >::getLength(), llvm::Value::getType(), llvm::MemSetBase< BaseCL >::getValue(), llvm::ConstantInt::getZExtValue(), I, llvm::Offset, and Size.
Referenced by eliminateMemIntrinsics().
|
static |
Definition at line 112 of file DXILMemIntrinsics.cpp.
References DL, llvm::dyn_cast(), E(), flattenTypes(), and I.
Referenced by expandMemCpy(), and flattenTypes().
|
static |
Definition at line 65 of file DXILMemIntrinsics.cpp.
References assert(), llvm::cast(), DL, llvm::dyn_cast(), GEP, llvm::StructLayout::getElementContainingOffset(), getPointeeType(), llvm::APInt::getZExtValue(), II, and llvm_unreachable.
Referenced by expandMemCpy(), and getPointeeType().
| INITIALIZE_PASS_BEGIN | ( | DXILMemIntrinsicsLegacy | , |
| DEBUG_TYPE | , | ||
| "DXIL Memory Intrinsic Elimination" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE.
| DEBUG_TYPE |
Definition at line 233 of file DXILMemIntrinsics.cpp.
| DXIL Memory Intrinsic Elimination |
Definition at line 234 of file DXILMemIntrinsics.cpp.
| DXIL Memory Intrinsic false |
Definition at line 234 of file DXILMemIntrinsics.cpp.