[llvm-commits] CVS: llvm/lib/Target/ARM/ARMTargetMachine.cpp ARMTargetMachine.h

Evan Cheng evan.cheng at apple.com
Mon Mar 12 18:20:59 PDT 2007



Changes in directory llvm/lib/Target/ARM:

ARMTargetMachine.cpp updated: 1.25 -> 1.26
ARMTargetMachine.h updated: 1.8 -> 1.9
---
Log message:

Implement getTargetLowering() or else LSR won't be using ARM specific hooks.

---
Diffs of the changes:  (+8 -1)

 ARMTargetMachine.cpp |    3 ++-
 ARMTargetMachine.h   |    6 ++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/ARM/ARMTargetMachine.cpp
diff -u llvm/lib/Target/ARM/ARMTargetMachine.cpp:1.25 llvm/lib/Target/ARM/ARMTargetMachine.cpp:1.26
--- llvm/lib/Target/ARM/ARMTargetMachine.cpp:1.25	Thu Feb 22 21:14:31 2007
+++ llvm/lib/Target/ARM/ARMTargetMachine.cpp	Mon Mar 12 20:20:42 2007
@@ -62,7 +62,8 @@
                        "i16:16:32-i8:8:32-i1:8:32-a:0:32") :
            std::string("e-p:32:32-f64:64:64-i64:64:64"))),
     InstrInfo(Subtarget),
-    FrameInfo(Subtarget) {}
+    FrameInfo(Subtarget),
+    TLInfo(*this) {}
 
 unsigned ARMTargetMachine::getModuleMatchQuality(const Module &M) {
   std::string TT = M.getTargetTriple();


Index: llvm/lib/Target/ARM/ARMTargetMachine.h
diff -u llvm/lib/Target/ARM/ARMTargetMachine.h:1.8 llvm/lib/Target/ARM/ARMTargetMachine.h:1.9
--- llvm/lib/Target/ARM/ARMTargetMachine.h:1.8	Thu Feb 22 21:14:31 2007
+++ llvm/lib/Target/ARM/ARMTargetMachine.h	Mon Mar 12 20:20:42 2007
@@ -21,6 +21,7 @@
 #include "ARMInstrInfo.h"
 #include "ARMFrameInfo.h"
 #include "ARMSubtarget.h"
+#include "ARMISelLowering.h"
 
 namespace llvm {
 
@@ -31,6 +32,8 @@
   const TargetData  DataLayout;       // Calculates type size & alignment
   ARMInstrInfo      InstrInfo;
   ARMFrameInfo      FrameInfo;
+  ARMTargetLowering TLInfo;
+
 public:
   ARMTargetMachine(const Module &M, const std::string &FS, bool isThumb = false);
 
@@ -41,6 +44,9 @@
   }
   virtual const TargetData       *getTargetData() const { return &DataLayout; }
   virtual const ARMSubtarget  *getSubtargetImpl() const { return &Subtarget; }
+  virtual       ARMTargetLowering *getTargetLowering() const { 
+    return const_cast<ARMTargetLowering*>(&TLInfo); 
+  }
   static unsigned getModuleMatchQuality(const Module &M);
 
   virtual const TargetAsmInfo *createTargetAsmInfo() const;






More information about the llvm-commits mailing list