OpenASIP  2.0
Classes | Typedefs | Functions | Variables
llvm Namespace Reference

Classes

class  GeneratedTCEPlugin
 
class  LLVMPOMBuilder
 
class  LLVMTCEBuilder
 
class  LLVMTCEIRBuilder
 
class  LLVMTCEPOMBuilder
 
class  LLVMTCERISCVIntrinsicsLowering
 
class  LLVMTCEScheduler
 
struct  MachineDCE
 
class  TCEBaseTargetMachine
 
class  TCEFrameLowering
 
class  TCEInstrInfo
 
class  TCELE64Subtarget
 
class  TCELESubtarget
 
class  TCEMCAsmInfo
 
class  TCEPassConfig
 
class  TCERegisterInfo
 
class  TCEStubSubTarget
 
class  TCEStubTargetMachine
 
class  TCEStubTTIImpl
 
class  TCESubtarget
 
class  TCETargetLowering
 
class  TCETargetMachine
 
class  TCETargetMachinePlugin
 
class  TCETargetObjectFile
 
class  TCETTIImpl
 

Typedefs

typedef AAResults AliasAnalysis
 

Functions

FunctionPass * createLLVMPOMBuilderPass (TCETargetMachine &tm, TTAMachine::Machine *mach)
 
FunctionPass * createLLVMTCECFGBuilderPass (TCETargetMachine &tm, TTAMachine::Machine *mach, InterPassData &ipd)
 
static cl::opt< bool > ParallelizeMoves ("parallelize-moves", cl::desc("Parallelize the TTA moves as efficiently as possible."), cl::init(false), cl::Hidden)
 
MachineFunctionPass * createLLVMTCEPOMBuilderPass ()
 
FunctionPass * createRISCVIntrinsicsPass (const char *)
 
static cl::opt< std::string > ADFLocation ("adf", cl::desc("The TCE architecture definition file."), cl::init(""), cl::Hidden)
 
static cl::opt< bool > DisableLLVMAA ("disable-llvmaa", cl::desc("Disables use of LLVM Alias Analysis information."))
 
static cl::opt< bool > DumpDDG ("dump-ddgs", cl::desc("Equivalent to --dump-ddgs-dot --dump-ddgs-xml."))
 
static cl::opt< bool > DumpDDGDot ("dump-ddgs-dot", cl::desc("Write out Data Dependence Graph of processed procedures in dot format."))
 
static cl::opt< bool > DumpDDGXML ("dump-ddgs-xml", cl::desc("Write out Data Dependence Graph of processed procedures in XML format."))
 
FunctionPass * createTCESchedulerPass (const char *)
 
void initializeInnerLoopFinderPass (llvm::PassRegistry &)
 
FunctionPass * createTCEISelDag (TCETargetMachine &tm)
 
FunctionPass * createTCECodePrinterPass (std::ostream &os, TargetMachine &tm)
 

Variables

Target TheTCETarget
 
Target TheTCELETarget
 
Target TheTCELE64Target
 

Detailed Description

Instruction selector and code printer creator declarations.

Minimalistic subtarget implementation to be used in LLVM middle end optimization phase.

At the moment the purpose is only to offer default targetLowering which is required by the LLVM.

Todo:
a Proper targetLowering for more accurate targetTransformInfo

TCE target machine plugin interface.

Typedef Documentation

◆ AliasAnalysis

typedef AAResults llvm::AliasAnalysis

Definition at line 45 of file DataDependenceGraphBuilder.hh.

Function Documentation

◆ ADFLocation()

static cl::opt<std::string> llvm::ADFLocation ( "adf"  ,
cl::desc("The TCE architecture definition file.")  ,
cl::init("")  ,
cl::Hidden   
)
static

◆ createLLVMPOMBuilderPass()

FunctionPass * llvm::createLLVMPOMBuilderPass ( TCETargetMachine tm,
TTAMachine::Machine mach 
)

