LLVM 20.0.0git
|
#include "NVPTXISelLowering.h"
#include "MCTargetDesc/NVPTXBaseInfo.h"
#include "NVPTX.h"
#include "NVPTXSubtarget.h"
#include "NVPTXTargetMachine.h"
#include "NVPTXTargetObjectFile.h"
#include "NVPTXUtilities.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/Analysis.h"
#include "llvm/CodeGen/ISDOpcodes.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/CodeGen/TargetCallingConv.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/CodeGenTypes/MachineValueType.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/FPEnv.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicsNVPTX.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/NVPTXAddrSpace.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdint>
#include <iterator>
#include <optional>
#include <string>
#include <utility>
#include <vector>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "nvptx-lower" |
#define | MAKE_CASE(V) |
Enumerations | |
enum | ParamVectorizationFlags { PVF_INNER = 0x0 , PVF_FIRST = 0x1 , PVF_LAST = 0x2 , PVF_SCALAR = PVF_FIRST | PVF_LAST } |
enum | OperandSignedness { Signed = 0 , Unsigned , Unknown } |
Variables | |
static std::atomic< unsigned > | GlobalUniqueCallSite |
static cl::opt< bool > | sched4reg ("nvptx-sched4reg", cl::desc("NVPTX Specific: schedule for register pressue"), cl::init(false)) |
static cl::opt< unsigned > | FMAContractLevelOpt ("nvptx-fma-level", cl::Hidden, cl::desc("NVPTX Specific: FMA contraction (0: don't do it" " 1: do it 2: do it aggressively"), cl::init(2)) |
static cl::opt< int > | UsePrecDivF32 ("nvptx-prec-divf32", cl::Hidden, cl::desc("NVPTX Specifies: 0 use div.approx, 1 use div.full, 2 use" " IEEE Compliant F32 div.rnd if available."), cl::init(2)) |
static cl::opt< bool > | UsePrecSqrtF32 ("nvptx-prec-sqrtf32", cl::Hidden, cl::desc("NVPTX Specific: 0 use sqrt.approx, 1 use sqrt.rn."), cl::init(true)) |
static cl::opt< bool > | ForceMinByValParamAlign ("nvptx-force-min-byval-param-align", cl::Hidden, cl::desc("NVPTX Specific: force 4-byte minimal alignment for byval" " params of device functions."), cl::init(false)) |
#define DEBUG_TYPE "nvptx-lower" |
Definition at line 70 of file NVPTXISelLowering.cpp.
#define MAKE_CASE | ( | V | ) |
enum OperandSignedness |
Enumerator | |
---|---|
Signed | |
Unsigned | |
Unknown |
Definition at line 4746 of file NVPTXISelLowering.cpp.
Enumerator | |
---|---|
PVF_INNER | |
PVF_FIRST | |
PVF_LAST | |
PVF_SCALAR |
Definition at line 410 of file NVPTXISelLowering.cpp.
Definition at line 1284 of file NVPTXISelLowering.cpp.
Referenced by LowerUnalignedLoadRetParam(), LowerUnalignedStoreParam(), and LowerUnalignedStoreRet().
|
static |
AreMulWideOperandsDemotable - Checks if the given LHS and RHS operands can be demoted to OptSize
bits without loss of information.
If the operands contain a constant, it should appear as the RHS operand. The signedness of the operands is placed in IsSigned
.
Definition at line 4782 of file NVPTXISelLowering.cpp.
References llvm::APInt::isIntN(), IsMulWideOperandDemotable(), llvm::APInt::isSignedIntN(), LHS, RHS, Signed, llvm::Unknown, and Unsigned.
Referenced by TryMULWIDECombine().
|
static |
Definition at line 364 of file NVPTXISelLowering.cpp.
References llvm::EVT::getStoreSize(), Idx, and llvm::SmallVectorBase< Size_T >::size().
Referenced by VectorizePTXValueVTs().
|
static |
Definition at line 4902 of file NVPTXISelLowering.cpp.
References llvm::Add, llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::SelectionDAG::getNode(), llvm::NVPTXISD::IMAD, matchMADConstOnePattern(), X, and Y.
Referenced by PerformMULCombineWithOperands().
|
static |
Definition at line 4911 of file NVPTXISelLowering.cpp.
References Cond, llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::SelectionDAG::getNode(), isConstOne(), matchMADConstOnePattern(), llvm::ISD::MUL, llvm::ISD::SELECT, Select, X, and Y.
Referenced by PerformMULCombineWithOperands().
|
static |
ComputePTXValueVTs - For the given Type Ty
, returns the set of primitive EVTs that compose it.
Unlike ComputeValueVTs, this will break apart vectors into their primitive components. NOTE: This is a band-aid for code that expects ComputeValueVTs to return the same number of types as the Ins/Outs arrays in LowerFormalArguments, LowerCall, and LowerReturn.
Definition at line 232 of file NVPTXISelLowering.cpp.
References ComputePTXValueVTs(), llvm::ComputeValueVTs(), DL, llvm::EVT::getSimpleVT(), llvm::EVT::getStoreSize(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), Is16bitsType(), llvm::Type::isIntegerTy(), llvm::isPowerOf2_32(), llvm::EVT::isVector(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::MVT::SimpleTy, and llvm::SmallVectorBase< Size_T >::size().
Referenced by ComputePTXValueVTs(), llvm::NVPTXTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerFormalArguments(), and llvm::NVPTXTargetLowering::LowerReturn().
|
static |
Definition at line 173 of file NVPTXISelLowering.cpp.
References llvm::EVT::getSimpleVT(), llvm::EVT::getSizeInBits(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), llvm::MVT::getVectorVT(), llvm::EVT::isSimple(), llvm::EVT::isVector(), llvm_unreachable, and llvm::MVT::SimpleTy.
Referenced by ReplaceLoadVector().
Definition at line 160 of file NVPTXISelLowering.cpp.
References llvm::MVT::SimpleTy.
Referenced by ComputePTXValueVTs().
Definition at line 4884 of file NVPTXISelLowering.cpp.
Referenced by combineMulSelectConstOne(), and matchMADConstOnePattern().
Definition at line 4424 of file NVPTXISelLowering.cpp.
Referenced by PerformADDCombineWithOperands().
|
static |
IsMulWideOperandDemotable - Checks if the provided DAG node is an operand that can be demoted to OptSize
bits without loss of information.
The signedness of the operand, if determinable, is placed in S
.
Definition at line 4755 of file NVPTXISelLowering.cpp.
References llvm::EVT::getFixedSizeInBits(), llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_INREG, Signed, llvm::Unknown, Unsigned, and llvm::ISD::ZERO_EXTEND.
Referenced by AreMulWideOperandsDemotable().
Definition at line 131 of file NVPTXISelLowering.cpp.
References llvm::MVT::SimpleTy.
Referenced by llvm::NVPTXTargetLowering::NVPTXTargetLowering(), and PerformEXTRACTCombine().
Definition at line 1128 of file NVPTXISelLowering.cpp.
References llvm::Type::isAggregateType(), llvm::Type::isBFloatTy(), llvm::Type::isHalfTy(), llvm::Type::isIntegerTy(), and llvm::Type::isVectorTy().
Referenced by llvm::NVPTXTargetLowering::getPrototype(), llvm::NVPTXTargetLowering::LowerCall(), and llvm::NVPTXTargetLowering::LowerFormalArguments().
|
static |
Definition at line 1338 of file NVPTXISelLowering.cpp.
References adjustElementType(), llvm::ISD::AND, llvm::ISD::BITCAST, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getSimpleValueType(), llvm::SDValue::getValue(), llvm::SelectionDAG::getVTList(), llvm::NVPTXISD::LoadParam, llvm::Offset, llvm::ISD::OR, llvm::NVPTXISD::ProxyReg, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::ISD::SHL, and llvm::ISD::ZERO_EXTEND.
Referenced by llvm::NVPTXTargetLowering::LowerCall().
|
static |
Definition at line 1307 of file NVPTXISelLowering.cpp.
References adjustElementType(), llvm::ISD::BITCAST, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getValue(), llvm::SelectionDAG::getVTList(), llvm::MachineMemOperand::MOStore, llvm::Offset, llvm::ISD::SRL, and llvm::NVPTXISD::StoreParam.
Referenced by llvm::NVPTXTargetLowering::LowerCall().
|
static |
Definition at line 3232 of file NVPTXISelLowering.cpp.
References adjustElementType(), llvm::ISD::BITCAST, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getVTList(), llvm::MachineMemOperand::MOStore, llvm::Offset, llvm::ISD::SRL, and llvm::NVPTXISD::StoreRetval.
Referenced by llvm::NVPTXTargetLowering::LowerReturn().
|
static |
Definition at line 2588 of file NVPTXISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, DL, llvm::SelectionDAG::getNode(), I, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::transform().
Referenced by llvm::NVPTXTargetLowering::LowerOperation().
Definition at line 4889 of file NVPTXISelLowering.cpp.
References llvm::Add, llvm::ISD::ADD, and isConstOne().
Referenced by combineMADConstOne(), and combineMulSelectConstOne().
|
static |
Definition at line 475 of file NVPTXISelLowering.cpp.
References llvm::ISD::BITCAST, DL, and llvm::SelectionDAG::getNode().
Referenced by ReplaceBITCAST().
|
static |
PerformADDCombine - Target-specific dag combine xforms for ISD::ADD.
Definition at line 4578 of file NVPTXISelLowering.cpp.
References llvm::SDValue::getValueType(), llvm::EVT::isVector(), N, llvm::None, and PerformADDCombineWithOperands().
|
static |
PerformADDCombineWithOperands - Try DAG combinations for an ADD with operands N0 and N1.
This is a helper for PerformADDCombine that is called with the default operands, and if that fails, with commuted operands.
Definition at line 4434 of file NVPTXISelLowering.cpp.
References llvm::TargetLowering::DAGCombinerInfo::DAG, llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::SelectionDAG::getSelect(), llvm::SDValue::getValueType(), llvm::SDNode::hasOneUse(), llvm::NVPTXISD::IMAD, isConstZero(), llvm::ISD::MUL, N, and llvm::ISD::SELECT.
|
static |
Definition at line 4620 of file NVPTXISelLowering.cpp.
References llvm::ISD::ANY_EXTEND, llvm::NVPTXISD::BFE, llvm::TargetLowering::DAGCombinerInfo::CombineTo(), llvm::TargetLowering::DAGCombinerInfo::DAG, llvm::SDNode::getConstantOperandVal(), llvm::MemSDNode::getMemoryVT(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::SDValue::getValueType(), llvm::ConstantSDNode::getZExtValue(), llvm::NVPTXISD::LoadV2, llvm::NVPTXISD::LoadV4, N, llvm::ISD::SEXTLOAD, std::swap(), llvm::ISD::TRUNCATE, and llvm::ISD::ZERO_EXTEND.
|
static |
Definition at line 5108 of file NVPTXISelLowering.cpp.
References assert(), llvm::ISD::BITCAST, llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::TargetLowering::DAGCombinerInfo::isAfterLegalizeDAG(), llvm::Isv2x16VT(), N, llvm::NVPTX::PTXPrmtMode::NONE, llvm::NVPTXISD::PRMT, llvm::ISD::SRL, and llvm::ISD::TRUNCATE.
|
static |
Definition at line 5023 of file NVPTXISelLowering.cpp.
References llvm::ISD::allOperandsUndef(), llvm::ISD::ANY_EXTEND, llvm::ISD::BITCAST, llvm::EVT::changeTypeToInteger(), llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::ISD::FREEZE, llvm::SelectionDAG::getConstant(), llvm::MVT::getIntegerVT(), llvm::SelectionDAG::getNode(), llvm::EVT::getScalarSizeInBits(), llvm::EVT::getSimpleVT(), llvm::EVT::getSizeInBits(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), IsPTXVectorType(), llvm::EVT::isSimple(), llvm::Isv2x16VT(), llvm::ISD::LOAD, N, llvm::ISD::SRA, llvm::ISD::TRUNCATE, and llvm::Vector.
|
static |
PerformFADDCombine - Target-specific dag combine xforms for ISD::FADD.
Definition at line 4602 of file NVPTXISelLowering.cpp.
References llvm::SDValue::getValueType(), llvm::EVT::isVector(), N, and PerformFADDCombineWithOperands().
|
static |
Definition at line 4478 of file NVPTXISelLowering.cpp.
References llvm::TargetLowering::DAGCombinerInfo::DAG, llvm::ISD::FADD, llvm::ISD::FMA, llvm::ISD::FMUL, llvm::SDNode::getIROrder(), llvm::SelectionDAG::getMachineFunction(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getTargetLoweringInfo(), llvm::SDValue::getValueType(), N, and llvm::SDNode::users().
Referenced by PerformFADDCombine().
|
static |
PerformMULCombine - Runs PTX-specific DAG combine patterns on MUL nodes.
Definition at line 4969 of file NVPTXISelLowering.cpp.
References N, llvm::None, PerformMULCombineWithOperands(), and TryMULWIDECombine().
|
static |
Definition at line 4941 of file NVPTXISelLowering.cpp.
References combineMADConstOne(), combineMulSelectConstOne(), DL, llvm::SDValue::getValueType(), llvm::EVT::isVector(), and N.
Referenced by PerformMULCombine().
|
static |
Definition at line 4715 of file NVPTXISelLowering.cpp.
References assert(), llvm::TargetLowering::DAGCombinerInfo::DAG, llvm::Default, DL, llvm::SelectionDAG::getNode(), llvm::ISD::MUL, N, llvm::ISD::SDIV, llvm::ISD::SREM, llvm::ISD::SUB, llvm::ISD::UDIV, llvm::ISD::UREM, and llvm::SDNode::users().
|
static |
Definition at line 4996 of file NVPTXISelLowering.cpp.
References A, B, llvm::ISD::BUILD_VECTOR, llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::SelectionDAG::getNode(), llvm::SDValue::getValue(), llvm::SelectionDAG::getVTList(), N, llvm::NVPTXISD::SETP_BF16X2, llvm::NVPTXISD::SETP_F16X2, and SmVersion.
|
static |
PerformSHLCombine - Runs PTX-specific DAG combine patterns on SHL nodes.
Definition at line 4984 of file NVPTXISelLowering.cpp.
References N, llvm::None, and TryMULWIDECombine().
Definition at line 4554 of file NVPTXISelLowering.cpp.
References llvm::all_of(), and N.
Referenced by PerformStoreParamCombine(), and PerformStoreRetvalCombine().
Definition at line 4565 of file NVPTXISelLowering.cpp.
References N, and PerformStoreCombineHelper().
Definition at line 4571 of file NVPTXISelLowering.cpp.
References N, and PerformStoreCombineHelper().
|
static |
Definition at line 5075 of file NVPTXISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::CallingConv::C, llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::SelectionDAG::getAnyExtOrTrunc(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SDValue::getValueType(), I, N, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::ISD::SELECT.
PromoteScalarIntegerPTX Used to make sure the arguments/returns are suitable for passing and promote them to a larger size if they're not.
The promoted type is placed in PromoteVT
if the function returns true.
Definition at line 325 of file NVPTXISelLowering.cpp.
References llvm::EVT::getFixedSizeInBits(), llvm::EVT::isScalarInteger(), llvm_unreachable, and llvm::PowerOf2Ceil().
Referenced by llvm::NVPTXTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerFormalArguments(), and llvm::NVPTXTargetLowering::LowerReturn().
|
static |
Definition at line 5205 of file NVPTXISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), MaybeBitcast(), Results, llvm::ISD::SRL, and llvm::ISD::TRUNCATE.
|
static |
Definition at line 5433 of file NVPTXISelLowering.cpp.
References assert(), llvm::ISD::BUILD_PAIR, llvm::ISD::CopyFromReg, DL, llvm::SelectionDAG::getNode(), llvm::SDValue::getValue(), N, and Results.
|
static |
Definition at line 5324 of file NVPTXISelLowering.cpp.
References llvm::SmallVectorImpl< T >::append(), assert(), DL, llvm::SDNode::getAsZExtVal(), llvm::SelectionDAG::getBuildVector(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::MemSDNode::getMemOperand(), llvm::MemSDNode::getMemoryVT(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::EVT::getSimpleVT(), llvm::EVT::getSizeInBits(), llvm::SDValue::getValue(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), llvm::SelectionDAG::getVTList(), llvm::ISD::INTRINSIC_W_CHAIN, llvm::EVT::isSimple(), llvm::EVT::isVector(), llvm::NVPTXISD::LDUV2, llvm::NVPTXISD::LDUV4, N, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Results, llvm::MVT::SimpleTy, and llvm::ISD::TRUNCATE.
|
static |
ReplaceVectorLoad - Convert vector loads into multi-output scalar loads.
Definition at line 5228 of file NVPTXISelLowering.cpp.
References assert(), DL, llvm::SelectionDAG::ExtractVectorElements(), llvm::SelectionDAG::getBuildVector(), llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getDataLayout(), llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::SelectionDAG::getNode(), llvm::DataLayout::getPrefTypeAlign(), llvm::EVT::getSizeInBits(), llvm::SDValue::getValue(), llvm::EVT::getVectorElementType(), getVectorLoweringShape(), llvm::EVT::getVectorNumElements(), llvm::SelectionDAG::getVTList(), llvm::EVT::isVector(), llvm::NVPTXISD::LoadV2, llvm::NVPTXISD::LoadV4, N, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Results, and llvm::ISD::TRUNCATE.
|
static |
Definition at line 1383 of file NVPTXISelLowering.cpp.
References llvm::CallBase::getFunctionType().
Referenced by llvm::NVPTXTargetLowering::LowerCall().
|
static |
TryMULWIDECombine - Attempt to replace a multiply of M bits with a multiply of M/2 bits that produces an M-bit result (i.e.
mul.wide). This transform works on both multiply DAG nodes and SHL DAG nodes with a constant shift amount.
Definition at line 4818 of file NVPTXISelLowering.cpp.
References AreMulWideOperandsDemotable(), llvm::BitWidth, llvm::TargetLowering::DAGCombinerInfo::DAG, DL, llvm::ConstantSDNode::getAPIntValue(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::EVT::getSizeInBits(), LHS, llvm::ISD::MUL, llvm::NVPTXISD::MUL_WIDE_SIGNED, llvm::NVPTXISD::MUL_WIDE_UNSIGNED, N, RHS, llvm::APInt::sge(), llvm::ISD::SHL, Signed, llvm::APInt::slt(), std::swap(), and llvm::ISD::TRUNCATE.
Referenced by PerformMULCombine(), and PerformSHLCombine().
|
static |
Definition at line 427 of file NVPTXISelLowering.cpp.
References assert(), llvm::SmallVectorImpl< T >::assign(), CanMergeParamLoadStoresStartingAt(), I, llvm_unreachable, PVF_FIRST, PVF_INNER, PVF_LAST, PVF_SCALAR, and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::NVPTXTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerFormalArguments(), and llvm::NVPTXTargetLowering::LowerReturn().
|
static |
Referenced by llvm::NVPTXTargetLowering::allowFMA().
|
static |
Referenced by llvm::NVPTXTargetLowering::getFunctionByValParamAlign().
|
static |
Definition at line 74 of file NVPTXISelLowering.cpp.
Referenced by llvm::NVPTXTargetLowering::LowerCall().
|
static |
Referenced by llvm::NVPTXTargetLowering::NVPTXTargetLowering().
|
static |
Referenced by llvm::NVPTXTargetLowering::getDivF32Level().
|
static |
Referenced by llvm::NVPTXTargetLowering::usePrecSqrtF32().