LLVM 23.0.0git
NVPTXSubtarget.cpp File Reference
#include "NVPTXSubtarget.h"
#include "NVPTXSelectionDAGInfo.h"
#include "NVPTXTargetMachine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FormatVariadic.h"
#include "NVPTXGenSubtargetInfo.inc"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "nvptx-subtarget"
#define GET_SUBTARGETINFO_ENUM
#define GET_SUBTARGETINFO_TARGET_DESC
#define GET_SUBTARGETINFO_CTOR

Functions

static constexpr unsigned SM (unsigned Version)
static constexpr unsigned SMF (unsigned Version)
static constexpr unsigned SMA (unsigned Version)
static unsigned getMinPTXVersionForSM (unsigned FullSmVersion)

Variables

static cl::opt< boolNoF16Math ("nvptx-no-f16-math", cl::Hidden, cl::desc("NVPTX Specific: Disable generation of f16 math ops."), cl::init(false))
static cl::opt< boolNoF32x2 ("nvptx-no-f32x2", cl::Hidden, cl::desc("NVPTX Specific: Disable generation of " "f32x2 instructions and registers."), cl::init(false))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "nvptx-subtarget"

Definition at line 21 of file NVPTXSubtarget.cpp.

◆ GET_SUBTARGETINFO_CTOR

#define GET_SUBTARGETINFO_CTOR

Definition at line 25 of file NVPTXSubtarget.cpp.

◆ GET_SUBTARGETINFO_ENUM

#define GET_SUBTARGETINFO_ENUM

Definition at line 23 of file NVPTXSubtarget.cpp.

◆ GET_SUBTARGETINFO_TARGET_DESC

#define GET_SUBTARGETINFO_TARGET_DESC

Definition at line 24 of file NVPTXSubtarget.cpp.

Function Documentation

◆ getMinPTXVersionForSM()

unsigned getMinPTXVersionForSM ( unsigned FullSmVersion)
static

Definition at line 55 of file NVPTXSubtarget.cpp.

References llvm_unreachable, SM(), SMA(), and SMF().

Referenced by llvm::NVPTXSubtarget::initializeSubtargetDependencies().

◆ SM()

constexpr unsigned SM ( unsigned Version)
staticconstexpr

Definition at line 40 of file NVPTXSubtarget.cpp.

