OpenASIP  2.0
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. More...
 

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 }

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 }

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 }

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 }

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  {
108  return plugin_->getSelectionDAGInfo();
109 }

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 }

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:
llvm::TCESubtarget::InstrItins
InstrItineraryData InstrItins
Definition: TCESubtarget.hh:87
llvm::TCETargetMachinePlugin::getFrameLowering
virtual const TargetFrameLowering * getFrameLowering() const =0
llvm::TCETargetMachinePlugin::getSelectionDAGInfo
virtual const SelectionDAGTargetInfo * getSelectionDAGInfo() const
Definition: TCETargetMachinePlugin.hh:244
llvm::TCETargetMachinePlugin::getInstrInfo
virtual const TargetInstrInfo * getInstrInfo() const =0
llvm::TCETargetMachinePlugin::getTargetLowering
virtual TargetLowering * getTargetLowering() const =0
assert
#define assert(condition)
Definition: Application.hh:86
BackendPluginFile
cl::opt< std::string > BackendPluginFile("tce-plugin-file", cl::value_desc("plugin file"), cl::desc("TCE target machine plugin file."), cl::NotHidden)
llvm::TCESubtarget::plugin_
TCETargetMachinePlugin * plugin_
Definition: TCESubtarget.hh:86
llvm::TCESubtarget::pluginFile_
std::string pluginFile_
Definition: TCESubtarget.hh:85
llvm::TCETargetMachinePlugin::getRegisterInfo
virtual const TargetRegisterInfo * getRegisterInfo() const =0