36                                           std::optional<Reloc::Model> RM) {
 
 
   45                                         std::optional<Reloc::Model> 
RM,
 
   46                                         std::optional<CodeModel::Model> CM,
 
 
   59                                         std::optional<Reloc::Model> 
RM,
 
   60                                         std::optional<CodeModel::Model> CM,
 
 
   66  Attribute CPUAttr = 
F.getFnAttribute(
"target-cpu");
 
   67  Attribute FSAttr = 
F.getFnAttribute(
"target-features");
 
   78    I = std::make_unique<XtensaSubtarget>(
TargetTriple, CPU, FS, *
this);
 
 
  101  bool addInstSelector() 
override;
 
  102  void addIRPasses() 
override;
 
  103  void addPreEmitPass() 
override;
 
  107bool XtensaPassConfig::addInstSelector() {
 
  112void XtensaPassConfig::addIRPasses() {
 
  120  return new XtensaPassConfig(*
this, PM);
 
 
static Reloc::Model getEffectiveRelocModel()
 
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
 
#define LLVM_EXTERNAL_VISIBILITY
 
const GCNTargetMachine & getTM(const GCNSubtarget *STI)
 
Target-Independent Code Generator Pass Configuration Options pass.
 
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXtensaTarget()
 
Functions, function parameters, and return types can have attributes to indicate how they should be t...
 
LLVM_ABI StringRef getValueAsString() const
Return the attribute's value as a string.
 
bool isValid() const
Return true if the attribute is any kind of attribute.
 
CodeGenTargetMachineImpl(const Target &T, StringRef DataLayoutString, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOptLevel OL)
 
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
 
static LLVM_ABI PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
 
StringRef - Represent a constant reference to a string, i.e.
 
std::string str() const
str - Get the contents as an std::string.
 
Triple TargetTriple
Triple string, CPU name, and target feature strings the TargetMachine instance is created with.
 
std::unique_ptr< const MCSubtargetInfo > STI
 
void resetTargetOptions(const Function &F) const
Reset the target options based on the function's attributes.
 
Target-Independent Code Generator Pass Configuration Options.
 
virtual void addIRPasses()
Add common target configurable passes that perform LLVM IR to IR transforms following machine indepen...
 
TargetSubtargetInfo - Generic base class for all target subtargets.
 
Target - Wrapper for Target specific information.
 
Triple - Helper class for working with autoconf configuration names.
 
TargetPassConfig * createPassConfig(PassManagerBase &PM) override
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of ...
 
MachineFunctionInfo * createMachineFunctionInfo(BumpPtrAllocator &Allocator, const Function &F, const TargetSubtargetInfo *STI) const override
Create the target's instance of MachineFunctionInfo.
 
StringMap< std::unique_ptr< XtensaSubtarget > > SubtargetMap
 
XtensaTargetMachine(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM, CodeGenOptLevel OL, bool JIT, bool isLittle)
 
const XtensaSubtarget * getSubtargetImpl(const Function &F) const override
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInf...
 
PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...
 
This is an optimization pass for GlobalISel generic memory operations.
 
FunctionPass * createXtensaISelDag(XtensaTargetMachine &TM, CodeGenOptLevel OptLevel)
 
void initializeXtensaAsmPrinterPass(PassRegistry &)
 
static Reloc::Model getEffectiveRelocModel(std::optional< Reloc::Model > RM)
 
CodeModel::Model getEffectiveCodeModel(std::optional< CodeModel::Model > CM, CodeModel::Model Default)
Helper method for getting the code model, returning Default if CM does not have a value.
 
LLVM_ABI char & BranchRelaxationPassID
BranchRelaxation - This pass replaces branches that need to jump further than is supported by a branc...
 
Target & getTheXtensaTarget()
 
CodeGenOptLevel
Code generation optimization level.
 
LLVM_ABI FunctionPass * createAtomicExpandLegacyPass()
AtomicExpandPass - At IR level this pass replace atomic instructions with __atomic_* library calls,...
 
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
 
Implement std::hash so that hash_code can be used in STL containers.
 
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
 
static FuncInfoTy * create(BumpPtrAllocator &Allocator, const Function &F, const SubtargetTy *STI)
Factory function: default behavior is to call new using the supplied allocator.
 
RegisterTargetMachine - Helper template for registering a target machine implementation,...