Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Public Member Functions |List of all members
llvm::MipselTargetMachine Class Reference

Mips32/64 little endian target machine.More...

#include "Target/Mips/MipsTargetMachine.h"

Inheritance diagram for llvm::MipselTargetMachine:
Inheritance graph
[legend]

Public Member Functions

 MipselTargetMachine (constTarget &T,constTriple &TT,StringRef CPU,StringRef FS,constTargetOptions &Options, std::optional<Reloc::Model >RM, std::optional<CodeModel::Model > CM,CodeGenOptLevel OL,bool JIT)
 
- Public Member Functions inherited fromllvm::MipsTargetMachine
 MipsTargetMachine (constTarget &T,constTriple &TT,StringRef CPU,StringRef FS,constTargetOptions &Options, std::optional<Reloc::Model >RM, std::optional<CodeModel::Model > CM,CodeGenOptLevel OL,bool JIT,bool isLittle)
 
 ~MipsTargetMachine () override
 
TargetTransformInfo getTargetTransformInfo (constFunction &F)const override
 Get aTargetTransformInfo implementation for the target.
 
constMipsSubtargetgetSubtargetImpl ()const
 
constMipsSubtargetgetSubtargetImpl (constFunction &F)const override
 Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
 
void resetSubtarget (MachineFunction *MF)
 Reset the subtarget for theMips target.
 
TargetPassConfigcreatePassConfig (PassManagerBase &PM) override
 Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
 
TargetLoweringObjectFilegetObjFileLowering ()const override
 
MachineFunctionInfocreateMachineFunctionInfo (BumpPtrAllocator &Allocator,constFunction &F,constTargetSubtargetInfo *STI)const override
 Create the target's instance ofMachineFunctionInfo.
 
bool isNoopAddrSpaceCast (unsigned SrcAS,unsigned DestAS)const override
 Returns true if a cast between SrcAS and DestAS is a noop.
 
bool isLittleEndian ()const
 
constMipsABIInfogetABI ()const
 
- Public Member Functions inherited fromllvm::CodeGenTargetMachineImpl
TargetTransformInfo getTargetTransformInfo (constFunction &F)const override
 Get aTargetTransformInfo implementation for the target.
 
virtualTargetPassConfigcreatePassConfig (PassManagerBase &PM) override
 Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
 
bool addPassesToEmitFile (PassManagerBase &PM,raw_pwrite_stream &Out,raw_pwrite_stream *DwoOut,CodeGenFileType FileType,bool DisableVerify=true,MachineModuleInfoWrapperPass *MMIWP=nullptr) override
 Add passes to the specified pass manager to get the specified file emitted.
 
bool addPassesToEmitMC (PassManagerBase &PM,MCContext *&Ctx,raw_pwrite_stream &Out,bool DisableVerify=true) override
 Add passes to the specified pass manager to get machine code emitted with theMCJIT.
 
bool addAsmPrinter (PassManagerBase &PM,raw_pwrite_stream &Out,raw_pwrite_stream *DwoOut,CodeGenFileType FileType,MCContext &Context) override
 Adds anAsmPrinter pass to the pipeline that prints assembly or machine code from the MI representation.
 
Expected< std::unique_ptr<MCStreamer > > createMCStreamer (raw_pwrite_stream &Out,raw_pwrite_stream *DwoOut,CodeGenFileType FileType,MCContext &Ctx) override
 
- Public Member Functions inherited fromllvm::TargetMachine
 TargetMachine (constTargetMachine &)=delete
 
void operator= (constTargetMachine &)=delete
 
virtual ~TargetMachine ()
 
constTargetgetTarget ()const
 
constTriplegetTargetTriple ()const
 
StringRef getTargetCPU ()const
 
StringRef getTargetFeatureString ()const
 
void setTargetFeatureString (StringRef FS)
 
virtualconstTargetSubtargetInfogetSubtargetImpl (constFunction &)const
 Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
 
virtualTargetLoweringObjectFilegetObjFileLowering ()const
 
virtualMachineFunctionInfocreateMachineFunctionInfo (BumpPtrAllocator &Allocator,constFunction &F,constTargetSubtargetInfo *STI)const
 Create the target's instance ofMachineFunctionInfo.
 
virtualyaml::MachineFunctionInfocreateDefaultFuncInfoYAML ()const
 Allocate and return a default initialized instance of the YAML representation for theMachineFunctionInfo.
 
virtualyaml::MachineFunctionInfoconvertFuncInfoToYAML (constMachineFunction &MF)const
 Allocate and initialize an instance of the YAML representation of theMachineFunctionInfo.
 
virtualbool parseMachineFunctionInfo (constyaml::MachineFunctionInfo &,PerFunctionMIParsingState &PFS,SMDiagnostic &Error,SMRange &SourceRange)const
 Parse out the target'sMachineFunctionInfo from the YAML reprsentation.
 
template<typename STC >
const STC & getSubtarget (constFunction &F)const
 This method returns a pointer to the specified type ofTargetSubtargetInfo.
 
constDataLayout createDataLayout ()const
 Create aDataLayout.
 
