LLVM: lib/Target/DirectX/DXILLegalizePass.cpp File Reference (original) (raw)
Go to the source code of this file.
| Functions |
|
| static bool |
legalizeFreeze (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * >) |
| static bool |
fixI8UseChain (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &ReplacedValues) |
| static bool |
upcastI8AllocasAndUses (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &ReplacedValues) |
| static bool |
downcastI64toI32InsertExtractElements (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &) |
| static void |
emitMemcpyExpansion (IRBuilder<> &Builder, Value *Dst, Value *Src, ConstantInt *Length) |
| static void |
emitMemsetExpansion (IRBuilder<> &Builder, Value *Dst, Value *Val, ConstantInt *SizeCI, DenseMap< Value *, Value * > &ReplacedValues) |
| static bool |
legalizeMemCpy (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &ReplacedValues) |
| static bool |
legalizeMemSet (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &ReplacedValues) |
| static bool |
updateFnegToFsub (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &) |
| static bool |
legalizeGetHighLowi64Bytes (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &ReplacedValues) |
| static bool |
legalizeScalarLoadStoreOnArrays (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &) |
|
INITIALIZE_PASS_BEGIN (DXILLegalizeLegacy, DEBUG_TYPE, "DXIL Legalizer", false, false) INITIALIZE_PASS_END(DXILLegalizeLegacy |
◆ DEBUG_TYPE
#define DEBUG_TYPE "dxil-legalize"
◆ emitMemcpyExpansion()
◆ emitMemsetExpansion()
◆ fixI8UseChain()
Definition at line 39 of file DXILLegalizePass.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::dyn_cast(), GEP, llvm::ArrayType::get(), llvm::IntegerType::get(), llvm::Type::getArrayElementType(), I, llvm::isa(), llvm::Offset, OpIdx, llvm::Value::replaceAllUsesWith(), and ToRemove.
◆ INITIALIZE_PASS_BEGIN()
| INITIALIZE_PASS_BEGIN |
( |
DXILLegalizeLegacy |
, |
| DEBUG_TYPE |
, |
|
|
| "DXIL Legalizer" |
, |
|
|
| false |
, |
|
|
| false |
) |
|
|
◆ legalizeFreeze()
◆ legalizeGetHighLowi64Bytes()
◆ legalizeMemCpy()
◆ legalizeMemSet()
◆ legalizeScalarLoadStoreOnArrays()
Definition at line 578 of file DXILLegalizePass.cpp.
References llvm::GEPNoWrapFlags::all(), assert(), llvm::GetElementPtrInst::Create(), llvm::dyn_cast(), GEP, llvm::Type::getArrayElementType(), llvm::Type::getInt32Ty(), I, llvm::isa(), llvm::Type::isSingleValueType(), and ToRemove.
◆ upcastI8AllocasAndUses()
◆ updateFnegToFsub()
◆ DEBUG_TYPE
◆ false
◆ Legalizer