LLVM 24.0.0git
DXILLegalizePass.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "dxil-legalize"

Enumerations

enum class  IntegerExtension { None , Zero , Sign }

Functions

static IntegerType * getLegalIntegerType (Type *Ty)
static bool legalizeInteger (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &ReplacedValues)
static bool legalizeFreeze (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * >)
static bool legalizeI8Memory (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 bool updateFnegToFsub (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &)
static bool legalizeFloatAtomicExchange (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &)
static bool resolveUnreachableSwitchDefault (Instruction &I, SmallVectorImpl< Instruction * > &ToRemove, DenseMap< Value *, Value * > &)
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

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dxil-legalize"

Definition at line 26 of file DXILLegalizePass.cpp.

Enumeration Type Documentation

◆ IntegerExtension

enum class IntegerExtension
strong
Enumerator
None 
Zero 
Sign 

Definition at line 43 of file DXILLegalizePass.cpp.

Function Documentation

◆ downcastI64toI32InsertExtractElements()

bool downcastI64toI32InsertExtractElements ( Instruction & I,
SmallVectorImpl< Instruction * > & ToRemove,
DenseMap< Value *, Value * > &  )
static

◆ getLegalIntegerType()

IntegerType * getLegalIntegerType ( Type * Ty)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILLegalizeLegacy ,
DEBUG_TYPE ,
"DXIL Legalizer" ,
false ,
false  )

References DEBUG_TYPE.

◆ legalizeFloatAtomicExchange()

◆ legalizeFreeze()

bool legalizeFreeze ( Instruction & I,
SmallVectorImpl< Instruction * > & ToRemove,
DenseMap< Value *, Value * >  )
static

Definition at line 199 of file DXILLegalizePass.cpp.

References llvm::dyn_cast(), I, and ToRemove.

◆ legalizeI8Memory()

◆ legalizeInteger()

◆ legalizeScalarLoadStoreOnArrays()

◆ resolveUnreachableSwitchDefault()

◆ upcastI8AllocasAndUses()

bool upcastI8AllocasAndUses ( Instruction & I,
SmallVectorImpl< Instruction * > & ToRemove,
DenseMap< Value *, Value * > & ReplacedValues )
static

◆ updateFnegToFsub()

bool updateFnegToFsub ( Instruction & I,
SmallVectorImpl< Instruction * > & ToRemove,
DenseMap< Value *, Value * > &  )
static

Definition at line 433 of file DXILLegalizePass.cpp.

References I, ToRemove, and Zero.

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 664 of file DXILLegalizePass.cpp.

◆ false

DXIL false

Definition at line 664 of file DXILLegalizePass.cpp.

◆ Legalizer

DXIL Legalizer