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

Jim Laskey jlaskey at apple.com
Thu Sep 7 15:07:10 PDT 2006



Changes in directory llvm/lib/Target/ARM:

ARMAsmPrinter.cpp updated: 1.15 -> 1.16
ARMTargetMachine.h updated: 1.3 -> 1.4
---
Log message:

Make target asm info a property of the target machine.


---
Diffs of the changes:  (+7 -15)

 ARMAsmPrinter.cpp  |   17 ++---------------
 ARMTargetMachine.h |    5 +++++
 2 files changed, 7 insertions(+), 15 deletions(-)


Index: llvm/lib/Target/ARM/ARMAsmPrinter.cpp
diff -u llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.15 llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.16
--- llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.15	Wed Sep  6 13:34:40 2006
+++ llvm/lib/Target/ARM/ARMAsmPrinter.cpp	Thu Sep  7 17:06:40 2006
@@ -38,20 +38,8 @@
 namespace {
   Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed");
 
-  struct VISIBILITY_HIDDEN ARMTargetAsmInfo : public TargetAsmInfo {
-    ARMTargetAsmInfo() {
-      Data16bitsDirective = "\t.half\t";
-      Data32bitsDirective = "\t.word\t";
-      Data64bitsDirective = 0;
-      ZeroDirective = "\t.skip\t";
-      CommentString = "@";
-      ConstantPoolSection = "\t.text\n";
-      AlignmentIsInBytes = false;
-    }
-  };
-
   struct VISIBILITY_HIDDEN ARMAsmPrinter : public AsmPrinter {
-    ARMAsmPrinter(std::ostream &O, TargetMachine &TM, TargetAsmInfo *T)
+    ARMAsmPrinter(std::ostream &O, TargetMachine &TM, const TargetAsmInfo *T)
       : AsmPrinter(O, TM, T) {
     }
 
@@ -113,8 +101,7 @@
 ///
 FunctionPass *llvm::createARMCodePrinterPass(std::ostream &o,
                                                TargetMachine &tm) {
-  ARMTargetAsmInfo *TAI = new ARMTargetAsmInfo();
-  return new ARMAsmPrinter(o, tm, TAI);
+  return new ARMAsmPrinter(o, tm, tm.getTargetAsmInfo());
 }
 
 /// runOnMachineFunction - This uses the printMachineInstruction()


Index: llvm/lib/Target/ARM/ARMTargetMachine.h
diff -u llvm/lib/Target/ARM/ARMTargetMachine.h:1.3 llvm/lib/Target/ARM/ARMTargetMachine.h:1.4
--- llvm/lib/Target/ARM/ARMTargetMachine.h:1.3	Sun Sep  3 23:14:57 2006
+++ llvm/lib/Target/ARM/ARMTargetMachine.h	Thu Sep  7 17:06:40 2006
@@ -20,6 +20,7 @@
 #include "llvm/Target/TargetFrameInfo.h"
 #include "ARMInstrInfo.h"
 #include "ARMFrameInfo.h"
+#include "ARMTargetAsmInfo.h"
 
 namespace llvm {
 
@@ -40,6 +41,10 @@
   virtual const TargetData       *getTargetData() const { return &DataLayout; }
   static unsigned getModuleMatchQuality(const Module &M);
 
+  virtual const TargetAsmInfo *createTargetAsmInfo() const {
+    return static_cast<const TargetAsmInfo *>(new ARMTargetAsmInfo(*this));
+  }
+
   // Pass Pipeline Configuration
   virtual bool addInstSelector(FunctionPassManager &PM, bool Fast);
   virtual bool addAssemblyEmitter(FunctionPassManager &PM, bool Fast, 






More information about the llvm-commits mailing list