Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64TARGETMACHINE_H
14 #define LLVM_LIB_TARGET_AARCH64_AARCH64TARGETMACHINE_H
25 std::unique_ptr<TargetLoweringObjectFile>
TLOF;
56 SMRange &SourceRange)
const override;
71 virtual void anchor();
83 virtual void anchor();
This is an optimization pass for GlobalISel generic memory operations.
Targets should override this in a way that mirrors the implementation of llvm::MachineFunctionInfo.
Target - Wrapper for Target specific information.
AArch64beTargetMachine(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)
Triple - Helper class for working with autoconf configuration names.
yaml::MachineFunctionInfo * convertFuncInfoToYAML(const MachineFunction &MF) const override
Allocate and initialize an instance of the YAML representation of the MachineFunctionInfo.
bool isNoopAddrSpaceCast(unsigned SrcAS, unsigned DestAS) const override
Returns true if a cast between SrcAS and DestAS is a noop.
StringMap< std::unique_ptr< AArch64Subtarget > > SubtargetMap
Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a ca...
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
Target-Independent Code Generator Pass Configuration Options.
std::unique_ptr< TargetLoweringObjectFile > TLOF
TargetLoweringObjectFile * getObjFileLowering() const override
StringRef - Represent a constant reference to a string, i.e.
bool parseMachineFunctionInfo(const yaml::MachineFunctionInfo &, PerFunctionMIParsingState &PFS, SMDiagnostic &Error, SMRange &SourceRange) const override
Parse out the target's MachineFunctionInfo from the YAML reprsentation.
Lightweight error class with error context and mandatory checking.
This class describes a target machine that is implemented with the LLVM target-independent code gener...
TargetPassConfig * createPassConfig(PassManagerBase &PM) override
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of ...
Represents a range in source code.
TargetTransformInfo getTargetTransformInfo(const Function &F) const override
Get a TargetTransformInfo implementation for the target.
PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...
AArch64TargetMachine(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, bool IsLittleEndian)
Create an AArch64 architecture model.
yaml::MachineFunctionInfo * createDefaultFuncInfoYAML() const override
Allocate and return a default initialized instance of the YAML representation for the MachineFunction...
AArch64leTargetMachine(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)
~AArch64TargetMachine() override
const AArch64Subtarget * getSubtargetImpl() const =delete