LLVM
15.0.0git
|
#include "AMDGPU.h"
#include "AMDGPULibFunc.h"
#include "GCNSubtarget.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/Loads.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/IntrinsicsAMDGPU.h"
#include "llvm/InitializePasses.h"
#include "llvm/Target/TargetMachine.h"
Go to the source code of this file.
Classes | |
class | llvm::AMDGPULibCalls |
struct | TableRef |
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "amdgpu-simplifylib" |
#define | MATH_PI numbers::pi |
#define | MATH_E numbers::e |
#define | MATH_SQRT2 numbers::sqrt2 |
#define | MATH_SQRT1_2 numbers::inv_sqrt2 |
Functions | |
INITIALIZE_PASS_BEGIN (AMDGPUSimplifyLibCalls, "amdgpu-simplifylib", "Simplify well-known AMD library calls", false, false) INITIALIZE_PASS_END(AMDGPUSimplifyLibCalls | |
amdgpu Simplify well known AMD library false | INITIALIZE_PASS (AMDGPUUseNativeCalls, "amdgpu-usenative", "Replace builtin math calls with that native versions.", false, false) template< typename IRB > static CallInst *CreateCallEx(IRB &B |
static bool | HasNative (AMDGPULibFunc::EFuncId id) |
static TableRef | getOptTable (AMDGPULibFunc::EFuncId id) |
static int | getVecSize (const AMDGPULibFunc &FInfo) |
static AMDGPULibFunc::EType | getArgType (const AMDGPULibFunc &FInfo) |
static double | llvm::log2 (double V) |
Variables | |
static cl::opt< bool > | EnablePreLink ("amdgpu-prelink", cl::desc("Enable pre-link mode optimizations"), cl::init(false), cl::Hidden) |
static cl::list< std::string > | UseNative ("amdgpu-use-native", cl::desc("Comma separated list of functions to replace with native, or all"), cl::CommaSeparated, cl::ValueOptional, cl::Hidden) |
amdgpu | simplifylib |
amdgpu Simplify well known AMD library | calls |
amdgpu Simplify well known AMD library | false |
amdgpu Simplify well known AMD library false FunctionCallee | Callee |
amdgpu Simplify well known AMD library false FunctionCallee Value * | Arg |
amdgpu Simplify well known AMD library false FunctionCallee Value const Twine & | Name |
static const TableEntry | tbl_acos [] |
static const TableEntry | tbl_acosh [] |
static const TableEntry | tbl_acospi [] |
static const TableEntry | tbl_asin [] |
static const TableEntry | tbl_asinh [] |
static const TableEntry | tbl_asinpi [] |
static const TableEntry | tbl_atan [] |
static const TableEntry | tbl_atanh [] |
static const TableEntry | tbl_atanpi [] |
static const TableEntry | tbl_cbrt [] |
static const TableEntry | tbl_cos [] |
static const TableEntry | tbl_cosh [] |
static const TableEntry | tbl_cospi [] |
static const TableEntry | tbl_erfc [] |
static const TableEntry | tbl_erf [] |
static const TableEntry | tbl_exp [] |
static const TableEntry | tbl_exp2 [] |
static const TableEntry | tbl_exp10 [] |
static const TableEntry | tbl_expm1 [] |
static const TableEntry | tbl_log [] |
static const TableEntry | tbl_log2 [] |
static const TableEntry | tbl_log10 [] |
static const TableEntry | tbl_rsqrt [] |
static const TableEntry | tbl_sin [] |
static const TableEntry | tbl_sinh [] |
static const TableEntry | tbl_sinpi [] |
static const TableEntry | tbl_sqrt [] |
static const TableEntry | tbl_tan [] |
static const TableEntry | tbl_tanh [] |
static const TableEntry | tbl_tanpi [] |
static const TableEntry | tbl_tgamma [] |
This file does AMD library function optimizations.
Definition in file AMDGPULibCalls.cpp.
#define DEBUG_TYPE "amdgpu-simplifylib" |
Definition at line 25 of file AMDGPULibCalls.cpp.
#define MATH_E numbers::e |
Definition at line 40 of file AMDGPULibCalls.cpp.
#define MATH_PI numbers::pi |
Definition at line 39 of file AMDGPULibCalls.cpp.
#define MATH_SQRT1_2 numbers::inv_sqrt2 |
Definition at line 42 of file AMDGPULibCalls.cpp.
#define MATH_SQRT2 numbers::sqrt2 |
Definition at line 41 of file AMDGPULibCalls.cpp.
|
inlinestatic |
Definition at line 437 of file AMDGPULibCalls.cpp.
References llvm::AMDGPULibFuncBase::Param::ArgType, and llvm::AMDGPULibFunc::getLeads().
Referenced by llvm::AMDGPULibCalls::fold(), and llvm::AMDGPULibCalls::useNative().
|
static |
Definition at line 389 of file AMDGPULibCalls.cpp.
References llvm::AMDGPULibFuncBase::EI_ACOS, llvm::AMDGPULibFuncBase::EI_ACOSH, llvm::AMDGPULibFuncBase::EI_ACOSPI, llvm::AMDGPULibFuncBase::EI_ASIN, llvm::AMDGPULibFuncBase::EI_ASINH, llvm::AMDGPULibFuncBase::EI_ASINPI, llvm::AMDGPULibFuncBase::EI_ATAN, llvm::AMDGPULibFuncBase::EI_ATANH, llvm::AMDGPULibFuncBase::EI_ATANPI, llvm::AMDGPULibFuncBase::EI_CBRT, llvm::AMDGPULibFuncBase::EI_COS, llvm::AMDGPULibFuncBase::EI_COSH, llvm::AMDGPULibFuncBase::EI_COSPI, llvm::AMDGPULibFuncBase::EI_ERF, llvm::AMDGPULibFuncBase::EI_ERFC, llvm::AMDGPULibFuncBase::EI_EXP, llvm::AMDGPULibFuncBase::EI_EXP10, llvm::AMDGPULibFuncBase::EI_EXP2, llvm::AMDGPULibFuncBase::EI_EXPM1, llvm::AMDGPULibFuncBase::EI_LOG, llvm::AMDGPULibFuncBase::EI_LOG10, llvm::AMDGPULibFuncBase::EI_LOG2, llvm::AMDGPULibFuncBase::EI_NCOS, llvm::AMDGPULibFuncBase::EI_NEXP2, llvm::AMDGPULibFuncBase::EI_NLOG2, llvm::AMDGPULibFuncBase::EI_NRSQRT, llvm::AMDGPULibFuncBase::EI_NSIN, llvm::AMDGPULibFuncBase::EI_NSQRT, llvm::AMDGPULibFuncBase::EI_RSQRT, llvm::AMDGPULibFuncBase::EI_SIN, llvm::AMDGPULibFuncBase::EI_SINH, llvm::AMDGPULibFuncBase::EI_SINPI, llvm::AMDGPULibFuncBase::EI_SQRT, llvm::AMDGPULibFuncBase::EI_TAN, llvm::AMDGPULibFuncBase::EI_TANH, llvm::AMDGPULibFuncBase::EI_TANPI, llvm::AMDGPULibFuncBase::EI_TGAMMA, tbl_acos, tbl_acosh, tbl_acospi, tbl_asin, tbl_asinh, tbl_asinpi, tbl_atan, tbl_atanh, tbl_atanpi, tbl_cbrt, tbl_cos, tbl_cosh, tbl_cospi, tbl_erf, tbl_erfc, tbl_exp, tbl_exp10, tbl_exp2, tbl_expm1, tbl_log, tbl_log10, tbl_log2, tbl_rsqrt, tbl_sin, tbl_sinh, tbl_sinpi, tbl_sqrt, tbl_tan, tbl_tanh, tbl_tanpi, and tbl_tgamma.
|
inlinestatic |
Definition at line 433 of file AMDGPULibCalls.cpp.
References llvm::AMDGPULibFunc::getLeads(), and llvm::AMDGPULibFuncBase::Param::VectorSize.
Referenced by llvm::AMDGPULibCalls::fold().
|
static |
Definition at line 356 of file AMDGPULibCalls.cpp.
References llvm::AMDGPULibFuncBase::EI_COS, llvm::AMDGPULibFuncBase::EI_DIVIDE, llvm::AMDGPULibFuncBase::EI_EXP, llvm::AMDGPULibFuncBase::EI_EXP10, llvm::AMDGPULibFuncBase::EI_EXP2, llvm::AMDGPULibFuncBase::EI_LOG, llvm::AMDGPULibFuncBase::EI_LOG10, llvm::AMDGPULibFuncBase::EI_LOG2, llvm::AMDGPULibFuncBase::EI_POWR, llvm::AMDGPULibFuncBase::EI_RECIP, llvm::AMDGPULibFuncBase::EI_RSQRT, llvm::AMDGPULibFuncBase::EI_SIN, llvm::AMDGPULibFuncBase::EI_SINCOS, llvm::AMDGPULibFuncBase::EI_SQRT, and llvm::AMDGPULibFuncBase::EI_TAN.
Referenced by llvm::AMDGPULibCalls::useNative().
amdgpu Simplify well known AMD library false INITIALIZE_PASS | ( | AMDGPUUseNativeCalls | , |
"amdgpu-usenative" | , | ||
"Replace builtin math calls with that native versions." | , | ||
false | , | ||
false | |||
) | & |
INITIALIZE_PASS_BEGIN | ( | AMDGPUSimplifyLibCalls | , |
"amdgpu-simplifylib" | , | ||
"Simplify well-known AMD library calls" | , | ||
false | , | ||
false | |||
) |
Definition at line 186 of file AMDGPULibCalls.cpp.
Referenced by llvm::AAEvaluator::AAEvaluator(), llvm::HashBuilderImpl< HasherT, Endianness >::add(), llvm::AliasSetTracker::add(), AddAliasScopeMetadata(), AddAlignmentAssumptions(), addArgumentReturnedAttrs(), addConditions(), llvm::AnalysisUsage::addPreserved(), addVCallToSet(), adjustByValArgAlignment(), llvm::SystemZTTIImpl::adjustInliningThreshold(), llvm::AMDGPUAAResult::alias(), allCallersPassValidPointerForArgument(), allocateSGPR32Input(), allocateSGPR64Input(), llvm::SITargetLowering::allocateSpecialInputVGPRs(), allocateVGPR32Input(), llvm::CCState::AnalyzeArgumentsSecondPass(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), appendArg(), appendString(), llvm::BitVector::apply(), llvm::X86TTIImpl::areInlineCompatible(), llvm::xray::CallArgRecord::arg(), llvm::MachineFunction::ArgRegPair::ArgRegPair(), llvm::IRPosition::argument(), llvm::CallLowering::ValueHandler::assignValueToAddress(), llvm::BTFDebug::beginFunctionImpl(), CalculateTailCallArgDest(), llvm::CallGraph::CallGraph(), canPaddingBeAccessed(), checkFunctionMemoryAccess(), llvm::Record::checkUnusedTemplateArgs(), checkZExtBool(), llvm::CoroIdInst::clearPromise(), combineFneg(), llvm::computeConstantRange(), llvm::computeExpressionSize(), computeKnownBitsFromAssume(), llvm::computeSignatureVTs(), llvm::DwarfUnit::constructSubprogramArguments(), convertArgumentInfo(), llvm::ArgDescriptor::createArg(), llvm::IRBuilderBase::CreateIsNeg(), llvm::IRBuilderBase::CreateIsNotNeg(), llvm::IRBuilderBase::CreateIsNotNull(), llvm::IRBuilderBase::CreateIsNull(), llvm::Attributor::createShallowWrapper(), llvm::orc::LocalCXXRuntimeOverridesBase::CXAAtExitOverride(), llvm::objcarc::Depends(), llvm::orc::shared::SPSArgList< SPSTagT, SPSTagTs... >::deserialize(), llvm::DivergenceInfo::DivergenceInfo(), llvm::dlltoolDriverMain(), doList(), llvm::DominatorTreeBase< BasicBlock, false >::DominatorTreeBase(), doPromotion(), eliminateSwiftError(), eliminateSwiftErrorArgument(), llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernelArg(), llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernelArgs(), llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::CodeExtractor::excludeArgFromAggregate(), ExpandBasePaths(), ExpandResponseFile(), findArgParts(), findArgumentCopyElisionCandidates(), findDependencies(), FindPredecessorAutoreleaseWithSafePath(), FindPredecessorRetainWithSafePath(), llvm::objcarc::findSingleDependency(), FindSingleUseIdentifiedObject(), fitArgInto64Bits(), flattenCommandLine(), llvm::VarDefInit::Fold(), llvm::FoldingSetBase::FoldingSetBase(), llvm::InstCombinerImpl::foldIntegerTypedPHI(), ForeachDagApply(), llvm::detail::frexp(), llvm::GlobalsAAResult::FunctionInfo::FunctionInfo(), genericValueTraversal(), llvm::DagInit::get(), llvm::getAllocSize(), llvm::DILocalVariable::getArg(), llvm::remarks::Remark::getArgsAsMsg(), getArgumentTypeAlign(), llvm::IRPosition::getAssociatedFunction(), llvm::VarDefInit::getAsString(), llvm::AbstractCallSite::getCallArgOperand(), llvm::AbstractCallSite::getCallArgOperandNo(), llvm::CoroSuspendInst::getCoroSave(), llvm::IRPosition::getCtxI(), llvm::AMDGPUSubtarget::getExplicitKernArgSize(), llvm::MemoryLocation::getForArgument(), llvm::cflaa::getGlobalOrArgAttrFromValue(), llvm::DenseMapInfo< PointerEmbeddedInt< IntT, Bits > >::getHashValue(), llvm::DenseMapInfo< MemoryLocOrCall >::getHashValue(), llvm::MDNodeKeyImpl< DILocalVariable >::getHashValue(), getInterfaceValue(), llvm::DiagnosticInfoOptimizationBase::getMsg(), llvm::X86TargetLowering::getNegatedExpression(), llvm::PassRegistry::getPassInfo(), llvm::SIMachineFunctionInfo::getPreloadedReg(), llvm::CoroIdInst::getPromise(), getSearchPaths(), llvm::ARM_AM::getSOImmVal(), llvm::CoroIdAsyncInst::getStorageArgumentIndex(), llvm::CoroSuspendAsyncInst::getStorageArgumentIndex(), llvm::ARM_AM::getT2SOImmVal(), llvm::AArch64TargetLowering::getTgtMemIntrinsic(), llvm::getTotalArgumentsSizeInBytes(), getVectorCallCosts(), llvm::GlobalsAAResult::GlobalsAAResult(), HandleByValArgument(), handlePhiDef(), HandlePrefixedOrGroupedOption(), llvm::detail::hash_value(), llvm::hash_value(), HasSafePathToPredecessorCall(), llvm::AArch64RegisterInfo::hasSVEArgsOrReturn(), llvm::HexagonEvaluator::HexagonEvaluator(), llvm::Attributor::identifyDefaultAbstractAttributes(), llvm::detail::ilogb(), initSlots2Values(), llvm::yaml::CustomMappingTraits< std::map< std::vector< uint64_t >, WholeProgramDevirtResolution::ByArg > >::inputOne(), llvm::SIInstrInfo::insertNoops(), insertNoopsInBundle(), insertParsePoints(), insertSinCosCall(), insertSpills(), llvm::ARMTTIImpl::instCombineIntrinsic(), llvm::X86TTIImpl::instCombineIntrinsic(), instCombineSVECmpNE(), llvm::remarks::StringTable::internalize(), llvm::Attributor::internalizeFunctions(), llvm::PreservedAnalyses::intersect(), llvm::invertCondition(), llvm::IRSimilarity::IRSimilarityCandidate::IRSimilarityCandidate(), llvm::SparcTargetLowering::IsEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), isIntExtFree(), llvm::InformationCache::isInvolvedInMustTailCall(), llvm::MDNodeKeyImpl< DILocalVariable >::isKeyOf(), isKnownNonNullFromDominatingCondition(), llvm::DILocalVariable::isParameter(), llvm::objcarc::IsPotentialRetainableObjPtr(), isPredicatedOnPHI(), llvm::NVPTXTTIImpl::isSourceOfDivergence(), llvm::Value::isSwiftError(), isSwiftError(), llvm::AMDGPUInstrInfo::isUniformMMO(), llvm::Attributor::isValidFunctionSignatureRewrite(), llvm::LazyValueInfo::LazyValueInfo(), llvm::AMDGPULegalizerInfo::legalizeWorkitemIDIntrinsic(), LLVMGetNextParam(), LLVMGetPreviousParam(), LLVMRemarkArgGetDebugLoc(), LLVMRemarkArgGetKey(), LLVMRemarkArgGetValue(), LLVMSetParamAlignment(), llvm::AMDGPULegalizerInfo::loadInputValue(), llvm::AMDGPUTargetLowering::loadInputValue(), LookupNearestOption(), llvm::Pass::lookupPassInfo(), llvm::LoopInfoBase< BasicBlock, Loop >::LoopInfoBase(), lowerBALLOTIntrinsic(), llvm::MipsCallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerCall(), llvm::VETargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::CallLowering::lowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::FastISel::lowerCallTo(), llvm::SparcTargetLowering::LowerF128_LibCallArg(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::PPCCallLowering::lowerFormalArguments(), llvm::X86CallLowering::lowerFormalArguments(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::M68kCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::SPIRVCallLowering::lowerFormalArguments(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::VETargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), LowerFSINCOS(), LowerMemOpCallTo(), llvm::SITargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), lowerStatepointMetaArgs(), makeStatepointExplicitImpl(), llvm::coro::LowererBase::makeSubFnCall(), llvm::X86TargetLowering::markLibCallAttributes(), markTails(), MatchingStackOffset(), needsFPFromSig(), onlySingleValue(), llvm::GVNExpression::BasicExpression::op_push_back(), std::hash< llvm::pdb::PDB_SymType >::operator()(), llvm::operator<<(), llvm::LazyValueInfo::operator=(), llvm::MIBundleOperandIteratorBase< const MachineOperand >::operator==(), llvm::MCRegisterInfo::mc_difflist_iterator< mc_subreg_iterator >::operator==(), llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >::operator==(), llvm::LazyCallGraph::postorder_ref_scc_iterator::operator==(), llvm::BlotMapVector< KeyT, ValueT >::operator[](), llvm::yaml::CustomMappingTraits< std::map< std::vector< uint64_t >, WholeProgramDevirtResolution::ByArg > >::output(), llvm::cflaa::parentFunctionOfValue(), llvm::remarks::HotnessThresholdParser::parse(), llvm::cl::parser< const PassInfo * >::parse(), llvm::cl::parser< std::string >::parse(), llvm::cl::parser< char >::parse(), llvm::parseCommandLineOptions(), parseDouble(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseEncoding(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseExpr(), ParseFunctionArgs(), llvm::remarks::parseHotnessThresholdOption(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), llvm::remarks::YAMLRemarkParser::parseRemark(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseSpecialName(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseTemplateArg(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseTemplateArgs(), passingValueIsAlwaysUndefined(), Passv64i1ArgInRegs(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::AMDGPUAAResult::pointsToConstantMemory(), populateExternalRelations(), llvm::LegacyDivergenceAnalysis::print(), llvm::sys::printArg(), processArg(), processDbgDeclares(), processPSInputArgs(), ProfileDagInit(), programUndefinedIfUndefOrPoison(), llvm::promoteCall(), llvm::cl::ProvidePositionalOption(), llvm::Attributor::registerFunctionSignatureRewrite(), llvm::DIExpression::replaceArg(), replaceArgumentUses(), replaceConstants(), replaceSwiftErrorOps(), replaceWithCallToVeclib(), llvm::VarDefInit::resolveReferences(), llvm::DagInit::resolveReferences(), llvm::LoopAnalysisManagerFunctionProxy::Result::Result(), llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::Result(), llvm::DivergenceAnalysisPrinterPass::run(), llvm::RequireAnalysisPass< AnalysisT, IRUnitT, AnalysisManagerT, ExtraArgTs >::run(), llvm::orc::runAsMain(), llvm::runFuzzerOnInputs(), llvm::runIPSCCP(), llvm::IRTranslator::runOnMachineFunction(), llvm::coro::salvageDebugInfo(), llvm::ScalarEvolution::ScalarEvolution(), llvm::detail::scalbn(), llvm::FastISel::selectIntrinsicCall(), llvm::orc::shared::SPSArgList< SPSTagT, SPSTagTs... >::serialize(), llvm::CallLowering::setArgFlags(), llvm::SIMachineFunctionInfo::setWorkItemIDX(), llvm::SIMachineFunctionInfo::setWorkItemIDY(), llvm::SIMachineFunctionInfo::setWorkItemIDZ(), simplifyInvariantGroupIntrinsic(), simplifyX86movmsk(), llvm::orc::shared::SPSArgList< SPSTagT, SPSTagTs... >::size(), StoreTailCallArgumentsToStackSlot(), llvm::SubsumingPositionIterator::SubsumingPositionIterator(), llvm::Attributor::translateArgumentToCallSiteContent(), tryConstantFoldCall(), tryToElideArgumentCopy(), llvm::UpgradeARCRuntime(), llvm::UpgradeFunctionAttributes(), llvm::IRPosition::value(), llvm::InstCombinerImpl::visitCallInst(), llvm::InnerLoopVectorizer::widenCallInstruction(), llvm::wouldInstructionBeTriviallyDead(), and writeFunctionTypeMetadataRecords().
amdgpu Simplify well known AMD library false FunctionCallee Callee |
Definition at line 186 of file AMDGPULibCalls.cpp.
Referenced by llvm::AbstractCallSite::AbstractCallSite(), AddCalls(), addCallToCallGraph(), addNoRecurseAttrs(), adjustCallerSSPLevel(), adjustCallerStackProbes(), adjustCallerStackProbeSize(), llvm::SystemZTTIImpl::adjustInliningThreshold(), adjustMinLegalVectorWidth(), adjustNullPointerValidAttr(), allCallersPassValidPointerForArgument(), analyzeLoopUnrollCost(), llvm::GCNTTIImpl::areInlineCompatible(), llvm::X86TTIImpl::areInlineCompatible(), llvm::TargetTransformInfoImplBase::areInlineCompatible(), llvm::AttributeFuncs::areInlineCompatible(), llvm::TargetTransformInfo::areInlineCompatible(), llvm::PPCTTIImpl::areTypesABICompatible(), llvm::X86TTIImpl::areTypesABICompatible(), llvm::TargetTransformInfoImplBase::areTypesABICompatible(), llvm::TargetTransformInfo::areTypesABICompatible(), llvm::AVRDAGToDAGISel::select< AVRISD::CALL >(), buildCallOperands(), CallExpr::CallExpr(), callsShareTOCBase(), canLongjmp(), canSinkInstructions(), computeFunctionSummary(), llvm::IRBuilderBase::CreateCall(), llvm::IRBuilderBase::CreateCallBr(), llvm::objcarc::createCallInstWithColors(), llvm::IRBuilderBase::CreateConstrainedFPCall(), llvm::IRBuilderBase::CreateInvoke(), DeleteBasicBlock(), doCallSiteSplitting(), emitBinaryFloatFnCallHelper(), EmitCall(), emitDirectiveRelocJalr(), llvm::emitInlinedInto(), llvm::emitInlinedIntoBasedOnCost(), emitLibCall(), emitUnaryFloatFnCallHelper(), llvm::InlineSizePriority::evaluate(), findInitTrampoline(), llvm::sampleprof::FunctionSamples::findInlinedFunctions(), findUses(), llvm::AMDGPULibCalls::fold(), for(), llvm::FunctionCallee::FunctionCallee(), functionsHaveCompatibleAttributes(), llvm::MLInlineAdvisor::getAdviceImpl(), llvm::ReplayInlineAdvisor::getAdviceImpl(), getAllocationData(), getAllocationDataForFunction(), llvm::getAllocationFamily(), getAllocationSize(), llvm::IRPosition::getAssociatedArgument(), llvm::getAttributeBasedInliningDecision(), llvm::AbstractCallSite::getCallbackUses(), getCalledFunction(), getCallOpcode(), getEdgeKind(), llvm::FunctionPropertiesInfo::getFunctionPropertiesInfo(), getInlinableCS(), llvm::getInlineCost(), llvm::InlineAdvisor::getMandatoryKind(), llvm::AArch64InstrInfo::getOutliningType(), llvm::ARMBaseInstrInfo::getOutliningType(), llvm::MipsCCState::getSpecialCallingConvForCallee(), hasReturnsTwiceAttr(), llvm::Attributor::identifyDefaultAbstractAttributes(), INITIALIZE_PASS(), llvm::InformationCache::initializeModuleSlice(), inlineCallIfPossible(), insertSinCosCall(), InstrBreaksNoFree(), InstrBreaksNonThrowing(), InstrBreaksNoSync(), isCalleeLoad(), llvm::CodeExtractor::isEligible(), llvm::HexagonTargetLowering::IsEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), isEmAsmCall(), isEqual(), llvm::isFreeCall(), isFunctionGlobalAddress(), isIndirectCall(), llvm::isInlineViable(), llvm::isLegalToPromote(), isReportingError(), isReturnNonNull(), llvm::isSafeToSpeculativelyExecute(), llvm::VETargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundle(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::SelectionDAGBuilder::LowerDeoptimizeCall(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), llvm::SparcTargetLowering::LowerGlobalTLSAddress(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::SelectionDAGBuilder::LowerStatepoint(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), markAliveBlocks(), CallExpr::match(), llvm::SIMachineFunctionInfo::mayUseAGPRs(), llvm::AttributeFuncs::mergeAttributesForInlining(), llvm::MLInlineAdvisor::onSuccessfulInlining(), llvm::pdb::operator<<(), llvm::FortifiedLibCallSimplifier::optimizeCall(), llvm::LibCallSimplifier::optimizeCall(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseExpr(), prepareDescriptorIndirectCall(), prepareIndirectCall(), CallExpr::printLeft(), llvm::sampleprof::ProfiledCallGraph::ProfiledCallGraph(), llvm::promoteCall(), llvm::promoteCallWithIfThenElse(), propagateCallAttrsFromCallee(), llvm::ImportedFunctionsInliningStatistics::recordInline(), llvm::CallGraphNode::removeAnyCallEdgeTo(), llvm::CallGraphNode::removeOneAbstractEdgeTo(), llvm::ReplayInlineAdvisor::ReplayInlineAdvisor(), llvm::ModuleInlinerPass::run(), llvm::AMDGPUSimplifyLibCallsPass::run(), llvm::AMDGPUUseNativeCallsPass::run(), llvm::InlinerPass::run(), runImpl(), runNVVMIntrRange(), llvm::FastISel::selectPatchpoint(), setAND(), setOR(), llvm::shouldInline(), llvm::SimplifyCall(), simplifySuspendPoint(), llvm::SubsumingPositionIterator::SubsumingPositionIterator(), llvm::thinLTOPropagateFunctionAttrs(), llvm::thread::thread(), transformCallee(), llvm::tryPromoteCall(), UpdateCallGraphAfterInlining(), updateCallProfile(), llvm::updateProfileCallee(), llvm::AMDGPULibCalls::useNative(), llvm::versionCallSite(), and llvm::sampleprof::SampleProfileWriterBinary::writeBody().
Definition at line 179 of file AMDGPULibCalls.cpp.
|
static |
Referenced by llvm::AMDGPULibCalls::fold().
Definition at line 179 of file AMDGPULibCalls.cpp.
Referenced by llvm::AMDGPULibCalls::fold().
amdgpu simplifylib |
Definition at line 178 of file AMDGPULibCalls.cpp.
|
static |
Definition at line 212 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 218 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 221 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 227 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 233 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 237 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 243 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 249 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 253 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 259 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 265 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 269 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 273 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 281 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 277 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 285 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 295 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 290 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 300 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 304 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 312 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 308 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 316 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 320 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 324 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 328 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 332 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 337 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 341 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 345 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Definition at line 349 of file AMDGPULibCalls.cpp.
Referenced by getOptTable().
|
static |
Referenced by llvm::AMDGPULibCalls::initNativeFuncs(), and llvm::AMDGPUUseNativeCallsPass::run().