bool isCompatibleDataLayout (constDataLayout &Candidate)const
 Test if aDataLayout if compatible with the CodeGen for this target.
 
unsigned getPointerSize (unsigned AS)const
 Get the pointer size for this target.
 
unsigned getPointerSizeInBits (unsigned AS)const
 
unsigned getProgramPointerSize ()const
 
unsigned getAllocaPointerSize ()const
 
void resetTargetOptions (constFunction &F)const
 Reset the target options based on the function's attributes.
 
constMCAsmInfogetMCAsmInfo ()const
 Return target specific asm information.
 
constMCRegisterInfogetMCRegisterInfo ()const
 
constMCInstrInfogetMCInstrInfo ()const
 
constMCSubtargetInfogetMCSubtargetInfo ()const
 
virtualconstTargetIntrinsicInfogetIntrinsicInfo ()const
 If intrinsic information is available, return it. If not, return null.
 
bool requiresStructuredCFG ()const
 
void setRequiresStructuredCFG (boolValue)
 
Reloc::Model getRelocationModel ()const
 Returns the code generation relocation model.
 
CodeModel::Model getCodeModel ()const
 Returns the code model.
 
uint64_t getMaxCodeSize ()const
 Returns the maximum code size possible under the code model.
 
void setCodeModel (CodeModel::Model CM)
 Set the code model.
 
void setLargeDataThreshold (uint64_t LDT)
 
bool isLargeGlobalValue (constGlobalValue *GV)const
 
bool isPositionIndependent ()const
 
bool shouldAssumeDSOLocal (constGlobalValue *GV)const
 
bool useEmulatedTLS ()const
 Returns true if this target uses emulated TLS.
 
bool useTLSDESC ()const
 Returns true if this target uses TLS Descriptors.
 
TLSModel::Model getTLSModel (constGlobalValue *GV)const
 Returns the TLS model which should be used for the given global variable.
 
CodeGenOptLevel getOptLevel ()const
 Returns the optimization level: None, Less, Default, or Aggressive.
 
void setOptLevel (CodeGenOptLevel Level)
 Overrides the optimization level.
 
void setFastISel (boolEnable)
 
bool getO0WantsFastISel ()
 
void setO0WantsFastISel (boolEnable)
 
void setGlobalISel (boolEnable)
 
void setGlobalISelAbort (GlobalISelAbortModeMode)
 
void setMachineOutliner (boolEnable)
 
void setSupportsDefaultOutlining (boolEnable)
 
void setSupportsDebugEntryValues (boolEnable)
 
void setCFIFixup (boolEnable)
 
bool getAIXExtendedAltivecABI ()const
 
bool getUniqueSectionNames ()const
 
bool getUniqueBasicBlockSectionNames ()const
 Return true if unique basic block section names must be generated.
 
bool getSeparateNamedSections ()const
 
bool getDataSections ()const
 Return true if data objects should be emitted into their own section, corresponds to -fdata-sections.
 
bool getFunctionSections ()const
 Return true if functions should be emitted into their own section, corresponding to -ffunction-sections.
 
bool getIgnoreXCOFFVisibility ()const
 Return true if visibility attribute should not be emitted inXCOFF, corresponding to -mignore-xcoff-visibility.
 
bool getXCOFFTracebackTable ()const
 Return true ifXCOFF traceback table should be emitted, corresponding to -xcoff-traceback-table.
 
llvm::BasicBlockSection getBBSectionsType ()const
 If basic blocks should be emitted into their own section, corresponding to -fbasic-block-sections.
 
constMemoryBuffergetBBSectionsFuncListBuf ()const
 Get the list of functions and basic block ids that need unique sections.
 
virtualbool isNoopAddrSpaceCast (unsigned SrcAS,unsigned DestAS)const
 Returns true if a cast between SrcAS and DestAS is a noop.
 
void setPGOOption (std::optional<PGOOptions > PGOOpt)
 
const std::optional<PGOOptions > & getPGOOption ()const
 
virtualunsigned getAssumedAddrSpace (constValue *V)const
 If the specified generic pointer could be assumed as a pointer to a specific address space, return that address space.
 
virtual std::pair<constValue *,unsignedgetPredicatedAddrSpace (constValue *V)const
 If the specified predicate checks whether a generic pointer falls within a specified address space, return that generic pointer and the address space being queried.
 
TargetIRAnalysis getTargetIRAnalysis ()const
 Get aTargetIRAnalysis appropriate for the target.
 
virtualTargetTransformInfo getTargetTransformInfo (constFunction &F)const
 Return aTargetTransformInfo for a given function.
 
virtual void registerPassBuilderCallbacks (PassBuilder &)
 Allow the target to modify the pass pipeline.
 
virtual void registerDefaultAliasAnalyses (AAManager &)
 Allow the target to register alias analyses with theAAManager for use with the new pass manager.
 
virtualbool addPassesToEmitFile (PassManagerBase &,raw_pwrite_stream &,raw_pwrite_stream *,CodeGenFileType,bool=true,MachineModuleInfoWrapperPass *MMIWP=nullptr)
 Add passes to the specified pass manager to get the specified file emitted.
 
