LLVM: lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "amdgpu-image-intrinsic-opt"
Functions
INITIALIZE_PASS(AMDGPUImageIntrinsicOptimizer, DEBUG_TYPE, "AMDGPU Image Intrinsic Optimizer", false, false) char AMDGPUImageIntrinsicOptimizer void addInstToMergeableList (IntrinsicInst *II, SmallVector< SmallVector< IntrinsicInst *, 4 > > &MergeableInsts, const AMDGPU::ImageDimIntrinsicInfo *ImageDimIntr)
BasicBlock::iterator collectMergeableInsts (BasicBlock::iterator I, BasicBlock::iterator E, SmallVector< SmallVector< IntrinsicInst *, 4 > > &MergeableInsts)
bool optimizeSection (ArrayRef< SmallVector< IntrinsicInst *, 4 > > MergeableInsts)
static bool imageIntrinsicOptimizerImpl (Function &F, const TargetMachine *TM)

DEBUG_TYPE

#define DEBUG_TYPE "amdgpu-image-intrinsic-opt"

addInstToMergeableList()

collectMergeableInsts()

imageIntrinsicOptimizerImpl()

optimizeSection()

Definition at line 176 of file AMDGPUImageIntrinsicOptimizer.cpp.

References B, llvm::countr_zero(), llvm::dbgs(), llvm::divideCeil(), llvm::AMDGPU::ImageDimIntrinsicInfo::DMaskIndex, F, llvm::FixedVectorType::get(), llvm::UndefValue::get(), llvm::AMDGPU::getImageDimIntrinsicInfo(), llvm::Intrinsic::getIntrinsicSignature(), llvm::Type::getScalarType(), llvm::Value::getType(), llvm::ConstantInt::getZExtValue(), I, Idx, II, llvm::Type::isHalfTy(), LLVM_DEBUG, Modified, llvm::popcount(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Value::takeName(), llvm::APInt::udiv(), and llvm::AMDGPU::ImageDimIntrinsicInfo::VAddrEnd.

Referenced by imageIntrinsicOptimizerImpl().