LLVM: lib/Target/DirectX/DXILIntrinsicExpansion.cpp File Reference (original) (raw)
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_TYPE "dxil-intrinsic-expansion" |
| Variables | |
|---|---|
| DEBUG_TYPE | |
| DXIL Intrinsic | Expansion |
| DXIL Intrinsic | false |
◆ DEBUG_TYPE
#define DEBUG_TYPE "dxil-intrinsic-expansion"
◆ expand16BitIsFinite()
◆ expand16BitIsInf()
◆ expand16BitIsNaN()
◆ expand16BitIsNormal()
◆ expandAbs()
◆ expandAnyOrAllIntrinsic()
◆ expandAtan2Intrinsic()
◆ expandBufferLoadIntrinsic()
Definition at line 709 of file DXILIntrinsicExpansion.cpp.
References assert(), llvm::sampleprof::Base, llvm::dyn_cast(), llvm::Instruction::eraseFromParent(), llvm::PoisonValue::get(), llvm::StructType::get(), llvm::VectorType::get(), llvm::User::getOperand(), llvm::Type::getScalarType(), llvm::Type::getStructElementType(), llvm::Value::getType(), llvm::Hi, I, llvm::Type::isDoubleTy(), llvm::Type::isIntegerTy(), llvm_unreachable, llvm::Lo, llvm::make_early_inc_range(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::ArrayRef< T >::size(), and llvm::Value::users().
Referenced by expandIntrinsic().
◆ expandBufferStoreIntrinsic()
Definition at line 820 of file DXILIntrinsicExpansion.cpp.
References assert(), llvm::sampleprof::Base, llvm::dyn_cast(), llvm::Instruction::eraseFromParent(), llvm::PoisonValue::get(), llvm::StructType::get(), llvm::VectorType::get(), llvm::ElementCount::getFixed(), llvm::CallBase::getFunctionType(), llvm::User::getOperand(), llvm::FunctionType::getParamType(), llvm::Type::getScalarType(), llvm::ConstantVector::getSplat(), I, llvm::Int32Ty, llvm::Type::isDoubleTy(), and llvm::Type::isIntegerTy().
Referenced by expandIntrinsic().
◆ expandClampIntrinsic()
◆ expandCrossIntrinsic()
◆ expandDegreesIntrinsic()
◆ expandExpIntrinsic()
◆ expandFloatDotIntrinsic() [1/2]
◆ expandFloatDotIntrinsic() [2/2]
Definition at line 347 of file DXILIntrinsicExpansion.cpp.
References A(), assert(), B(), llvm::dyn_cast(), llvm::Type::getScalarType(), I, llvm::Type::isFloatingPointTy(), llvm::Type::isVectorTy(), and llvm::reportFatalUsageError().
Referenced by expandFloatDotIntrinsic(), expandIntrinsic(), and expandNormalizeIntrinsic().
◆ expandIntegerDotIntrinsic()
◆ expandIntrinsic()
Definition at line 985 of file DXILIntrinsicExpansion.cpp.
References llvm::Instruction::eraseFromParent(), expand16BitIsInf(), expand16BitIsNaN(), expandAbs(), expandAnyOrAllIntrinsic(), expandAtan2Intrinsic(), expandBufferLoadIntrinsic(), expandBufferStoreIntrinsic(), expandClampIntrinsic(), expandCrossIntrinsic(), expandDegreesIntrinsic(), expandExpIntrinsic(), expandFloatDotIntrinsic(), expandIntegerDotIntrinsic(), expandIsFPClass(), expandLerpIntrinsic(), expandLog10Intrinsic(), expandLogIntrinsic(), expandNormalizeIntrinsic(), expandPowIntrinsic(), expandRadiansIntrinsic(), expandSignIntrinsic(), expandStepIntrinsic(), expandUsubSat(), expandVecReduceAdd(), F, and llvm::Value::replaceAllUsesWith().
Referenced by expansionIntrinsics().
◆ expandIsFPClass()
Definition at line 446 of file DXILIntrinsicExpansion.cpp.
References llvm::BitWidth, llvm::dyn_cast(), expand16BitIsFinite(), expand16BitIsInf(), expand16BitIsNaN(), expand16BitIsNormal(), F, llvm::fcFinite, llvm::fcInf, llvm::fcNan, llvm::fcNegZero, llvm::fcNormal, llvm::FixedVectorType::get(), llvm::CallBase::getArgOperand(), llvm::Type::getIntNTy(), llvm::Type::getPrimitiveSizeInBits(), llvm::reportFatalUsageError(), and T.
Referenced by expandIntrinsic().
◆ expandLerpIntrinsic()
◆ expandLog10Intrinsic()
◆ expandLogIntrinsic()
Definition at line 552 of file DXILIntrinsicExpansion.cpp.
References llvm::cast(), llvm::CallBase::getAttributes(), llvm::ElementCount::getFixed(), getNumElements(), llvm::User::getOperand(), llvm::Type::getScalarType(), llvm::ConstantVector::getSplat(), llvm::CallInst::isTailCall(), llvm:🔢:ln2f, and X.
Referenced by expandIntrinsic(), and expandLog10Intrinsic().
◆ expandNormalizeIntrinsic()
◆ expandPowIntrinsic()
◆ expandRadiansIntrinsic()
◆ expandSignIntrinsic()
◆ expandStepIntrinsic()
◆ expandUsubSat()
◆ expandVecReduceAdd()
◆ expansionIntrinsics()
◆ getMaxForClamp()
◆ getMinForClamp()
◆ INITIALIZE_PASS_BEGIN()
◆ isIntrinsicExpansion()
◆ resourceAccessNeeds64BitExpansion()
| bool resourceAccessNeeds64BitExpansion ( Module * M, Type * OverloadTy, bool IsRaw ) | static |
|---|