Re-sort all of the includes with ./utils/sort_includes.py so that
[oota-llvm.git] / lib / Target / AArch64 / AArch64TargetMachine.cpp
index 68e3643d8edb3c0ca814ac63601307f364c89fbc..60bd3b9665aa65efa39c51d2e5ed7f8bec70c1a2 100644 (file)
@@ -7,14 +7,17 @@
 //
 //===----------------------------------------------------------------------===//
 //
+// This file contains the implementation of the AArch64TargetMachine
+// methods. Principally just setting up the passes needed to generate correct
+// code on this architecture.
 //
 //===----------------------------------------------------------------------===//
 
 #include "AArch64.h"
 #include "AArch64TargetMachine.h"
 #include "MCTargetDesc/AArch64MCTargetDesc.h"
-#include "llvm/PassManager.h"
 #include "llvm/CodeGen/Passes.h"
+#include "llvm/PassManager.h"
 #include "llvm/Support/TargetRegistry.h"
 
 using namespace llvm;
@@ -31,10 +34,11 @@ AArch64TargetMachine::AArch64TargetMachine(const Target &T, StringRef TT,
   : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
     Subtarget(TT, CPU, FS),
     InstrInfo(Subtarget),
-    DL("e-p:64:64-i64:64:64-i128:128:128-s0:32:32-f128:128:128-n32:64-S128"),
+    DL("e-m:e-i64:64-i128:128-n32:64-S128"),
     TLInfo(*this),
     TSInfo(*this),
     FrameLowering(Subtarget) {
+  initAsmInfo();
 }
 
 namespace {
@@ -63,7 +67,7 @@ TargetPassConfig *AArch64TargetMachine::createPassConfig(PassManagerBase &PM) {
 
 bool AArch64PassConfig::addPreEmitPass() {
   addPass(&UnpackMachineBundlesID);
-  addPass(createAArch64ConstantIslandPass());
+  addPass(createAArch64BranchFixupPass());
   return true;
 }