LLVM API Documentation
#include <TargetMachine.h>
TargetMachine - Primary interface to the complete machine description for the target machine. All target-specific information should be accessible through this interface.
Definition at line 60 of file Target/TargetMachine.h.
CodeGenFileType - These enums are meant to be passed into addPassesToEmitFile to indicate what type of file to emit, and returned by it to indicate what type of file could actually be made.
Definition at line 185 of file Target/TargetMachine.h.
TargetMachine::TargetMachine | ( | const Target & | T, |
StringRef | TargetTriple, | ||
StringRef | CPU, | ||
StringRef | FS, | ||
const TargetOptions & | Options | ||
) | [protected] |
Definition at line 36 of file TargetMachine.cpp.
TargetMachine::~TargetMachine | ( | ) | [virtual] |
Definition at line 45 of file TargetMachine.cpp.
References AsmInfo, and CodeGenInfo.
virtual void llvm::TargetMachine::addAnalysisPasses | ( | PassManagerBase & | ) | [inline, virtual] |
Register analysis passes for this target with a pass manager.
Reimplemented in llvm::LLVMTargetMachine, llvm::AMDGPUTargetMachine, llvm::AArch64TargetMachine, llvm::PPCTargetMachine, llvm::MipsTargetMachine, llvm::ARMBaseTargetMachine, llvm::final< T >, and llvm::XCoreTargetMachine.
Definition at line 180 of file Target/TargetMachine.h.
Referenced by llvm::PassManagerBuilder::populateLTOPassManager().
virtual bool llvm::TargetMachine::addPassesToEmitFile | ( | PassManagerBase & | , |
formatted_raw_ostream & | , | ||
CodeGenFileType | , | ||
bool | = true , |
||
AnalysisID | = nullptr , |
||
AnalysisID | = nullptr |
||
) | [inline, virtual] |
addPassesToEmitFile - Add passes to the specified pass manager to get the specified file emitted. Typically this will involve several steps of code generation. This method should return true if emission of this file type is not supported, or false on success.
Reimplemented in llvm::LLVMTargetMachine, and llvm::CPPTargetMachine.
Definition at line 195 of file Target/TargetMachine.h.
Referenced by LLVMTargetMachineEmit().
virtual bool llvm::TargetMachine::addPassesToEmitMC | ( | PassManagerBase & | , |
MCContext *& | , | ||
raw_ostream & | , | ||
bool | = true |
||
) | [inline, virtual] |
addPassesToEmitMC - Add passes to the specified pass manager to get machine code emitted with the MCJIT. This method returns true if machine code is not supported. It fills the MCContext Ctx pointer which can be used to build custom MCStreamer.
Reimplemented in llvm::LLVMTargetMachine, and llvm::NVPTXTargetMachine.
Definition at line 209 of file Target/TargetMachine.h.
bool TargetMachine::getAsmVerbosityDefault | ( | ) | const |
getAsmVerbosityDefault - Returns the default value of asm verbosity.
Definition at line 152 of file TargetMachine.cpp.
References llvm::MCTargetOptions::AsmVerbose, llvm::TargetOptions::MCOptions, and Options.
CodeModel::Model TargetMachine::getCodeModel | ( | ) | const |
getCodeModel - Returns the code model. The choices are small, kernel, medium, large, and target default.
Definition at line 85 of file TargetMachine.cpp.
References CodeGenInfo, Default, and llvm::MCCodeGenInfo::getCodeModel().
Referenced by llvm::AArch64Subtarget::ClassifyGlobalReference(), llvm::ARMFrameLowering::emitPrologue(), llvm::TargetLoweringObjectFile::Initialize(), IsSmallObject(), llvm::SparcTargetLowering::makeAddress(), and llvm::XCoreTargetObjectFile::SelectSectionForGlobal().
bool TargetMachine::getDataSections | ( | ) | const |
getDataSections - Return true if data objects should be emitted into their own section, corresponds to -fdata-sections.
Definition at line 164 of file TargetMachine.cpp.
References llvm::TargetOptions::DataSections, and Options.
Referenced by llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal(), and llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal().
bool TargetMachine::getFunctionSections | ( | ) | const |
getFunctionSections - Return true if functions should be emitted into their own section, corresponding to -ffunction-sections.
Definition at line 160 of file TargetMachine.cpp.
References llvm::TargetOptions::FunctionSections, and Options.
Referenced by llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal(), and llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal().
virtual const TargetIntrinsicInfo* llvm::TargetMachine::getIntrinsicInfo | ( | ) | const [inline, virtual] |
getIntrinsicInfo - If intrinsic information is available, return it. If not, return null.
Reimplemented in llvm::AMDGPUTargetMachine.
Definition at line 126 of file Target/TargetMachine.h.
Referenced by llvm::SDNode::getOperationName().
const MCAsmInfo* llvm::TargetMachine::getMCAsmInfo | ( | ) | const [inline] |
getMCAsmInfo - Return target specific asm information.
Definition at line 121 of file Target/TargetMachine.h.
References AsmInfo.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), addPassesToGenerateCode(), llvm::TargetPassConfig::addPassesToHandleExceptions(), llvm::X86FrameLowering::emitEpilogue(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::X86FrameLowering::emitPrologue(), llvm::AArch64InstrInfo::GetInstSizeInBytes(), llvm::MSP430InstrInfo::GetInstSizeInBytes(), llvm::MipsInstrInfo::GetInstSizeInBytes(), llvm::ARMBaseInstrInfo::GetInstSizeInBytes(), llvm::SystemZInstrInfo::getInstSizeInBytes(), llvm::PPCInstrInfo::GetInstSizeInBytes(), and llvm::ARMElfTargetObjectFile::getTTypeGlobalReference().
void TargetMachine::getNameWithPrefix | ( | SmallVectorImpl< char > & | Name, |
const GlobalValue * | GV, | ||
Mangler & | Mang, | ||
bool | MayAlwaysUsePrivate = false |
||
) | const |
Definition at line 176 of file TargetMachine.cpp.
References llvm::TargetLoweringObjectFile::getKindForGlobal(), llvm::Mangler::getNameWithPrefix(), llvm::TargetLoweringBase::getObjFileLowering(), getSubtargetImpl(), llvm::TargetSubtargetInfo::getTargetLowering(), llvm::GlobalValue::hasPrivateLinkage(), llvm::TargetLoweringObjectFile::isSectionAtomizableBySymbols(), and llvm::TargetLoweringObjectFile::SectionForGlobal().
Referenced by llvm::AsmPrinter::getNameWithPrefix(), getSymbol(), GetSymbolFromOperand(), llvm::TargetLoweringObjectFile::getSymbolWithGlobalValueBase(), and llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal().
CodeGenOpt::Level TargetMachine::getOptLevel | ( | ) | const |
getOptLevel - Returns the optimization level: None, Less, Default, or Aggressive.
Definition at line 141 of file TargetMachine.cpp.
References CodeGenInfo, Default, and llvm::MCCodeGenInfo::getOptLevel().
Referenced by addPassesToGenerateCode(), llvm::HexagonFrameLowering::emitEpilogue(), and llvm::TargetPassConfig::getOptLevel().
getRelocationModel - Returns the code generation relocation model. The choices are static, PIC, and dynamic-no-pic, and target default.
Definition at line 77 of file TargetMachine.cpp.
References CodeGenInfo, Default, and llvm::MCCodeGenInfo::getRelocationModel().
Referenced by llvm::AArch64Subtarget::ClassifyGlobalReference(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCFrameLowering::emitEpilogue(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::PPCFrameLowering::emitPrologue(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::ARMAsmPrinter::EmitStartOfAsmFile(), llvm::MipsAsmPrinter::EmitStartOfAsmFile(), llvm::ARMBaseInstrInfo::expandPostRAPseudo(), llvm::PPCRegisterInfo::getBaseRegister(), llvm::TargetLoweringObjectFile::getKindForGlobal(), GetLabelAccessInfo(), llvm::MipsSubtarget::getRelocationModel(), llvm::PPCRegisterInfo::getReservedRegs(), getTLSModel(), llvm::PPCSubtarget::hasLazyResolverStub(), llvm::TargetLoweringObjectFile::Initialize(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::MipsSubtarget::MipsSubtarget(), PrepareCall(), and llvm::PPCFrameLowering::processFunctionBeforeCalleeSavedScan().
const STC& llvm::TargetMachine::getSubtarget | ( | ) | const [inline] |
getSubtarget - This method returns a pointer to the specified type of TargetSubtargetInfo. In debug builds, it verifies that the object being returned is of the correct type.
Reimplemented in llvm::final< T >.
Definition at line 109 of file Target/TargetMachine.h.
References getSubtargetImpl().
Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering(), llvm::ScheduleDAGInstrs::addPhysRegDataDeps(), llvm::ScheduleDAGInstrs::addVRegUseDeps(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::AMDGPUAsmPrinter::AMDGPUAsmPrinter(), llvm::AMDGPUTargetLowering::AMDGPUTargetLowering(), llvm::ARMAsmPrinter::ARMAsmPrinter(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::ScheduleDAGInstrs::buildSchedGraph(), checkNumAlignedDPRCS2Regs(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::createDefaultScheduler(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::ARM::createFastISel(), llvm::PPC::createFastISel(), createPPCAsmPrinterPass(), llvm::PPCInstrInfo::CreateTargetPostRAHazardRecognizer(), llvm::HexagonInstrInfo::CreateTargetScheduleState(), llvm::R600InstrInfo::CreateTargetScheduleState(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::HexagonFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitNoop(), llvm::SparcFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemset(), getFPMode(), llvm::MipsFunctionInfo::getGlobalBaseReg(), GetLabelAccessInfo(), llvm::AsmPrinter::getSubtargetInfo(), GetSymbolFromOperand(), llvm::HexagonAsmPrinter::HexagonAsmPrinter(), llvm::HexagonTargetLowering::HexagonTargetLowering(), llvm::ARMElfTargetObjectFile::Initialize(), llvm::GenericScheduler::initPolicy(), llvm::HexagonTargetLowering::isFPImmLegal(), llvm::MipsTargetObjectFile::IsGlobalInSmallSection(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::PPCDispatchGroupSBHazardRecognizer::PreEmitNoops(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), llvm::MipsDAGToDAGISel::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::MipsAsmPrinter::runOnMachineFunction(), llvm::ScheduleDAGInstrs::ScheduleDAGInstrs(), llvm::SparcTargetLowering::SparcTargetLowering(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::SystemZAsmPrinter::SystemZAsmPrinter(), llvm::TargetPassConfig::TargetPassConfig(), and llvm::X86AsmPrinter::X86AsmPrinter().
const STC& llvm::TargetMachine::getSubtarget | ( | const Function * | ) | const [inline] |
Definition at line 112 of file Target/TargetMachine.h.
References getSubtargetImpl().
virtual const TargetSubtargetInfo* llvm::TargetMachine::getSubtargetImpl | ( | ) | const [inline, virtual] |
getSubtargetImpl - virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Reimplemented in llvm::MipsTargetMachine, llvm::CPPTargetMachine, llvm::NVPTXTargetMachine, llvm::AMDGPUTargetMachine, llvm::ARMBaseTargetMachine, llvm::MSP430TargetMachine, llvm::PPCTargetMachine, llvm::SystemZTargetMachine, llvm::AArch64TargetMachine, llvm::HexagonTargetMachine, llvm::final< T >, llvm::SparcTargetMachine, and llvm::XCoreTargetMachine.
Definition at line 99 of file Target/TargetMachine.h.
Referenced by addLiveInRegs(), llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), addPassesToGenerateCode(), llvm::DwarfUnit::addRegisterOffset(), llvm::DwarfUnit::addRegisterOpPiece(), llvm::SITargetLowering::AdjustInstrPostInstrSelection(), llvm::ARMTargetLowering::AdjustInstrPostInstrSelection(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::PBQPBuilderWithCoalescing::build(), llvm::ARMBaseRegisterInfo::canRealignStack(), checkNumAlignedDPRCS2Regs(), llvm::SelectionDAG::computeKnownBits(), llvm::SelectionDAG::ComputeNumSignBits(), llvm::SelectionDAGBuilder::CopyValueToVirtualRegister(), llvm::createBURRListDAGScheduler(), llvm::createHybridListDAGScheduler(), llvm::createILPListDAGScheduler(), llvm::FastISel::createMachineMemOperandFor(), llvm::createSourceListDAGScheduler(), llvm::SelectionDAG::CreateStackTemporary(), llvm::HexagonInstrInfo::CreateTargetScheduleState(), llvm::R600InstrInfo::CreateTargetScheduleState(), llvm::AsmPrinter::doFinalization(), llvm::AsmPrinter::doInitialization(), llvm::NVPTXAsmPrinter::doInitialization(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::Thumb1RegisterInfo::eliminateFrameIndex(), llvm::AsmPrinter::EmitAlignment(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitComments(), llvm::AsmPrinter::EmitConstantPool(), emitDebugValueComment(), llvm::AsmPrinter::EmitDwarfRegOp(), llvm::AsmPrinter::EmitDwarfRegOpPiece(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SystemZAsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::MipsAsmPrinter::emitFrameDirective(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitGlobalConstant(), emitGlobalConstantArray(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), emitGlobalConstantLargeInt(), emitGlobalConstantStruct(), emitGlobalConstantVector(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::AsmPrinter::emitImplicitDef(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::AsmPrinter::EmitJumpTableInfo(), emitKill(), llvm::SystemZAsmPrinter::EmitMachineConstantPoolValue(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::TargetLoweringBase::emitPatchPoint(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::ARMAsmPrinter::EmitXXStructor(), EnsureStackAlignment(), llvm::RegScavenger::enterBasicBlock(), llvm::SparcTargetLowering::expandAtomicRMW(), llvm::SparcTargetLowering::expandSelectCC(), llvm::TargetLoweringBase::findRepresentativeClass(), llvm::SelectionDAG::FoldSetCC(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getConstantPool(), llvm::MSP430MCInstLower::GetConstantPoolIndexSymbol(), llvm::X86AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::getDataLayout(), llvm::SelectionDAG::getEVTAlignment(), llvm::SelectionDAG::getGlobalAddress(), llvm::ARMHazardRecognizer::getHazardType(), llvm::AMDGPUInstrInfo::getIndirectIndexEnd(), llvm::SelectionDAG::getIntPtrConstant(), llvm::AsmPrinter::GetJTSetSymbol(), llvm::MSP430MCInstLower::GetJumpTableSymbol(), llvm::TargetLoweringObjectFile::getKindForGlobal(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), getNameWithPrefix(), llvm::AsmPrinter::getObjFileLowering(), llvm::MipsTargetLowering::getOpndList(), llvm::MachineFrameInfo::getPristineRegs(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::TargetLowering::getRegForInlineAsmConstraint(), llvm::ARMTargetLowering::getSchedulingPreference(), llvm::SelectionDAG::getShiftAmountOperand(), llvm::AsmPrinter::GetSizeOfEncodedValue(), llvm::TargetInstrInfo::getStackSlotRange(), getSubtarget(), getSubtargetImpl(), getSymbol(), llvm::MachineBasicBlock::getSymbol(), GetSymbolFromOperand(), llvm::SelectionDAGISel::getTargetLowering(), llvm::AsmPrinter::GetTempSymbol(), llvm::SelectionDAGBuilder::getValue(), llvm::SelectionDAGBuilder::getValueImpl(), llvm::Hexagon_CCState::Hexagon_CCState(), llvm::HexagonTargetLowering::HexagonTargetLowering(), llvm::SelectionDAG::InferPtrAlignment(), llvm::LLVMTargetMachine::initAsmInfo(), llvm::TargetLoweringObjectFile::Initialize(), llvm::ConvergingVLIWScheduler::initialize(), llvm::GenericScheduler::initialize(), llvm::PostGenericScheduler::initialize(), INITIALIZE_PASS(), llvm::GenericScheduler::initPolicy(), initReachingDef(), llvm::SelectionDAG::isConsecutiveLoad(), llvm::HexagonTargetObjectFile::IsGlobalInSmallSection(), llvm::MipsTargetObjectFile::IsGlobalInSmallSection(), llvm::isInTailCallPosition(), llvm::XCoreTargetLowering::isLegalAddressingMode(), isRepeatedByteSequence(), llvm::PPC::isVSLDOIShuffleMask(), LLVMTargetMachineEmit(), llvm::SystemZTargetLowering::LowerCall(), llvm::SelectionDAGBuilder::LowerCallOperands(), llvm::SelectionDAGBuilder::LowerCallTo(), nvptx::LowerConstant(), lowerConstant(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::SITargetLowering::LowerFormalArguments(), llvm::AMDGPUTargetLowering::LowerGlobalAddress(), llvm::SparcTargetLowering::LowerGlobalTLSAddress(), llvm::MachineFunction::MachineFunction(), llvm::PPCRegisterInfo::needsStackRealignment(), llvm::ARMBaseRegisterInfo::needsStackRealignment(), llvm::SITargetLowering::PostISelFolding(), llvm::MachineOperand::print(), llvm::MachineInstr::print(), llvm::MipsAsmPrinter::printOperand(), llvm::MipsAsmPrinter::printSavedRegsBitmask(), llvm::AsmPrinter::PrintSpecial(), llvm::MachineRegisterInfo::recomputeRegClass(), llvm::Thumb1RegisterInfo::resolveFrameIndex(), llvm::ResourcePriorityQueue::ResourcePriorityQueue(), llvm::StackProtector::runOnFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::LiveIntervals::runOnMachineFunction(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::XCoreTargetObjectFile::SelectSectionForGlobal(), llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal(), llvm::TargetLoweringObjectFileMachO::SelectSectionForGlobal(), llvm::StackMaps::serializeToStackMapSection(), llvm::SITargetLowering::shouldConvertConstantLoadToIntImm(), llvm::SelectionDAG::UnrollVectorOp(), UpdateOperandRegClass(), llvm::SelectionDAGBuilder::visitBitTestCase(), llvm::SelectionDAGBuilder::visitBitTestHeader(), llvm::SelectionDAGBuilder::visitJumpTable(), llvm::SelectionDAGBuilder::visitJumpTableHeader(), llvm::SelectionDAGBuilder::visitSPDescriptorFailure(), llvm::SelectionDAGBuilder::visitSPDescriptorParent(), llvm::VLIWPacketizerList::VLIWPacketizerList(), and llvm::VLIWResourceModel::VLIWResourceModel().
virtual const TargetSubtargetInfo* llvm::TargetMachine::getSubtargetImpl | ( | const Function * | ) | const [inline, virtual] |
Definition at line 102 of file Target/TargetMachine.h.
References getSubtargetImpl().
MCSymbol * TargetMachine::getSymbol | ( | const GlobalValue * | GV, |
Mangler & | Mang | ||
) | const |
Definition at line 193 of file TargetMachine.cpp.
References llvm::TargetLoweringObjectFile::getContext(), getNameWithPrefix(), llvm::TargetLoweringBase::getObjFileLowering(), llvm::MCContext::GetOrCreateSymbol(), getSubtargetImpl(), llvm::TargetSubtargetInfo::getTargetLowering(), and llvm::SmallString< InternalLen >::str().
Referenced by llvm::X86_64MachoTargetObjectFile::getCFIPersonalitySymbol(), llvm::AArch64_MachoTargetObjectFile::getCFIPersonalitySymbol(), llvm::TargetLoweringObjectFileELF::getCFIPersonalitySymbol(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::TargetLoweringObjectFile::getCFIPersonalitySymbol(), llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(), llvm::AsmPrinter::getSymbol(), llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), llvm::AArch64_MachoTargetObjectFile::getTTypeGlobalReference(), llvm::ARMElfTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeGlobalReference(), and llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal().
const Target& llvm::TargetMachine::getTarget | ( | ) | const [inline] |
Definition at line 91 of file Target/TargetMachine.h.
References TheTarget.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), llvm::EngineBuilder::create(), and llvm::MachineOperand::print().
StringRef llvm::TargetMachine::getTargetCPU | ( | ) | const [inline] |
Definition at line 94 of file Target/TargetMachine.h.
References TargetCPU.
StringRef llvm::TargetMachine::getTargetFeatureString | ( | ) | const [inline] |
Definition at line 95 of file Target/TargetMachine.h.
References TargetFS.
StringRef llvm::TargetMachine::getTargetTriple | ( | ) | const [inline] |
Reimplemented in llvm::final< T >.
Definition at line 93 of file Target/TargetMachine.h.
References TargetTriple.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), canCombineSinCosLibcall(), llvm::AsmPrinter::doInitialization(), llvm::AsmPrinter::getTargetTriple(), llvm::LLVMTargetMachine::initAsmInfo(), llvm::TargetLoweringObjectFile::Initialize(), and llvm::TargetLoweringBase::TargetLoweringBase().
TLSModel::Model TargetMachine::getTLSModel | ( | const GlobalValue * | GV | ) | const |
getTLSModel - Returns the TLS model which should be used for the given global variable.
Definition at line 109 of file TargetMachine.cpp.
References llvm::TLSModel::GeneralDynamic, getRelocationModel(), getSelectedTLSModel(), llvm::GlobalValue::hasHiddenVisibility(), llvm::GlobalValue::hasLocalLinkage(), llvm::TLSModel::InitialExec, llvm::GlobalValue::isDeclaration(), isDeclaration(), llvm::TLSModel::LocalDynamic, llvm::TLSModel::LocalExec, Options, llvm::Reloc::PIC_, and llvm::TargetOptions::PositionIndependentExecutable.
Referenced by llvm::SparcTargetLowering::LowerGlobalTLSAddress(), and llvm::AArch64MCInstLower::lowerSymbolOperandELF().
bool llvm::TargetMachine::requiresStructuredCFG | ( | ) | const [inline] |
Definition at line 130 of file Target/TargetMachine.h.
References RequireStructuredCFG.
Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), and llvm::MachineBasicBlock::SplitCriticalEdge().
void TargetMachine::resetTargetOptions | ( | const MachineFunction * | MF | ) | const |
Reset the target options based on the function's attributes.
Definition at line 51 of file TargetMachine.cpp.
References DisableTailCalls(), F(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getTarget(), llvm::Function::hasFnAttribute(), llvm::TargetOptions::MCOptions, Options, RESET_OPTION, llvm::MCTargetOptions::SanitizeAddress, and llvm::Attribute::SanitizeAddress.
Referenced by llvm::SelectionDAGISel::runOnMachineFunction().
void TargetMachine::setAsmVerbosityDefault | ( | bool | V | ) |
setAsmVerbosityDefault - Set the default value of asm verbosity. Default is false.
Definition at line 156 of file TargetMachine.cpp.
References llvm::MCTargetOptions::AsmVerbose, llvm::TargetOptions::MCOptions, and Options.
void TargetMachine::setDataSections | ( | bool | V | ) |
setDataSections - Set if the data are emit into separate sections.
Definition at line 172 of file TargetMachine.cpp.
References llvm::TargetOptions::DataSections, and Options.
void llvm::TargetMachine::setFastISel | ( | bool | Enable | ) | [inline] |
Definition at line 152 of file Target/TargetMachine.h.
References llvm::TargetOptions::EnableFastISel.
Referenced by addPassesToGenerateCode().
void TargetMachine::setFunctionSections | ( | bool | V | ) |
setFunctionSections - Set if the functions are emit into separate sections.
Definition at line 168 of file TargetMachine.cpp.
References llvm::TargetOptions::FunctionSections, and Options.
void TargetMachine::setOptLevel | ( | CodeGenOpt::Level | Level | ) | const |
Overrides the optimization level.
Definition at line 147 of file TargetMachine.cpp.
References CodeGenInfo, and llvm::MCCodeGenInfo::setOptLevel().
void llvm::TargetMachine::setRequiresStructuredCFG | ( | bool | Value | ) | [inline] |
Definition at line 131 of file Target/TargetMachine.h.
References RequireStructuredCFG.
Referenced by llvm::AMDGPUTargetMachine::AMDGPUTargetMachine().
bool llvm::TargetMachine::shouldPrintMachineCode | ( | ) | const [inline] |
Definition at line 154 of file Target/TargetMachine.h.
References llvm::TargetOptions::PrintMachineCode.
Referenced by llvm::TargetPassConfig::printAndVerify().
const MCAsmInfo* llvm::TargetMachine::AsmInfo [protected] |
AsmInfo - Contains target specific asm information.
Definition at line 82 of file Target/TargetMachine.h.
Referenced by getMCAsmInfo(), llvm::LLVMTargetMachine::initAsmInfo(), and ~TargetMachine().
MCCodeGenInfo* llvm::TargetMachine::CodeGenInfo [protected] |
CodeGenInfo - Low level target information such as relocation model. Non-const to allow resetting optimization level per-function.
Definition at line 78 of file Target/TargetMachine.h.
Referenced by getCodeModel(), getOptLevel(), getRelocationModel(), llvm::LLVMTargetMachine::LLVMTargetMachine(), setOptLevel(), and ~TargetMachine().
TargetOptions llvm::TargetMachine::Options [mutable] |
Definition at line 87 of file Target/TargetMachine.h.
Referenced by llvm::MipsSubtarget::abiUsesSoftFloat(), llvm::TargetPassConfig::addMachinePasses(), llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), llvm::NVPTXTargetLowering::allowFMA(), llvm::ARMTargetLowering::ARMTargetLowering(), canCombineSinCosLibcall(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::ARM::createFastISel(), llvm::DwarfDebug::DwarfDebug(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::SelectionDAGBuilder::EmitBranchForMergedCondition(), llvm::PPCFrameLowering::emitEpilogue(), llvm::DwarfDebug::endFunction(), get64BitArgumentXMMs(), getAsmVerbosityDefault(), getDataSections(), getFunctionSections(), llvm::TargetLoweringObjectFile::getKindForGlobal(), GetNegatedExpression(), llvm::SelectionDAG::getNode(), getTLSModel(), llvm::MipsFrameLowering::hasFP(), llvm::SparcFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::SystemZFrameLowering::hasFP(), llvm::MSP430FrameLowering::hasFP(), llvm::XCoreFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), llvm::LLVMTargetMachine::initAsmInfo(), llvm::MipsTargetObjectFile::Initialize(), llvm::MipsSubtarget::initializeSubtargetDependencies(), llvm::isInTailCallPosition(), llvm::Mips16TargetLowering::Mips16TargetLowering(), llvm::PPCFrameLowering::needsFP(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformFMinFMaxCombine(), PerformSELECT_CCCombine(), PerformSELECTCombine(), PerformSTORECombine(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::PPCFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), resetTargetOptions(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::FastISel::selectInstruction(), llvm::FastISel::selectOperator(), setAsmVerbosityDefault(), setDataSections(), and setFunctionSections().
unsigned llvm::TargetMachine::RequireStructuredCFG [protected] |
Definition at line 84 of file Target/TargetMachine.h.
Referenced by requiresStructuredCFG(), and setRequiresStructuredCFG().
std::string llvm::TargetMachine::TargetCPU [protected] |
Definition at line 73 of file Target/TargetMachine.h.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), and getTargetCPU().
std::string llvm::TargetMachine::TargetFS [protected] |
Definition at line 74 of file Target/TargetMachine.h.
Referenced by getTargetFeatureString().
std::string llvm::TargetMachine::TargetTriple [protected] |
TargetTriple, TargetCPU, TargetFS - Triple string, CPU name, and target feature strings the TargetMachine instance is created with.
Reimplemented in llvm::final< T >.
Definition at line 72 of file Target/TargetMachine.h.
Referenced by getTargetTriple().
const Target& llvm::TargetMachine::TheTarget [protected] |
TheTarget - The Target that this machine was created for.
Definition at line 68 of file Target/TargetMachine.h.
Referenced by getTarget(), and llvm::LLVMTargetMachine::initAsmInfo().