Go to the documentation of this file.
51 T,
"e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32-f64:32-a:0:32-n32",
70 return getTM<XCoreTargetMachine>();
73 void addIRPasses()
override;
74 bool addPreISel()
override;
75 bool addInstSelector()
override;
76 void addPreEmitPass()
override;
82 return new XCorePassConfig(*
this, PM);
85 void XCorePassConfig::addIRPasses() {
91 bool XCorePassConfig::addPreISel() {
96 bool XCorePassConfig::addInstSelector() {
101 void XCorePassConfig::addPreEmitPass() {
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXCoreTarget()
FunctionPass * createXCoreISelDag(XCoreTargetMachine &TM, CodeGenOpt::Level OptLevel)
createXCoreISelDag - This pass converts a legalized DAG into a XCore-specific DAG,...
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createXCoreFrameToArgsOffsetEliminationPass()
createXCoreFrameToArgsOffsetEliminationPass - returns an instance of the Frame to args offset elimina...
Target - Wrapper for Target specific information.
~XCoreTargetMachine() override
Triple - Helper class for working with autoconf configuration names.
static CodeModel::Model getEffectiveXCoreCodeModel(Optional< CodeModel::Model > CM)
XCoreTargetMachine(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Optional< Reloc::Model > RM, Optional< CodeModel::Model > CM, CodeGenOpt::Level OL, bool JIT)
Create an ILP32 architecture model.
FunctionPass * createAtomicExpandPass()
AtomicExpandPass - At IR level this pass replace atomic instructions with __atomic_* library calls,...
RegisterTargetMachine - Helper template for registering a target machine implementation,...
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
const char LLVMTargetMachineRef LLVMPassBuilderOptionsRef Options
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
Target-Independent Code Generator Pass Configuration Options.
Target & getTheXCoreTarget()
#define LLVM_EXTERNAL_VISIBILITY
TargetTransformInfo getTargetTransformInfo(const Function &F) const override
Get a TargetTransformInfo implementation for the target.
virtual void addIRPasses()
Add common target configurable passes that perform LLVM IR to IR transforms following machine indepen...
StringRef - Represent a constant reference to a string, i.e.
Analysis the ScalarEvolution expression for r is this
TargetPassConfig * createPassConfig(PassManagerBase &PM) override
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of ...
static Reloc::Model getEffectiveRelocModel(Optional< Reloc::Model > RM)
This class describes a target machine that is implemented with the LLVM target-independent code gener...
ModulePass * createXCoreLowerThreadLocalPass()
PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...
const char LLVMTargetMachineRef TM