OpenASIP 2.2
Loading...
Searching...
No Matches
Macros | Typedefs | Functions
LLVMBackend.cc File Reference
#include "CompilerWarnings.hh"
#include <llvm/Analysis/LoopInfo.h>
#include <llvm/Analysis/LoopPass.h>
#include "tce_config.h"
#include <llvm/IR/Dominators.h>
#include <llvm/Analysis/AliasAnalysis.h>
#include <llvm/IR/LegacyPassManager.h>
#include <llvm/Pass.h>
#include <llvm/CodeGen/AsmPrinter.h>
#include <llvm/CodeGen/Passes.h>
#include <llvm/Target/TargetMachine.h>
#include <llvm/Target/TargetOptions.h>
#include <llvm/Transforms/IPO.h>
#include <llvm/Transforms/Scalar.h>
#include <llvm/Support/CommandLine.h>
#include <llvm/Support/FormattedStream.h>
#include <llvm/Support/MemoryBuffer.h>
#include <llvm/Support/Debug.h>
#include <llvm/CodeGen/RegAllocRegistry.h>
#include "Application.hh"
#include <llvm/IR/Module.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/Bitcode/BitcodeReader.h>
#include <llvm/IR/Verifier.h>
#include <llvm/IR/GCStrategy.h>
#include <llvm-c/Core.h>
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/FileSystem.h"
#include <llvm/InitializePasses.h>
#include <cstdlib>
#include <fstream>
#include "LLVMBackend.hh"
#include "LLVMTCECmdLineOptions.hh"
#include "TDGen.hh"
#include "passes/InnerLoopFinder.hh"
#include "Environment.hh"
#include "Conversion.hh"
#include "FileSystem.hh"
#include "TCETargetMachine.hh"
#include "TCEStubTargetMachine.hh"
#include "TCETargetMachinePlugin.hh"
#include "LLVMPOMBuilder.hh"
#include "Program.hh"
#include "ADFSerializer.hh"
#include "MachineValidator.hh"
#include "MachineValidatorResults.hh"
#include "Instruction.hh"
#include "ProgramAnnotation.hh"
#include "TCEString.hh"
#include "InterPassData.hh"
#include "InterPassDatum.hh"
#include "LLVMTCEIRBuilder.hh"
#include "Machine.hh"
#include "MachineInfo.hh"
#include "ConstantTransformer.hh"
#include <llvm/IR/IRPrintingPasses.h>
#include "llvm/IR/DataLayout.h"

Go to the source code of this file.

Macros

#define CONFIG_H
 
#define DS   TCEString(FileSystem::DIRECTORY_SEPARATOR)
 
#define addPass(P)   Passes.add(P)
 

Typedefs

typedef llvm::DataLayout TargetData
 

Functions

Pass * createWorkItemAliasAnalysisPass ()
 
static MCRegisterInfo * createTCEMCRegisterInfo (const Triple &TT)
 
static MCInstrInfo * createTCEMCInstrInfo ()
 
static MCSubtargetInfo * createTCEMCSubtargetInfo (const Triple &TT, StringRef CPU, StringRef FS)
 

Detailed Description

TCE runtime retargeting compiler backend.

Author
Veli-Pekka Jääskeläinen 2008 (vjaaskel-no.spam-cs.tut.fi)
Mikael Lepistö 2009 (mikael.lepisto-no.spam-tut.fi)
Pekka Jääskeläinen 2009-2021
Note
rating: red

Definition in file LLVMBackend.cc.

Macro Definition Documentation

◆ addPass

#define addPass (   P)    Passes.add(P)

◆ CONFIG_H

#define CONFIG_H

Definition at line 92 of file LLVMBackend.cc.

◆ DS

Definition at line 124 of file LLVMBackend.cc.

Typedef Documentation

◆ TargetData

typedef llvm::DataLayout TargetData

Definition at line 131 of file LLVMBackend.cc.

Function Documentation

◆ createTCEMCInstrInfo()

static MCInstrInfo * createTCEMCInstrInfo ( )
static

Definition at line 568 of file LLVMBackend.cc.

568 {
569 MCInstrInfo* X = new MCInstrInfo();
570 return X;
571}
static llvm::RegisterPass< InnerLoopFinder > X("find-innerloops-test", "Finds inner loops test.", false, true)

References X().

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ createTCEMCRegisterInfo()

static MCRegisterInfo * createTCEMCRegisterInfo ( const Triple &  TT)
static

Definition at line 562 of file LLVMBackend.cc.

562 {
563 MCRegisterInfo* X = new MCRegisterInfo();
564 return X;
565}

References X().

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ createTCEMCSubtargetInfo()

static MCSubtargetInfo * createTCEMCSubtargetInfo ( const Triple &  TT,
StringRef  CPU,
StringRef  FS 
)
static

Definition at line 574 of file LLVMBackend.cc.

574 {
575 const MCWriteProcResEntry WPR[] = {{0, 0}};
576 const MCWriteLatencyEntry WL[] = {{0, 0}};
577 const MCReadAdvanceEntry RA[] = {{0, 0, 0}};
578 ArrayRef<SubtargetFeatureKV> PF;
579 ArrayRef<SubtargetSubTypeKV> PD;
580
581 MCSubtargetInfo* X = new MCSubtargetInfo(
582 TT, CPU, /*TuneCPU*/ "", FS, PF, PD, WPR, WL, RA, nullptr, nullptr,
583 nullptr);
584
585 return X;
586}
#define RA()

References RA, and X().

Referenced by LLVMBackend::compile().

Here is the call graph for this function:

◆ createWorkItemAliasAnalysisPass()

Pass * createWorkItemAliasAnalysisPass ( )