Definition at line 56 of file LLVMPOMBuilder.cc.

57  {
58  return new LLVMPOMBuilder(tm, mach);
59 }

◆ createLLVMTCECFGBuilderPass()

FunctionPass* llvm::createLLVMTCECFGBuilderPass ( TCETargetMachine tm,
TTAMachine::Machine mach,
InterPassData ipd 
)

◆ createLLVMTCEPOMBuilderPass()

MachineFunctionPass * llvm::createLLVMTCEPOMBuilderPass ( )

Definition at line 179 of file LLVMTCEPOMBuilder.cc.

179  {
180  return new llvm::LLVMTCEPOMBuilder();
181 }

◆ createRISCVIntrinsicsPass()

FunctionPass * llvm::createRISCVIntrinsicsPass ( const char *  )

Definition at line 216 of file LLVMTCERISCVIntrinsicsLowering.cc.

216  {
217  return new LLVMTCERISCVIntrinsicsLowering();
218 }

◆ createTCECodePrinterPass()

FunctionPass* llvm::createTCECodePrinterPass ( std::ostream &  os,
TargetMachine &  tm 
)

◆ createTCEISelDag()

FunctionPass * llvm::createTCEISelDag ( TCETargetMachine tm)

Returns an instance of the instruction selector.

Parameters
tmTarget machine description.

Definition at line 284 of file TCEDAGToDAGISel.cc.

284  {
285  return new TCEDAGToDAGISel(tm);
286 }

Referenced by llvm::GeneratedTCEPlugin::createISelPass().

◆ createTCESchedulerPass()

FunctionPass * llvm::createTCESchedulerPass ( const char *  )

Definition at line 142 of file LLVMTCEScheduler.cc.

142  {
143  if (ADFLocation == "") {
145  << "TCE: you need to provide the ADF location via llc -adf switch!"
146  << std::endl;
147  return NULL;
148  }
149  return new LLVMTCEScheduler();
150 }

References ADFLocation(), and Application::logStream().

Here is the call graph for this function:

◆ DisableLLVMAA()

static cl::opt<bool> llvm::DisableLLVMAA ( "disable-llvmaa"  ,
cl::desc("Disables use of LLVM Alias Analysis information.")   
)
static

◆ DumpDDG()

static cl::opt<bool> llvm::DumpDDG ( "dump-ddgs"  ,
cl::desc("Equivalent to --dump-ddgs-dot --dump-ddgs-xml.")   
)
static

◆ DumpDDGDot()

static cl::opt<bool> llvm::DumpDDGDot ( "dump-ddgs-dot"  ,
cl::desc("Write out Data Dependence Graph of processed procedures in dot format.")   
)
static

◆ DumpDDGXML()

static cl::opt<bool> llvm::DumpDDGXML ( "dump-ddgs-xml"  ,
cl::desc("Write out Data Dependence Graph of processed procedures in XML format.")   
)
static

◆ initializeInnerLoopFinderPass()

void llvm::initializeInnerLoopFinderPass ( llvm::PassRegistry &  )

◆ ParallelizeMoves()

static cl::opt<bool> llvm::ParallelizeMoves ( "parallelize-moves"  ,
cl::desc("Parallelize the TTA moves as efficiently as possible.")  ,
cl::init(false ,
cl::Hidden   
)
static

Variable Documentation

◆ TheTCELE64Target

Target llvm::TheTCELE64Target

◆ TheTCELETarget

Target llvm::TheTCELETarget

◆ TheTCETarget

Target llvm::TheTCETarget
llvm::ADFLocation
static cl::opt< std::string > ADFLocation("adf", cl::desc("The TCE architecture definition file."), cl::init(""), cl::Hidden)
Application::logStream
static std::ostream & logStream()
Definition: Application.cc:155
TCEDAGToDAGISel
Definition: TCEDAGToDAGISel.cc:57
llvm::LLVMTCEPOMBuilder
Definition: LLVMTCEPOMBuilder.hh:81