LLVM 22.0.0git
|
#include "DXILLegalizePass.h"
#include "DirectX.h"
#include "llvm/ADT/APInt.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include <functional>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "dxil-legalize" |
Variables | |
DEBUG_TYPE | |
DXIL | Legalizer |
DXIL | false |
#define DEBUG_TYPE "dxil-legalize" |
Definition at line 23 of file DXILLegalizePass.cpp.
|
static |
Definition at line 308 of file DXILLegalizePass.cpp.
References llvm::IRBuilderBase::CreateExtractElement(), llvm::IRBuilderBase::CreateInsertElement(), llvm::Type::getInt32Ty(), I, Idx, llvm::Value::replaceAllUsesWith(), and ToRemove.
|
static |
Definition at line 349 of file DXILLegalizePass.cpp.
References assert(), llvm::IRBuilderBase::CreateInBoundsGEP(), llvm::IRBuilderBase::CreateLoad(), llvm::IRBuilderBase::CreateStore(), DL, llvm::Module::getDataLayout(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32(), llvm::BasicBlock::getModule(), I, and llvm::Length.
Referenced by legalizeMemCpy().
|
static |
Definition at line 410 of file DXILLegalizePass.cpp.
References assert(), llvm::IRBuilderBase::CreateGEP(), llvm::IRBuilderBase::CreateIntCast(), llvm::IRBuilderBase::CreateStore(), DL, llvm::AllocaInst::getAllocatedType(), llvm::AllocaInst::getAllocationSize(), llvm::Module::getDataLayout(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32(), llvm::BasicBlock::getModule(), llvm::Value::getType(), llvm::ConstantInt::getZExtValue(), I, llvm::Offset, Ptr, and Size.
Referenced by legalizeMemSet().
|
static |
Definition at line 39 of file DXILLegalizePass.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::IRBuilderBase::CreateBinOp(), llvm::IRBuilderBase::CreateCmp(), llvm::IRBuilderBase::CreateGEP(), llvm::IRBuilderBase::CreateLoad(), llvm::IRBuilderBase::CreateSelect(), llvm::IRBuilderBase::CreateSExtOrTrunc(), llvm::IRBuilderBase::CreateStore(), llvm::IRBuilderBase::CreateZExtOrTrunc(), GEP, llvm::IntegerType::get(), llvm::IRBuilderBase::getInt32(), I, llvm::Offset, OpIdx, llvm::Value::replaceAllUsesWith(), and ToRemove.
INITIALIZE_PASS_BEGIN | ( | DXILLegalizeLegacy | , |
DEBUG_TYPE | , | ||
"DXIL Legalizer" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 27 of file DXILLegalizePass.cpp.
|
static |
Definition at line 527 of file DXILLegalizePass.cpp.
References assert(), llvm::IRBuilderBase::CreateLShr(), llvm::IRBuilderBase::CreateTrunc(), llvm::FixedVectorType::get(), llvm::Type::getInt32Ty(), I, Idx, llvm::Type::isIntegerTy(), and ToRemove.
|
static |
Definition at line 463 of file DXILLegalizePass.cpp.
References assert(), emitMemcpyExpansion(), llvm::CallBase::getArgOperand(), llvm::CallBase::getIntrinsicID(), I, llvm::Length, and ToRemove.
|
static |
Definition at line 489 of file DXILLegalizePass.cpp.
References assert(), emitMemsetExpansion(), llvm::CallBase::getArgOperand(), llvm::CallBase::getIntrinsicID(), I, Size, and ToRemove.
|
static |
Definition at line 578 of file DXILLegalizePass.cpp.
References llvm::GEPNoWrapFlags::all(), assert(), llvm::GetElementPtrInst::Create(), GEP, llvm::Type::getArrayElementType(), llvm::Type::getInt32Ty(), I, and llvm::Type::isSingleValueType().
|
static |
Definition at line 257 of file DXILLegalizePass.cpp.
References llvm::IRBuilderBase::CreateAlloca(), GEP, llvm::Type::getInt32Ty(), llvm::Type::getPrimitiveSizeInBits(), I, and ToRemove.
|
static |
Definition at line 511 of file DXILLegalizePass.cpp.
References llvm::IRBuilderBase::CreateFSub(), I, and ToRemove.
DEBUG_TYPE |
Definition at line 706 of file DXILLegalizePass.cpp.
DXIL false |
Definition at line 706 of file DXILLegalizePass.cpp.
DXIL Legalizer |
Definition at line 706 of file DXILLegalizePass.cpp.