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

Go to the source code of this file.

Macros
#define DEBUG_TYPE "dxil-forward-handle-accesses"
Functions
static void diagnoseAmbiguousHandle (IntrinsicInst *NewII, IntrinsicInst *PrevII)
static void diagnoseHandleNotFound (LoadInst *LI)
static void diagnoseUndominatedLoad (LoadInst *LI, IntrinsicInst *Handle)
static void processHandle (IntrinsicInst *II, DenseMap< GlobalVariable *, IntrinsicInst * > &HandleMap)
static bool forwardHandleAccesses (Function &F, DominatorTree &DT)
INITIALIZE_PASS_BEGIN (DXILForwardHandleAccessesLegacy, DEBUG_TYPE, "DXIL Forward Handle Accesses", false, false) INITIALIZE_PASS_END(DXILForwardHandleAccessesLegacy
Variables
DEBUG_TYPE
DXIL Forward Handle Accesses
DXIL Forward Handle false

DEBUG_TYPE

#define DEBUG_TYPE "dxil-forward-handle-accesses"

diagnoseAmbiguousHandle()

diagnoseHandleNotFound()

void diagnoseHandleNotFound ( LoadInst * LI) static

diagnoseUndominatedLoad()

forwardHandleAccesses()

Definition at line 71 of file DXILForwardHandleAccesses.cpp.

References Changed, llvm::dbgs(), diagnoseHandleNotFound(), diagnoseUndominatedLoad(), llvm::DominatorTree::dominates(), llvm::dyn_cast(), llvm::dyn_cast_or_null(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), F, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::FindAvailableLoadedValue(), llvm::for_each(), II, llvm::isa(), LLVM_DEBUG, processHandle(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Value::users().

Referenced by llvm::DXILForwardHandleAccesses::run().

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILForwardHandleAccessesLegacy ,
DEBUG_TYPE ,
"DXIL Forward Handle Accesses" ,
false ,
false )

processHandle()

Accesses

DXIL Forward Handle Accesses

Definition at line 215 of file DXILForwardHandleAccesses.cpp.

Referenced by foreachMemoryAccess(), llvm::MachineInstr::getFoldedRestoreSize(), llvm::MachineInstr::getFoldedSpillSize(), getSpillSlotSize(), llvm::HexagonInstrInfo::hasLoadFromStackSlot(), llvm::TargetInstrInfo::hasLoadFromStackSlot(), llvm::HexagonInstrInfo::hasStoreToStackSlot(), llvm::TargetInstrInfo::hasStoreToStackSlot(), llvm::MemorySSA::insertIntoListsBefore(), llvm::MemorySSA::insertIntoListsForBlock(), llvm::AArch64InstrInfo::isLoadFromStackSlotPostFE(), llvm::ARMBaseInstrInfo::isLoadFromStackSlotPostFE(), llvm::LanaiInstrInfo::isLoadFromStackSlotPostFE(), llvm::SystemZInstrInfo::isLoadFromStackSlotPostFE(), llvm::X86InstrInfo::isLoadFromStackSlotPostFE(), llvm::AArch64InstrInfo::isStoreToStackSlotPostFE(), llvm::ARMBaseInstrInfo::isStoreToStackSlotPostFE(), llvm::SystemZInstrInfo::isStoreToStackSlotPostFE(), llvm::X86InstrInfo::isStoreToStackSlotPostFE(), noConflictingReadWrites(), pointerInvalidatedByBlock(), llvm::MemorySSA::removeFromLists(), llvm::SinkAndHoistLICMFlags::SinkAndHoistLICMFlags(), and llvm::MemorySSA::verifyDominationNumbers().

DEBUG_TYPE

false

DXIL Forward Handle false