Referenced by llvm::mca::RegisterFile::addRegisterRead(), llvm::FileCheckString::Check(), llvm::FileCheckString::CheckDag(), llvm::FileCheck::checkInput(), llvm::FileCheckString::CheckNext(), llvm::FileCheckString::CheckNot(), llvm::mca::RegisterFile::checkRAWHazards(), llvm::FileCheckString::CheckSame(), llvm::mca::RegisterFile::collectWrites(), llvm::mca::computeBlockRThroughput(), llvm::rdf::Liveness::computePhiInfo(), llvm::mca::computeProcResourceMasks(), llvm::GCNSchedStage::computeSUnitReadyCycle(), llvm::vfs::RedirectingFileSystem::create(), llvm::mca::Context::createDefaultPipeline(), llvm::mca::Context::createInOrderPipeline(), llvm::createMCAsmParser(), llvm::createMCMasmParser(), llvm::FileCheckPatternContext::defineCmdlineVariables(), llvm::yaml::dumpTokens(), emitShaderModelVersionMD(), llvm::GCMetadataPrinter::emitStackMaps(), llvm::FileCheckDiag::FileCheckDiag(), llvm::ErrorDiagnostic::get(), llvm::ErrorDiagnostic::get(), llvm::BinaryOperation::getImplicitFormat(), llvm::ExpressionAST::getImplicitFormat(), llvm::NumericVariableUse::getImplicitFormat(), getInputSegmentList(), getMinPTXVersionForSM(), getOutputSegmentMap(), llvm::HvxSelector::getPerfectCompletions(), llvm::MCSchedModel::getReciprocalThroughput(), llvm::GCNSchedStage::getScheduleMetrics(), llvm::GCNSchedStage::getScheduleMetrics(), llvm::ScalarEvolution::getZeroExtendExprImpl(), llvm::NVPTXSubtarget::hasPTXWithAccelSMs(), llvm::NVPTXSubtarget::hasPTXWithFamilySMs(), llvm::mca::initializeUsedResources(), llvm::mca::InstrBuilder::InstrBuilder(), llvm::InstrItineraryData::InstrItineraryData(), llvm::LLParser::LLParser(), LLVMOrcAbsoluteSymbols(), LLVMOrcMaterializationResponsibilityNotifyResolved(), llvm::MCAsmParserSemaCallback::LookupInlineAsmLabel(), LowerVSETCC(), llvm::mca::LSUnit::LSUnit(), llvm::mca::LSUnit::LSUnit(), llvm::mca::LSUnit::LSUnit(), llvm::mca::LSUnitBase::LSUnitBase(), llvm::Pattern::match(), llvm::MCAsmParser::MCAsmParser(), parseAssemblyInto(), llvm::parseConstantValue(), llvm::parseDIExpressionBodyAtBeginning(), llvm::Pattern::parseNumericSubstitutionBlock(), llvm::Pattern::parsePattern(), parseSummaryIndexAssemblyInto(), llvm::parseType(), llvm::parseTypeAtBeginning(), llvm::Pattern::parseVariable(), llvm::FileCheckPatternContext::Pattern, llvm::Pattern::printFuzzyMatch(), printMatch(), printNoMatch(), llvm::Pattern::printSubstitutions(), llvm::Pattern::printVariableDefs(), ProcessMatchResult(), llvm::memprof::RawMemProfReader::RawMemProfReader(), llvm::FileCheck::readCheckFile(), llvm::mca::RegisterFile::RegisterFile(), llvm::HexagonShuffler::reportError(), reportMatchResult(), llvm::HexagonMCChecker::reportNote(), llvm::HexagonShuffler::reportResourceUsage(), llvm::SplitEditor::reset(), llvm::mca::RetireControlUnit::RetireControlUnit(), llvm::HvxSelector::rotationDistance(), llvm::FunctionSpecializer::run(), llvm::yaml::scanTokens(), llvm::MCInstBuilder::setLoc(), setupSM(), SMA(), SMF(), STATISTIC(), llvm::yaml::Stream::Stream(), llvm::yaml::Stream::Stream(), llvm::SystemZHazardRecognizer::SystemZHazardRecognizer(), llvm::TGLexer::TGLexer(), llvm::TGParser::TGParser(), LLVMOrcLazyCallThroughManagerRef::toSymbolMap(), llvm::ExpressionFormat::valueFromStringRepr(), llvm::VLIWResourceModel::VLIWResourceModel(), llvm::remarks::YAMLParseError::YAMLParseError(), and llvm::FileCheck::~FileCheck().

◆ SMA()

constexpr unsigned SMA ( unsigned Version)
staticconstexpr

Definition at line 42 of file NVPTXSubtarget.cpp.

References SM().

Referenced by getMinPTXVersionForSM().

◆ SMF()

constexpr unsigned SMF ( unsigned Version)
staticconstexpr

Definition at line 41 of file NVPTXSubtarget.cpp.

References SM().

Referenced by getMinPTXVersionForSM().

Variable Documentation

◆ NoF16Math

cl::opt< bool > NoF16Math("nvptx-no-f16-math", cl::Hidden, cl::desc("NVPTX Specific: Disable generation of f16 math ops."), cl::init(false)) ( "nvptx-no-f16-math" ,
cl::Hidden ,
cl::desc("NVPTX Specific: Disable generation of f16 math ops.") ,
cl::init(false)  )
static

◆ NoF32x2

cl::opt< bool > NoF32x2("nvptx-no-f32x2", cl::Hidden, cl::desc("NVPTX Specific: Disable generation of " "f32x2 instructions and registers."), cl::init(false)) ( "nvptx-no-f32x2" ,
cl::Hidden ,
cl::desc("NVPTX Specific: Disable generation of " "f32x2 instructions and registers.") ,
cl::init(false)  )
static