Go to the source code of this file.
◆ DEBUG_TYPE
#define DEBUG_TYPE "scalarizer" |
◆ getScalarIntrinsicDeclaration()
Definition at line 453 of file Scalarizer.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, assert(), llvm::iplist_impl< IntrusiveListT, TraitsT >::clear(), llvm::IRBuilder< T, Inserter >::CreateAlignedLoad(), llvm::IRBuilder< T, Inserter >::CreateAlignedStore(), llvm::IRBuilder< T, Inserter >::CreateBitCast(), llvm::IRBuilder< T, Inserter >::CreateCast(), llvm::IRBuilder< T, Inserter >::CreateGEP(), llvm::IRBuilder< T, Inserter >::CreateInsertElement(), llvm::IRBuilder< T, Inserter >::CreatePHI(), llvm::IRBuilder< T, Inserter >::CreateSelect(), llvm::IRBuilder< T, Inserter >::CreateVectorSplat(), llvm::dyn_cast(), llvm::Instruction::eraseFromParent(), llvm::VectorType::get(), llvm::UndefValue::get(), llvm::LoadInst::getAlignment(), llvm::StoreInst::getAlignment(), llvm::CallBase::getCalledFunction(), llvm::Module::getDataLayout(), llvm::Intrinsic::getDeclaration(), llvm::CastInst::getDestTy(), llvm::SequentialType::getElementType(), llvm::BasicBlock::getFirstInsertionPt(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::IRBuilderBase::getInt32(), llvm::Function::getIntrinsicID(), llvm::ShuffleVectorInst::getMaskValue(), llvm::Instruction::getModule(), llvm::Value::getName(), llvm::CallBase::getNumArgOperands(), llvm::SequentialType::getNumElements(), llvm::GetElementPtrInst::getNumIndices(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::CastInst::getOpcode(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::GlobalValue::getParent(), llvm::LoadInst::getPointerOperand(), llvm::StoreInst::getPointerOperand(), llvm::Type::getScalarType(), llvm::GetElementPtrInst::getSourceElementType(), llvm::CastInst::getSrcTy(), llvm::Value::getType(), llvm::ShuffleVectorInst::getType(), llvm::StoreInst::getValueOperand(), llvm::Type::getVectorNumElements(), llvm::hasVectorInstrinsicScalarOpd(), I, llvm::GetElementPtrInst::isInBounds(), llvm::LoadInst::isSimple(), llvm::StoreInst::isSimple(), isTriviallyScalariable(), llvm::Type::isVectorTy(), llvm::Intrinsic::not_intrinsic, llvm::Value::replaceAllUsesWith(), llvm::SmallVectorImpl< T >::resize(), ScalarizeLoadStore, llvm::IRBuilderBase::SetInsertPoint(), SI, llvm::size(), llvm::Value::takeName(), llvm::Value::use_empty(), and VI.
◆ INITIALIZE_PASS_BEGIN()
INITIALIZE_PASS_BEGIN |
( |
ScalarizerLegacyPass |
, |
|
|
"scalarizer" |
, |
|
|
"Scalarize vector operations" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
◆ isTriviallyScalariable()
◆ false
◆ operations
Scalarize vector operations |
◆ ScalarizeLoadStore
◆ scalarizer