OpenASIP 2.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
llvm::TCESubtarget Class Reference

#include <TCESubtarget.hh>

Inheritance diagram for llvm::TCESubtarget:
Inheritance graph
Collaboration diagram for llvm::TCESubtarget:
Collaboration graph

Public Member Functions

 TCESubtarget (TCETargetMachinePlugin *plugin)
 
std::string pluginFileName ()
 
virtual bool isLittleEndian () const
 
virtual bool is64bit () const
 
const InstrItineraryData * getInstrItineraryData () const override
 
virtual const TargetInstrInfo * getInstrInfo () const override
 
virtual const TargetFrameLowering * getFrameLowering () const override
 
virtual const TargetLowering * getTargetLowering () const override
 
virtual const SelectionDAGTargetInfo * getSelectionDAGInfo () const override
 
virtual const TargetRegisterInfo * getRegisterInfo () const override
 
virtual bool enableMachinePipeliner () const override
 

Protected Member Functions

void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
 ParseSubtargetFeatures - Parses features string setting specified subtarget options. Definition of function is auto generated by tblgen.
 

Private Attributes

std::string pluginFile_
 
TCETargetMachinePluginplugin_
 
InstrItineraryData InstrItins
 

Detailed Description

Currently there is only one generic universal machine target, so this class doesn't contain any relevant information.

Definition at line 56 of file TCESubtarget.hh.

Constructor & Destructor Documentation

◆ TCESubtarget()

TCESubtarget::TCESubtarget ( TCETargetMachinePlugin plugin)

The Constructor.

Definition at line 69 of file TCESubtarget.cc.

70 : TCEGenSubtargetInfo(
71 Triple("tce-tut-llvm"), std::string(""), std::string(""),
72 std::string("")),
73
75 plugin_(plugin),
76 InstrItins(getInstrItineraryForCPU("generic")) {
77 assert(InstrItins.Itineraries != nullptr && "IstrItins not initialized");
78}
#define assert(condition)
cl::opt< std::string > BackendPluginFile("tce-plugin-file", cl::value_desc("plugin file"), cl::desc("TCE target machine plugin file."), cl::NotHidden)
InstrItineraryData InstrItins
std::string pluginFile_
TCETargetMachinePlugin * plugin_

References assert, and InstrItins.

Member Function Documentation

◆ enableMachinePipeliner()

bool TCESubtarget::enableMachinePipeliner ( ) const
overridevirtual

Definition at line 112 of file TCESubtarget.cc.

112 {
113 return false;
114}

◆ getFrameLowering()

const TargetFrameLowering * TCESubtarget::getFrameLowering ( ) const
overridevirtual

Definition at line 99 of file TCESubtarget.cc.

99 {
100 return plugin_->getFrameLowering();
101}
virtual const TargetFrameLowering * getFrameLowering() const =0

References llvm::TCETargetMachinePlugin::getFrameLowering(), and plugin_.

Here is the call graph for this function:

◆ getInstrInfo()

const TargetInstrInfo * TCESubtarget::getInstrInfo ( ) const
overridevirtual

Definition at line 91 of file TCESubtarget.cc.

91 {
92 return plugin_->getInstrInfo();
93}
virtual const TargetInstrInfo * getInstrInfo() const =0

References llvm::TCETargetMachinePlugin::getInstrInfo(), and plugin_.

Here is the call graph for this function:

◆ getInstrItineraryData()

const InstrItineraryData * llvm::TCESubtarget::getInstrItineraryData ( ) const
inlineoverride

Definition at line 65 of file TCESubtarget.hh.

65 {
66 return &InstrItins;
67 }

References InstrItins.

◆ getRegisterInfo()

const TargetRegisterInfo * TCESubtarget::getRegisterInfo ( ) const
overridevirtual

Definition at line 95 of file TCESubtarget.cc.

95 {
96 return plugin_->getRegisterInfo();
97}
virtual const TargetRegisterInfo * getRegisterInfo() const =0

References llvm::TCETargetMachinePlugin::getRegisterInfo(), and plugin_.

Referenced by llvm::TCETargetLowering::TCETargetLowering().

Here is the call graph for this function:

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo * TCESubtarget::getSelectionDAGInfo ( ) const
overridevirtual

Definition at line 107 of file TCESubtarget.cc.

107 {
109}
virtual const SelectionDAGTargetInfo * getSelectionDAGInfo() const

References llvm::TCETargetMachinePlugin::getSelectionDAGInfo(), and plugin_.

Here is the call graph for this function:

◆ getTargetLowering()

const TargetLowering * TCESubtarget::getTargetLowering ( ) const
overridevirtual

Definition at line 103 of file TCESubtarget.cc.

103 {
104 return plugin_->getTargetLowering();
105}
virtual TargetLowering * getTargetLowering() const =0

References llvm::TCETargetMachinePlugin::getTargetLowering(), and plugin_.

Here is the call graph for this function:

◆ is64bit()

virtual bool llvm::TCESubtarget::is64bit ( ) const
inlinevirtual

Reimplemented in llvm::TCELE64Subtarget.

Definition at line 62 of file TCESubtarget.hh.

62{ return false; }

◆ isLittleEndian()

virtual bool llvm::TCESubtarget::isLittleEndian ( ) const
inlinevirtual

Reimplemented in llvm::TCELESubtarget.

Definition at line 60 of file TCESubtarget.hh.

60{ return false; };

◆ ParseSubtargetFeatures()

void llvm::TCESubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  TuneCPU,
StringRef  FS 
)
protected

ParseSubtargetFeatures - Parses features string setting specified subtarget options. Definition of function is auto generated by tblgen.

◆ pluginFileName()

std::string TCESubtarget::pluginFileName ( )

Returns full path of the plugin file name supplied with the -tce-plugin-file parameter.

Returns
plugin file path

Definition at line 87 of file TCESubtarget.cc.

87 {
88 return pluginFile_;
89}

References pluginFile_.

Member Data Documentation

◆ InstrItins

InstrItineraryData llvm::TCESubtarget::InstrItins
private

Definition at line 87 of file TCESubtarget.hh.

Referenced by getInstrItineraryData(), and TCESubtarget().

◆ plugin_

TCETargetMachinePlugin* llvm::TCESubtarget::plugin_
private

◆ pluginFile_

std::string llvm::TCESubtarget::pluginFile_
private

Definition at line 85 of file TCESubtarget.hh.

Referenced by pluginFileName().


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