LLVM: lib/Target/DirectX/DXILLegalizePass.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "dxil-legalize"
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
Variables
DEBUG_TYPE
DXIL Legalizer
DXIL false

DEBUG_TYPE

#define DEBUG_TYPE "dxil-legalize"

downcastI64toI32InsertExtractElements()

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