virtualbool addPassesToEmitMC (PassManagerBase &,MCContext *&,raw_pwrite_stream &,bool=true)
 Add passes to the specified pass manager to get machine code emitted with theMCJIT.
 
virtualbool targetSchedulesPostRAScheduling ()const
 True if subtarget inserts the final scheduling pass on its own.
 
void getNameWithPrefix (SmallVectorImpl<char > &Name,constGlobalValue *GV,Mangler &Mang,bool MayAlwaysUsePrivate=false)const
 
MCSymbolgetSymbol (constGlobalValue *GV)const
 
virtualunsigned getSjLjDataSize ()const
 
virtualunsigned getAddressSpaceForPseudoSourceKind (unsigned Kind)const
 getAddressSpaceForPseudoSourceKind - Given the kind of memory (e.g.
 
virtualbool splitModule (Module &M,unsigned NumParts,function_ref< void(std::unique_ptr<Module > MPart)> ModuleCallback)
 Entry point for module splitting.
 
virtualTargetPassConfigcreatePassConfig (PassManagerBase &PM)
 Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
 
virtualError buildCodeGenPipeline (ModulePassManager &,raw_pwrite_stream &,raw_pwrite_stream *,CodeGenFileType,constCGPassBuilderOption &,PassInstrumentationCallbacks *)
 
virtualbool isMachineVerifierClean ()const
 Returns true if the target is expected to pass all machine verifier checks.
 
virtualbool addAsmPrinter (PassManagerBase &PM,raw_pwrite_stream &Out,raw_pwrite_stream *DwoOut,CodeGenFileType FileType,MCContext &Context)
 Adds anAsmPrinter pass to the pipeline that prints assembly or machine code from the MI representation.
 
virtualExpected< std::unique_ptr<MCStreamer > > createMCStreamer (raw_pwrite_stream &Out,raw_pwrite_stream *DwoOut,CodeGenFileType FileType,MCContext &Ctx)
 
virtualbool usesPhysRegsForValues ()const
 True if the target uses physical regs (as nearly all targets do).
 
virtualbool useIPRA ()const
 True if the target wants to use interprocedural register allocation by default.
 
virtual int unqualifiedInlineAsmVariant ()const
 The default variant to use in unqualifiedasm instructions.
 
virtual void registerMachineRegisterInfoCallback (MachineFunction &MF)const
 

Additional Inherited Members

- Static Public Member Functions inherited fromllvm::TargetMachine
static std::pair< int, int > parseBinutilsVersion (StringRefVersion)
 
- Public Attributes inherited fromllvm::TargetMachine
TargetOptions Options
 
- Static Public Attributes inherited fromllvm::TargetMachine
static constexprunsigned DefaultSjLjDataSize = 32
 The integer bit size to use for SjLj based exception handling.
 
- Protected Member Functions inherited fromllvm::CodeGenTargetMachineImpl
 CodeGenTargetMachineImpl (constTarget &T,StringRef DataLayoutString,constTriple &TT,StringRef CPU,StringRef FS,constTargetOptions &Options,Reloc::ModelRM,CodeModel::Model CM,CodeGenOptLevel OL)
 
void initAsmInfo ()
 
virtual void reset ()
 Reset internal state.
 
- Protected Member Functions inherited fromllvm::TargetMachine
 TargetMachine (constTarget &T,StringRef DataLayoutString,constTriple &TargetTriple,StringRef CPU,StringRef FS,constTargetOptions &Options)
 
- Protected Attributes inherited fromllvm::TargetMachine
constTargetTheTarget
 TheTarget that this machine was created for.
 
constDataLayout DL
 DataLayout for the target: keep ABI type size and alignment.
 
Triple TargetTriple
 Triple string, CPU name, and target feature strings theTargetMachine instance is created with.
 
std::string TargetCPU
 
std::string TargetFS
 
Reloc::Model RM =Reloc::Static
 
CodeModel::Model CMModel =CodeModel::Small
 
uint64_t LargeDataThreshold = 0
 
CodeGenOptLevel OptLevel =CodeGenOptLevel::Default
 
std::unique_ptr<constMCAsmInfoAsmInfo
 Contains target specific asm information.
 
std::unique_ptr<constMCRegisterInfoMRI
 
std::unique_ptr<constMCInstrInfoMII
 
std::unique_ptr<constMCSubtargetInfoSTI
 
unsigned RequireStructuredCFG: 1
 
unsigned O0WantsFastISel: 1
 
std::optional<PGOOptionsPGOOption
 

Detailed Description

Mips32/64 little endian target machine.

Definition at line98 of fileMipsTargetMachine.h.

Constructor & Destructor Documentation

◆ MipselTargetMachine()

MipselTargetMachine::MipselTargetMachine(constTargetT,
constTripleTT,
StringRef CPU,
StringRef FS,
constTargetOptionsOptions,
std::optional<Reloc::ModelRM,
std::optional<CodeModel::ModelCM,
CodeGenOptLevel OL,
bool JIT 
)

Definition at line166 of fileMipsTargetMachine.cpp.


The documentation for this class was generated from the following files:

Generated on Sun Jul 20 2025 19:14:36 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp