35 Subtarget(TT, CPU, FS),
37 DL(
"e-p:64:64-i64:64:64-i128:128:128-s0:32:32-f128:128:128-n32:64-S128"),
40 FrameLowering(Subtarget) {
52 return getTM<AArch64TargetMachine>();
56 return *getAArch64TargetMachine().getSubtargetImpl();
59 virtual bool addInstSelector();
60 virtual bool addPreEmitPass();
65 return new AArch64PassConfig(
this, PM);
68 bool AArch64PassConfig::addPreEmitPass() {
74 bool AArch64PassConfig::addInstSelector() {
78 if (getAArch64Subtarget().isTargetELF() && getOptLevel() !=
CodeGenOpt::None)
FunctionPass * createAArch64BranchFixupPass()
Returns an instance of the branch fixup pass.
void LLVMInitializeAArch64Target()
char & UnpackMachineBundlesID
UnpackMachineBundles - This pass unpack machine instruction bundles.
AArch64TargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL)
FunctionPass * createAArch64ISelDAG(AArch64TargetMachine &TM, CodeGenOpt::Level OptLevel)
TargetPassConfig * createPassConfig(PassManagerBase &PM)
static RegisterPass< NVPTXAllocaHoisting > X("alloca-hoisting","Hoisting alloca instructions in non-entry ""blocks to the entry block")
FunctionPass * createAArch64CleanupLocalDynamicTLSPass()